Mehrere Bedingungen auswerten

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

If-Anweisungen können mehrere Anforderungen haben, die erfüllt sein müssen, bevor der Code ausgeführt wird. Das Schlüsselwort and ermöglicht es Ihnen, Aussagen zu kombinieren. Der folgende Code prüft zuerst, ob zwei plus zwei gleich sechs ist, und dann, ob vier nicht gleich sechs ist. Wenn beide Aussagen wahr sind, wird der Code ausgeführt.


-- wird nicht ausgeführt
if 2 + 2 == 6 and 4 ~= 6 then
print("Beide Aussagen sind wahr")
end
-- wird ausgeführt
if 4 + 2 == 6 and 4 ~= 6 then
print("Beide Aussagen sind wahr")
end

Erstellen Sie ein Power-Up

Power-Ups sind im Erlebnis verfügbare Elemente, die den Spielern besondere Fähigkeiten wie Fliegen, Unsichtbarkeit oder Geschwindigkeit verleihen. Dieses Power-Up wird die Gehgeschwindigkeit des Spielers jedes Mal erhöhen, wenn das Power-Up berührt wird. Wenn Boosts kontinuierlich angewendet werden, kann der Spieler zu schnell werden, daher wird and verwendet, um die obere Grenze der Gehgeschwindigkeit zu kontrollieren.

Richten Sie das Power-Up ein

Verwenden Sie diesen Code mit einem einfachen Teil oder einem Modell, wie z.B. einem Kristall, einer Münze oder einer leuchtenden Neonkugel.

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

  2. Deklarieren Sie eine Variable mit dem Namen speedBoost und weisen Sie das übergeordnete Objekt des Skripts zu.


    -- Gibt einen temporären Geschwindigkeitsschub, wenn es berührt wird
    local speedBoost = script.Parent
  3. Richten Sie eine Funktion mit dem Namen onTouch ein und verbinden Sie sie mit dem Touched-Ereignis des übergeordneten Objekts. Spielen Sie dann das Spiel und überprüfen Sie Ihre Arbeit.


    local speedBoost = script.Parent
    local function onTouch(otherPart)
    print("Etwas berührte speedBoost")
    end
    speedBoost.Touched:Connect(onTouch)
  4. Die WalkSpeed-Eigenschaft befindet sich bei Humanoid-Objekten. Verwenden Sie das gleiche Muster, das beim Erstellen eines Fallen-Teils verwendet wurde, und erstellen Sie eine Bedingung, die nach Humanoid-Objekten sucht.

    Sucht nach Humanoid-Teilen

    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    print("Ein Humanoid wurde gefunden")
    end
    end

Spieler schneller machen

Der Geschwindigkeitsschub wird Avatare schneller laufen lassen, jedes Mal, wenn der Geschwindigkeitsschub berührt wird. Das wird sehr, sehr schnell werden. Das Schlüsselwort and stellt sicher, dass die Spieler nicht zu schnell werden, indem der Geschwindigkeitsschub nur aktiviert wird, wenn der Spieler unter einer bestimmten Geschwindigkeit ist.

  1. Wenn ein Humanoid gefunden wird, nehmen Sie den aktuellen WalkSpeed-Wert und addieren Sie 10 dazu. Spielen Sie das Spiel und Ihr Avatar wird jedes Mal schneller, wenn er den Geschwindigkeitsschub 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. Verwenden Sie im if-Befehl das Schlüsselwort and, um eine zweite Bedingung hinzuzufügen, dass der aktuelle WalkSpeed-Wert 50 oder weniger beträgt. Nach dem Hinzufügen des Boosts wird der schnellste WalkSpeed-Wert 60 betragen.

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

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

Feineinstellungen des Geschwindigkeitsschubs

OnTouch wird jedes Mal aufgerufen, wenn der Geschwindigkeitsschub berührt wird. Jeder Schritt oder das kleinste Wippen löst das Touched-Ereignis aus und ruft die verbundene Funktion auf. Die Eigenschaft des Teils CanTouch kann verhindern, dass das Touched-Ereignis ausgelöst wird. Nutzen Sie CanTouch und schalten Sie den Geschwindigkeitsschub für eine Sekunde jedes Mal aus, wenn er aktiviert wurde.

  1. Setzen Sie nach der Anwendung des Boosts die CanTouch-Eigenschaft des Teils auf false. Spielen Sie das Spiel und stellen Sie sicher, dass der Boost nur einmal angewendet wird.

    Deaktiviert den Geschwindigkeitsschub

    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 anzuhalten, und setzen Sie dann CanTouch auf true. Spielen Sie das Spiel und stellen Sie sicher, dass der Geschwindigkeitsschub nach einer Sekunde erneut angewendet werden kann.

    Fertiges Skript

    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. Experimentieren Sie mit den Werten im fertigen Skript. Die WalkSpeed kann bis zu 100 betragen. Der Standard-WalkSpeed-Wert ist 16.

Zusammenfassung

Das Schlüsselwort and kann verwendet werden, um mehrere Bedingungen zu verlangen, bevor ein Codeabschnitt ausgeführt wird, wie z.B. dass ein Wert größer als 0 und kleiner als 100 ist. Oder dass, wenn es einen Humanoid gibt und dessen WalkSpeed kleiner oder gleich 50 ist.

©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.