Instrukcje if mogą mieć wiele wymagań, które muszą być spełnione, zanim kod zostanie uruchomiony. Słowo kluczowe and pozwala na łączenie instrukcji. Poniższy kod najpierw ocenia, czy dwa plus dwa równa się sześć, a następnie, czy cztery nie równa się sześć. Jeśli obie instrukcje są prawdziwe, kod zostanie uruchomiony.
-- nie uruchomi się
if 2 + 2 == 6 and 4 ~= 6 then
print("Obie instrukcje są prawdziwe")
end
-- uruchomi się
if 4 + 2 == 6 and 4 ~= 6 then
print("Obie instrukcje są prawdziwe")
endStwórz powerup
Powerupy to przedmioty w grze, które dają graczom specjalne umiejętności, takie jak latanie, niewidzialność czy szybkość. Ten powerup zwiększy prędkość chodzenia gracza za każdym razem, gdy powerup zostanie dotknięty. Ciągłe stosowanie boostów może sprawić, że gracz będzie poruszał się zbyt szybko, więc and zostanie użyte do kontrolowania górnej granicy prędkości chodzenia.
Ustaw powerup
Użyj tego kodu z prostą częścią lub modelem, takim jak kryształ, moneta lub świecąca neonowa kula.
Stwórz nową część o nazwie Powerup i wstaw skrypt o nazwie WalkSpeedManager.
Zdeklaruj zmienną o nazwie speedBoost i przypisz obiekt rodzica skryptu.
-- Daje tymczasowy boost prędkości po dotknięciulocal speedBoost = script.ParentUstaw funkcję o nazwie onTouch i połącz ją z zdarzeniem Touched obiektu rodzica. Następnie przetestuj i sprawdź swoją pracę.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("Coś dotknęło speedBoost")endspeedBoost.Touched:Connect(onTouch)Właściwość WalkSpeed znajduje się w obiektach Humanoid. Użyj tego samego wzoru, co przy tworzeniu części pułapki i stwórz warunek, który sprawdza obiekty Humanoid.
Szukaj części Humanoidlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("Znaleziono Humanoida")endend
Przyspiesz graczy
Boost prędkości sprawi, że awatary będą chodzić szybciej za każdym razem, gdy boost prędkości zostanie dotknięty. To szybko stanie się bardzo, bardzo szybkie. Słowo kluczowe and zapewni, że gracze nie będą mogli poruszać się zbyt szybko, włączając boost prędkości tylko wtedy, gdy gracz jest poniżej określonej prędkości.
Jeśli Humanoid zostanie znaleziony, weź bieżącą wartość WalkSpeed i dodaj do niej 10. Przetestuj, a twój awatar będzie szybszy za każdym razem, gdy dotknie boosta prędkości.
Zwiększa bieżący WalkSpeedlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)W instrukcji if użyj słowa kluczowego and, aby dodać drugi warunek, że bieżąca wartość WalkSpeed jest mniejsza niż 50. Po dodaniu boosta, najszybsza wartość WalkSpeed wyniesie 60.
Sprawdza, czy bieżący WalkSpeed wynosi 50 lub mniejif humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
Dostosuj boost prędkości
OnTouch jest wywoływane za każdym razem, gdy boost prędkości jest dotykany. Każdy krok lub najmniejsze odbicie uruchamia zdarzenie Touched i wywołuje połączoną funkcję. Właściwość części CanTouch może zapobiec wywołaniu zdarzenia Touched. Wykorzystaj CanTouch i wyłącz boost prędkości na jedną sekundę za każdym razem, gdy został aktywowany.
Po zastosowaniu boosta, ustaw właściwość CanTouch części na false. Przetestuj i upewnij się, że boost stosuje się tylko raz.
Wyłącza boost 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 jedną sekundę, a następnie ustaw CanTouch na true. Przetestuj i upewnij się, że boost prędkości można ponownie zastosować po jednej sekundzie.
Zakoń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)Baw się wartościami w zakończonym skrypcie. WalkSpeed może wzrosnąć do 100. Domyślna wartość WalkSpeed wynosi 16.
Podsumowanie
Słowo kluczowe and może być używane do wymagania wielu warunków przed uruchomieniem fragmentu kodu, na przykład wartość musi być większa niż 0 i mniejsza niż 100. Lub że jeśli istnieje Humanoid i jego WalkSpeed jest mniejszy lub równy 50.