# setElementData (Cliente)

> Guarda um dado num elemento, só neste cliente.

- **Plataforma**: MY Multiplayer (MYMP)
- **Tipo**: Função Lua
- **Lado**: Cliente
- **Categoria**: Elementos
- **URL**: https://wiki.mymp.gg/pt/setElementData-client
- **Contraparte**: Também existe no servidor, com outra implementação: [setElementData (Servidor)](https://wiki.mymp.gg/pt/setElementData-server.md)

## Sintaxe

```lua
bool setElementData(element element, string key, any value [, bool|string sync = true])
```

## Parâmetros

| Nome | Tipo | Descrição |
| --- | --- | --- |
| `element` | `element` | O elemento. |
| `key` | `string` | Nome do dado. Chaves com mais de 128 caracteres são cortadas, com um aviso. |
| `value` | `any` | O valor a guardar. |
| `sync` | `bool\|string` | Aceito como no servidor (`true`, `false`, `"broadcast"`, `"local"` ou `"subscribe"`), mas ignorado. Outro valor dá erro. *(padrão: `true`)* |

## Retorno

`true` se guardou, `false` se o elemento já tinha esse mesmo valor.

Dispara `onClientElementDataChange`. Cancelar o evento não desfaz a mudança.

## Exemplo

```lua
setElementData(localPlayer, "hud.visible", false)

if getElementData(localPlayer, "hud.visible") == false then
    outputDebugString("hud oculto")
end
```

### Atenção

O dado nunca chega ao servidor nem aos outros clientes, seja qual for o `sync`.

## Veja também

- [setElementData (Servidor)](https://wiki.mymp.gg/pt/setElementData-server.md): Guarda um dado num elemento e, conforme o sync, envia aos jogadores.
- [getElementData (Compartilhado)](https://wiki.mymp.gg/pt/getElementData.md): Lê um dado guardado num elemento.
- [removeElementData (Compartilhado)](https://wiki.mymp.gg/pt/removeElementData.md): Apaga um dado guardado num elemento.
- [onClientElementDataChange (Cliente)](https://wiki.mymp.gg/pt/onClientElementDataChange.md): Disparado quando um dado de um elemento muda ou é removido. Cancelar o evento não desfaz a mudança: o dado deste cliente fica com o novo valor.
