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

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

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

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

วงจรชีวิต

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

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

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

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

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 และพยายามบันทึกข้อมูลของผู้ใช้ในที่เก็บข้อมูลภายใต้ ID ผู้ใช้ของพวกเขา:

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 เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ