การฝึกฝน If/then ด้วยกับดัก

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

กับดักที่ลดพลังชีวิตของผู้เล่นเป็นองค์ประกอบการเล่นเกมที่สนุกซึ่งสามารถเขียนโค้ดด้วยคำสั่งเงื่อนไข ฝึกใช้คำสั่งเงื่อนไขโดยการสร้างส่วนที่ตั้งค่าพลังชีวิตของผู้เล่นเป็นศูนย์เมื่อถูกสัมผัส

ตั้งค่ากับดัก

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

  1. สร้างและตั้งชื่อส่วนของกับดัก แทรกสคริปต์ลงในส่วน

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

    -- หากผู้เล่นสัมผัสส่วนนี้ ให้ตั้งค่าพลังชีวิตของพวกเขาเป็น 0
    local trapPart = script.Parent
  3. สร้างฟังก์ชันที่ชื่อว่า onTouch() โดยมีพารามิเตอร์ชื่อ otherPart

    -- หากผู้เล่นสัมผัสส่วนนี้ ให้ตั้งค่าพลังชีวิตของพวกเขาเป็น 0
    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
  4. เชื่อมต่อฟังก์ชันกับเหตุการณ์ Touched ของส่วนกับดักเพื่อให้ทำงานเมื่อมีบางสิ่งสัมผัสส่วน

    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
    trapPart.Touched:Connect(onTouch)

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

จำไว้ว่า พารามิเตอร์ otherPart จะบันทึกสิ่งที่สัมผัสกับส่วนกับดัก ซึ่งอาจเป็นส่วนหนึ่งของผู้เล่นหรือเพียงแค่ฐาน

เพื่อให้แน่ใจว่ากับดักจะทำลายผู้เล่นเท่านั้นและจะไม่ทำลายของตกแต่งแบบสุ่ม ให้ใช้คำสั่ง if/then เพื่อตรวจสอบว่าสิ่งที่อยู่ใน otherPart มีวัตถุ Humanoid หรือไม่

ค้นหาวัตถุเฉพาะ

ฟังก์ชัน FindFirstChildWhichIsA() สามารถใช้เพื่อค้นหาประเภทวัตถุเฉพาะ ซึ่งมีประโยชน์เพราะเรากำลังมองหาวัตถุประเภท Humanoid ผู้เล่นจะสัมผัสกับกับดักด้วยเพียงส่วนหนึ่งของอวตารของพวกเขา ดังนั้นจึงต้องตั้งค่าตัวแปรเพื่อค้นหาพ่อแม่ของส่วนที่สัมผัสและค้นหามันสำหรับ Humanoid

  1. ใน onTouch() ให้พิมพ์ local character = otherPart.Parent

    local trapPart = script.Parent
    local function onTouch(otherPart)
    -- ค้นหาวัตถุพ่อแม่ของ otherPart
    local character = otherPart.Parent
    end
    trapPart.Touched:Connect(onTouch)
  2. ตรวจสอบว่า character มี Humanoid โดยพิมพ์:

    local humanoid = character:FindFirstChildWhichIsA("Humanoid")

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    end
    trapPart.Touched:Connect(onTouch)

ตรวจสอบด้วยคำสั่ง if

หากพบ Humanoid ให้ตั้งค่าพลังชีวิตของ Humanoid เป็นศูนย์

  1. ใช้คำสั่ง if เพื่อตรวจสอบว่ามี Humanoid ถูกกำหนดให้กับ local humanoid หรือไม่

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- ประเมินว่าพบ Humanoid หรือไม่
    if humanoid then
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. เพิ่มคำสั่ง print และตรวจสอบโค้ดจนถึงตอนนี้

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- ประเมินว่าพบ Humanoid หรือไม่
    if humanoid then
    print("พบ Humanoid")
    end
    end
    trapPart.Touched:Connect(onTouch)
  3. รัน โค้ดและตรวจสอบว่าคุณสามารถเห็นผลลัพธ์เมื่อใดก็ตามที่ผู้เล่นสัมผัสส่วน

เปลี่ยนพลังชีวิตของผู้เล่น

หากคำสั่งเป็นจริง คุณสามารถใช้ตัวแปร humanoid เดียวกันเพื่อตั้งค่าพลังชีวิตของผู้เล่นเป็น 0

  1. ระหว่าง then และ end ให้พิมพ์ humanoid.Health = 0

    สคริปต์ที่เสร็จสมบูรณ์
    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- ประเมินว่าพบ Humanoid หรือไม่
    if humanoid then
    print("พบ Humanoid")
    humanoid.Health = 0
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. ทดสอบกับดัก

สรุป

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

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

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