GetElementData: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (Added Portuguese BR to the sidebar) |
||
(27 intermediate revisions by 20 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
{{Server client function}} | |||
This function retrieves [[element data]] attached to an element under a certain key. | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua">var getElementData ( element theElement, string key [, bool inherit = true] )</syntaxhighlight> | ||
{{OOP||[[element]]:getData||setElementData}} | |||
===Required Arguments=== | |||
*'''theElement:''' This is the element with data you want to retrieve. | |||
*'''key:''' The name of the element data entry you want to retrieve. (Maximum 31 characters.) | |||
===Optional Arguments=== | |||
*'''inherit:''' - toggles whether or not the function should go up the hierarchy to find the requested key in case the specified element doesn't have it. | |||
===Returns=== | |||
This function returns a ''variable'' containing the requested element data, or ''false'' if the element or the element data does not exist. When getting data corresponding to a XML attribute, this is always a ''string''. | |||
==Example== | ==Example== | ||
This example | This example stores the tick count when a player joins and then allows players to see how long they are connected using a console function 'joinTime'. | ||
<syntaxhighlight lang="lua"> | <section show="true" name="Server" class="server"> | ||
<syntaxhighlight lang="lua"> | |||
function joinTime ( ) | |||
setElementData ( source, "joinTime", getTickCount() ) -- Store the current tick count in the player's data with the key 'joinTime' | |||
end | |||
-- Make our 'joinTime' function be called when a player joins | |||
addEventHandler ( "onPlayerJoin", root, joinTime ) | |||
function showJoinTime ( source, commandName, playerName ) | |||
if ( playerName ) then -- see if a player was specified | |||
thePlayer = getPlayerFromName ( playerName ) -- get the player element for the specified player | |||
if ( thePlayer ) then -- if one was found... | |||
local timeOnline = (getTickCount() - getElementData ( thePlayer, "joinTime" )) / 1000 -- calculates the time since join | |||
outputChatBox ( getPlayerName ( thePlayer ).." joined "..timeOnline.." seconds ago", source ) -- output the player's join time | |||
else | |||
outputChatBox ( "Couldn't find '" .. playerName .. "'", source ) -- display an error | |||
end | |||
else | |||
-- display when the player who used the function joined and inform how to see other people's join time | |||
local timeOnline = (getTickCount() - getElementData ( source, "joinTime" )) / 1000 -- calculate the time since join | |||
outputChatBox ( "You joined " ..timeOnline.." seconds ago", source ) | |||
outputChatBox ( "Use 'join_time <player name>' to see other people's join time", source ) | |||
end | |||
end | |||
-- Add a console command joinTime, that takes an optional parameter of a player's name | |||
addCommandHandler ( "joinTime", showJoinTime ) | |||
</syntaxhighlight> | |||
</section> | |||
==See Also== | ==See Also== | ||
{{Element functions}} | {{Element functions}} | ||
[[pt-br:getElementData]] |
Latest revision as of 18:35, 31 January 2022
This function retrieves element data attached to an element under a certain key.
Syntax
var getElementData ( element theElement, string key [, bool inherit = true] )
OOP Syntax Help! I don't understand this!
- Method: element:getData(...)
- Counterpart: setElementData
Required Arguments
- theElement: This is the element with data you want to retrieve.
- key: The name of the element data entry you want to retrieve. (Maximum 31 characters.)
Optional Arguments
- inherit: - toggles whether or not the function should go up the hierarchy to find the requested key in case the specified element doesn't have it.
Returns
This function returns a variable containing the requested element data, or false if the element or the element data does not exist. When getting data corresponding to a XML attribute, this is always a string.
Example
This example stores the tick count when a player joins and then allows players to see how long they are connected using a console function 'joinTime'.
Click to collapse [-]
Serverfunction joinTime ( ) setElementData ( source, "joinTime", getTickCount() ) -- Store the current tick count in the player's data with the key 'joinTime' end -- Make our 'joinTime' function be called when a player joins addEventHandler ( "onPlayerJoin", root, joinTime ) function showJoinTime ( source, commandName, playerName ) if ( playerName ) then -- see if a player was specified thePlayer = getPlayerFromName ( playerName ) -- get the player element for the specified player if ( thePlayer ) then -- if one was found... local timeOnline = (getTickCount() - getElementData ( thePlayer, "joinTime" )) / 1000 -- calculates the time since join outputChatBox ( getPlayerName ( thePlayer ).." joined "..timeOnline.." seconds ago", source ) -- output the player's join time else outputChatBox ( "Couldn't find '" .. playerName .. "'", source ) -- display an error end else -- display when the player who used the function joined and inform how to see other people's join time local timeOnline = (getTickCount() - getElementData ( source, "joinTime" )) / 1000 -- calculate the time since join outputChatBox ( "You joined " ..timeOnline.." seconds ago", source ) outputChatBox ( "Use 'join_time <player name>' to see other people's join time", source ) end end -- Add a console command joinTime, that takes an optional parameter of a player's name addCommandHandler ( "joinTime", showJoinTime )
See Also
- 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