ลาวาที่อันตราย

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

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

ตั้งค่า

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

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

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

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

  4. แทรก Script ลงในส่วน 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 จะทำงานเมื่อมีบางสิ่งสัมผัสลาวา โปรดทราบว่าใช้ โคลอน สำหรับฟังก์ชัน Connect ไม่ใช่ จุด - ไม่ต้องกังวลเกี่ยวกับเหตุผลในจุดนี้ แค่จำความแตกต่างไว้

รับส่วนที่สัมผัส

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

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

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

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

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

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

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

ตามที่ได้กล่าวไว้ก่อนหน้านี้ ส่วนใด ๆ ที่สัมผัสลาวาจะเป็นส่วนหนึ่งของโมเดล Character ดังนั้นคุณสามารถอ้างอิงถึงตัวละครนั้นได้ด้วย 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 statement โค้ดใน if statement จะทำงานเฉพาะเมื่อเงื่อนไขที่กำหนดในบรรทัดแรกเป็นจริง

มี ตัวดำเนินการ หลากหลายที่สามารถใช้เพื่อสร้างเงื่อนไขที่ซับซ้อนมากขึ้นซึ่งคุณจะพบในหลักสูตรในอนาคต - สำหรับตอนนี้ แค่ใส่ตัวแปร humanoid ไว้ที่นั่น สร้าง if statement โดยใช้ 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 statement ให้ตั้งค่า 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)
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ