Mehrere Erklärungen evaluieren

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Wenn Anweisungen mehrere Anforderungen haben, die vor dem Ausführen von Codeserfüllt werden müssen. Das Schlüsselwort and ermöglicht es Ihnen, Anweisungen zu kombinieren. Der folgende Code bewertet zuerst, wenn zwei Plus zwei gleich sechs entspricht, und dann, wenn vier nicht gleich sechs entspricht. Wenn beide Anweisungen wahr sind, wird der Code ausführen.


-- wird nicht ausführen
if 2 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end
-- wird ausführen
if 4 + 2 == 6 and 4 ~= 6 then
print("Both statements are true")
end

Ein Powerup erstellen

Power-Ups sind In-Experience-Artikel, die Spielern besondere Fähigkeiten wie Fliegen, Unsichtbarkeit oder Geschwindigkeit geben. Dieser Power-Up wird die Walkspeed des Spieler:injedes Mal steigern, wenn der Power-Up berührt wird. Wenn Sie Boosts kontinuierlich anwenden, kann der Spieler das obere Limit der Walkspeed überschreiten, so dass and verwendet wird, um das obere Limit der Walkspeed zu steuern.

Powerup einrichten

Verwenden Sie diesen Code mit einem einfachen Teil oder einem Modell, wie einem Kristall, einer Münze oder einem leuchtenden Neon-Orb.

  1. Erstellen Sie ein neues Teil mit dem Namen Powerup und fügen Sie ein Skript mit dem Namen WalkSpeedManager ein.

  2. Erkläre eine Variable namens speedBoost und weise dem Skript, das. PL: die Skriptssein Eltern-Objekt zu.


    -- Gibt einen vorübergehenden Geschwindigkeitsschub, wenn berührt
    local speedBoost = script.Parent
  3. Set up a function named onTouch and connect it to the parent Objekt's Touched event. Then playtest and check your work.


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Something touched speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. Die WalkSpeed-Eigenschaft wird auf Humanoid-Objekten gefunden. Verwenden Sie das gleiche Muster, das beim Erstellen eines Fallteils verwendet wird, und erstellen Sie ein Bedingung, das auf Humanoid-Objekten prüft.

    Such nach menschlichen Formen

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

Spieler aufschnell hoch

Der Geschwindigkeitsschub wird Avatare jedes Mal schneller machen, wenn der Geschwindigkeitsschub berührt wird. Das wird schnell sehr, sehr schnell. Das Schlagwort and wird sicherstellen, dass Spieler nicht zu schnell gehen können, indem sie den Geschwindigkeitsschub nur aktivieren, wenn der Spieler unter einer bestimmten Geschwindigkeit ist.

  1. Wenn ein Humanoid gefunden wird, nehmen Sie den aktuellen WalkSpeed-Wert und fügen Sie 10 hinzu. Playtest und dein Avatar wird jedes Mal schneller, wenn er den Speed-Boost berührt.

    Erhöht die aktuelle 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. In der if-Anweisung verwenden Sie das Schlüsselwort and, um eine zweite Bedingung hinzuzufügen, dass der aktuelle WalkSpeed-Wert weniger als 50 ist. Nach dem Hinzufügen des Boosts wird der schnellste WalkSpeed-Wert 60 sein.

    Überprüft, ob die aktuelle WalkSpeed 50 oder weniger ist

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

Feine Abstimmung des Geschwindigkeitsboosts

OnTouch wird jedes Mal ausgeführt, wenn der Geschwindigkeitsschub berührt wird. Jeder Schritt oder die leiseste

  1. Nach dem Anwenden des Boosts setzen Sie die Eigenschaft CanTouch der Teil auf false. Playtest und stellen Sie sicher, dass der Boost nur einmal angewendet wird.

    Deaktiviert den Speed Boost

    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. Verwenden Sie task.wait(1), um das Skript für eine Sekunde zu pausieren, dann setzen Sie CanTouch auf true. Playtest und stellen Sie sicher, dass der Speed Boost nach einer Sekunde erneut angewendet werden kann.

    Fertiges Skript, das. PL: die Skripts

    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. Spielen Sie mit den Werten im fertigen Skript, das. PL: die Skripts. WalkSpeed kann bis zu 100 gehen. Der Standard-WalkSpeed-Wert ist 16.

Zusammenfassung

Das Schlüsselwort and kann verwendet werden, um mehrere Bedingungen vor dem Ausführen eines Code-Chunks zu erfordern, z. B. dass ein Wert größer als 0 und weniger als 100 ist. Oder dass es einen Humanoid und seine WalkSpeed sind, weniger oder gleich ist 50.