Khi một người tham gia một trải nghiệm, Roblox đại diện họ như một Người chơi trong mô hình dữ liệu. Ống thống kê Player bao gồm thông tin về người dùng đó là người dùng trên t
Dịch vụ Players lưu trữ tất cả các Player 实例 trong một trải nghiệm. Mỗi Player 对象 đại diệ
Tiến trình
Các tập lệnh client và server đều có thể kết nối đến các sự kiện Players.PlayerAdded và Players.PlayerRemoved đ
Sử dụng Script để truy cập các dịch vụ liên quan đến máy chủ, chẳng hạn như một cửa hàng dữ liệu để lấy và lưu dữ liệu khi một người tham gia hoặc rời đi. Sử dụng LocalScripts nếu client cần tạo và xóa những cơ sở dữ liệu liên quan đến người chơi mới, chẳng hạ
Người dùng tham gia
Khi một client kết nối với một trải nghiệm, các đối tượng Player liên quan củ
Tải Dữ Liệu Người Chơi Khi Tham Gia
Để tải dữ liệu của một người khi họ tham gia một trải nghiệm, hãy sử dụng sự kiện Players.PlayerAdded trong một Script . Các ví dụ dưới đây Script lắng nghe sự kiện và thử
local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("Players").PlayerAdded:Connect(function(player)
local userId = player.UserId
-- Đọc khóa dữ chìa khóa
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- Làm những hành động tiếp theo với dữ liệu hiện tại
end)
Người dùng rời đi
Khi một khách hàng thoát khỏi một trải nghiệm, máy chủ sẽ tiêu diệt đối t
Lưu ý rằng sự kiện được gọi là Player.PlayerRemoving, chứ không phải là Player.PlayerRemoved, vì "đã xóa" có nghĩa là đối tượng Player đã bị xóa và do đó không thể truy cập được cho các tập lệnh.
Lưu dữ liệu người dùng khi rời
Để lưu dữ liệu của một người khi họ rời khỏi một trải nghiệm, hãy sử dụng sự kiện Players.PlayerRemoving trong một Script . Các ví dụ dưới đây Script lắng nghe sự kiện và thử lưu dữ liệu của một ng
Script trong ServerScriptService
local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("Players").PlayerRemoving:Connect(function(player)
local userId = player.UserId
-- Lấy trạng thái dữ liệu của người chơi trong trò chơi
local currentData = getCurrentData(player)
-- Lưu vào kho dữ cửa hàng
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)
Nhân vật tạo
Mô hình Player.Character của một người đại diện cho avatar của họ. Bởi mặc định, Player.CharacterAutoLoads là trung tín, và mô hình nhân vật của người đó sẽ tự động xuấ
Khi một ng
Không còn nhân vật
Khi người chơi's Class.Humanoid死, its body parts fall to the ground and the Class.Humanoid.Died event fires. The server automatically removes the character model and any scripts inside it sau khi số thời gian mà Class.Players.Respawntime đị
Đếm Số Lần Chết Của Người Chơi
Bạn có thể sử dụng sự kiện Humanoid.Died để xử lý việc đánh giá cho một lần giết hoặc tạo một mô hình rag
Script trong ServerScriptService
game:GetService("Players").PlayerAdded:Connect(function(player)
local deaths = 0
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid.Died:Connect(function()
deaths += 1
print(player.Name .. " death count: " .. deaths)
end)
end)
end)
Cấm người dùng
Để đảm bảo văn hóa và trò chơi công bằng trong trải nghiệm của bạn, bạn có thể cấm người dùng vi phạm các quy tắc trải nghiệm và hướng dẫn cộng đồng của bạn. Bạn có thể điều chỉnh thời gian cấm, tin nhắn cấm và thậm chí mở rộng cấ
Để thực hiện và hướng dẫn sử dụng, xem Players.BanAsync .
Hướng Dẫn Ngăn Chặn
Khi thực hiện cấm vào trải nghiệm của bạn, hãy tuân theo các hướng dẫn sau đây:
- Các quy tắc kinh nghiệm không được trái với Cộng đồng tiêu lệnh của Roblox và Điều khoản sử dụng của Roblox.
- Ví dụ, bạn không thể tạo một quy tắc trải nghiệm loại trừ ai vì giới tính của họ vì điều này vi phạm chính sách phân biệt, lăng mạ và ghét nói của Roblox .
- Các nhà sáng tạo phải rõ ràng công bố các quy tắc kinh nghiệm của họ ở đâu đó trên tất cả các người dùng.
- Các nhà sáng tạo phải áp dụng các quy tắc kinh nghiệm của họ một cách công bằng và không phải ngẫu nhiên chọn một số người dùng nào.
- Người dùng có thể trực tiếp yêu cầu các nhà sáng tạo nếu họ nghĩ rằng họ bị cấm sai.
- Roblox sẽ không giải quyết các khiếu nại này, trừ khi người dùng tin rằng các quy tắc kinh nghiệm của nhà sáng tạosáng tạo hoặc sự thi hành của các quy tắc của họ vi phạm Cộng đồng Tiêu chuẩn .
- Roblox có thể kiểm duyệt một trải nghiệm nếu có lý do để tin rằng các quy tắc của một nhà sáng tạo hoặc sự thi hành của các quy tắc của họ vi phạm Cộng đồng Standards .
Hướng Dẫn Tin Nhắn
Khi một người bị cấm, họ nhận được một thông báo lỗi hiển thị thông tin như chiều dài cấm và lý do. Trong tin nhắn bị lọc chỉnh sửa, bạn có thể bao gồm thêm thông tin như yêu cầu hoặc thông tin liên lạc nhưng miễn là bạn đáp ứng các tiêu chuẩn cộng đồng của Rob
Ví dụ, trong các tin nhắn cấm của bạn, bạn được phép tham chiếu các tên thương hiệu và nền tảng:
- “Ghé thăm Discord trong trang nhóm/kinh nghiệm của tôi”
- “Tin nhắn tôi trên Twitter hoặc X”
Các thông tin cá nhân hoặc liên kết trực tiếp không được phép trong trường này. Điều này bao gồm việc đăng nhập một tên người dùng hoặc một liên kết trực tiếp đến một máy chủ Discord hoặc tài khoản X.
Containers
Class.Player đối tượng lưu trữ nhiều container quan trọng:
Rương
Thùng Player.Backpack lưu kho đồ của người dùng. Các thống kê Tool được hiển thị trong thùng Backpack của ngườ
Khi một người dùng đẻ trứng, nội dung của dịch vụ Player.Character và nhân bản StarterPack của họ được lưu vào Player.StarterGear của họ. Khi người d
The Backpack còn lưu trữ và chạy Scripts và LocalScripts mà client và máy chủ đều có thể truy cập.
Roblox cung cấp một giao diện cho một người chơi để acces their Class.Backpack và inventories ở phía dưới của màn hình. Để tắt GUI người chơi mặc định của Roblox và thay vào bằng của sở hữubạn, hãy call để Class.StarterGui:SetCoreGuiEnabled
Thiết bị khởi động
Hộp chứa StarterGear lưu nội dung của mình vào Player.Backpack của người dùng khi nhân vật của bạn xuất hiện. Ngoài ra, nếu nơi của bạn cho phép thiết bị và một người dù
Ngoài ra, StarterPack , Player.StarterGear không phải là một dị
Luôn kiểm tra các trò chơi sau khi thêm Gear vào chúng để xem người dùng không thể dễ dàng lạm dụng chúng ở đó. Gear bao gồm Script đối tượng và cho phép người chơi thực hiện các hành động mà bạn có thể k
Gui Người Chơi
Hộp chứa PlayerGui lưu trữ các thống kê tạo ra GUI của người chơi. Nếu m
Nếu Players.CharacterAutoLoads được đặt thành false, nhân vật không xuất hiện, và StarterGui nội dung không sao chép cho đến khi
Tập lệnh người chơi
Khi một người tham gia trải nghiệm, nội dung trong StarterPlayer.StarterPlayerScripts container clones đến PlayerScripts . Bất kỳ LocalScripts vàModuleScripts nào được chạy khi họ clones.
Ngoài các container Backpack và PlayerGui thì container Class