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

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

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

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

วงจรชีวิต

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

ใช้สคริปต์เพื่อเข้าถึงบริการที่เกี่ยวข้องกับเซิร์ฟเวอร์ เช่น คลังข้อมูลที่จะดึงและบันทึกข้อมูลเมื่อผู้ใช้เข้าร่วมหรือออกใช้ LocalScripts หากลูกค้าต้องสร้างและลบตัวอย่างการเล่นที่เกี่ยวข้องกับผู้ใช้ใหม่ เช่น การแสดง GUI ตารางอันดับ

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

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

โหลดข้อมูลผู้ใช้เมื่อเข้าร่วม

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


local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("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 จากบริการ Playersอีเวนต์ Players.PlayerRemoving แทนตัวแทนผู้ใช้ที่ออกจากประสบการณ์ตัวอย่างการใช้งานบางตัวรวมถึงการบันทึกข้อมูลผู้ใช้ การลบสถิติของพวกเขาจากบอร์ดคะแนน และทำลายรูปแบบใดๆ ของพวกเขา เช่น บ้านของพวกเขาอีเวนต์ ส่งวัตถุของผู้ใช้ที่ออกซึ่งคุณสามารถใช้เมื่อเรียกฟังก์ชันอื่นๆ เช่น คลังข้อมูลและวัตถุ ได้

สังเกตว่าอีเวนต์ถูกเรียกว่า Player.PlayerRemoving ไม่ใช่ Player.PlayerRemoved เพราะ "ลบ" จะหมายความว่าวัตถุ Player ถูกลบแล้วและไม่สามารถเข้าถึงสคริปต์ได้

บันทึกข้อมูลผู้ใช้เมื่อออก

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

สคริปต์ใน ServerScriptService

local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("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.Character อวาตาร์Player.CharacterAutoLoads เป็นจริงและรูปแบบตัวละครของผู้ใช้จะเกิดขึ้นโดยอัตโนมัติเมื่อพวกเขาเข้าร่วมประสบการณ์หาก Player.CharacterAutoLoads เป็นเท็จ คุณจะต้องโทร Player:LoadCharacter() เพื่อสร้างตัวละครด้วยตนเอง

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

การสร้างตัวละคร despawning

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

นับจำนวนการตายของผู้เล่น

คุณสามารถใช้เหตุการณ์ Humanoid.Died เพื่อจัดการการจัดอันดับสําหรับการฆ่าหรือสร้างรูปแบบ ragdoll ที่กําหนดเองต่อไปนี้ Script เชื่อมต่อกับ Player.CharacterAdded เพื่อดึงโมเดลตัวละครของผู้ใช้แต่ละคนจากนั้นเชื่อมต่อกับวัตถุตัวละครของผู้ใช้ Humanoidเมื่ออีเวนต์ของหุ่นยนต์มนุษย์ Humanoid.Died เกิดขึ้น สคริปต์จะเพิ่มจํานวนครั้งที่หุ่นยนต์มนุษย์ของผู้ใช้ตายและออกจำนวนนั้น

สคริปต์ใน 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)

แบนผู้ใช้

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

สำหรับคําแนะนําการใช้งานและการดําเนินการ ดูที่ Players.BanAsync

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

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

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

แนวทางข้อความ

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

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

  • “ไปที่ Discord ในหน้ากลุ่ม/ประสบการณ์ของฉัน”
  • “ส่งข้อความหาฉันบน Twitter หรือ X”

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

คอนเทนเนอร์

วัตถุ Player เก็บไฟล์ที่สำคัญหลายไฟล์:

กระเป๋าเป้

คอนเทนเนอร์ Player.Backpack คลังไอเท็มTool ในการแสดงของผู้ใช้ Backpack ในสินค้าคงคลังที่ด้านล่างของหน้าจอหากผู้ใช้เลือก Tool คลังไอเท็มPlayer.Backpack ไปยัง Player.Character

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

The Backpack ยังเก็บและดำเนินการ Scripts และ LocalScripts การเข้าถึง

Roblox ให้อินเทอร์เฟซสำหรับผู้เล่นเพื่อเข้าถึง Backpack และสินค้าคงคลังที่ด้านล่างของหน้าจอเพื่อปิดใช้งาน GUI กระเป๋าเป้ Roblox เริ่มต้นและเปลี่ยนเป็นของคุณเอง โทร StarterGui:SetCoreGuiEnabled() ในสคริปท้องถิ่นสำหรับข้อมูลเพิ่มเติม ดู StarterGui

อุปกรณ์เริ่มต้น

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

ไม่เหมือนกับ StarterPack , Player.StarterGear ไม่ใช่บริการ แต่เป็นลูกของแต่ละวัตถุ Player ดังนั้นเนื้อหาจึงเป็นของผู้ใช้ผู้ใช้แต่ละคนสามารถมีวัตถุที่แตกต่างกัน Tool ภายใน Player.StarterGear ของพวกเขาเพื่อใช้ Player.StarterGear , เปิดใช้งานเกียร์ในหน้าการตั้งค่าประสบการณ์ภายใต้ สิทธิ์ .บนหน้าสิทธิ์ อุปกรณ์ให้ยกเลิกการเลือกประเภท

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

ผู้เล่นGui

คอนเทนเนอร์ PlayerGui เก็บวัตถุที่สร้าง GUI ของผู้เล่นหาก ScreenGui เป็นลูกหลานของ PlayerGui แล้วใดๆ GuiObject ภายใน ScreenGui จะแสดงบนหน้าจอผู้เล่นใด ๆ LocalScript ทำงานเมื่อคลอนไปที่ PlayerGuiเมื่อผู้เล่น Player.Character เกิดขึ้นครั้งแรกทั้งหมดของเนื้อหาของ StarterGui จะถูกคัดลอกอัตโนมัติไปยังผู้เล่น PlayerGui

หากตั้งค่า Players.CharacterAutoLoads เป็น false ตัวละครจะไม่เกิดขึ้น และเนื้อหา StarterGui จะไม่คัดลอกจนกว่าจะเรียก Player:LoadCharacter()หาก StarterGui.ResetPlayerGuiOnSpawn ถูกตั้งค่าเป็นจริง ทุกครั้งที่ตัวละครของผู้เล่นเกิดใหม่ เนื้อหาทั้งหมดของผู้เล่นนั้น PlayerGui จะถูกล้างและแทนที่ด้วยเนื้อหาของ StarterGui

สคริปต์ผู้เล่น

เมื่อผู้ใช้เข้าร่วมประสบการณ์ เนื้อหาในคอนเทนเนอร์ StarterPlayer.StarterPlayerScripts จะคลอนไปยัง PlayerScripts สคริปต์ท้องถิ่นและสคริปต์โมดูลทั้งหมดจะทำงานเมื่อคลอน

ไม่เหมือนกับคอนเทนเนอร์ Backpack และ PlayerGui คอนเทนเนอร์ PlayerScripts ไม่สามารถเข้าถึงเซิร์ฟเวอร์ได้ และคอนเทนเนอร์ PlayerScripts ของผู้ใช้ไม่รีเซ็ตเมื่อตัวละครตายและเกิดใหม่วัตถุด้านเซิร์ฟเวอร์ Script ก็ไม่ได้ทำงานเมื่อถูกผูกกับ PlayerScripts ด้วยคอนเทนเนอร์ PlayerScripts มีประโยชน์สำหรับสคริปต์ที่ไม่ได้เชื่อมโยงกับวงจรชีวิตของตัวละครผู้ใช้ เช่น ระบบแชททั่วไปหรือการควบคุมการป้อนข้อมูลของผู้เล่น