pułapki zmniejszające zdrowie graczy są elementem zabawy w grze, który można zapisać za pomocą stwierdzeń warunkowych. Ćwicz używanie warunków, tworząc część, która ustawia zdrowie gracza na zero po dotknięciu.
Ustawienie pułapki
Karmy działają doskonale doświadczeń opartych na wyzwaniach opartych na ruchu, takich jak obby. Te kroki zaczną się od ustawienia niezbędnych zmienne i funkcji. Robię tak wiele, jak możesz, bez patrzenia na kodowe skrzynie najpierw.
Utwórz i nazwij część pułapki. Wprowadź skrypt w część.
W skrypcie dodaj komentarz opisowy, a następnie użyj zmiennej, aby odnieść się do rodzica skryptu.
-- Jeśli gracz dotyka tej części, ustaw jego zdrowie na 0local trapPart = script.ParentUtwórz funkcję nazwaną onTouch() z parametrem nazwanym otherPart.
-- Jeśli gracz dotyka tej części, ustaw jego zdrowie na 0local trapPart = script.Parentlocal function onTouch(otherPart)endPołącz funkcję z wydarzeniem Touched w części zapędzającej, aby uruchomić go za każdym razem, gdy coś dotyka części.
local trapPart = script.Parentlocal function onTouch(otherPart)endtrapPart.Touched:Connect(onTouch)
Sprawdzanie dotyku gracza
Pamiętaj, że parametr otherPart rejestruje wszystko, co dotyka części pułapki, która może być częścią gracza lub po prostu płytą podstawową.
Aby upewnić się, że pułapka tylko niszczy graczy i nie niszczy losowych przedmiotów dekoracyjnych, użyj if/then statement, aby sprawdzić, czy wszystko, co jest w otherPart , zawiera obiekt Humanoid .
Poszukiwanie konkretnego obiektu
Funkcja FindFirstChildWhichIsA() może być używana do szukania określonych typów obiektów, co jest użyteczne, ponieważ szukamy obiektu typu ludzkiego. Gracze prawdopodobnie dotkną pułapki tylko z jednej części swojego awatara, więc zmienne muszą być ustawione, aby znaleźć rodzic części dotykającej i go szukać za Humanoid.
W onTouch() , wpisz local character = otherPart.Parent .
local trapPart = script.Parentlocal function onTouch(otherPart)-- Znajduje obiekt rodzicielski innej częścilocal character = otherPart.ParentendtrapPart.Touched:Connect(onTouch)Sprawdź, czy character ma Humanoid poprzez wpisanie:
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")endtrapPart.Touched:Connect(onTouch)
Sprawdzanie za pomocą if
Jeśli zostanie znaleziony Humanoid, ustaw zdrowie Humanoidu na zero.
Użyj oświadczenia if, aby sprawdzić, czy przypisano Humanoidowi local humanoid .
local trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")-- Ocenia, czy znaleziono Humanoidif humanoid thenendendtrapPart.Touched:Connect(onTouch)Dodaj oświadczenie drukowania i sprawdź kod do tej pory.
local trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")-- Ocenia, czy znaleziono Humanoidif humanoid thenprint("Found a Humanoid")endendtrapPart.Touched:Connect(onTouch)Z実行 kod i sprawdź, że możesz zobaczyć wynik, gdy gracz dotyka części.
Zmiana zdrowia gracza
Jeśli stwierdzenie jest prawdziwe, możesz użyć tej samej zmiennej humanoid, aby ustawić zdrowie gracza na 0.
Pomiędzy then i end, wpisz humanoid.Health = 0 .
Ukończony skryptlocal trapPart = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")-- Ocenia, czy znaleziono Humanoidif humanoid thenprint("Found a Humanoid")humanoid.Health = 0endendtrapPart.Touched:Connect(onTouch)Sprawdź pułapkę.
Podsumowanie
Ta część pułapki używała kondycji, aby wykryć części humanoidowe i ustawić zdrowie humanoidu na zero. Ten skrypt jest ulepszeniem poprzedniego skryptu pułapki, który niszczył dowolny dotykający przedmiot.
Wciąż jednak ma kilka wad. Humanoidy nie są tylko w graczach. Humanoidy znalezione są również w niezagrywalnych postaciach. Skrypt jest również dobry do ustawienia zdrowia gracza na zero. Możesz eksperymentować z odejmowaniem małej ilości zdrowia, ale prawdopodobnie odejmować zdrowie szybciej niż pożądane. Późniejsze lekcje