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ührenif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- wird ausführenif 4 + 2 == 6 and 4 ~= 6 thenprint("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.
Erstellen Sie ein neues Teil mit dem Namen Powerup und fügen Sie ein Skript mit dem Namen WalkSpeedManager ein.
Erkläre eine Variable namens speedBoost und weise dem Skript, das. PL: die Skriptssein Eltern-Objekt zu.
-- Gibt einen vorübergehenden Geschwindigkeitsschub, wenn berührtlocal speedBoost = script.ParentSet up a function named onTouch and connect it to the parent Objekt's Touched event. Then playtest and check your work.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Something touched speedBoost")endspeedBoost.Touched:Connect(onTouch)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 Formenlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
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.
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 WalkSpeedlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)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 istif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Feine Abstimmung des Geschwindigkeitsboosts
OnTouch wird jedes Mal ausgeführt, wenn der Geschwindigkeitsschub berührt wird. Jeder Schritt oder die leiseste
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 Boostlocal 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 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 Skriptslocal 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)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.