AttachElementToElement: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 33: Line 33:
-- create the vehicle
-- create the vehicle
local vehicleMrWhoopee = createVehicle ( 423, 237.472 -54.225 1.518, 0, 354.488, 0 )
local vehicleMrWhoopee = createVehicle ( 423, 237.472 -54.225 1.518, 0, 354.488, 0 )
-- attach it to an event
addEventHandler ( "onVehicleEnter", vehicleMrWhoopee, "onMrWhoopeeEnter" )


function onMrWhoopeeEnter ( thePlayer, seat, jackedPlayer )
function onMrWhoopeeEnter ( thePlayer, seat, jackedPlayer )
Line 44: Line 41:
     attachElementToElement ( arrowMarker, thePlayer, 0, 0, 2 )
     attachElementToElement ( arrowMarker, thePlayer, 0, 0, 2 )
end
end
-- attach it to an event
addEventHandler ( "onVehicleEnter", vehicleMrWhoopee, onMrWhoopeeEnter )
</syntaxhighlight>
</syntaxhighlight>
'''Example 2:''' This function adds a tank on top of a player (for extra defense):
'''Example 2:''' This function adds a tank on top of a player (for extra defense):
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addCommandHandler( "hat", "tankHat" )
function tankHat( source, commandName )
function tankHat( source, commandName )
       local x, y, z = getElementPosition( source ) --Get the players position
       local x, y, z = getElementPosition( source ) --Get the players position
Line 53: Line 51:
       attachElementToElement( tank, source, 0, 0, 5 ) --Attach the tank to the player.
       attachElementToElement( tank, source, 0, 0, 5 ) --Attach the tank to the player.
end
end
addCommandHandler( "hat", tankHat )
</syntaxhighlight>
</syntaxhighlight>



Revision as of 08:52, 30 July 2007

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 second one follows the first whenever it moves.

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

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 )

See Also