ลาวาที่ร้ายกาจ

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

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

ตั้งค่า

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

  1. ใส่ Part และย้ายไปยังตําแหน่งในโลกของคุณ ตั้งชื่อว่า LavaFloor

  2. ปรับขนาดให้เหมาะสมเพื่อให้ครอบคลุมพื้นของพื้นที่ปิดล้อม

  3. ทำให้พื้นดูเหมือนลาวาโดยการตั้งค่าคุณสมบัติ Material เป็น Neon และ Color เป็นสีส้ม

  4. ใส่ สคริปต์ ลงในส่วน LavaFloor และเปลี่ยนชื่อเป็น Kill

  5. ลบโค้ดเริ่มต้นและสร้างตัวแปรสำหรับลาวา


    local lava = script.Parent

เชื่อมต่อกับอีเวนต์

ใช้อีเวนต์ เหตุการณ์ เพื่อตรวจสอบเมื่อผู้ใช้สัมผัสกับลาวาทุกส่วนมีอีเวนต์ Touched ที่จะเปิดเมื่อมีบางอย่างสัมผัสมันคุณสามารถ เชื่อมต่อ กับอีเวนต์นี้เพื่อรันฟังก์ชันเมื่อมันถูกเรียก

  1. ประกาศฟังก์ชันใหม่ชื่อ kill

  2. เข้าถึงอีเวนต์ Touched บนวัตถุลาวาโดยใช้จุดเหมือนกับคุณสมบัติ: lava.Touched

  3. เรียกฟังก์ชัน Connect ในอีเวนต์ Touched โดยส่ง kill() ให้เป็นฟังก์ชันที่จะเรียกเมื่อส่วนถูกแตะ


    local lava = script.Parent
    local function kill()
    end
    lava.Touched:Connect(kill)

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

รับส่วนที่สัมผัสได้

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

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


local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)

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

ตัวละครและมนุษย์หุ่น

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

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

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


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
end
lava.Touched:Connect(kill)

จากรูปแบบตัวละครคุณจะต้องรับวัตถุ Humanoid เพื่อฆ่าผู้ใช้คุณสามารถทำเช่นนี้ด้วยฟังก์ชัน FindFirstChild()—เพียงส่งชื่อของสิ่งที่คุณกำลังมองหาและมันจะให้ลูกที่ตรงกันครั้งแรกที่มันพบในวัตถุนั้นโทร FindFirstChild() ที่แปร partParent ด้วย "Humanoid" เป็นลูกที่จะค้นหาและเก็บผลลัพธ์ในแปรใหม่ที่เรียกว่า humanoid .


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
end
lava.Touched:Connect(kill)

ตรวจสอบหุ่นยนต์

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

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


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
end
end
lava.Touched:Connect(kill)

ตั้งค่าสุขภาพตัวละคร

ตอนนี้ที่ Humanoid ถูกตรวจสอบแล้ว คุณสมบัติของมันสามารถเปลี่ยนแปลงได้แล้วหากคุณตั้งค่าคุณสมบัติ Health ของมันเป็น 0 ตัวละครที่เกี่ยวข้องจะตายในร่างของคำสั่ง if ตั้งค่าคุณสมบัติ Health ของ humanoid เป็น 0


local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)

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

โค้ดสุดท้าย


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)