# addEvent (Compartilhado)

> Registra um evento novo com esse nome. Só depois disso é possível adicionar handlers a ele e dispará-lo.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Compartilhado
- **Categoria**: Eventos
- **URL**: https://wiki.mymp.gg/pt/addEvent

## Sintaxe

```lua
bool addEvent(string name [, bool allowRemoteTrigger = false])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `name` | `string` | Nome do evento. |
| `allowRemoteTrigger` | `bool` | Permitir que o outro lado dispare o evento com `triggerServerEvent`, `triggerClientEvent` ou as versões latentes. *(padrão: `false`)* |

## Retorno

`true` se registrou, `false` se o nome está vazio ou já existe um evento com esse nome.

O evento deixa de existir quando o recurso que o registrou para.

## Exemplo

```lua
addEvent("onPlayerBuyItem", true)

addEventHandler("onPlayerBuyItem", root, function(itemId)
    outputDebugString(getPlayerName(client) .. " comprou o item " .. tostring(itemId))
end)
```

### Atenção

Um evento que chega do outro lado sem `allowRemoteTrigger` é descartado, e só uma linha no log avisa.

## Veja também

- [addEventHandler (Compartilhado)](https://wiki.mymp.gg/pt/addEventHandler.md): Faz uma função ser chamada sempre que o evento acontece no elemento indicado ou, com propagate, em qualquer descendente dele.
- [triggerEvent (Compartilhado)](https://wiki.mymp.gg/pt/triggerEvent.md): Dispara um evento neste lado, em source. Os handlers do próprio elemento e os de seus ancestrais que propagam são chamados na hora, antes de a função retornar.
- [triggerServerEvent (Cliente)](https://wiki.mymp.gg/pt/triggerServerEvent.md): Envia um evento ao servidor, que o dispara em source lá. A função retorna antes de o servidor receber.
- [triggerClientEvent (Servidor)](https://wiki.mymp.gg/pt/triggerClientEvent.md): Envia um evento aos clientes dos jogadores, que o disparam em source. A função retorna antes de os clientes receberem.
