Wenn/Dann-Übung mit Fallen

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

Fallen, die die Gesundheit der Spieler verringern, sind ein unterhaltsames Spielelement, das mit bedingten Anweisungen programmiert werden kann. Übe die Verwendung von Bedingungen, indem du ein Teil erstellst, das die Gesundheit des Spielers auf null setzt, wenn es berührt wird.

Richten Sie die Falle ein

Fallen funktionieren besonders gut in Spielen mit bewegungsbasierten Herausforderungen, wie Obby-Spielen. Diese Schritte beginnen mit der Einrichtung der erforderlichen Variablen und Funktionen. Mach so viel wie möglich, ohne zuerst auf die Code-Boxen zu schauen.

  1. Erstelle und benenne ein Fallen-Teil. Füge ein Skript in das Teil ein.

  2. Füge im Skript einen beschreibenden Kommentar hinzu und verwende dann eine Variable, um auf das übergeordnete Element des Skripts zu verweisen.

    -- Wenn ein Spieler dieses Teil berührt, setze seine Gesundheit auf 0
    local trapPart = script.Parent
  3. Erstelle eine Funktion namens onTouch() mit einem Parameter namens otherPart.

    -- Wenn ein Spieler dieses Teil berührt, setze seine Gesundheit auf 0
    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
  4. Verbinde die Funktion mit dem Touched-Ereignis des Fallen-Teils, damit sie ausgeführt wird, wenn etwas das Teil berührt.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
    trapPart.Touched:Connect(onTouch)

Überprüfen, ob ein Spieler berührt

Denke daran, dass der Parameter otherPart aufzeichnet, was auch immer das Fallen-Teil berührt, was ein Teil eines Spielers oder einfach die Basisplatte sein könnte.

Um sicherzustellen, dass die Falle nur Spieler zerstört und keine zufälligen Dekorationsgegenstände, verwende eine Wenn/Dann-Anweisung, um zu überprüfen, ob das, was sich in otherPart befindet, ein Humanoid-Objekt enthält.

Ein bestimmtes Objekt finden

Die Funktion FindFirstChildWhichIsA() kann verwendet werden, um nach bestimmten Objekttypen zu suchen, was praktisch ist, da wir nach einem Humanoid-Objekt suchen. Spieler werden wahrscheinlich die Falle nur mit einem Teil ihres Avatars berühren, daher muss eine Variable eingerichtet werden, um das übergeordnete Element des berührenden Teils zu finden und es nach einem Humanoid zu durchsuchen.

  1. Tippe in onTouch(): local character = otherPart.Parent.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    -- Findet das übergeordnete Objekt von otherPart
    local character = otherPart.Parent
    end
    trapPart.Touched:Connect(onTouch)
  2. Überprüfe, ob character einen Humanoid hat, indem du tippst:

    local humanoid = character:FindFirstChildWhichIsA("Humanoid")

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    end
    trapPart.Touched:Connect(onTouch)

Mit einer Wenn-Anweisung überprüfen

Wenn ein Humanoid gefunden wird, setze die Gesundheit des Humanoids auf null.

  1. Verwende eine Wenn-Anweisung, um zu überprüfen, ob einem local humanoid erfolgreich zugewiesen wurde.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- Bewertet, ob ein Humanoid gefunden wurde
    if humanoid then
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. Füge eine Druckanweisung hinzu und überprüfe den bisherigen Code.

    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- Bewertet, ob ein Humanoid gefunden wurde
    if humanoid then
    print("Humanoid gefunden")
    end
    end
    trapPart.Touched:Connect(onTouch)
  3. Führe den Code aus und überprüfe, ob du die Ausgabe sehen kannst, wann immer ein Spieler das Teil berührt.

Ändere die Gesundheit des Spielers

Wenn die Anweisung wahr ist, kannst du die gleiche Humanoid-Variable verwenden, um die Gesundheit des Spielers auf 0 zu setzen.

  1. Tippe zwischen then und end: humanoid.Health = 0.

    Vollständiges Skript
    local trapPart = script.Parent
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    -- Bewertet, ob ein Humanoid gefunden wurde
    if humanoid then
    print("Humanoid gefunden")
    humanoid.Health = 0
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. Teste die Falle.

Zusammenfassung

Dieses Fallen-Teil verwendete Bedingungen, um Humanoid-Teile zu erkennen und die Gesundheit des Humanoids auf null zu setzen. Dieses Skript ist eine Verbesserung des vorherigen Fallen-Skripts, das jedes berührende Objekt unabhängig davon zerstörte, was es war.

Es hat jedoch immer noch einige Mängel. Humanoids sind nicht nur bei Spielern vorhanden. Humanoids sind auch bei nicht spielbaren Charakteren zu finden. Das Skript ist auch nur gut darin, die Gesundheit des Spielers auf null zu setzen. Du kannst experimentieren, indem du eine kleine Menge Gesundheit abziehst, aber es wird wahrscheinlich die Gesundheit schneller abziehen, als gewünscht. Spätere Lektionen bieten weitere Verbesserungen, um eine bessere Kontrolle darüber zu geben, wie viel Gesundheit von den Spielern abgezogen wird.

©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.