AttachElementToElement: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Needs Checking|What kinds of elements can be attached together? --[[User:Jbeta|jbeta]]}} | {{Needs Checking|What kinds of elements can be attached together? --[[User:Jbeta|jbeta]]}} | ||
__NOTOC__ | __NOTOC__ | ||
{{Server client function}} | |||
This function attaches one element to another, so that the first one follows the second whenever it moves. | This function attaches one element to another, so that the first one follows the second whenever it moves. | ||
This is not compatible with all elements. The following elements are compatible: | |||
* [[Marker|Markers]] | |||
* [[Blip|Blips]] | |||
* [[Object|Objects]] | |||
* [[Player|Players]] | |||
* [[Vehicle|Vehicles]] | |||
==Syntax== | ==Syntax== | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
bool attachElementToElement ( element theElement, element theAttachToElement, [ float xPosOffset, float yPosOffset, float zPosOffset, float xRotOffset, float yRotOffset, float zRotOffset ] ) | bool attachElementToElement ( element theElement, element theAttachToElement, [ float xPosOffset, float yPosOffset, float zPosOffset, float xRotOffset, float yRotOffset, float zRotOffset ] ) | ||
Line 10: | Line 17: | ||
===Required Arguments=== | ===Required Arguments=== | ||
*'''theElement:''' The element to be attached. | *'''theElement:''' The element to be attached. | ||
*'''theAttachToElement:''' The element to attach the first to. | *'''theAttachToElement:''' The element to attach the first to. | ||
===Optional Arguments=== | ===Optional Arguments=== | ||
{{OptionalArg}} | {{OptionalArg}} | ||
Line 25: | Line 30: | ||
===Returns=== | ===Returns=== | ||
Returns ''true'' if the attaching process was successful, ''false'' otherwise. | Returns ''true'' if the attaching process was successful, ''false'' otherwise. | ||
==Example== | ==Example== | ||
<section name="Server" class="server" show="true"> | |||
'''Example 1:''' This example attaches a marker to the player who steals the Mr. Whoopee: | '''Example 1:''' This example attaches a marker to the player who steals the Mr. Whoopee: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 54: | Line 59: | ||
addCommandHandler( "hat", tankHat ) | addCommandHandler( "hat", tankHat ) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</section> | |||
<section name="Client" class="client" show="false"> | |||
'''Example 3:''' This function adds a tank on top of a player (for extra defense), clientside. This means it will be invisible to other players. | |||
<syntaxhighlight lang="lua"> | |||
function tankHat( commandName ) | |||
local x, y, z = getElementPosition( source ) --Get the players position | |||
local tank = createVehicle( 432, x, y, z + 5 ) --Create a tank | |||
attachElementToElement( tank, source, 0, 0, 5 ) --Attach the tank to the player. | |||
end | |||
addCommandHandler( "hat", tankHat ) | |||
</syntaxhighlight> | |||
</section> | |||
==See Also== | ==See Also== | ||
{{Element functions}} | {{Element functions}} |
Revision as of 15:33, 15 August 2007
This article needs checking. | |
Reason(s): What kinds of elements can be attached together? --jbeta |
This function attaches one element to another, so that the first one follows the second whenever it moves.
This is not compatible with all elements. The following elements are compatible:
Syntax
bool attachElementToElement ( element theElement, element theAttachToElement, [ float xPosOffset, float yPosOffset, float zPosOffset, float xRotOffset, float yRotOffset, float zRotOffset ] )
Required Arguments
- theElement: The element to be attached.
- theAttachToElement: The element to attach the first to.
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- xPosOffset: The x offset, if you want the elements to be a certain distance from one another (default 0).
- yPosOffset: The y offset (default 0).
- zPosOffset: The z offset (default 0).
- xRotOffset: The x offset (default 0).
- yRotOffset: The y offset (default 0).
- zRotOffset: The z offset (default 0).
Returns
Returns true if the attaching process was successful, false otherwise.
Example
Click to collapse [-]
ServerExample 1: This example attaches a marker to the player who steals the Mr. Whoopee:
-- create the vehicle local vehicleMrWhoopee = createVehicle ( 423, 237.472 -54.225 1.518, 0, 354.488, 0 ) function onMrWhoopeeEnter ( thePlayer, seat, jackedPlayer ) outputChatBox ( getClientName ( thePlayer ) .. " stole the Whoopee!", getRootElement (), 255, 0, 0 ) -- create the marker to attach local arrowMarker = createMarker ( 0, 0, 0, "arrow", .75, 255, 0, 0, 170 ) -- attach the marker to the player with a vertical offset of 2 units attachElementToElement ( arrowMarker, thePlayer, 0, 0, 2 ) end -- attach it to an event addEventHandler ( "onVehicleEnter", vehicleMrWhoopee, onMrWhoopeeEnter )
Example 2: This function adds a tank on top of a player (for extra defense):
function tankHat( source, commandName ) local x, y, z = getElementPosition( source ) --Get the players position local tank = createVehicle( 432, x, y, z + 5 ) --Create a tank attachElementToElement( tank, source, 0, 0, 5 ) --Attach the tank to the player. end addCommandHandler( "hat", tankHat )
Click to expand [+]
ClientSee 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