GetElementMatrix: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(nnnnp)
No edit summary
Line 5: Line 5:
==Syntax==
==Syntax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
int getElementMatrix ( element theElement )       
table getElementMatrix ( element theElement )       
</syntaxhighlight>  
</syntaxhighlight>  



Revision as of 21:35, 26 April 2009

This function gets an element's matrix. This contains various components such as position and rotation. It is most useful for matrix calculations such as calculating offsets.

Syntax

table getElementMatrix ( element theElement )       

Required Arguments

  • theElement: The element which you wish to retrieve the matrix for

Returns

Returns a multi-dimensional array in the format of:

{
    { rollX,        rollY,         rollZ,        1    },
    { directionX,   directionY,    directionZ,   1    },
    { wasX,         wasY,          wasZ,         1    },
    { posX,         posY,          posZ,         1    },
}

Example

This example creates a utility function that gets the position that is in front of a specified player. Note that it assumes you have the Lua Matrix library installed.

function getPositionInFrontOfElement(element)
	local posX,posY,posZ = getElementPosition(element)
	--Get the position 5 units in front
	local transformed = matrix{0,5,0} * matrix(getElementMatrix(element)}
	--Get our offset components
	local offX,offY,offZ = transformed[1][1],transformed[2][1],transformed[3][1]
	--Return absolute coordinates by adding the original position
	return posX + offX, posY + offY, posZ + offZ
end

See Also