การฝึกใช้ 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. เพิ่มคำสั่งพิมพ์และตรวจสอบโค้ดจนถึงตอนนี้.


    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 เป็นศูนย์ สคริปต์นี้เป็นการปรับปรุงจากสคริปต์กับดักก่อนหน้านี้ ซึ่งทำลายวัตถุที่สัมผัสไม่ว่าจะเป็นอะไร.

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

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