Ir para o conteúdo principal
Version: latest - a1.142.x ⚖️

Events Guide

Tudo o que você precisa saber sobre os eventos.

Eventos de aulas

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.

Inscrevendo-se para Eventos 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.

Cancelando assinatura de Eventos de Classe

Atualmente existem duas maneiras de cancelar a assinatura dos eventos:

info

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

Cancelando assinatura de todos os eventos

-- Isto irá cancelar o registro de todos os eventos "Spawn" do jogador registrado neste pacote
Player.Unsubscribe("Spawn")

Cancelando a assinatura de um Callback de Evento específico

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

Eventos de Entidade

No mundo do nanos é possível registrar eventos em entidades específicas também Desta forma, o retorno de chamada só será acionado se a entidade específica for o motivo do evento.

Inscrevendo-se para Eventos de Entidade

-- Gera um caráter
local meu_caractere = Character()

meu_caractere:Subscribe("EnterVehicle", função(si mesmo, veículo)
-- meu_caractere entrou no veículo
fim)
tip

Note que uma vez que a entidade é destruída, todos os eventos registrados serão cancelados automaticamente!

Cancelando assinatura de Eventos de Entidade

Atualmente existem duas maneiras de cancelar a assinatura dos eventos:

info

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

Cancelando assinatura de todos os eventos da entidade

-- Isso irá cancelar o registro de todos os eventos "EnterVehicle" deste Personagem específico
-- registrado nesse Pacote
meu_character:Unsubscribe("EnterVehicle")

Desinscrevendo-se de um Callback de evento de entidade específica

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

Eventos Personalizados

No mundo do nano, é possível definir e chamar eventos personalizados. 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.