# engineSetMaterialShader (Cliente)

> Troca o shader de um material, mantendo os valores que ele já tem.

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

## Sintaxe

```lua
bool engineSetMaterialShader(material material, string|shader|false shader)
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `material` | `material` | O material. |
| `shader` | `string\|shader\|false` | O nome de um shader ou um elemento `shader`. `false` tira o shader próprio, e o material volta a usar o da sua base. |

## Retorno

`true` quando o shader foi trocado.

## Exemplo

```lua
local material = engineCreateMaterial()
local shader = engineCreateShader("shaders/hologram.shader")
engineSetMaterialShader(material, shader)
```

### Atenção

Um nome que não é de shader é um erro; presets não são aceitos aqui.

## Veja também

- [engineGetMaterialShader (Cliente)](https://wiki.mymp.gg/pt/engineGetMaterialShader.md): Diz qual shader um material usa.
- [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.
- [engineSetMaterialValue (Cliente)](https://wiki.mymp.gg/pt/engineSetMaterialValue.md): Define um valor do material: um parâmetro do shader, uma chave estática ou a render target de uma saída TARGET_n.
