評價多個聲明

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

如果要在執行程式碼之前,需要滿足多個需求的話。 關鍵字 and 允許你組合關鍵字。 以下程式碼評估先是要在兩個以上的情況下評估,再在四個以下的情況下評估。如果兩個關鍵字都是真的,程式碼就會執行。


-- 不會執行
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- 會執行
if 4 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end

創建強化道具

強化道具是體驗道具,可以給玩家特殊能力,例如飛行、隱形或速度。這個強化道具會每次強化玩家的走路速度。持續添加強化道具可以讓玩家走得太快,因此 and 將用於控制上限。

設定強化道具

使用此代碼與簡單零件或模型,例如水晶、硬幣或發光的霓虹球。

  1. 創建名為 Powerup 的新零件,並且插入名為 WalkSpeedManager 的指令碼。

  2. 宣告變量名稱 speedBoost 並且設定指定的 script 的父級對物件。


    -- 觸摸時提供暫時速度提升
    local speedBoost = script.Parent
  3. 設置名為 onTouch 的函數,並將其連接到親對物件的 Touched 事件。然後玩測並檢查您的工作。


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. WalkSpeed 屬性在人形物件上找到。使用創建陷阱零件時使用的樣式,並且在創建條件中檢查人形物件。

    尋找人形零件

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("A Humanoid was found")
    end
    end

向上滾動玩家

速度提升會讓虛擬人偶每次觸發速度提升時走得更快。這會很快變得非常快。關鍵字 and 會確保玩家只能啟用速度提升,如果玩家位於特定速度下。

  1. 如果找到人形,請取得目前的 WalkSpeed 值,並且在 10 上面加。 測試,您的虛擬人偶每次碰觸速度提升時會獲得更快。

    增加目前的 WalkSpeed

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    humanoid.WalkSpeed += 10
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. 在 if 句中,使用關鍵字 and 來添加第二個條件,即目前的 WalkSpeed 值小於 50。 之後,加速後的最快走路速度將為 60。

    檢查目前的 WalkSpeed 是否為 50 或更低

    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    end

精細調整速度強化

OnTouch 會在速度強化每次觸摸時呼叫。 每個步驟或輕微彈跳都會喚發 Touched 事件並呼叫連接的函數。 零件的屬性, CanTouch 可以讓 Touched 事件從發射到關閉。 利用 CanTouch 並在速度強化啟動時關閉速度強化。

  1. 在添加強化後,將零件的 CanTouch 屬性設為 false。請進行遊戲測試並確認強化只適用於一次。

    停用速度提升

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    end
    end
    speedBoost.Touched:Connect(onTouch)
  2. 使用 task.wait(1) 暫停指令碼,然後將 CanTouch 設定為 true。請測試並確認速度強化可以在一秒後重新套用。

    已完成的指令碼

    local speedBoost = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid and humanoid.WalkSpeed <= 50 then
    humanoid.WalkSpeed += 10
    speedBoost.CanTouch = false
    task.wait(1)
    speedBoost.CanTouch = true
    end
    end
    speedBoost.Touched:Connect(onTouch)
  3. 玩值在完成的指令碼中。WalkSpeed 可以去 100。預設的WalkSpeed 值是 16。

摘要

關鍵字 and 可以用來在執行代碼塊前需要多個條件,例如值是 0 或小於 100。或者,如果有人形和其走路速度是 50 或小於 100 。