PT-BR/SetElementData: Difference between revisions
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 [[ | 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 [[ | 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 [[ | {{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 [[ | {{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| | {{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 | 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 [[ | *'''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 [[ | *'''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 [[ | *'''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 [[ | *'''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> | ||
==Veja também== | ==Veja também== | ||
{{Element_functions}} | |||
[[en:setElementData]] | [[en:setElementData]] | ||
[[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.
Dica: Uma maneira simples e eficiente de tornar uma variável conhecida pelo servidor e pelos jogadores é usar setElementData no elemento root. |
Nota: Leia Script security para ver dicas de como evitar trapaceiros ao usar dado de elemento e eventos | |
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). | |
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.
Problemas
Issue ID | Description |
---|---|
#7389 | [Fixed in 1.3.5-7389] Problema com números decimais |
Exemplos
Veja também
- attachElements
- createElement
- destroyElement
- detachElements
- getAttachedElements
- getElementAlpha
- getElementAttachedOffsets
- getElementAttachedTo
- getElementByIndex
- getElementByID
- getElementChild
- getElementChildren
- getElementChildrenCount
- getElementCollisionsEnabled
- getElementColShape
- getElementData
- getAllElementData
- hasElementData
- getElementDimension
- getElementHealth
- getElementID
- getElementInterior
- getElementMatrix
- getElementModel
- getElementParent
- getElementPosition
- getElementRotation
- getElementsByType
- getElementsWithinColShape
- getElementsWithinRange
- getElementType
- getElementVelocity
- getLowLODElement
- getRootElement
- isElement
- isElementAttached
- isElementCallPropagationEnabled
- isElementDoubleSided
- isElementFrozen
- isElementInWater
- isElementLowLOD
- isElementWithinColShape
- isElementWithinMarker
- setElementAlpha
- setElementAngularVelocity
- getElementAngularVelocity
- setElementAttachedOffsets
- setElementCallPropagationEnabled
- setElementCollisionsEnabled
- setElementData
- setElementDimension
- setElementDoubleSided
- setElementFrozen
- setElementHealth
- setElementID
- setElementInterior
- setElementModel
- setElementParent
- setElementPosition
- setElementRotation
- setElementVelocity
- setLowLODElement
- getPedContactElement
- getResourceDynamicElementRoot
- getResourceRootElement