Passer au contenu principal
Version: latest - a1.142.x ⚖️

Events Guide

Tout ce que vous devez savoir sur les Évènements.

Évènements de classe

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.

S'abonner à des Évènements de classe

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.

Se désabonner des Évènements de classe

Actuellement, il y a deux façons de se désabonner d'évènements :

info

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

Se désabonner de tous les évènements de classe

-- Ceci affectera tous les évènements "Spawn" de joueur dans le package actuel
Player.Unsubscribe("Spawn")

Se désabonner d'un évènement de classe spécifique

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

Évènements d'entité

Dans nanos world, il est possible de s'abonner à des évènements pour des Entités spécifiques également, par conséquent la méthode de callback sera appelée si cette entité spécifique a déclenché l'évènement.

S'abonner à des Évènements d'entité

-- Faire apparaître un personnage
local my_character = Character()

my_character:Subscribe("EnterVehicle", function(self, vehicle)
-- my_character est entré dans le véhicule
end)
tip

À savoir qu'une fois l'entité détruite, tous les évènements enregistrés pour celle-ci seront automatiquement retirés !

Se désabonner des Évènements d'entité

Actuellement, il y a deux façons de se désabonner d'évènements :

info

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

Se désabonner de tous les Évènements d'entité

-- Cela va retirer tous les évènements "EnterVehicle" de ce personnage spécifique
-- enregistrés dans ce Package
my_character:Unsubscribe("EnterVehicle")

Se désabonner d'un évènement d'entité spécifique

-- 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)

Événements personnalisés

Dans nanos world, il est possible de définir et d'appeler des Évènements personnalisés. 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.