ลาวาที่เสี่ยงตาย

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

รับส่วนที่ติดต่อ

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

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


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

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

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

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

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

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


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

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


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

การตรวจสอบหุ่นมนุษย์

คุณสามารถตรวจสอบได้อย่างง่ายดายว่ามีพิกเซลมนุษย์หรือไม่โดยใช้คำสั่ง ถ้า เท่านั้น โค้ดในคำสั่ง 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 คุณสมบัติของตัวละครจะตาย ในต


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)