IsElementWithinColShape: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Add version notes)
Line 16: Line 16:
This small script is an example of detecting if a player is within a certain defined colshape. This could serve as a base to perform many functions, rather than just an output.
This small script is an example of detecting if a player is within a certain defined colshape. This could serve as a base to perform many functions, rather than just an output.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
local circlearea = createColCircle ( 0, 0, 10 )
function ColShapeHit ( thePlayer, matchingDimension )
function ColShapeHit ( thePlayer, matchingDimension )
detection = isElementWithinColShape ( thePlayer, circlearea )
local detection = isElementWithinColShape ( thePlayer, circlearea )
--A variable called 'detection' stores the result of asking if the player
--A variable called 'detection' stores the result of asking if the player
--who entered a colshape is within the specific colshape called 'circlearea'.
--who entered a colshape is within the specific colshape called 'circlearea'.
--The result is either true or false.
--The result is either true or false.
if detection == true then
if detection then
outputChatBox ( "Player is in the 'circle area' col shape" )
outputChatBox ( getPlayerName(thePlayer).." is in the 'circle area' col shape" )
end
end
--if detection was true then the player is in the col shape. Output a
--if detection was true then the player is in the col shape. Output a

Revision as of 20:40, 12 February 2010

This function is used to determine if an element is within a collision shape. Please note that for legacy reasons, a colshape created on the client does not collide with elements already existing at that location until they first move. Please also note that before 1.0.3, this did not function correctly when moving a colshape.

Syntax

bool isElementWithinColShape ( element theElement, colshape theShape )

Required Arguments

  • theElement: The element you're checking.
  • theShape: The colshape you're checking

Returns

Returns true if the element is within the colshape, false otherwise

Example

This small script is an example of detecting if a player is within a certain defined colshape. This could serve as a base to perform many functions, rather than just an output.

local circlearea = createColCircle ( 0, 0, 10 )

function ColShapeHit ( thePlayer, matchingDimension )
	local detection = isElementWithinColShape ( thePlayer, circlearea )
	--A variable called 'detection' stores the result of asking if the player
	--who entered a colshape is within the specific colshape called 'circlearea'.
	--The result is either true or false.
	if detection then
		outputChatBox ( getPlayerName(thePlayer).." is in the 'circle area' col shape" )
	end
	--if detection was true then the player is in the col shape. Output a
	--message to confirm this
end
addEventHandler ( "onColShapeHit", getRootElement(), ColShapeHit )

See Also