SetElementAttachedOffsets: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(Undo revision 24475 by Snert (talk) Oops, edited the wrong tab)
Line 1: Line 1:
__NOTOC__  
__NOTOC__  
{{Server client function}}
{{Server client function}}
This function returns the offsets of an element that has been attached to another element using [[attachElements]].
This function updates the offsets of an element that has been attached to another element using [[attachElements]].
 
'''Note: This function is only clientside in versions which are lower then 1.0.4!'''


==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
float, float, float, float, float, float getElementAttachedOffsets ( element theElement )
bool setElementAttachedOffsets ( element theElement, [ float xPosOffset, float yPosOffset, float zPosOffset, float xRotOffset, float yRotOffset, float zRotOffset ])
</syntaxhighlight>
</syntaxhighlight>


===Required Arguments===  
===Required Arguments===  
*'''theElement:''' The attached element.
*'''theElement:''' The attached element.
===Optional Arguments===
{{OptionalArg}}
*'''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 rotation offset (default 0).
*'''yRotOffset:''' The y rotation offset (default 0).
*'''zRotOffset:''' The z rotation offset (default 0).


===Returns===
===Returns===
Returns 6 [[float|floats]], of which the first 3 indicate the position offset (x, y, z), and the last 3 indicate the rotation offset (x, y, z), if successful. ''false'' otherwise.
Returns ''true'' if the attaching process was successful, ''false'' otherwise.


==Example==  
==Example==  
<section name="Client" class="client" show="true">
'''Example:''' This example creates a car with a minigun
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
-- TODO
-- Offsets
local x,y,z,rx,ry,rz= 0,-1.5,-0.1,0,0,-90
 
function createArmedBobcat(cmd)
    local lx,ly,lz = getElementPosition(getLocalPlayer()) -- get the position of the player
    lx = lx + 5 -- add 5 units to the x position
   
    veh = createVehicle( 422, lx, ly, lz) -- create a bobcat
    base = createObject( 2985, 2,2,2) -- create a minigun_base object
    setElementCollisionsEnabled ( base, false ) -- the minigun_base damages the car
    -- you could alternatively load an empty col file for the minigun object
    attachElements ( base, veh,  x,y,z,rx,ry,rz) -- attach the base to the bobcat
end
 
function rotateIt(cmd, addZ)
    if(addZ) then
        rz=rz+addZ
        setElementAttachedOffsets (base,x,y,z,rx,ry,rz) --update offsets
    end
end
 
addCommandHandler("bobcat", createArmedBobcat)
addCommandHandler("rotate", rotateIt)
</syntaxhighlight>
</syntaxhighlight>
</section>
==See Also==
==See Also==
{{Element functions}}
{{Element functions}}

Revision as of 10:42, 8 November 2010

This function updates the offsets of an element that has been attached to another element using attachElements.

Note: This function is only clientside in versions which are lower then 1.0.4!

Syntax

bool setElementAttachedOffsets ( element theElement, [ float xPosOffset, float yPosOffset, float zPosOffset, float xRotOffset, float yRotOffset, float zRotOffset ])

Required Arguments

  • theElement: The attached element.

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 rotation offset (default 0).
  • yRotOffset: The y rotation offset (default 0).
  • zRotOffset: The z rotation offset (default 0).

Returns

Returns true if the attaching process was successful, false otherwise.

Example

Click to collapse [-]
Client

Example: This example creates a car with a minigun

-- Offsets
local x,y,z,rx,ry,rz= 0,-1.5,-0.1,0,0,-90

function createArmedBobcat(cmd)
    local lx,ly,lz = getElementPosition(getLocalPlayer()) -- get the position of the player
    lx = lx + 5 -- add 5 units to the x position
    
    veh = createVehicle( 422, lx, ly, lz) -- create a bobcat
    base = createObject( 2985, 2,2,2) -- create a minigun_base object
    setElementCollisionsEnabled ( base, false ) -- the minigun_base damages the car
    -- you could alternatively load an empty col file for the minigun object
    attachElements ( base, veh,  x,y,z,rx,ry,rz) -- attach the base to the bobcat
end

function rotateIt(cmd, addZ)
    if(addZ) then
        rz=rz+addZ
        setElementAttachedOffsets (base,x,y,z,rx,ry,rz) --update offsets
    end
end

addCommandHandler("bobcat", createArmedBobcat)
addCommandHandler("rotate", rotateIt)

See Also