กับดักที่ลดสุขภาพของผู้เล่นเป็นส่วนหนึ่งที่น่าสนุกของเกมที่สามารถจดโดยใช้ข้อกำหนดเงื่อนไขได้ ฝึกซ้อมโดยใช้เงื่อนไขโดยการสร้างส่วนที่ตั้งสุขภาพของผู้เล่นให้เป็นศูนย์เมื่อแตะ
การติดตั้งกับดัก
กับดักทำงานได้อย่างยอดเยี่ยมในประสบการณ์ที่มีความท้าทายที่เกี่ยวข้องกับการเคลื่อนที่, เช่น อ็อบบี้ ขั้นตอนเหล่านี้จะเริ่มต้นโดยการตั้งค่าแป้นที่จำเป็นและการใช้งาน
สร้างและตั้งชื่อส่วนกับดัก ใส่สคริปท์ในส่วน
ในสคริปต์ ใส่ความคิดเห็นที่อธิบายแล้วจากนั้นใช้ตัวแปรเพื่ออ้างถึงพ่อของสคริป
-- หากผู้เล่นสัมผัสส่วนนี้ให้สุขภาพของพวกเขาเป็น 0local trapPart = script.Parentสร้างฟังก์ชันที่มีชื่อว่า onTouch() ด้วยตัวแปรที่ชื่อว่า otherPart
-- หากผู้เล่นสัมผัสส่วนนี้ให้สุขภาพของพวกเขาเป็น 0local trapPart = script.Parentlocal function onTouch(otherPart)endเชื่อมฟังก์ชันกับอีเวนต์ Touched ของชิ้นส่วนเพื่อทำงานเมื่อมีสิ่งใดสิ่งหนึ่งสัมผัสกับชิ้นส่วน
local trapPart = script.Parentlocal function onTouch(otherPart)endtrapPart.Touched:Connect(onTouch)
ตรวจสอบผู้เล่นสัมผัส
จำไว้ว่า ตัวอักษร otherPart บันทึกสิ่งที่แตะต้องส่วนที่ตกแต่ง ซึ่งอาจเป็นส่วนของผู้เล่นหรือเพียงแผ่นพื้น
เพื่อให้แน่ใจว่ากับดักจะทำลายผู้เล่นเท่านั้นและไม่ทำลายไอเท็มตกแต่งแบบสุ่ม ใช้ if/then สถานะเพื่อตรวจสอบว่าสิ่งที่อยู่ใน otherPart มีวัตถุ Humanoid หรือไม่
การค้นหาวัตถุที่เฉพาะเจาะจง
คุณสมบัติ FindFirstChildWhichIsA() สามารถใช้เพื่อค้นหาประเภทของวัตถุที่เป็นประโยชน์ อวาตาร์ผู้เล่นจะสัมผัสกับส่วนที่เป็นมนุษย
ใน onTouch() ให้พิมพ์ local character = otherPart.Parent
local trapPart = script.Parentlocal function onTouch(otherPart)-- ค้นหาวัตถุพ่อของอื่นPartlocal character = otherPart.ParentendtrapPart.Touched:Connect(onTouch)ตรวจสอบว่า character มี Humanoid โดยการพิมพ์:
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")endtrapPart.Touched:Connect(onTouch)
ตรวจสอบด้วย if แถลงการณ์
หากพบมนุษย์กลางจะตั้งค่าสุขภาพของมนุษย์กลางเป็น 0
ใช้ if สถานะเพื่อตรวจสอบว่ามนุษย์ได้รับการกำหนดไปยัง local humanoid หรือไม่
local trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")-- ประเมินว่ามีพบมนุษย์หรือไม่if humanoid thenendendtrapPart.Touched:Connect(onTouch)เพิ่มคำพิมพ์และตรวจสอบรหัสจนถึงตอนนี้
local trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")-- ประเมินว่ามีพบมนุษย์หรือไม่if humanoid thenprint("Found a Humanoid")endendtrapPart.Touched:Connect(onTouch)วิ่ง โค้ดและตรวจสอบว่าคุณสามารถดูผลลัพธ์ได้เมื่อผู้เล่นแตะที่ส่วน
เปลี่ยนสุขภาพของผู้เล่น
หากคำถูกต้อง คุณสามารถใช้ปริมาณตัวแปรเหมือนมนุษย์เดียวกันเพื่อตั้งค่าสุขภาพของผู้เล่นให้เป็น 0
ระหว่าง then และ end ป้อน humanoid.Health = 0
สคริปที่สำเร็จlocal trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")-- ประเมินว่ามีพบมนุษย์หรือไม่if humanoid thenprint("Found a Humanoid")humanoid.Health = 0endendtrapPart.Touched:Connect(onTouch)ทดสอบกับกับดัก
สรุป
ส่วนนี้ใช้เงื่อนไขเพื่อตรวจจับชิ้นส่วนมนุษย์และตั้งค่าสุขภาพของมนุษย์เป็น 0 สคริปต์นี้เป็นการปรับปรุงสคริปต์กับบังคับที่ก่อนหน้านี้ทำลายวัตถุสัมพันธ์ไม่ว่าจะเป็นอะไร
มันยังคงมีข้อบกพร่องบางอย่าง มนุษย์ไม่ใช่เพียงในผู้เล่น มนุษย์ยังพบในตัวละครที่ไม่สามารถเล่นได้ สคริปต์เป็นเพียงการตั้งค่าสุขภาพของผู้เ