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ührtif 2 + 2 == 6 and 4 ~= 6 thenprint("Beide Aussagen sind wahr")end-- wird ausgeführtif 4 + 2 == 6 and 4 ~= 6 thenprint("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.
Erstellen Sie ein neues Teil mit dem Namen Powerup und fügen Sie ein Skript mit dem Namen WalkSpeedManager ein.
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 wirdlocal speedBoost = script.ParentRichten 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.Parentlocal function onTouch(otherPart)print("Etwas berührte speedBoost")endspeedBoost.Touched:Connect(onTouch)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-Teilenlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("Ein Humanoid wurde gefunden")endend
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.
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 WalkSpeedlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)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 istif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
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.
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 Geschwindigkeitsschublocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)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 Skriptlocal speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)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.