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 bởi một Player trong DataModel. Đối tượng Player này chứa thông tin về người dùng mà có tính chất toàn cầu trong các trò chơi, chẳng hạn như tên người dùng của họ, 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 cha 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 tiết lộ một thuộc tính Player.User, đó là một giá trị kiểu User đại diện cho danh tính quản lý miền của người chơi trong trò chơi hiện tại. Để biết thêm thông tin về cách hoạt động của việc xác thực người dùng, bao gồm ID người dùng theo miền và kiểu 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实例 Player trong một trò chơi. Cả tập lệnh phía máy khách và phía máy chủ đều có thể kết nối với các sự kiện Players.PlayerAddedPlayers.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 tập lệnh cũng có thể kết nối với các sự kiện Player.CharacterAddedPlayer.CharacterRemoving để thực hiện các hành động liên quan đến trò chơi 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 đến một trò chơi, sự kiện Players.PlayerAdded sẽ đượ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, chẳng hạn như tải dữ liệu người dùng từ kho dữ liệu hoặc chỉ định người chơi vào một đội.

Ví dụ, để tải dữ liệu của một 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 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 nền tảng của họ và Players.CharacterAutoLoadstrue, có nghĩa là mô hình nhân vật tự động xuất hiện khi người dùng tham gia trò chơi.

Khi nhân vật của một người dùng Player.Character xuất hiện, các ScriptsLocalScripts 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 những người lắng nghe mà bạn có thể sử dụng để tìm đối tượng Humanoid của nhân vật và sửa đổ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 loại bỏ mô hình nhân vật sau khoảng thời gian được chỉ định bởi Players.RespawnTime. Sau đó, 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 khỏ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ẽ hủy bỏ đối tượng Player liên quan bên trong dịch vụ Players. Tại thời điểm này, sự kiện Players.PlayerRemoving sẽ đượ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 như lưu dữ liệu người dùng, loại bỏ thống kê người chơi từ bảng điểm số, hoặc hủy bỏ các mô hình do người chơi tạo trong trò chơi.

Ví dụ Script sau lắng nghe sự kiện PlayerRemoving và cố gắng lưu dữ liệu người dùng trong 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. Trong thời gian 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 đến PlayerGui, StarterPack đến Backpack, và StarterPlayerScripts đến PlayerScripts.

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

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 StarterPackStarterGear của người chơi được sao chép vào Backpack khi nhân vật Character của người chơi xuất hiện. Khi nhân vật chết, máy khách sẽ hủy bỏ Backpack và thay thế nó bằng một cái mới.

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

Cấm người dùng

Để đảm bảo sự lịch sự và 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, tin nhắn 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à tin nhắn.

Bạn có một vài 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 hiện đ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 đối với việc né 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 chỉ áp dụng cho những 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.
  • Khối thiết bị không lan rộng 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 sẽ ngay lập tức loại bỏ bất kỳ khối 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 thủ 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Đ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 về Phân biệt đối xử, Lời lẽ và Ngôn từ Hận thù của Roblox.
  • Các nhà sáng tạo phải nêu rõ quy tắc trò chơi của họ ở một nơi mà mọi người dùng đều có thể truy cập.
  • Các nhà sáng tạo phải áp dụng các 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 đến 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 hóa 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 các 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 một nhà sáng tạo hoặc việc thực thi các quy tắc của họ vi phạm Tiêu chuẩn Cộng đồng.

Hướng dẫn tin nhắn

Khi một người dùng bị cấm, họ sẽ nhận được một modal lỗi hiển thị thông tin như thời gian và lý do cấm. Trong tin nhắn đã đượ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 lạc miễn là bạn đáp ứng được Tiêu chuẩn Cộng đồng của Roblox.

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

  • "Hãy 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 là không được phép trong lĩnh vực tin nhắn 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.