GetElementMatrix

From Multi Theft Auto: Wiki
Revision as of 19:40, 26 April 2009 by Talidan (talk | contribs) (nnnnp)
Jump to navigation Jump to search

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

int 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