ผู้ใช้และผู้เล่น

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

เมื่อผู้ใช้ Roblox เข้าร่วมเกม พวกเขาจะถูกแทนด้วย Player ใน DataModel วัตถุ Player นี้มีข้อมูลเกี่ยวกับผู้ใช้ที่เป็นสากลในทุกเกม เช่น ชื่อผู้ใช้ รายชื่อเพื่อน และ ตัวละครอวตารที่บันทึก เช่นเดียวกับคุณสมบัติ วิธีการ และเหตุการณ์ที่มีผลต่อ วงจรชีวิต ของผู้ใช้ตั้งแต่เข้าร่วมจนถึงออกจากเกม วัตถุ Player แต่ละตัวยังมี 4 container ที่สำคัญซึ่งคุณสามารถใช้เพื่อปรับแต่งประสบการณ์ของผู้ใช้ได้: Backpack, StarterGear, PlayerGui, และ PlayerScripts

แต่ละ Player ยังเปิดเผยคุณสมบัติ Player.User ซึ่งเป็นค่า User ที่แทนตัวตนของผู้เล่นในโดเมนภายในเกมปัจจุบัน สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีการระบุตัวผู้ใช้ รวมถึงรหัสผู้ใช้เชิงโดเมนและประเภท User โปรดดูที่ ผู้ใช้และรหัสผู้ใช้เชิงโดเมน

วงจรชีวิต

บริการ Players จะเก็บอินสแตนซ์ Player ทั้งหมดในเกม สคริปต์ทั้งฝั่งไคลเอ็นต์และเซิร์ฟเวอร์สามารถเชื่อมต่อกับเหตุการณ์ Players.PlayerAdded และ Players.PlayerRemoved เพื่อดำเนินการตามวงจรชีวิตของวัตถุ Player สคริปต์ยังสามารถเชื่อมต่อกับเหตุการณ์ Player.CharacterAdded และ Player.CharacterRemoving เพื่อดำเนินการที่เกี่ยวข้องกับเกมเมื่อมีการเกิดตัวละคร

การเข้าร่วมของผู้ใช้

เมื่อไคลเอนต์ของผู้ใช้เชื่อมต่อกับเกม เหตุการณ์ Players.PlayerAdded จะเกิดขึ้นและส่งวัตถุ Player ของผู้ใช้ที่เข้าร่วม คุณสามารถใช้วัตถุนี้เพื่อวัตถุประสงค์ต่าง ๆ เช่น โหลด ข้อมูลของผู้ใช้ จากที่จัดเก็บข้อมูลหรือตั้งค่าผู้เล่นให้เป็น ทีม

ตัวอย่างเช่น เพื่อโหลดข้อมูลของผู้ใช้เมื่อพวกเขาเข้าร่วมเกม ให้ใช้เหตุการณ์ PlayerAdded ใน Script เพื่อเรียกดูข้อมูลของผู้ที่ถูกเก็บไว้ในที่จัดเก็บข้อมูลตามรหัสผู้ใช้ของพวกเขา:

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
-- อ่านคีย์ที่จัดเก็บข้อมูล
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- ดำเนินการเพิ่มเติมกับ currentData
end)

การเกิดของตัวละคร

โดยปกติแล้ว โมเดล Player.Character ของผู้ใช้จะแทนที่อวตารในแพลตฟอร์มของพวกเขา และ Players.CharacterAutoLoads เป็น true ซึ่งหมายความว่ามโมเดลตัวละครจะเกิดขึ้นโดยอัตโนมัติเมื่อผู้ใช้เข้าร่วมเกม

เมื่อ Player.Character ของผู้ใช้เกิดขึ้น สคริปต์ Scripts และ LocalScripts ใน StarterCharacterScripts จะถูกคัดลอกไปยังโมเดลตัวละครและเหตุการณ์ Player.CharacterAdded จะเกิดขึ้น เหตุการณ์นี้จะส่งโมเดลตัวละครใหม่ไปยังผู้ฟังซึ่งคุณสามารถใช้เพื่อค้นหาวัตถุ Humanoid ของตัวละครและปรับเปลี่ยนพฤติกรรมของมัน ได้ตัวอย่างเช่น คุณสามารถใช้ Humanoid:ApplyDescription() เพื่อเปลี่ยนชุดของอวตาร

การออกของตัวละคร

เมื่อ Humanoid ของผู้เล่นตาย เซิร์ฟเวอร์จะลบนโมเดลตัวละครโดยอัตโนมัติหลังจากระยะเวลาที่ระบุโดย Players.RespawnTime จากนั้นคุณสามารถใช้เหตุการณ์ Player.CharacterRemoving เพื่อตั้งค่าวัตถุอื่น ๆ ใหม่หรืออัปเดตข้อมูลที่เกี่ยวข้องกับตัวละคร

การออกจากผู้ใช้

เมื่อไคลเอนต์ผู้ใช้ตัดการเชื่อมต่อจากเกม เซิร์ฟเวอร์จะทำลายวัตถุ Player ที่เกี่ยวข้องภายในบริการ Players ในจุดนี้ เหตุการณ์ Players.PlayerRemoving จะเกิดขึ้นและส่งวัตถุ Player ของผู้ใช้ที่ตัดการเชื่อมต่อ คุณสามารถใช้สิ่งนี้เพื่อวัตถุประสงค์ต่าง ๆ เช่น การบันทึกข้อมูลของผู้ใช้ การลบสถิติของผู้เล่นจากกระดานคะแนน หรือทำลายโมเดลที่สร้างโดยผู้เล่นในเกม

ตัวอย่าง Script ต่อไปนี้ฟังเหตุการณ์ PlayerRemoving และพยายามบันทึกข้อมูลของผู้ใช้ในที่จัดเก็บข้อมูลตามรหัสผู้ใช้ของพวกเขา:

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
-- รับสถานะข้อมูลของผู้เล่นในเกม
local currentData = getCurrentData(player)
-- บันทึกไปยังที่จัดเก็บข้อมูล
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

คอนเทนเนอร์

วัตถุ Player แต่ละตัวที่แทนไคลเอนต์ของผู้ใช้จะเก็บคอนเทนเนอร์ที่สำคัญหลายรายการ ได้แก่ Backpack, StarterGear, PlayerGui, และ PlayerScripts ในระหว่างการทำงานของเกม คอนเทนเนอร์หลายรายการในโมเดลข้อมูล "แก้ไข" จะคัดลอกเนื้อหาของพวกเขาไปยังคอนเทนเนอร์ Player เหล่านี้ รวมถึง StarterGui ไปเป็น PlayerGui, StarterPack ไปเป็น Backpack, และ StarterPlayerScripts ไปเป็น PlayerScripts

แผนภาพที่แมบวัตถุระหว่างโมเดลข้อมูล 'แก้ไข' และ 'ระหว่างการทำงาน'.

วัตถุ Tool ใน Backpack รวมกันเป็นสินค้าคงคลังของผู้เล่นและแสดงผลเป็นปุ่มไอคอนที่ด้านล่างของหน้าจอ ดู เครื่องมือในเกม สำหรับข้อมูลเพิ่มเติม

ตามที่แสดงข้างต้น เนื้อหาของ StarterPack และ StarterGear ของผู้เล่นจะถูกคัดลอกไปยัง Backpack เมื่อ Character ของผู้เล่นเกิดขึ้น เมื่อชื่อตัวละครตาย ไคลเอ็นต์จะทำลาย Backpack และแทนที่ด้วยอันใหม่

ในการปิดการใช้งาน GUI สินค้าคงคลังเริ่มต้นของ Roblox และแทนที่ด้วยของคุณเอง ให้เรียก StarterGui:SetCoreGuiEnabled() ใน LocalScript ตามที่อธิบายไว้ใน ปิด UI เริ่มต้น

การแบนผู้ใช้

เพื่อให้แน่ใจถึงมารยาทและการเล่นอย่างยุติธรรมในเกมของคุณ คุณสามารถแบนผู้ใช้ที่ฝ่าฝืนกฎหรือนโยบายชุมชน คุณสามารถแก้ไขระยะเวลาการแบน ข้อความแบน และแม้กระทั่งขยายการแบนไปยังบัญชีที่อาจเป็นทางเลือกได้ เมื่อใช้คุณลักษณะนี้ คุณต้องปฏิบัติตาม แนวทางการแบน และ ข้อความ

คุณมีตัวเลือกหลายอย่างในการทำงานกับการแบน:

การบล็อกอุปกรณ์

นอกเหนือจากการแบนบัญชีแล้ว Players:BanAsync() ยังรองรับ การบล็อกอุปกรณ์ ผ่านฟิลด์ ApplyDeviceBlock ในตารางการกำหนดค่า เมื่อคุณแบนผู้ใช้ที่เชื่อมต่อกับเกมของคุณในขณะที่ตั้งค่า ApplyDeviceBlock เป็น true อุปกรณ์ที่เกี่ยวข้องกับผู้ใช้นั้นจะถูกบล็อกจากการเข้าร่วมอีกครั้งเป็นเวลา 24 ชั่วโมง ตัวเลือกนี้เพิ่มแรงต้านทานต่อการหลีกเลี่ยงการแบน; ผู้เล่นที่ถูกแบนไม่สามารถเข้าร่วมเกมจากบัญชีใหม่บนอุปกรณ์เดียวกันได้ทันที

  • การบล็อกอุปกรณ์ปัจจุบันใช้ได้เฉพาะกับผู้เล่นบนเดสก์ท็อป (Windows และ macOS) ไม่ใช้กับอุปกรณ์เคลื่อนที่หรือคอนโซล
  • การบล็อกอุปกรณ์จะไม่แพร่กระจายเป็นการแบนไปยังบัญชีอื่น ๆ ที่ใช้เครื่องนั้น
  • การเรียก API ยกเลิกการแบนบนผู้ใช้ที่ได้รับผลกระทบจะลบการบล็อกอุปกรณ์ที่ใช้งานอยู่ทั้งหมดที่เกี่ยวข้องกับอุปกรณ์ของผู้ใช้นั้นโดยทันที ทำให้พวกเขาสามารถเข้าร่วมเกมได้อีกครั้ง

แนวทางการแบน

เมื่อดำเนินการแบนในเกมของคุณ ให้ปฏิบัติตามแนวทางต่อไปนี้:

  • กฎของเกมต้องไม่ขัดแย้งกับ มาตรฐานชุมชน และ ข้อตกลงในการใช้งาน ของ Roblox ตัวอย่างเช่น คุณไม่สามารถสร้างกฎของเกมที่ยกเว้นใครบางคนจากเพศของพวกเขา เนื่องจากเป็นการละเมิด นโยบายการเลือกปฏิบัติ คำพูดแสดงความเกลียดชัง และการดูถูกเหยียดเชื้อชาติของ Roblox
  • ผู้สร้างต้องระบุให้ชัดเจนเกี่ยวกับกฎของเกมในที่ที่ผู้ใช้ทุกคนเข้าถึงได้
  • ผู้สร้างต้องใช้กฎของเกมอย่างยุติธรรมและไม่เลือกเป้าหมายผู้ใช้บางคนอย่างไร้เหตุผล
  • ผู้ใช้สามารถยื่นอุทธรณ์ต่อตัวผู้สร้างได้โดยตรงหากพวกเขาเชื่อว่าการแบนของพวกเขาผิดพลาด Roblox จะไม่ทำหน้าที่เป็นตัวกลางในอุทธรณ์เหล่านี้ เว้นแต่ผู้ใช้จะเชื่อว่ากฎของเกมของผู้สร้างหรือการบังคับใช้กฎเหล่านั้นละเมิด มาตรฐานชุมชน
  • Roblox สามารถตรวจสอบเกมได้หากมีเหตุผลที่จะเชื่อว่ากฎของเกมของผู้สร้างหรือการบังคับใช้กฎเหล่านั้นละเมิด มาตรฐานชุมชน

แนวทางการส่งข้อความ

เมื่อผู้ใช้ถูกแบน พวกเขาจะได้รับโมเดลข้อผิดพลาดที่แสดงข้อมูลเช่น ระยะเวลาและเหตุผลในการแบน ในข้อความที่ถูกกรอง คุณสามารถรวมข้อมูลเพิ่มเติม เช่น ข้อมูลการอุทธรณ์หรือข้อมูลติดต่อ ตราบใดที่คุณปฏิบัติตาม มาตรฐานชุมชน ของ Roblox

ตัวอย่างเช่น ในข้อความแบนของคุณ คุณได้รับอนุญาตให้กล่าวถึงชื่อแบรนด์และแพลตฟอร์ม:

  • "ไปที่ Discord ในกลุ่ม/หน้าเกมของฉัน"
  • "ส่งข้อความถึงฉันทาง Twitter หรือ X"

การกล่าวถึงข้อมูลส่วนบุคคลหรือการเชื่อมโยงโดยตรงไม่ได้รับอนุญาตในฟิลด์ข้อความนี้ รวมถึงการโพสต์ชื่อผู้ใช้เฉพาะหรือแฮนเดิล หรือการให้ลิงก์โดยตรงไปยังเซิร์ฟเวอร์ Discord หรือบัญชี X

©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ