# engineSetShaderGlobal (Cliente)

> Define um global de shader, um valor que todos os shaders leem. Um nome novo cria o global.

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

## Sintaxe

```lua
bool engineSetShaderGlobal(string name, any value [, int priority = 0])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `name` | `string` | O nome do global. Nos shaders ele é lido em MAIÚSCULAS_COM_SUBLINHADO: `nightShare` vira `NIGHT_SHARE`. |
| `value` | `any` | Um número, um vetor, um valor de `tocolor` para `vec3` e `vec4`, ou o nome de uma textura ou uma imagem para uma textura. Um global que já existe só aceita o seu tipo. |
| `priority` | `int` | Quando vários recursos definem o mesmo global, vence a maior prioridade; entre iguais, o mais recente. *(padrão: `0`)* |

## Retorno

`true` quando o valor foi definido.

## Exemplo

```lua
engineSetShaderGlobal("alarmPulse", 0)
local shader = engineCreateShader("shaders/alarm.shader")

addEventHandler("onClientPreRender", root, function()
    engineSetShaderGlobal("alarmPulse", math.abs(math.sin(getTickCount() / 300)))
end)
```

### Atenção

Um global trancado por um pacote, ou um valor de outro tipo, é um erro. Um shader que lê um global do script só compila se o global já existir quando ele é criado.

## Veja também

- [engineGetShaderGlobal (Cliente)](https://wiki.mymp.gg/pt/engineGetShaderGlobal.md): Lê o valor atual de um global de shader.
- [engineResetShaderGlobal (Cliente)](https://wiki.mymp.gg/pt/engineResetShaderGlobal.md): Retira o valor que este recurso deu a um global de shader, e o global volta ao valor de quem vem a seguir.
- [engineGetShaderGlobals (Cliente)](https://wiki.mymp.gg/pt/engineGetShaderGlobals.md): Lista todos os globais de shader, dos pacotes e dos scripts.
- [engineCreateShader (Cliente)](https://wiki.mymp.gg/pt/engineCreateShader.md): Cria um shader a partir de um arquivo .shader ou do próprio código-fonte. O shader compila em segundo plano.
