# engineSetElementMaterial (Cliente)

> Substitui os materiais escolhidos de um único veículo, ped ou objeto por um material.

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

## Sintaxe

```lua
bool engineSetElementMaterial(element element, int|string selector, material material [, int priority = 0])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `element` | `element` | Um veículo, ped, jogador ou objeto. |
| `selector` | `int\|string` | Qual material: o índice a partir de 1 ou o nome, como `engineGetModelMaterials` os lista. O nome não diferencia maiúsculas e aceita os curingas `*` e `?`. |
| `material` | `material` | O material que passa a ser desenhado no lugar. |
| `priority` | `int` | Quando vários recursos escolhem o mesmo material, vence a maior prioridade; entre iguais, o mais recente. *(padrão: `0`)* |

## Retorno

`true` quando foi aplicado.

Aplica-se por cima do que o modelo já desenha, inclusive materiais definidos com `engineSetModelMaterial`. Fica valendo enquanto o elemento existir, mesmo fora do streaming.

## Exemplo

```lua
local gold = engineCreateMaterial("surface")
engineSetMaterialValue(gold, "metallicFactor", 1)

addCommandHandler("gold", function()
    local vehicle = getPedOccupiedVehicle(localPlayer)
    if vehicle then
        engineSetElementMaterial(vehicle, 1, gold)
    end
end)
```

### Atenção

Um elemento que não é veículo, ped, jogador ou objeto é um erro.

## Veja também

- [engineRestoreElementMaterial (Cliente)](https://wiki.mymp.gg/pt/engineRestoreElementMaterial.md): Desfaz o que engineSetElementMaterial deste recurso fez de um único veículo, ped ou objeto.
- [engineSetModelMaterial (Cliente)](https://wiki.mymp.gg/pt/engineSetModelMaterial.md): Substitui os materiais escolhidos de todas as instâncias de um modelo por um material.
- [engineSetElementTexture (Cliente)](https://wiki.mymp.gg/pt/engineSetElementTexture.md): Troca uma textura de um único veículo, ped, jogador ou objeto. As outras instâncias do mesmo modelo mantêm suas texturas.
- [engineCreateMaterial (Cliente)](https://wiki.mymp.gg/pt/engineCreateMaterial.md): Cria um material: um shader com valores de parâmetros, que depois substitui ou se sobrepõe aos materiais dos modelos.
