# setTimer (Compartido)

> Llama a una función después de un intervalo, una vez o repetidamente.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Compartido
- **Categoría**: Temporizadores y asíncrono
- **URL**: https://wiki.mymp.gg/es/setTimer

## Sintaxis

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

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `callback` | `function` | Función a llamar. |
| `interval` | `float` | Intervalo en milisegundos, al menos 1. |
| `repeats` | `int` | Cuántas veces llamarla. `0` repite para siempre. *(por defecto: `1`)* |
| `...` | `any` | Argumentos que se pasan a la función en cada llamada. |

## Retorno

El timer, o `false` si el intervalo es menor que 1 ms.

Los timers de un recurso se detienen con él. Si el servidor o el juego se traban durante varios intervalos, el timer se llama una sola vez, no una vez por intervalo perdido.

## Ejemplo

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

### Si vienes de MTA

El timer es un número, no un elemento, y pertenece al recurso que lo creó: otros recursos no lo ven.

## Ver también

- [killTimer (Compartido)](https://wiki.mymp.gg/es/killTimer.md): Cancela un timer antes de que termine.
- [setTimerPaused (Compartido)](https://wiki.mymp.gg/es/setTimerPaused.md): Pausa o reanuda un timer. En pausa conserva el tiempo que le faltaba y no se llama.
- [getTimerDetails (Compartido)](https://wiki.mymp.gg/es/getTimerDetails.md): Lee el estado de un timer: cuánto falta, cuántas repeticiones quedan y su intervalo.
- [isTimer (Compartido)](https://wiki.mymp.gg/es/isTimer.md): Indica si un timer todavía existe en este recurso.
