PT-BR/SetElementData: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 11: Line 11:




{{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 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