Jeśli oświadczenia mogą mieć wiele wymagań, które muszą być prawdziwe przed uruchomieniem kodu. Słowo kluczowe and pozwala na łączenie słów. Kod następnie ocenia, czy dwa plus dwa równa sześć, a następnie, jeśli cztery nie równa sześć. Jeśli obie słowa są prawdziwe, kod zostanie wykonany.
-- nie będzie działaćif 2 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end-- będzie działaćif 4 + 2 == 6 and 4 ~= 6 thenprint("Both statements are true")end
Tworzenie wtyczki
Ulepszenia są przedmiotami w grze, które dają graczom specjalne umiejętności, takie jak latać, niewidzialność lub prędkość. Ten powerup będzie zwiększać prędkość chodzenia gracza za każdym razem, gdy powerup jest dotykany. Stosowanie ciągłych ulepszeń może sprawić, że gracz będzie and iść zbyt szybko, więc używane będą do kontroli górnego limitu prędkości
Skonfiguruj Powerup
Użyj tego kodu z prostą częścią lub modelem, taką jak kryształ, moneta lub świecąca kula neonowa.
Utwórz nową część o nazwie Powerup i wpisz skrypt o nazwie WalkSpeedManager.
Oznacz zmienne nazyjące się speedBoost i przypisz obiektu matki skryptu.
-- Daje tymczasowy wzrost prędkości po dotknięciulocal speedBoost = script.ParentZdefiniuj funkcję nazyającą się onTouch i połącz ją z wydarzeniem Touched w obiekcie rodzicielskim. Następnie przetestuj i sprawdź swoją pracę.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Something touched speedBoost")endspeedBoost.Touched:Connect(onTouch)Właściwość WalkSpeed znajduje się na obiektach kształtu ludzkiego. Użyj tego samego wzoru, który jest używany do tworzenia części pułapki i tworzenia warunku, który sprawdza obiekty kształtu ludzkiego.
Szukaj części humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("A Humanoid was found")endend
Przyspieszenie graczy
Przyspieszenie prędkości sprawi, że awatary będą bardziej szybsze za każdym razem, gdy przyspieszenie prędkości dotyka. To będzie szybko się stawać bardzo, bardzo szybkie. Kluczowe and zapewni, że gracze nie mogą iść za szybko, pozwalając tylko na włączenie przyspieszenia prędkości, jeśli gracz jest poniżej pewnego prędkości.
Jeśli znaleziono Humanoid, załóż bieżącą wartość WalkSpeed i dodać 10 do niego. Playtest, a twoja postać będzie szybsza za każdym razem, gdy dotyka on speed boostu.
Zwiększa bieżące WalkSpeedlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)W if statement użyj słowa kluczowego and , aby dodać drugie uwarunkowanie, że obecna wartość WalkSpeed jest mniejsza niż 50. Po dodaniu boostu, najszybsza wartość WalkSpeed będzie 60.
Sprawdza, czy bieżąca WalkSpeed wynosi 50 lub mniejif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Doskonała kalibracja Boostu Szybkości
OnTouch jest wzywany za każdym razem, gdy zwiększa prędkość dotyka. Każdy krok lub najmniejszy bounce wstrzymaj włączone wydarzenie dotyku i wezwie powiązaną funkcję. Właściwość części, CanTouch, może utrzymać wydarzenie dotyku od uruchomienia. Skorzystaj z możliwości dotyku i wyłącz wstrzymaj prędkości na sekundę za każdym razem, g
Po zastosowaniu boostu ustaw właściwość CanTouch części na false. Playtest i upewnij się, że boost zastosowany tylko raz.
Wyłącza zwiększenie prędkościlocal 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)Użyj task.wait(1) , aby wstrzymać skrypt na jeden sekund, a następnie ustawić CanTouch na prawdziwy. Playtest i upewnij się, że prędkość można ponownie zastosować po jednym sekundzie.
Ukończony skryptlocal 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)Graj z wartościami w skończonym skrypcie. WalkSpeed może wynosić do 100. Domyślna wartość WalkSpeed wynosi 16.
Podsumowanie
Słowo kluczowe and może być używane do wymagania kilku warunków przed uruchomieniem kawałku kodu, takiego jak wartość była większa niż 0 i mniejsza niż 100. lub że istnieje Humanoid i jego WalkSpeed jest mniejszy lub równy 50.