# dxDrawRectLight (Cliente)

> Acende uma luz que sai de um retângulo por um único quadro, sem criar elemento.

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

## Sintaxe

```lua
bool dxDrawRectLight(float x, y, z, float normalX, normalY, normalZ, float width, float height, float radius, color color [, float intensity = 1, float falloff = 4, float barnDoorAngle = 88, float barnDoorLength = 0.2, bool castShadow = false, float tangentX, tangentY, tangentZ = nil])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `x, y, z` | `float` | Posição da luz no mundo, três números ou um vec3. |
| `normalX, normalY, normalZ` | `float` | Para onde a face do retângulo aponta. Três números ou um vec3, finito e não nulo; é normalizado. A luz só ilumina na frente. |
| `width` | `float` | Largura do retângulo em metros, de 0.01 a 100. |
| `height` | `float` | Altura do retângulo em metros, de 0.01 a 100. |
| `radius` | `float` | Alcance em metros, maior que 0 e até 1000. |
| `color` | `color` | Três números `r, g, b` (inteiros de 0 a 255) ou um valor de `tocolor`. O alfa é ignorado. |
| `intensity` | `float` | Multiplicador de brilho, de 0 a 1000. Em 1, uma luz branca brilha com 12 de radiância HDR. *(padrão: `1`)* |
| `falloff` | `float` | Expoente do desvanecimento até o raio, de 0.1 a 32. Valores maiores mantêm a luz forte até mais perto da borda. *(padrão: `4`)* |
| `barnDoorAngle` | `float` | Ângulo das abas a partir da normal, de 0 a 90 graus. De 88 para cima as abas não cortam nada. *(padrão: `88`)* |
| `barnDoorLength` | `float` | Comprimento das abas em metros, 0 ou mais. *(padrão: `0.2`)* |
| `castShadow` | `bool` | Se a luz projeta sombras. *(padrão: `false`)* |
| `tangentX, tangentY, tangentZ` | `float` | Direção da largura do retângulo, três números ou um vec3. Sem ela, é feita a partir da normal e do eixo vertical do mundo. Um vetor nulo ou paralelo à normal gera um aviso. *(padrão: `nil`)* |

## Retorno

`true` se a luz entrou na fila do quadro. `false` quando 256 luzes já estão na fila, ou com um argumento errado.

A luz vale para um único quadro. Uma chamada feita antes de o mundo ser desenhado (por exemplo em `onClientPreRender` ou `onClientRender`) ilumina esse quadro; uma feita depois ilumina o próximo. Chamadas feitas enquanto nenhum quadro roda são descartadas. Passar de 256 luzes num quadro registra um aviso uma vez, até um quadro sobrar espaço na fila.

## Exemplo

```lua
addEventHandler("onClientPreRender", root, function()
    dxDrawRectLight(1481.0, -1771.0, 22.0, 0, -1, 0, 4, 0.5, 12, 255, 60, 200, 3)
end)
```

### Vindo do MTA

O MTA não tem luzes dinâmicas.

## Veja também

- [createRectLight (Cliente)](https://wiki.mymp.gg/pt/createRectLight.md): Cria uma luz que sai de um retângulo, como um painel ou uma janela iluminada. A luz existe só neste cliente.
- [dxDrawPointLight (Cliente)](https://wiki.mymp.gg/pt/dxDrawPointLight.md): Acende uma luz em todas as direções a partir de um ponto, por um único quadro, sem criar elemento.
- [dxDrawSpotLight (Cliente)](https://wiki.mymp.gg/pt/dxDrawSpotLight.md): Acende uma luz dentro de um cone por um único quadro, sem criar elemento.
- [onClientPreRender (Cliente)](https://wiki.mymp.gg/pt/onClientPreRender.md): Disparado a cada quadro, depois da simulação do mundo e antes de o mundo ser desenhado.
