Śmiertelna lawa

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

W Wprowadzenie do Skryptów dowiedziałeś się, jak wprowadzać zmiany w doświadczeniu w ciągu czasu. Co się stanie, jeśli chcesz wprowadzić zmiany w oparciu o zachowanie użytkownika? W tym samouczku nauczysz się, jak stworzyć śmiertelną podłogę z lawy, która zabija użytkowników, gdy na nią kroczą.

Ustawianie

Potrzebujesz miejsca w swoim świecie, aby postawić śmiertelną lawę. Jeśli zrealizowałeś kurs Wprowadzenie do Skryptów, podłoga z lawy idealnie nadaliby się do szczeliny pokrytej przez znikające platformy.

  1. Umieść Part i przesuń go do miejsca w swoim świecie. Zadaj mu imię LavaFloor.

  2. Zmień rozmiar, aby pokrył podłogę przestrzeni zamknięcia.

  3. Uczyn znacznie więcej podłogi, Material z właściwości Neon do Color i 2> Color2> do pomarańczowego odcienia.

  4. Umieść Skrypt w części LavaFloor i zmień go na Kill.

  5. Usuń domyślny kod i stwórz zmienne dla lawy.


    local lava = script.Parent

Łączenie się z wydarzeniem

Użyj wydarzenia , aby wykryć, gdy użytkownik dotyka lawy. Każda część ma wydarzenie Touched, które włącza się, gdy ktoś ją dotyka. Możesz łączyć się z tym wydarzeniem, aby uruchomić funkcję, gdy się włącza.

  1. Oświadcz nową funkcję zwaną kill .

  2. Z액cesem do wydarzenia Touched na obiekcie lava używając kropki, tak jak właściwość: lava.Touched .

  3. Weź funkcję Connect na wydarzeniu Touched, przekazując funkcję kill.


    local lava = script.Parent
    local function kill()
    end
    lava.Touched:Connect(kill)

Każdy kod, który napiszesz w funkcji kill, będzie teraz działać, gdy coś dotknie lawy. Uwaga, że kolon jest używany dla funkcji Connect, a nie dla kropki - nie martw się o to, dlaczego w tym momencie po prostu zapamiętaj różnicę.

Dostanie się dotykającą część

Aby zabić użytkownika, funkcja będzie potrzebował obiektu związanego z tym użytkownikiem. Event Touched części może zapewnić "drugą część", która ją dotknęła — ale tylko jeśli ją poprosisz, uczyniając ją parametrem funkcji.

Parametry są definicjami tego, co funkcja oczekuje, aby otrzymać, gdy jest nazywany. Parametr może być używany w funkcji tak samo, jak każda inna zmienne. Możesz przekazać informacje parametru poprzez włączenie go do nawiasów, gdy funkcja jest nazywana. Parametry są zdefiniowane w nawiasach na pierwszej linii funkcji. Stw


local lava = script.Parent
local function kill(otherPart)
end
lava.Touched:Connect(kill)

Gdy funkcja kill jest wywołana, parametr otherPart będzie reprezentować część, która dotknęła podłogi lawy, a kod, który napiszesz w funkcji, będzie mógł go używać.

Postać i Humanoid

Gdy użytkownik dotyka lawy, Roblox może wykryć szczególną część ciała użytkownika, która dotykałaby go, taką jak lewa noga lub prawy stóp. Ta część jest w modelu postaci użytkownika, który zawiera wszystkie obiekty, które składają się na awatar użytkownika w doświadczeniu, w tym:

  • Poszczególne części ciała użytkownika, takie jak głowa, kończyny i torso.
  • Każda odzież i akcesoria użytkownika.
  • Class.Humanoid, specjalny obiekt, który zawiera wiele właściwości związanych z użytkownikiem, w tym zdrowie użytkownika.
  • The HumanoidRootPart, który kontroluje ruch użytkownika.

Jak wcześniej zauważono, każda część ciała, która dotyka lawy, jest częścią modelu postaci, więc możesz uzyskać odniesienie do tej postaci z otherPart.Parent . Utwórz zmienne, aby przechować rodzic części, która dotyka podłogi lawy.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
end
lava.Touched:Connect(kill)

Z modelu postaci będziesz musiał uzyskać obiekt Humanoid, aby zabić użytkownika. Możesz to zrobić za pomocą funkcji FindFirstChild() — po prostu przekaż imię rzeczy, którą szukasz, i zapewnia pierwsze dopas


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
end
lava.Touched:Connect(kill)

Sprawdzanie kształtu ludzkiego

Możesz łatwo sprawdzić, czy znaleziono jeśli stwierdzenie. Kod w jeśli stwierdzeniu będzie działać tylko wtedy, gdy kondycja określona w pierwszej linijce jest prawdą.

Istnieje wiele różnych operatorów, które można użyć do budowania bardziej złożonych warunków, które będziesz spotykać w przyszłości - dla teraz po prostu umieść zmienne humanoid tam. Stwórz if oświadczenie z 2> humanoid2> jako warunkiem.


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
end
end
lava.Touched:Connect(kill)

Ustawienie zdrowia postaci

Teraz, gdy Humanoid został sprawdzony, jego właściwości można zmienić. Jeśli ustawisz jego właściwość Health na 0, związany znak Character umiera. W ciele if-statystyki ustawuj właściwość 2>Health2> znaku humanoid na 0.


local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)

Z tym twoja podłoga z lawy jest ukończona! Testuj swoją doświadczenie i powinieneś znaleźć, że twoja zabójcza lawa skutecznie zabija użytkowników po kontaktować się. Spróbuj użyć swojej lawy jako dodatkowego wyzwania w obby lub jako granicy dla świata.

Kod końcowy


local lava = script.Parent
local function kill(otherPart)
local partParent = otherPart.Parent
local humanoid = partParent:FindFirstChild("Humanoid")
if humanoid then
humanoid.Health = 0
end
end
lava.Touched:Connect(kill)