GetElementChild: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (|) |
||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
This function returns | {{Server client function}} | ||
This function returns one of the child elements of a given parent element. The child element is selected by its index (0 for the first child, 1 for the second and so on). | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
element getElementChild ( element parent, int index ) | element getElementChild ( element parent, int index ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
{{OOP||[[element]]:getChild||}} | |||
===Required Arguments=== | ===Required Arguments=== | ||
Line 12: | Line 13: | ||
===Returns=== | ===Returns=== | ||
Returns the requested element if it exists, or false if it doesn't. | Returns the requested element if it exists, or ''false'' if it doesn't. | ||
==Example== | ==Example== | ||
If the .map file contains: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<team1 id="red"> | <team1 id="red"> | ||
<base name="Mountain Top" /> | |||
<base name="Docks" /> | |||
<base name="Airport" /> | |||
</team1> | |||
</syntaxhighlight> | |||
This outputs the name of the specified base. For example: 'teamBase 0' for the first base. | |||
<syntaxhighlight lang="lua"> | |||
function showTeamBase(thePlayer, command, index) | |||
local theTeam = getElementByID("red") -- get the team element | |||
local base = getElementChild(theTeam, tonumber(index)) -- get the Child of the element, based on the 'index' the player specified. | |||
if (base ~= false) then -- if the base exists | |||
outputChatBox("Team base " .. index .. ": " .. getElementData(base, "name"), thePlayer) -- output it to the player | |||
else | |||
outputChatBox("Base not found.", thePlayer) | |||
end | |||
end | |||
addCommandHandler("teamBase", showTeamBase) | |||
</syntaxhighlight> | |||
Note that if there are other child elements, you'd have to check whether the element is a base with the [[getElementType]] function. For example: 'teamBase 3' would output 'Team Base 3: Factory' with the .map file below, even though it's no base. | |||
<syntaxhighlight lang="xml"> | |||
<syntaxhighlight lang=" | <team1 id="red"> | ||
<base name="Mountain Top" /> | |||
<base name="Docks" /> | |||
<base name="Airport" /> | |||
<target name="Factory" /> | |||
</team1> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==See Also== | ==See Also== | ||
{{Element_functions}} | {{Element_functions}} |
Latest revision as of 03:29, 1 January 2015
This function returns one of the child elements of a given parent element. The child element is selected by its index (0 for the first child, 1 for the second and so on).
Syntax
element getElementChild ( element parent, int index )
OOP Syntax Help! I don't understand this!
- Method: element:getChild(...)
Required Arguments
- parent: the element above the one to be returned in the hierarchy.
- index: the element's index (0 for the first element, 1 for the second, etc).
Returns
Returns the requested element if it exists, or false if it doesn't.
Example
If the .map file contains:
<team1 id="red"> <base name="Mountain Top" /> <base name="Docks" /> <base name="Airport" /> </team1>
This outputs the name of the specified base. For example: 'teamBase 0' for the first base.
function showTeamBase(thePlayer, command, index) local theTeam = getElementByID("red") -- get the team element local base = getElementChild(theTeam, tonumber(index)) -- get the Child of the element, based on the 'index' the player specified. if (base ~= false) then -- if the base exists outputChatBox("Team base " .. index .. ": " .. getElementData(base, "name"), thePlayer) -- output it to the player else outputChatBox("Base not found.", thePlayer) end end addCommandHandler("teamBase", showTeamBase)
Note that if there are other child elements, you'd have to check whether the element is a base with the getElementType function. For example: 'teamBase 3' would output 'Team Base 3: Factory' with the .map file below, even though it's no base.
<team1 id="red"> <base name="Mountain Top" /> <base name="Docks" /> <base name="Airport" /> <target name="Factory" /> </team1>
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