致命的岩漿

*此內容是使用 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 功能,而不是 1> .1> 是甚麼原因,請稍後記住這點。

獲得觸摸零件

要擊殺使用者,功能需要與該使用者關聯的對象。一個零件的 Touched 事件可以提供觸摸它的 "其他部分",但只有要求它作為功能的 參數 而設定。

參數是函數呼叫時期待收到的定義。參數可以用於任何其他變數。當參數包含在父詞中時,您可以將信息傳递給參數。參數定義在第一行功能的參數中。創建 參數 稱為 otherPart 為 8> kil殺死 功能。


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

kill 函數呼叫時, otherPart 參數代表熔岩地板觸摸的部分,並且代碼能夠在 code 中使用。

角色與人形

當使用者觸摸岩漿時,Roblox 可以檢測到使用者觸摸它的特定身體部位,例如左腿或右腳。這個部分是在使用者的 角色 模型中,包含所有在體驗中體驗的用戶虛擬人偶的所有物件,包括:

  • 用戶身體的個別部分,例如頭、手臂和軀體。
  • 任何由使用者穿戴的服裝和配件。
  • Class.Humanoid ,一個特殊對象,包含與用戶相關的許多屬性,包括用戶的健康狀況。
  • 人形根部分,控制使用者的移動。

您注意到的任何熔岩零件都屬於角色模型,因此您可以使用 otherPart.Parent 來與該角色取得引用。創建變數來儲存熔岩零件的父親。


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

從角色模型中,您需要取得人形對象才能擊殺用戶。您可以使用 FindFirstChild() 函數來做到這一點,只要將您要查找的物品的名稱傳給它,它就會在該對物件中找到第一個匹


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

檢查人形

您可以使用 如果 句子來檢查是否找到人形。在 if 句子中的代碼只會在第一行中定義的條件是真的情況下才會執行。

有各種各樣的 操作器 可以用來建造未來課程中你會遇到的更復雜的條件 - 為了現在,只需將 humanoid 變數放在那裡。創建一個 if 聲明,並將 2>humanoid2> 作為條件。


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 句中,將檢查人形體的 2>Health2> 屬性設置為 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)

有了它,您的熔岩地板就完成了!測試您的體驗,您應該發現您的殺人性熔岩在接聯絡時會成功殺死用戶。試著用您的熔岩作為一個額外的挑戰在障礙賽中,或作為世界的界限。

最終代碼


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)