Passer au contenu principal
Version: bleeding-edge 🩸

Events Guide

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

Évènements de classe​

Dans nanos world, toutes les actions effectuées par des joueurs ou des entités peuvent être obtenues grâce à des évènements.

L'évènement le plus basique pour donner un exemple est Spawn. Chaque fois où une entité apparaît, l'évènement Spawn est déclenché.

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() .. " a rejoint!")
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 : Se désabonner d'évènements affectera toujours seulement le Package que vous utilisez.

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() .. " a rejoint!")
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() .. " a encore rejoint!")
end)

-- Désabonnement de la première méthode de callback seulement
Player.Unsubscribe("Spawn", OnSpawnPlayer)

-- Cela déclenchera toujours "joueur a encore rejoint!" mais ne déclenchera plus
-- "joueur a rejoint!"

É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 : Se désabonner d'évènements affectera toujours seulement le Package que vous utilisez.

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​

-- Déclaration de la méthode de callback au préalable
function OnCharacterEnteredVehicle(character, vehicle)
-- Le personnage est entré dans le véhicule !
end

-- Abonnement à l'évènement, en précisant la méthode de callback
my_character:Subscribe("EnterVehicle", OnCharacterEnteredVehicle)

-- Abonnement au même évènement, une seconde fois
my_character:Subscribe("EnterVehicle", function(character, vehicle)
-- Le personnage est encore entré dans le véhicule !
end)

-- Désabonnement de la première méthode de callback seulement
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.