Skip to main content
Version: bleeding-edge 🩸

Events Guide

Alles was Sie über Veranstaltungen wissen müssen.

Klassenereignisse

In der Nano-Welt können alle Aktionen von Spielern oder Entitäten durch Ereignisse erreicht werden.

Das grundlegendste Ereignis, um ein Beispiel zu bringen, ist der Spawn. Jedes Mal, wenn eine Entität erzeugt wird, wird das Ereignis Spawn ausgelöst.

Abonnieren für Klassenereignisse

Die Anmeldung für Veranstaltungen ist sehr einfach und unkompliziert mit der Methode Abonnieren, sagen wir, wir wollen wissen, wo ein Spieler dem Server beigetreten ist:

Player.Subscribe("Spawn", function(player)
Package.Log(player:GetName() .. " ist beigetreten!")
end)
info

Most events are triggered on both Client and Server sides, only a few rare exceptions which will be elicited by the Availability.

Abmeldung von Klassenereignissen

Momentan gibt es zwei Möglichkeiten, um sich von Veranstaltungen abzumelden:

info

Hinweis: Die Abbestellung von Events wird immer nur von Veranstaltungen entfernen, die in dem Paket, das Sie gerade registriert haben, registriert wurden.

Abmeldung von allen Events

-- Dies wird die Registrierung von allen "Spawn"-Events des Spielers entfernen, die in diesem Paket registriert sind
Player.Abmelden ("Spawn")

Abmeldung eines bestimmten Ereignis-Rückrufs

-- Deklariert den Rückruf vorher
Funktion OnSpawnPlayer(player)
Package.Log(player:GetName() .. " ist beigetreten!")
Ende

-- Abonniert das Event und überträgt den Callback
Player.Subscribe("Spawn", OnSpawnPlayer)

-- Abonniert das gleiche Event zweimal
Spieler. ubscribe("Spawn", function(player)
Package.Log(player:GetName() .. " ist wieder beigetreten!")
end)

-- Abbestellt nur den ersten Callback
Player. nsubscribe("Spawn", OnSpawnPlayer)

-- Dies löst weiterhin "Spieler ist wieder beigetreten" aus, löst aber nicht mehr
-- "Spieler hat beigetreten"

Entitäts-Ereignisse

In nanos Welt ist es möglich, sich auch für Veranstaltungen auf bestimmten Entitäten zu registrieren auf diese Weise wird der Callback nur ausgelöst, wenn die bestimmte Entität der Grund für das Ereignis ist.

Abonnieren für Entitäts-Events

-- Spawnt einen Charakter
lokales my_character = Character()

my_character:Subscribe("EnterVehicle", funktion(Selbst, Fahrzeug)
-- Mein Zeichen eingegebenes Fahrzeug
Ende)
tip

Beachten Sie, dass, sobald die Entität zerstört ist, alle registrierten Ereignisse automatisch nicht registriert werden!

Entitäts-Events abbestellen

Momentan gibt es zwei Möglichkeiten, um sich von Veranstaltungen abzumelden:

info

Hinweis: Die Abbestellung von Events wird immer nur von Veranstaltungen entfernen, die in dem Paket, das Sie gerade registriert haben, registriert wurden.

Abmeldung von allen Entitäts-Events

-- Dies wird die Registrierung von allen "EnterVehicle" Ereignissen dieses bestimmten Charakters
-- registriert in diesem Paket
my_character:Unsubscribe("EnterVehicle")

Abmeldung von einem bestimmten Entity Event Callback

-- Deklariert den Rückruf vorher
Funktion OnCharacterEnteredVehicle(Charakter, Fahrzeug)
-- Eingegebene Fahrzeuge!
Ende

-- Abonniert das Event und übergeben den Callback
my_character:Subscribe("EnterVehicle", OnCharacterEnteredVehicle)

-- Abonniert das gleiche Ereignis zweimal
my_character:Subscribe("EnterVehicle", Funktion (Zeichen, Fahrzeug)
-- Fahrzeug erneut eingegeben!
end)

-- Abbestellt nur den ersten Rückruf
my_character:Abmelden ("EnterVehicle", OnCharacterEnteredVehicle)

Eigene Ereignisse

In der nanos-Welt ist es möglich, benutzerdefinierte Ereignisse zu definieren und aufzurufen. Please refer to Events Static Class for the technical documentation.

Custom events are user-created events which you can subscribe or call to all other Packages.