AttachElementToElement: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (→‎Optional Arguments: no radians)
m (Explained a technicality)
Line 2: Line 2:
__NOTOC__  
__NOTOC__  
{{Server client function}}
{{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. If an attempt is made to attach two elements that are already attached the opposite way, the 1st attachment is detached in favor of the 2nd (so if a car was glued to an object then the object is now glued to the car).


This is not compatible with all elements.  The following elements are compatible:
This is not compatible with all elements.  The following elements are compatible:

Revision as of 04:15, 3 March 2008

Dialog-information.png 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. If an attempt is made to attach two elements that are already attached the opposite way, the 1st attachment is detached in favor of the 2nd (so if a car was glued to an object then the object is now glued to the car).

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 [-]
Server

Example 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 [+]
Client

See Also