Wenn/dann Praktizieren 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 reduzieren, sind ein lustiges Spiel-Element, das mit Bedingungen verbunden werden kann. Üben Sie, indem Sie Bedingungen erstellen, mit denen die Spieler:inGesundheit beim Berühren auf Null reduzieren.

Die Falle einrichten

Fallen in Erfahrungen mit bewegungsbasierten Herausforderungen, wie Obbies, besonders gut funktionieren. Dies sind Schritte, die Sie setzen, indem Sie die notwendigen Variablen und Funktionen einrichten. Machen Sie so viel wie möglich, ohne zuerst auf die Code-Boxen zu schauen.

  1. Erstellen und benennen Sie einen Teil. Fügen Sie ein Skript in den Teil ein.

  2. Füge einen beschreibenden Kommentar in das Skript, das. PL: die Skriptsein und verwende dann eine Variable, um auf den übergeordnetes Teildes Skript, das. PL: die Skriptszu verweisen.


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


    -- Wenn ein Spieler diese Teil berührt, setzen Sie seine Gesundheit auf 0
    local trapPart = script.Parent
    local function onTouch(otherPart)
    end
  4. Verbinden Sie die Funktion mit dem Ereignis Touched der Teile, um immer zu laufen, wenn etwas die Teile berührt.


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

Player-Berührung überprüfen

Denken Sie daran, dass der參數 otherPart jedes berührt, was die Falle betrifft, was möglicherweise ein Teil eines Spielers oder einfach die Grundplatteist.

Um zu gewährleisten, dass die Falle nur Spieler zerstört und keine zufälligen Dekorationsgegenstände zerstört, verwende eine If/Then-Anweisung, um zu überprüfen, ob in otherPart ein Humanoid-Objekt enthalten ist.

Ein bestimmtes Objekt finden

Die Funktion FindFirstChildWhichIsA() kann verwendet werden, um nach bestimmten Objektarten zu suchen, was praktisch ist, da wir ein Humanoid-Objekt suchen. Spieler berühren möglicherweise nur einen Teil ihres Avatars, sodass eine Variable festgelegt werden muss, um den Elternteil des berührenden Teils zu finden und ihn nach einem Humanoid zu suchen.

  1. In onTouch() , tippe local character = otherPart.Parent .


    local trapPart = script.Parent
    local function onTouch(otherPart)
    -- Findet das übergeordnete Objekt eines anderen Teils
    local character = otherPart.Parent
    end
    trapPart.Touched:Connect(onTouch)
  2. Überprüfen Sie, ob character ein Humanoid hat, indem Sie tippen:

    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 einem if- Statement überprüfen

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

  1. Verwenden Sie ein if-Anweisung, um zu überprüfen, ob ein Humanoid erfolgreich an local humanoid 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ügen Sie eine druck声 hinzu und überprüfen sie den code bisher.


    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("Found a Humanoid")
    end
    end
    trapPart.Touched:Connect(onTouch)
  3. Run den Code und stellen Sie sicher, dass Sie die Ausgabe sehen können, wenn ein Spieler die Teile berührt.

Ändern der Gesundheit des Spielers

Wenn die Anweisung wahr ist, können Sie die gleiche Menschliche Variable verwenden, um die Gesundheit des Spieler:inauf 0 zu setzen.

  1. Zwischen then und end, tippe humanoid.Health = 0 .

    Abgeschlossenes Skript, das. PL: die Skripts

    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("Found a Humanoid")
    humanoid.Health = 0
    end
    end
    trapPart.Touched:Connect(onTouch)
  2. Testen Sie die Falle.

Zusammenfassung

Dieser Fall verwendet Konditionen, um menschliche Teile zu erkennen und die Gesundheit des Menschlichen auf Null zu setzen. Dieses Skript ist ein Upgrade auf das vorherige Skript, das. PL: die Skripts, das jedes berührende Objekt zerstörte, egal was es war.

Es hat jedoch immer noch einige Mängel. Humanoiden sind nicht nur in Spielern. Humanoiden finden Sie auch in nicht-spielbaren Charakteren. Das Skript ist jedoch nur gut darin, die Gesundheit des Spieler:inauf Null zu setzen. Sie können auch mit der Subtraktion eines kleinen Gesundheitsbetrags experimentieren, aber es ist wahrscheinlich so, dass der Gesundheitsverbrauch pro Spieler verringert wird. Spätere Lektionen bieten weitere Verbesserungen, um mehr Kontrolle über die Ges