PT-BR/SetElementData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Created page with "{{BR/Funcao compartilhada}} __NOTOC__ Esta função armazena element data sob uma determinada chave anexada a um elemento. A element data é sincronizada com todos os...")
 
mNo edit summary
Line 23: Line 23:


===Argumentos necessários===  
===Argumentos necessários===  
*'''theElement:''' o [[element]] que você deseja armazenar dados.
*'''theElement:''' o [[elemento]] que você deseja armazenar dados.
*'''key:''' A chave que você deseja armazenar os dados. (Máximo de 31 caracteres.)  
*'''key:''' A chave que você deseja armazenar os dados. (Máximo de 31 caracteres.)  
*'''value:''' O valor que você deseja armazenar. Leia [[element data]] para saber quais são os tipos de dados aceitáveis.
*'''value:''' O valor que você deseja armazenar. Leia [[element data]] para saber quais são os tipos de dados aceitáveis.
Line 42: Line 42:


===Argumentos necessários===  
===Argumentos necessários===  
*'''theElement:''' o [[element]] que você deseja armazenar dados.
*'''theElement:''' o [[elemento]] que você deseja armazenar dados.
*'''key:''' A chave que você deseja armazenar os dados. (Máximo de 31 caracteres.)  
*'''key:''' A chave que você deseja armazenar os dados. (Máximo de 31 caracteres.)  
*'''value:''' O valor que você deseja armazenar. Leia [[element data]] para saber quais são os tipos de dados aceitáveis.
*'''value:''' O valor que você deseja armazenar. Leia [[element data]] para saber quais são os tipos de dados aceitáveis.

Revision as of 22:36, 6 August 2020

Esta função armazena element data sob uma determinada chave anexada a um elemento. A element data é sincronizada com todos os jogadores e com servidor. Os dados podem conter elementos criados pelo servidor, mas evite transmitir qualquer dado que não possa ser sincronizado como xmlnodes, acls, aclgroups etc.

Como os dados do elemento são sincronizados com todos os jogadores, eles podem gerar muito tráfego de rede e prejudicar o desempenho. Os eventos são muito mais eficientes para enviar dados de um jogador para o servidor ou do servidor para um jogador específico.
O uso de element data não é recomendado em casos onde sua meta pode ser alcançada com os eventos citados acima, variáveis ou tables para armazenar dados.


[[{{{image}}}|link=|]] Dica: Uma maneira simples e eficiente de tornar uma variável conhecida pelo servidor e pelos jogadores é usar setElementData no elemento root.
Post-it.png Nota: Leia Script security para ver dicas de como evitar trapaceiros ao usar element data e eventos
Post-it.png Nota: Por motivos de desempenho nunca utilize setElementData em eventos que são acionados com frequência como onClientRender. O uso de element data em geral pode afetar o desempenho, por isso é recomendado que seja usado somente em casos de extrema necessidade (o uso de tables ou variáveis é recomendado para substituir o element data).


ADDED/UPDATED IN VERSION 1.5.7-9.20477 :
A subscription mode has been introduced for setElementData serverside. When setting data in subscription mode, only clients that are added through addElementDataSubscriber will receive the data, which is good for performance.

Note this mode only works when setting element data serverside. Setting data clientside still sends the update to all clients if 'synchronize' is set to true.

Sintaxe

bool setElementData ( element theElement, string key, var value [, bool synchronize = true ] )

Sintaxe POO(OOP) Não entendeu o que significa isso?

Método: element:setData(...)
Oposto: getElementData

Argumentos necessários

  • theElement: o elemento que você deseja armazenar dados.
  • key: A chave que você deseja armazenar os dados. (Máximo de 31 caracteres.)
  • value: O valor que você deseja armazenar. Leia element data para saber quais são os tipos de dados aceitáveis.

Argumentos Opcionais

  • synchronize: Determina se os dados serão ou não sincronizados com os jogadores ou com o servidor.

Retorna

Retorna true se a element data foi armazenada com sucesso e false se não for armazenada.

ADDED/UPDATED IN VERSION 1.5.7-9.20477 :

Sintaxe

Click to collapse [-]
Server
bool setElementData ( element theElement, string key, var value [, var syncMode="broadcast"] )

Sintaxe POO(OOP) Não entendeu o que significa isso?

Método: element:setData(...)
Oposto: getElementData

Argumentos necessários

  • theElement: o elemento que você deseja armazenar dados.
  • key: A chave que você deseja armazenar os dados. (Máximo de 31 caracteres.)
  • value: O valor que você deseja armazenar. Leia element data para saber quais são os tipos de dados aceitáveis.

Argumentos Opcionais

Click to collapse [-]
Client
bool setElementData ( element theElement, string key, var value [, bool synchronize = true ] )

Sintaxe POO(OOP) Não entendeu o que significa isso?

Método: element:setData(...)
Oposto: getElementData

Argumentos necessários

  • theElement: o element que você deseja armazenar dados.
  • key: A chave que você deseja armazenar os dados. (Máximo de 31 caracteres.)
  • value: O valor que você deseja armazenar. Leia element data para saber quais são os tipos de dados aceitáveis.

Argumentos Opcionais

  • synchronize: Determina se os dados serão ou não sincronizados com o servidor.

Retorna

Retorna true se a element data foi armazenada com sucesso e false se não for armazenada.

Problemas

Issue ID Description
#7389 [Fixed in 1.3.5-7389] Problema com números decimais

Exemplos

Click to expand [+]
Server

Veja também