Pular para o conteúdo

onElementDataChange

Servidor Cancelável Elementos

Disparado quando um dado de elemento é escrito ou removido.

O elemento cujo dado mudou.

PosiçãoNomeTipoDescrição
1chavestringNome do dado.
2valorAntigoanyValor anterior, ou nil quando a chave ainda não existia.
3valorNovoanyNovo valor, ou nil quando a chave foi removida.

Sim.

Se cancelado, o valor antigo é restaurado e setElementData / removeElementData devolvem false.

O evento só dispara quando algo de fato mudou. Escrever o valor que a chave já tem, ou remover uma chave que não existia, não muda nada: sem evento, sem pacote, e o setElementData devolve false.

addEventHandler("onElementDataChange", root, function(chave, antigo, novo)
if chave == "dinheiro" and type(novo) == "number" and novo < 0 then
cancelEvent(true, "saldo negativo")
end
end)
-- limitando um valor que o cliente tem permissão de escrever
addEventHandler("onElementDataChange", root, function(chave, antigo, novo)
if chave == "sensibilidadeMira" then
local n = tonumber(novo)
if not n or n < 0.1 or n > 3.0 then cancelEvent(true, "fora do intervalo") end
end
end)