# engineRequestModel (Cliente)

> Pide al streaming que cargue un modelo y lo mantiene cargado para este recurso hasta que se libere.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Función Lua
- **Lado**: Cliente
- **Categoría**: Ajustes gráficos
- **URL**: https://wiki.mymp.gg/es/engineRequestModel

## Sintaxis

```lua
bool engineRequestModel(string|element model [, bool blocking = false])
```

## Parámetros

| Nombre | Tipo | Descripción |
| --- | --- | --- |
| `model` | `string\|element` | Nombre del modelo, o un elemento `model` creado con `engineCreateModel`. |
| `blocking` | `bool` | `true` carga el modelo en el momento, deteniendo el juego hasta que termine. *(por defecto: `false`)* |

## Retorno

`true` cuando se hizo el pedido. Con `blocking`, si el modelo está cargado cuando la función vuelve.

Cada recurso guarda su propio pedido. El modelo sigue cargado hasta que todos los recursos que lo pidieron llamen a `engineReleaseModel` o se detengan.

## Ejemplo

```lua
engineRequestModel("infernus")

setTimer(function()
    if engineHasModelLoaded("infernus") then
        outputDebugString("el infernus está listo")
    end
end, 1000, 1)
```

### Si vienes de MTA

En MTA, `engineRequestModel` crea un modelo nuevo. Aquí carga un modelo existente, como el opcode `REQUEST_MODEL` de SA. Para crear un modelo, usa `engineCreateModel`.

### Atención

Un nombre que ningún modelo tiene, o un modelo sin drawable (solo colisión, por ejemplo), genera un error.

## Ver también

- [engineHasModelLoaded (Cliente)](https://wiki.mymp.gg/es/engineHasModelLoaded.md): Indica si un modelo está cargado en memoria.
- [engineReleaseModel (Cliente)](https://wiki.mymp.gg/es/engineReleaseModel.md): Deshace el pedido de modelo que este recurso hizo con engineRequestModel.
- [engineCreateModel (Cliente)](https://wiki.mymp.gg/es/engineCreateModel.md): Crea un nuevo modelo con un nombre, solo en este cliente. Se usa por su nombre, como cualquier otro modelo.
