Tutorials für Fortgeschrittene

Tödliche Lava

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

In Einführung in das Scripting hast du gelernt, wie man Änderungen in einem Erlebnis über einen Zeitraum in einer Schleife vornimmt. Was, wenn du Änderungen basierend auf dem Verhalten der Benutzer vornehmen möchtest? In diesem Tutorial lernst du, wie man einen tödlichen Lava-Boden erstellt, der Benutzer tötet, wenn sie darauf treten.

Einrichtung

Du benötigst einen Platz in deiner Welt, um die tödliche Lava zu platzieren. Wenn du dem Kurs Einführung in das Scripting gefolgt bist, würde der Lava-Boden schön in die Lücke passen, die von den verschwindenden Plattformen abgedeckt wird.

  1. Füge ein Part ein und bewege es an seinen Platz in deiner Welt. Nenne es LavaFloor.

  2. Ändere die Größe so, dass es den Boden des umschlossenen Raums abdeckt.

  3. Lass den Boden mehr wie Lava aussehen, indem du die Material-Eigenschaft auf Neon und die Color auf einen orangenen Farbton einstellst.

  4. Füge ein Script in das LavaFloor-Teil ein und benenne es in Kill um.

  5. Entferne den Standardcode und erstelle eine Variable für die Lava.


    local lava = script.Parent

Mit einem Ereignis verbinden

Verwende ein Ereignis, um zu erkennen, wann ein Benutzer die Lava berührt. Jedes Teil hat ein Touched-Ereignis, das ausgelöst wird, wenn etwas es berührt. Du kannst dich mit diesem Ereignis verbinden, um eine Funktion auszuführen, wenn es ausgelöst wird.

  1. Deklariere eine neue Funktion mit dem Namen kill.

  2. Greife auf das Touched-Ereignis des Lava-Objekts zu, indem du einen Punkt verwendest, genau wie bei einer Eigenschaft: lava.Touched.

  3. Rufe die Connect-Funktion des Touched-Ereignisses auf und übergebe kill() als die Funktion, die ausgeführt werden soll, wenn das Teil berührt wird.


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

Jeder Code, den du in der kill-Funktion schreibst, wird jetzt ausgeführt, wann immer etwas die Lava berührt. Beachte, dass für die Connect-Funktion ein Doppelpunkt verwendet wird, nicht ein Punkt - mach dir zu diesem Zeitpunkt keine Sorgen, warum, erinnere dich einfach an den Unterschied.

Das berührende Teil erhalten

Um den Benutzer zu töten, benötigt die Funktion ein Objekt, das mit diesem Benutzer verbunden ist. Das Touched-Ereignis eines Teils kann das "andere Teil" bereitstellen, das es berührt hat - aber nur, wenn du es anforderst, indem du es zu einem Parameter der Funktion machst.

Parameter sind Definitionen von dem, was eine Funktion erwartet, wenn sie aufgerufen wird. Ein Parameter kann in einer Funktion wie jede andere Variable verwendet werden. Du kannst Informationen an einen Parameter übergeben, indem du ihn in die Klammern einschließt, wenn eine Funktion aufgerufen wird. Parameter werden in den Klammern in der ersten Zeile einer Funktion definiert. Erstelle einen Parameter namens otherPart für die kill-Funktion.


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

Wenn die kill-Funktion aufgerufen wird, wird der otherPart-Parameter das Teil darstellen, das den Lava-Boden berührt hat, und der Code, den du in der Funktion schreiben wirst, wird in der Lage sein, es zu verwenden.

Charakter und Humanoid

Wenn ein Benutzer die Lava berührt, kann Roblox das spezifische Körperteil des Benutzers erkennen, das es berührt hat, beispielsweise das linke Bein oder den rechten Fuß. Dieses Teil befindet sich im Character-Modell des Benutzers, das alle Objekte enthält, die den Avatar des Benutzers im Erlebnis ausmachen, einschließlich:

  • Die einzelnen Körperteile des Benutzers wie Kopf, Gliedmaßen und Rumpf.
  • Alle Kleidungsstücke und Accessoires, die der Benutzer trägt.
  • Das Humanoid, ein spezielles Objekt, das viele Eigenschaften enthält, die mit dem Benutzer verbunden sind, einschließlich der Gesundheit des Benutzers.
  • Das HumanoidRootPart, das die Bewegung des Benutzers steuert.

Wie bereits erwähnt, ist jedes Körperteil, das die Lava berührt, Teil des Charaktermodells, sodass du mit otherPart.Parent auf dieses Charaktermodell zugreifen kannst. Erstelle eine Variable, um den Elternteil des Teils, das die Lava berührt hat, zu speichern.


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

Aus dem Charaktermodell musst du das Humanoid-Objekt abrufen, um den Benutzer zu töten. Du kannst dies mit der Funktion FindFirstChild() tun - übergebe einfach den Namen des gesuchten Objekts, und es liefert das erste übereinstimmende Kind, das es in diesem Objekt findet. Rufe FindFirstChild() auf der partParent-Variablen mit "Humanoid" als das zu findende Kind auf und speichere das Ergebnis in einer neuen Variable namens humanoid.


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

Den Humanoid überprüfen

Du kannst leicht überprüfen, ob der Humanoid gefunden wurde, indem du eine if-Anweisung verwendest. Der Code in einer if-Anweisung wird nur ausgeführt, wenn die Bedingung, die in der ersten Zeile definiert ist, wahr ist.

Es gibt eine Vielzahl von Operatoren, die verwendet werden können, um komplexere Bedingungen zu erstellen, die du in zukünftigen Kursen antreffen wirst - für jetzt setze einfach die humanoid-Variable dort ein. Erstelle eine if-Anweisung mit humanoid als Bedingung.


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)

Gesundheit des Charakters setzen

Jetzt, da der Humanoid überprüft wurde, können seine Eigenschaften geändert werden. Wenn du seine Health-Eigenschaft auf 0 setzt, stirbt der zugehörige Charakter. Setze im Körper der if-Anweisung die Health-Eigenschaft des Humanoiden auf 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)

Damit ist dein Lava-Boden vollständig! Teste dein Erlebnis und du solltest feststellen, dass deine tödliche Lava Benutzer bei Kontakt erfolgreich tötet. Probiere es aus, deine Lava als zusätzliche Herausforderung in einem Obby zu verwenden oder als Grenze für eine Welt.

Endcode


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)
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.