# setTimer (Compartilhado)

> Chama uma função depois de um intervalo, uma vez ou repetidamente.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Compartilhado
- **Categoria**: Tempo e assíncrono
- **URL**: https://wiki.mymp.gg/pt/setTimer

## Sintaxe

```lua
timer|false setTimer(function callback, float interval, any ... [, int repeats = 1])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `callback` | `function` | Função a chamar. |
| `interval` | `float` | Intervalo em milissegundos, pelo menos 1. |
| `repeats` | `int` | Quantas vezes chamar. `0` repete para sempre. *(padrão: `1`)* |
| `...` | `any` | Argumentos passados à função em cada chamada. |

## Retorno

O timer, ou `false` se o intervalo é menor que 1 ms.

Os timers de um recurso param junto com ele. Se o servidor ou o jogo travar por vários intervalos, o timer é chamado uma vez só, não uma vez por intervalo perdido.

## Exemplo

```lua
local seconds = 10
setTimer(function()
    seconds = seconds - 1
    outputDebugString(seconds .. " segundos restantes")
end, 1000, seconds)
```

### Vindo do MTA

O timer é um número, não um elemento, e pertence ao recurso que o criou: outros recursos não o enxergam.

## Veja também

- [killTimer (Compartilhado)](https://wiki.mymp.gg/pt/killTimer.md): Cancela um timer antes de ele terminar.
- [setTimerPaused (Compartilhado)](https://wiki.mymp.gg/pt/setTimerPaused.md): Pausa ou retoma um timer. Pausado, ele guarda o tempo que faltava e não é chamado.
- [getTimerDetails (Compartilhado)](https://wiki.mymp.gg/pt/getTimerDetails.md): Lê o estado de um timer: quanto falta, quantas repetições sobram e o intervalo.
- [isTimer (Compartilhado)](https://wiki.mymp.gg/pt/isTimer.md): Diz se um timer ainda existe neste recurso.
