From Multi Theft Auto: Wiki
Jump to navigation Jump to search

This function can disable or enable an element's collisions. An element without collisions does not interact with the physical environment and remains static.

[[{{{image}}}|link=|]] Note: Vehicles that are collisionless and have a driver will cause bugs.
[[{{{image}}}|link=|]] Note: Enabling a players collisions when they're inside a vehicle will cause bugs.
[[{{{image}}}|link=|]] Note: Disabling a peds collisions will cause some problems, such as it being unable to move or wrong rotation after creation.


bool setElementCollisionsEnabled ( element theElement, bool enabled ) 

OOP Syntax Help! I don't understand this!

Method: element:setCollisionsEnabled(...)
Variable: .collisions
Counterpart: getElementCollisionsEnabled

Required Arguments

  • theElement: The element you wish to set the collisions of
  • enabled: A boolean to indicate whether collisions are enabled (true) or disabled (false)


Returns true if the collisions were set succesfully, false otherwise.


This example disables collisions for all vehicles within a certain radius of a player:

function disableVehicleCollisionsNearPlayer(thePlayer, maxDistance)
	local playerX, playerY, playerZ = getElementPosition(thePlayer)
	local vehicles = getElementsByType("vehicle")
	for k,v in ipairs(vehicles) do
		local vehicleX, vehicleY, vehicleZ = getElementPosition(v)
		-- get the distance between the player and the vehicle:
		local distance = getDistanceBetweenPoints3D(vehicleX, vehicleY, vehicleZ, playerX, playerY, playerZ)
		if (distance <= maxDistance) then
			-- disable collisions for the vehicle
			setElementCollisionsEnabled(v, false)

See Also