Skip to main content
Version: bleeding-edge 🩸

Events Guide

Alles was Sie über Veranstaltungen wissen müssen.

Klassenereignisse

In nanos world, all actions performed by Players or Entities can be obtained through events.

The most basic event to bring an example is the Spawn. Every time an entity is spawned, the event Spawn will be triggered.

Abonnieren für Klassenereignisse

Registering for events is very easy and straightforward using the method :Subscribe(), let's say we want to know when a Player has joined the server:

Player.Subscribe("Spawn", function(player)
Console.Log(player:GetName() .. " has joined!")
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

Note: Unsubscribing events will always only unregister from events which were registered in the Package you are.

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

-- Declares the Callback beforehand
function OnSpawnPlayer(player)
Console.Log(player:GetName() .. " has joined!")
end

-- Subscribes the event, passing the Callback
Player.Subscribe("Spawn", OnSpawnPlayer)

-- Subscribes for the same event, twice
Player.Subscribe("Spawn", function(player)
Console.Log(player:GetName() .. " has joined again!")
end)

-- Unsubscribes only from the first Callback
Player.Unsubscribe("Spawn", OnSpawnPlayer)

-- This will keep triggering "player has joined again" but will not trigger
-- "player has joined" anymore

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

Note: Unsubscribing events will always only unregister from events which were registered in the Package you are.

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

-- Declares the Callback beforehand
function OnCharacterEnteredVehicle(character, vehicle)
-- Entered vehicle!
end

-- Subscribes the event, passing the Callback
my_character:Subscribe("EnterVehicle", OnCharacterEnteredVehicle)

-- Subscribes for the same event, twice
my_character:Subscribe("EnterVehicle", function(character, vehicle)
-- Entered vehicle again!
end)

-- Unsubscribes only from the first Callback
my_character:Unsubscribe("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.