การสร้างทีม ช่วยให้คุณจัดกลุ่มผู้เล่นที่แข่งขันกันเพื่อแสดงผลที่ชนะ เช่น การคะแนนผู้เล่นมากที่สุดหรือการข้ามเส้นชัยก่อนทีมผู้เล่นอื่น สำหรับผู้เล่นคน
โดยใช้ประสบการณ์ เลเซอร์แท็กตัวอย่าง เป็นตัวอ้างอิง ในส่วนนี้ของการฝึกเรียนแสดงให้เห็นวิธีการจัดกลุ่มผู้เล่นรวมถึงคำแนะนำการเขียนสคริปท์เกี่ยวกับ:
- โดยใช้คุณสมบัติการให้คะแนนเฉลี่ยของ Class.Teams เพื่อการจัดสรรผู้เล่นเป็นสีเขียวหรือสีชมพู
- ช่วยให้ผู้เล่นแยกทีมระหว่างพวกเขาและสมาชิกในทีมของศัตรูผ่านทางตัวชี้วัดในหน้าจอและในประสบการณ์
- เปิดใช้งานการเล่นเกมที่อภัยผู้เล่นที่ไม่ลงโทษผู้เล่นสําหรับการระเบิดทีมของพวกเขา
หลังจากที่คุณเสร็จสิ้นส่วนนี้คุณจะได้เรียนรู้เกี่ยวกับสคริปต์ที่อนุญาตให้ผู้เล่นเรียกหรือเรียกใหม่ไปยังล็อบบี้หรือเขตเกิดขึ้นของทีม ปรับแต่งการตั้งค่าของฟิลด์กำลังเปลี่ยนแปลง และจัด
กำหนดสีทีม
ประสบการณ์เลเซอร์เวทย์สามารถใช้บริการ Teams เป็นฐานสร้างทีมสองทีมเพราะบริการนี้นำเสนอการจัดเรียงทีมที่ทำงานได้อย่างกว้างขวางออกจากกล่อง ตัวอย่างเช่นโดยไม่มีควา
- จัดเรียงและสมดุลผู้เล่นในแต่ละทีมอย่างเท่าเทียม
- การรวมผู้เล่นภายใต้ทีมของพวกเขาในกระดานผู้นํา
- สีชื่อผู้เล่นในพื้นที่ 3D ให้กับสีทีมที่ตรงกัน
- การเรียกผู้เล่นมาที่สถานที่เรียกที่แตกต่างกันที่เฉพาะทีมของพวกเขาเท่านั้น
เนื่องจากคุณสมบัติการใช้งานปกตินี้จึงเปิดใช้งาน Teams บริการ, จา
มีความสำคัญที่จะทราบชื่อ BrickColor ที่แน่นอนส
startSyncingTeamColor อ้างอิง Team.Color เพื่อให้สามารถเรียกใช้สีและไอคอนที่เหมาะสมสำหรับผู้ช่วยทีมของผู้เล่นในมุมล่างซ้ายของหน้าจอของพวกเขา
local function setPlayerTeamIcon(gui: ScreenGui)
for _, teamColorIcon in gui.PlayerDisplay.TeamIcons:GetChildren() do
local iconTeamColor = teamColorIcon:GetAttribute(GuiAttribute.teamColor)
teamColorIcon.Visible = localPlayer.TeamColor == iconTeamColor
end
end
local function startSyncingTeamColor(gui: ScreenGui)
setPlayerTeamIcon(gui)
localPlayer:GetPropertyChangedSignal("Team"):Connect(function()
setPlayerTeamIcon(gui)
end)
end
แสดงตัวชี้วัดของทีม
เมื่อผู้เล่นได้รับการเรียงลำดับในทีมแล้วพวกเขาจำเป็นต้องสามารถระบุได้อย่างรวดเร็วว่าพวกเขาเป็นสมาชิกของทีมใดและแยกตัวพวกเขาออกจากพันธมิตรของพวกเขาและสม
สำเร็จเรียบร้อยประสบการณ์เลเซอร์แท็กตัวอย่างจะให้ตัวชี้วัดทีมหลายรายการทั้งในหน้าจอและในพื้นที่ 3D:
- ตัวชี้ผู้เล่น – การปรับแต่ง UI บนหน้าจอที่แสดงสีและไอคอนของทีมผู้เล่น
- เครื่องชี้วัดทีม – ใช้งานได้ในเวอร์ชันที่กําหนดเองในประสบการณ์ที่แสดงสีทีมของผู้เล่น
- ตัวชี้วัดลีดเดอร์บอร์ด – บริการ UI บนหน้าจอที่กลุ่มผู้เล่นภายใต้สีของทีมของพวกเขา
- สีชื่อชื่อเรื่อง – บริการทีมชื่อในประสบการณ์ UI ที่สีข้างของชื่อผู้เล่นข้างบนของพวกเขาเป็นสีของทีมของพวกเขา
คุณไม่จำเป็นต้องทำงานใด ๆ เพิ่มเติมสำหรับตัวชี้วัดในกระดานผู้นําหรือสีชื่อของทีมภายนอกการกำหนดสีของทีมจากส่วน
ปิดการโจมตีที่เป็นมิตร
ขณะที่บางประสบการณ์ของผู้เล่นบางคนที่ยิงทีมของตัวเองจะลงโทษผู้เล่นที่ระเบิดเพื่อนร่วมทีมของตัวเอง แต่ประสบการณ์เลเซอร์แท็กตัวอย่างจะช่วยให้เกมเล่นได้อย่างเคร่งครัดโดยการปิด
พิมพ์, ตรวจสอบวิธีการที่ LaserBlastHandler > processTaggedPlayers
local function onPlayerTagged(playerBlasted: Player, playerTagged: Player, damageAmount: number)
ก่อนที่มันจะลดลง สคริปต์จะตรวจสอบว่าผู้เล่นที่มีป้ายชื่ออยู่ในทีมเดียวกับผู้เล่นที่เริ่มการระเบิด หากพวกเขาอยู่ในทีมเดียวกัน สคริปต์จะเพิกเฉยข้อมูลการระเบิดทั้งหมด
local character = playerTagged.Characterlocal isFriendly = playerBlasted.Team == playerTagged.Team-- ป้องกันไฟเป็นมิตรif isFriendly thenreturnend
อย่างไรก็ตามหากผู้เล่นที่มีชื่อว่า อยู่ในทีมศัตรู ] ในทีมของผู้เล่นที่เริ่มการโจมตี, ผู้เล่นจะได้รับจุดสู่ทีมของผู้เล่นที่เริ่มการ
local humanoid = character and character:FindFirstChild("Humanoid")if humanoid and humanoid.Health > 0 thenlocal damage = math.min(damageAmount, humanoid.Health)humanoid:TakeDamage(damage)if humanoid.Health <= 0 thenScoring.incrementScore(playerBlasted, 1)endendendreturn onPlayerTagged
หากคุณทดสอบประสบการณ์ในขณะนี้ผู้เล่นทุกคนจะเกิดขึ้นอย่างสุ่มในโซนเกิดที่อยู่ตรงข้ามของสนามรบไม่ว่าพวกเขาจะเป็นทีมใดก็ตามซึ่งหมายความว่าทุกทีมจะเกิดขึ้นที่ด้านข้างของกัน
เพื่อแก้ปัญหานี้ ส่วนต่อไปของการกวดวิชาสอนคุณเกี่ยวกับโลกีเข้าข้างหลังของทีมเมื่อเลือกผู้เล่นของพวกเขาหลังจากเลือกผู้เล่นของพวกเขาและการเรียกคืนผู้เล่นกลับไปยังโซนหรือล็