Người dùng và người chơi

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Khi một người dùng Roblox tham gia vào một trò chơi, họ được đại diện dưới dạng Player trong DataModel. Đối tượng Player này chứa thông tin về người dùng mà là chung cho tất cả các trò chơi, chẳng hạn như tên người dùng, danh sách bạn bè và nhân vật avatar đã lưu, cũng như các thuộc tính, phương thức và sự kiện ảnh hưởng đến chu kỳ sống của người dùng giữa việc tham gia và rời khỏi trò chơi. Mỗi đối tượng Player cũng chứa bốn thùng chứa quan trọng mà bạn có thể sử dụng để tùy chỉnh trải nghiệm của người dùng: Backpack, StarterGear, PlayerGui và PlayerScripts.

Mỗi Player cũng cung cấp một thuộc tính Player.User, là một giá trị User đại diện cho danh tính của người chơi trong phạm vi miền của trò chơi hiện tại. Để biết thêm thông tin về cách nhận diện người dùng hoạt động, bao gồm ID người dùng theo miền và loại User, hãy xem Người dùng và ID người dùng theo miền.

Chu kỳ sống

Dịch vụ Players chứa tất cả các thể hiện Player trong một trò chơi. Các kịch bản phía máy khách và máy chủ đều có thể kết nối với các sự kiện Players.PlayerAdded và Players.PlayerRemoved để thực hiện các hành động phản ứng với chu kỳ sống của một đối tượng Player. Các kịch bản cũng có thể kết nối với các sự kiện Player.CharacterAdded và Player.CharacterRemoving để thực hiện các hành động liên quan đến gameplay khi nhân vật xuất hiện hoặc biến mất.

Người dùng tham gia

Khi một người dùng máy khách kết nối với một trò chơi, sự kiện Players.PlayerAdded được kích hoạt và truyền đối tượng Player của người dùng tham gia; bạn có thể sử dụng đối tượng này cho nhiều mục đích khác nhau như tải dữ liệu người dùng từ một kho dữ liệu hoặc gán người chơi vào một đội.

Ví dụ, để tải dữ liệu của người dùng khi họ tham gia vào một trò chơi, hãy sử dụng sự kiện PlayerAdded trong một Script để lấy dữ liệu của người dùng được lưu trữ trong một kho dữ liệu dưới ID người dùng của họ:

Script in ServerScriptService
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerAdded:Connect(function(player)
local userId = player.UserId
-- Đọc khóa kho dữ liệu
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- Thực hiện các hành động khác với currentData
end)

Nhân vật xuất hiện

Theo mặc định, mô hình Player.Character của một người dùng đại diện cho avatar trên nền tảng của họ và Players.CharacterAutoLoads là true, có nghĩa là mô hình nhân vật tự động xuất hiện khi người dùng tham gia vào một trò chơi.

Khi nhân vật của một người dùng Player.Character xuất hiện, các Scripts và LocalScripts trong StarterCharacterScripts được sao chép vào mô hình nhân vật và sự kiện Player.CharacterAdded được kích hoạt. Sự kiện này truyền mô hình nhân vật mới đến các trình lắng nghe của nó mà bạn có thể sử dụng để tìm đối tượng Humanoid của nhân vật và thay đổi hành vi của nó. Ví dụ, bạn có thể sử dụng Humanoid:ApplyDescription() để thay đổi trang phục của avatar.

Nhân vật biến mất

Khi Humanoid của người chơi chết, máy chủ tự động xóa mô hình nhân vật sau khoảng thời gian được chỉ định bởi Players.RespawnTime. Bạn có thể sử dụng sự kiện Player.CharacterRemoving để đặt lại các đối tượng khác hoặc cập nhật dữ liệu liên quan đến nhân vật.

Người dùng rời đi

Khi một người dùng máy khách ngắt kết nối khỏi một trò chơi, máy chủ sẽ xóa đối tượng Player liên quan của nó bên trong dịch vụ Players. Tại thời điểm này, sự kiện Players.PlayerRemoving được kích hoạt và truyền đối tượng Player của người dùng đã ngắt kết nối. Bạn có thể sử dụng điều này cho nhiều mục đích khác nhau như lưu dữ liệu người dùng, xóa thống kê người chơi khỏi bảng điểm, hoặc xóa các mô hình do người chơi tạo trong trò chơi.

Ví dụ sau đây là một Script lắng nghe sự kiện PlayerRemoving và cố gắng lưu dữ liệu của người dùng trong một kho dữ liệu dưới ID người dùng của họ:

Script in ServerScriptService
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
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ữ liệu
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

Thùng chứa

Mỗi đối tượng Player đại diện cho máy khách của người dùng lưu trữ một số thùng chứa quan trọng: Backpack, StarterGear, PlayerGui, và PlayerScripts. Tại thời điểm chạy trò chơi, một số thùng chứa trong mô hình dữ liệu "chỉnh sửa" sao chép nội dung của chúng vào các thùng chứa Player này, bao gồm StarterGui sang PlayerGui, StarterPack sang Backpack, và StarterPlayerScripts sang PlayerScripts.

Một sơ đồ ánh xạ các đối tượng giữa các mô hình dữ liệu 'chỉnh sửa' và 'thời gian chạy'.

Các đối tượng Tool trong Backpack tạo thành kho đồ của người chơi và hiển thị dưới dạng nút biểu tượng ở dưới cùng của màn hình. Xem công cụ trong trò chơi để biết thêm thông tin.

Như đã minh họa ở trên, nội dung của StarterPack và StarterGear của người chơi được sao chép vào Backpack khi nhân vật của người chơi Character xuất hiện. Khi nhân vật chết, máy khách sẽ xóa Backpack và thay thế nó bằng một cái mới.

Để vô hiệu hóa GUI kho đồ mặc định của Roblox và thay thế nó bằng của riêng bạn, hãy gọi StarterGui:SetCoreGuiEnabled() trong một LocalScript như đã nêu trong vô hiệu hóa UI mặc định.

Cấm người dùng

Để đảm bảo sự lịch sự và chơi công bằng trong các trò chơi của bạn, bạn có thể cấm những người dùng vi phạm quy tắc hoặc hướng dẫn cộng đồng. Bạn có thể điều chỉnh thời gian cấm, thông điệp cấm, và thậm chí mở rộng cấm cho các tài khoản thay thế tiềm năng. Khi sử dụng tính năng này, bạn phải tuân theo hướng dẫn cấm và nhắn tin.

Bạn có một số tùy chọn để làm việc với các lệnh cấm:

Chặn thiết bị

Ngoài việc cấm một tài khoản, Players:BanAsync() hỗ trợ chặn thiết bị thông qua trường ApplyDeviceBlock trong bảng cấu hình của nó. Khi bạn cấm một người dùng đang kết nối với trò chơi của bạn với ApplyDeviceBlock được đặt thành true, thiết bị liên kết với người dùng đó cũng sẽ bị chặn khỏi việc tham gia lại trong 24 giờ. Tùy chọn này tạo ra sự khó khăn trong việc lách lệnh cấm; những người chơi bị cấm không thể ngay lập tức tham gia lại trò chơi từ một tài khoản mới trên cùng một thiết bị.

  • Chặn thiết bị hiện tại chỉ áp dụng cho người chơi trên máy tính để bàn (Windows và macOS). Nó không áp dụng cho thiết bị di động hoặc bảng điều khiển.
  • Chặn thiết bị không được truyền như một lệnh cấm đến bất kỳ tài khoản nào khác đã sử dụng thiết bị đó.
  • Gọi API gỡ cấm trên người dùng bị ảnh hưởng ngay lập tức xóa bất kỳ chặn thiết bị nào đang hoạt động liên quan đến thiết bị của người dùng đó, cho phép họ tham gia lại trò chơi.

Hướng dẫn cấm

Khi thực hiện các lệnh cấm trong trò chơi của bạn, hãy tuân theo các hướng dẫn sau:

  • Quy tắc trò chơi không được mâu thuẫn với Tiêu chuẩn Cộng đồng 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ò chơi 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ời lẽ và Ngôn ngữ Thù địch của Roblox.
  • Các nhà sáng tạo phải nêu rõ quy tắc trò chơi của họ ở nơi có thể truy cập cho tất cả người dùng.
  • Các nhà sáng tạo phải áp dụng quy tắc trò chơi của họ một cách công bằng và không nhắm mục tiêu tùy tiện đến một số người dùng nhất định.
  • Người dùng có thể kháng cáo trực tiếp với các nhà sáng tạo nếu họ tin rằng lệnh cấm của họ là không chính xác. Roblox sẽ không trung gian cho những kháng cáo này, trừ khi người dùng tin rằng quy tắc trò chơi của nhà sáng tạo hoặc việc thực thi quy tắc của họ vi phạm Tiêu chuẩn Cộng đồng.
  • Roblox có thể điều chỉnh một trò chơi nếu có lý do để tin rằng quy tắc trò chơi của nhà sáng tạo hoặc việc thực thi quy tắc của họ vi phạm Tiêu chuẩn Cộng đồng.

Hướng dẫn nhắn tin

Khi một người dùng bị cấm, họ nhận được một modal lỗi hiển thị thông tin như thời gian cấm và lý do. Trong thông điệp đã được lọc văn bản, bạn có thể bao gồm thông tin bổ sung như thông tin kháng cáo hoặc liên hệ miễn là bạn tuân thủ Tiêu chuẩn Cộng đồng của Roblox.

Ví dụ, trong các thông điệp cấm của bạn, bạn được phép đề cập đến tên thương hiệu và nền tảng:

  • "Truy cập Discord trong nhóm/trang trò chơi của tôi"
  • "Nhắn tin cho tôi trên Twitter hoặc X"

Việc đề cập đến thông tin cá nhân hoặc liên kết trực tiếp không được phép trong trường thông điệp này. Điều này bao gồm việc đăng một tên người dùng hoặc tài khoản cụ thể, hoặc cung cấp một liên kết trực tiếp đến một máy chủ Discord hoặc tài khoản X.

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.