PT-BR/SetElementData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{BR/Funcao compartilhada}}
{{BR/Funcao compartilhada}}
__NOTOC__  
__NOTOC__  
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.
Esta função armazena [[PT-BR/Element_data|dado de elemento]] sob uma determinada chave anexada a um elemento. O [[PT-BR/Element_data|dado de elemento]] é sincronizado 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.<br/>
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.<br/>
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 [[table|tables]] para armazenar dados.
O uso de [[PT-BR/Element_data|dado de elemento]] não é recomendado em casos onde seu objetivo pode ser alcançado com os eventos citados acima, variáveis ou [[table|tables]] para armazenar dados.


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




{{New items|5.0157|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.
{{New items|5.0157|1.5.7-9.20477|Um modo de assinatura foi introduzido para o '''setElementData''' no lado server. Quando definida a data no modo de assinatura, somente os clientes que forem adicionados através de [[addElementDataSubscriber]] receberão essa data, isso é bom para a 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.
Note que este modo só funciona quando o [[PT-BR/Element_data|dado de elemento]] é definido no lado server. Definir a data no lado cliente ainda enviará a atualização para todos os clientes se 'synchronize' estiver definido como ''true''.
}}
}}


Line 25: Line 25:
*'''theElement:''' o [[elemento]] 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 [[PT-BR/Element_data|dado de elemento]] para saber quais são os tipos de dados aceitáveis.


===Argumentos Opcionais===  
===Argumentos Opcionais===  
Line 44: Line 44:
*'''theElement:''' o [[elemento]] 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 [[PT-BR/Element_data|dado de elemento]] para saber quais são os tipos de dados aceitáveis.


===Argumentos Opcionais===  
===Argumentos Opcionais===  
Line 60: Line 60:


===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 [[PT-BR/Element_data|dado de elemento]] para saber quais são os tipos de dados aceitáveis.


===Argumentos Opcionais===  
===Argumentos Opcionais===  
Line 129: Line 129:
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>
[[tr:setElementData]]


==Veja também==
==Veja também==
{{Element_functions}}
[[en:setElementData]]
[[en:setElementData]]
{{Element_functions}}
[[tr:setElementData]]

Latest revision as of 04:25, 7 August 2020

Esta função armazena dado de elemento sob uma determinada chave anexada a um elemento. O dado de elemento é sincronizado 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 dado de elemento não é recomendado em casos onde seu objetivo pode ser alcançado 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 dado de elemento 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 dado de elemento 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 dado de elemento).


ADDED/UPDATED IN VERSION 1.5.7-9.20477 :
Um modo de assinatura foi introduzido para o setElementData no lado server. Quando definida a data no modo de assinatura, somente os clientes que forem adicionados através de addElementDataSubscriber receberão essa data, isso é bom para a performance.

Note que este modo só funciona quando o dado de elemento é definido no lado server. Definir a data no lado cliente ainda enviará a atualização para todos os clientes se 'synchronize' estiver definido como 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 dado de elemento 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 dado de elemento 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 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 dado de elemento 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