<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Banex</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Banex"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Banex"/>
	<updated>2026-05-08T14:12:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53158</id>
		<title>IsVehicleReversing</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53158"/>
		<updated>2017-12-20T20:18:03Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function checks if a vehicle is moving backwards or not. This is useful to create back lights on the vehicle.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isVehicleMovingBackwards(vehicle theVehicle)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required arguments===&lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] that you want to obtain the rear status of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
This function returns ''true'' if the vehicle is going backwards, otherwise it returns ''false'' if the vehicle is going forwards or is stoped.&lt;br /&gt;
&lt;br /&gt;
==Function source==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function isVehicleMovingBackwards(theVehicle)&lt;br /&gt;
	local getMatrix = getElementMatrix (theVehicle)&lt;br /&gt;
	local getVelocity = Vector3 (getElementVelocity(theVehicle))&lt;br /&gt;
	local getVectorDirection = (getVelocity.x * getMatrix[2][1]) + (getVelocity.y * getMatrix[2][2]) + (getVelocity.z * getMatrix[2][3]) &lt;br /&gt;
	if (getVectorDirection &amp;gt;= 0) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows to the player if their current vehicle is going back or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function vehCheck ()&lt;br /&gt;
	local vehicle = getPedOccupiedVehicle (localPlayer)&lt;br /&gt;
	if vehicle then&lt;br /&gt;
		dxDrawText (tostring(isVehicleMovingBackwards(vehicle)), 10, 5) -- Show 'true' or 'false' on the screen.&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler (&amp;quot;onClientRender&amp;quot;, getRootElement(), vehCheck)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 2&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a white corona marker attached to the current vehicle when it is going back and set the marker invisible (size 0) when not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
rearLightL = {}&lt;br /&gt;
rearLightR = {}&lt;br /&gt;
&lt;br /&gt;
function setVehicleRearLightState (theVehicle, light, state)&lt;br /&gt;
	local x, y, z = getElementPosition (theVehicle)&lt;br /&gt;
	if getElementModel (theVehicle) == 426 or getElementModel (theVehicle) == 420 then -- If is a Premier or a Taxi&lt;br /&gt;
		if light == 0 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightL[theVehicle] then&lt;br /&gt;
					rearLightL[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightL[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightL[theVehicle], theVehicle, -0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightL[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightL[theVehicle])&lt;br /&gt;
					rearLightL[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif light == 1 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightR[theVehicle] then&lt;br /&gt;
					rearLightR[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightR[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightR[theVehicle], theVehicle, 0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightR[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightR[theVehicle])&lt;br /&gt;
					rearLightR[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function isRearing ()&lt;br /&gt;
	local everyone = getElementsByType (&amp;quot;player&amp;quot;)&lt;br /&gt;
	for i,v in ipairs (everyone) do&lt;br /&gt;
		local vehicle = getPedOccupiedVehicle (v)&lt;br /&gt;
		if vehicle then&lt;br /&gt;
			if isVehicleMovingBackwards(vehicle) then&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 0) -- Turns the 'back light' on.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 0)&lt;br /&gt;
			else&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 1) -- Turns the 'back light' off.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
setTimer (isRearing, 100, 0)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53157</id>
		<title>IsVehicleReversing</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53157"/>
		<updated>2017-12-20T20:17:50Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function checks if a vehicle is moving backwards or not. This is useful to create back lights on the vehicle.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isVehicleReturning (vehicle theVehicle)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required arguments===&lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] that you want to obtain the rear status of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
This function returns ''true'' if the vehicle is going backwards, otherwise it returns ''false'' if the vehicle is going forwards or is stoped.&lt;br /&gt;
&lt;br /&gt;
==Function source==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function isVehicleMovingBackwards(theVehicle)&lt;br /&gt;
	local getMatrix = getElementMatrix (theVehicle)&lt;br /&gt;
	local getVelocity = Vector3 (getElementVelocity(theVehicle))&lt;br /&gt;
	local getVectorDirection = (getVelocity.x * getMatrix[2][1]) + (getVelocity.y * getMatrix[2][2]) + (getVelocity.z * getMatrix[2][3]) &lt;br /&gt;
	if (getVectorDirection &amp;gt;= 0) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows to the player if their current vehicle is going back or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function vehCheck ()&lt;br /&gt;
	local vehicle = getPedOccupiedVehicle (localPlayer)&lt;br /&gt;
	if vehicle then&lt;br /&gt;
		dxDrawText (tostring(isVehicleMovingBackwards(vehicle)), 10, 5) -- Show 'true' or 'false' on the screen.&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler (&amp;quot;onClientRender&amp;quot;, getRootElement(), vehCheck)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 2&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a white corona marker attached to the current vehicle when it is going back and set the marker invisible (size 0) when not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
rearLightL = {}&lt;br /&gt;
rearLightR = {}&lt;br /&gt;
&lt;br /&gt;
function setVehicleRearLightState (theVehicle, light, state)&lt;br /&gt;
	local x, y, z = getElementPosition (theVehicle)&lt;br /&gt;
	if getElementModel (theVehicle) == 426 or getElementModel (theVehicle) == 420 then -- If is a Premier or a Taxi&lt;br /&gt;
		if light == 0 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightL[theVehicle] then&lt;br /&gt;
					rearLightL[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightL[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightL[theVehicle], theVehicle, -0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightL[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightL[theVehicle])&lt;br /&gt;
					rearLightL[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif light == 1 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightR[theVehicle] then&lt;br /&gt;
					rearLightR[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightR[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightR[theVehicle], theVehicle, 0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightR[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightR[theVehicle])&lt;br /&gt;
					rearLightR[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function isRearing ()&lt;br /&gt;
	local everyone = getElementsByType (&amp;quot;player&amp;quot;)&lt;br /&gt;
	for i,v in ipairs (everyone) do&lt;br /&gt;
		local vehicle = getPedOccupiedVehicle (v)&lt;br /&gt;
		if vehicle then&lt;br /&gt;
			if isVehicleMovingBackwards(vehicle) then&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 0) -- Turns the 'back light' on.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 0)&lt;br /&gt;
			else&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 1) -- Turns the 'back light' off.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
setTimer (isRearing, 100, 0)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53156</id>
		<title>IsVehicleReversing</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53156"/>
		<updated>2017-12-20T20:16:58Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function checks if a vehicle is moving backwards or not. This is useful to create back lights on the vehicle.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isVehicleReturning (vehicle theVehicle)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required arguments===&lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] that you want to obtain the rear status of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
This function returns ''true'' if the vehicle is going backwards, otherwise it returns ''false'' if the vehicle is going forwards or is stoped.&lt;br /&gt;
&lt;br /&gt;
==Function source==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function isVehicleMovingBackwards(theVehicle)&lt;br /&gt;
	local getMatrix = getElementMatrix (theVehicle)&lt;br /&gt;
	local getVelocity = Vector3 (getElementVelocity(theVehicle))&lt;br /&gt;
	local getVectorDirection = (getVelocity.x * getMatrix[2][1]) + (getVelocity.y * getMatrix[2][2]) + (getVelocity.z * getMatrix[2][3]) &lt;br /&gt;
	if (getVectorDirection &amp;gt;= 0) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows to the player if their current vehicle is going back or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function vehCheck ()&lt;br /&gt;
	local vehicle = getPedOccupiedVehicle (localPlayer)&lt;br /&gt;
	if vehicle then&lt;br /&gt;
		dxDrawText (tostring(isVehicleMovingBackwards(vehicle)), 10, 5) -- Show 'true' or 'false' on the screen.&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler (&amp;quot;onClientRender&amp;quot;, getRootElement(), vehCheck)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 2&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a white corona marker attached to the current vehicle when it is going back and set the marker invisible (size 0) when not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
rearLightL = {}&lt;br /&gt;
rearLightR = {}&lt;br /&gt;
&lt;br /&gt;
function setVehicleRearLightState (theVehicle, light, state)&lt;br /&gt;
	local x, y, z = getElementPosition (theVehicle)&lt;br /&gt;
	if getElementModel (theVehicle) == 426 or getElementModel (theVehicle) == 420 then -- If is a Premier or a Taxi&lt;br /&gt;
		if light == 0 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightL[theVehicle] then&lt;br /&gt;
					rearLightL[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightL[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightL[theVehicle], theVehicle, -0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightL[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightL[theVehicle])&lt;br /&gt;
					rearLightL[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif light == 1 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightR[theVehicle] then&lt;br /&gt;
					rearLightR[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightR[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightR[theVehicle], theVehicle, 0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightR[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightR[theVehicle])&lt;br /&gt;
					rearLightR[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function isRearing ()&lt;br /&gt;
	local everyone = getElementsByType (&amp;quot;player&amp;quot;)&lt;br /&gt;
	for i,v in ipairs (everyone) do&lt;br /&gt;
		local vehicle = getPedOccupiedVehicle (v)&lt;br /&gt;
		if vehicle then&lt;br /&gt;
			if isVehicleReturning (vehicle) then&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 0) -- Turns the 'back light' on.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 0)&lt;br /&gt;
			else&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 1) -- Turns the 'back light' off.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
setTimer (isRearing, 100, 0)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53155</id>
		<title>IsVehicleReversing</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53155"/>
		<updated>2017-12-20T20:16:25Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Function source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function checks if a vehicle is moving backwards or not. This is useful to create back lights on the vehicle.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isVehicleReturning (vehicle theVehicle)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required arguments===&lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] that you want to obtain the rear status of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
This function returns ''true'' if the vehicle is going backwards, otherwise it returns ''false'' if the vehicle is going forwards or is stoped.&lt;br /&gt;
&lt;br /&gt;
==Function source==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function isVehicleMovingBackwards(theVehicle)&lt;br /&gt;
	local getMatrix = getElementMatrix (theVehicle)&lt;br /&gt;
	local getVelocity = Vector3 (getElementVelocity(theVehicle))&lt;br /&gt;
	local getVectorDirection = (getVelocity.x * getMatrix[2][1]) + (getVelocity.y * getMatrix[2][2]) + (getVelocity.z * getMatrix[2][3]) &lt;br /&gt;
	if (getVectorDirection &amp;gt;= 0) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows to the player if their current vehicle is going back or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function vehCheck ()&lt;br /&gt;
	local vehicle = getPedOccupiedVehicle (localPlayer)&lt;br /&gt;
	if vehicle then&lt;br /&gt;
		dxDrawText (tostring(isVehicleReturning (vehicle)), 10, 5) -- Show 'true' or 'false' on the screen.&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler (&amp;quot;onClientRender&amp;quot;, getRootElement(), vehCheck)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 2&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a white corona marker attached to the current vehicle when it is going back and set the marker invisible (size 0) when not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
rearLightL = {}&lt;br /&gt;
rearLightR = {}&lt;br /&gt;
&lt;br /&gt;
function setVehicleRearLightState (theVehicle, light, state)&lt;br /&gt;
	local x, y, z = getElementPosition (theVehicle)&lt;br /&gt;
	if getElementModel (theVehicle) == 426 or getElementModel (theVehicle) == 420 then -- If is a Premier or a Taxi&lt;br /&gt;
		if light == 0 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightL[theVehicle] then&lt;br /&gt;
					rearLightL[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightL[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightL[theVehicle], theVehicle, -0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightL[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightL[theVehicle])&lt;br /&gt;
					rearLightL[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif light == 1 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightR[theVehicle] then&lt;br /&gt;
					rearLightR[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightR[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightR[theVehicle], theVehicle, 0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightR[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightR[theVehicle])&lt;br /&gt;
					rearLightR[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function isRearing ()&lt;br /&gt;
	local everyone = getElementsByType (&amp;quot;player&amp;quot;)&lt;br /&gt;
	for i,v in ipairs (everyone) do&lt;br /&gt;
		local vehicle = getPedOccupiedVehicle (v)&lt;br /&gt;
		if vehicle then&lt;br /&gt;
			if isVehicleReturning (vehicle) then&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 0) -- Turns the 'back light' on.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 0)&lt;br /&gt;
			else&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 1) -- Turns the 'back light' off.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
setTimer (isRearing, 100, 0)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Useful_Functions&amp;diff=53154</id>
		<title>Template:Useful Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Useful_Functions&amp;diff=53154"/>
		<updated>2017-12-20T20:12:50Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Vehicle funcions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ACL functions ===&lt;br /&gt;
*[[aclGroupClone]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function clone a group to another group with/without ACLs and/or objects.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerAcls]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all ACL groups on a player.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPlayerInACL]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a player element is in an ACL group.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[renameAclGroup]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function gives an existing ACL group a new name.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Account functions ===&lt;br /&gt;
*[[setAccountName]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function is used to change an existing account's name.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[removeAccountData]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function is used to remove data from account .&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Camera functions ===&lt;br /&gt;
*[[smoothMoveCamera]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to create a cinematic camera flight.&lt;br /&gt;
&lt;br /&gt;
=== Cursor functions ===&lt;br /&gt;
*[[getCursorMoveOn]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks in which way the cursor is currently moving.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getCursorMovedOn]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks in which way the cursor is currently moving.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Drawing functions ===&lt;br /&gt;
*[[dxDrawAnimWindow]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function draws an animated 2D window on the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawCircle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function draws a number of 2D lines in order to achieve a circle shape on the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawOctagon3D]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function creates a 3D Octagon&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawTriangle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a triangle with dx lines.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawLinedRectangle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a rectangle outline with dx lines.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawBorderedRectangle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a bordered rectangle .&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawGifImage]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function simulates the effect of a GIF image by using image sprites in 2D.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawImage3D]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function draws a 3D image in GTA world.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawImageOnElement]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function draws an image on any element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawLoading]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function draws a loading bar on the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawProgressBar]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function simulates a progress bar drawed using DirectDraw.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawRectangle3D]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function draws a 3D rectangle in GTA world.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawTextOnElement]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function draws a text on any element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxGetFontSizeFromHeight]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function calculates the font size from given height.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxGetRealFontHeight]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function calculates the height of a font.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Effects functions ===&lt;br /&gt;
*[[attachEffect]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you attach an effect to an element.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Elements functions === &lt;br /&gt;
*[[getElementSpeed]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the specified element's speed in m/s, km/h or mph.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementsInDimension]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of elements that are in the specified dimension.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementsWithinMarker]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of elements that are within a marker's collision shape.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementInPhotograph]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if an element is in the player's camera picture area.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementInRange]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to check if an element's range to a main point is within the maximum range.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementMoving]]&amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if an element is moving.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementWithinAColShape]]&amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if an element is within a collision shape element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[multi_check]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks one element to many, handy and clean.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setElementSpeed]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to set the speed of an element in kph or mph units.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
*[[onVehicleWeaponFire]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This code implements an event that is triggered when a player in a vehicle fires a vehicle's weapon.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input functions ===&lt;br /&gt;
*[[bindControlKeys]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to bind each key bound to a control individually. Doing this bypasses a little MTA restriction.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getBoundControls]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of control names that are bound to the specified key.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[unbindControlKeys]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to unbind each key bound to a control individually. Use this function with [[bindControlKeys]].&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Data functions === &lt;br /&gt;
*[[Byte2human]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts an integer (number of bytes) into a human-readable unit.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[capitalize]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function capitalizes a given string.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[convertNumber]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts and formats large numbers.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[convertServerTickToTimeStamp]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts server ticks to a unix timestamp.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[convertTextToSpeech]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts the provided text to a speech in the provided language which players can hear.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[findRotation]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function takes two points and returns the direction from point A to point B.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[FormatDate]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function formats a date on the basis of a format string and returns it.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getRealMonthM]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function gives you the real months name&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getRealMonthH]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function convert english months to arabic months&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[generateString]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function generates a random string with any characters.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[generateRandomASCIIString]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a random string which uses ASCII characters. &amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getAge]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function calculates the age of a given birthday.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getDistanceBetweenPointAndSegment2D]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getEasterDate]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns easter date monthday and month for a given year.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getKeyFromValueInTable]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the key of the specified value in a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getOffsetFromXYZ]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to take an entity and a position and calculate the relative offset between them accounting for rotations.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPointFromDistanceRotation]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function finds a point based on a starting point, direction and distance.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getRGColorFromPercentage]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia', sans-serif; font-size:smaller;&amp;quot;&amp;gt;»This function returns two integers representing red and green colors according to the specified percentage.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getScreenRotationFromWorldPosition]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a screen relative rotation to a world position.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getTimestamp]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the UNIX timestamp of a specified date and time.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isLeapYear]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a boolean representing if a given year is a leap year.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isValidMail]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether a provided e-mail string is valid.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[removeHex]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function is used to remove hexadecimal numbers (colors, for example) from strings.&lt;br /&gt;
*[[RGBToHex]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a string representing the color in hexadecimal.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[toHex]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts a decimal number to a hexadecimal number, as a fix to be used client-side.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[secondsToTimeDesc]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts a plain seconds-integer into a user-friendly time description.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[string.count]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function counts the amount of occurences of a string in a string.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[string.explode]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function splits a string at a given separator pattern and returns a table with the pieces.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[switch]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows the value of a variable or expression to control the flow of program execution via a multiway branch.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[var dump]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function outputs information about one or more variables using outputConsole.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[wavelengthToRGBA]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts a physical wavelength of light to a RGBA color.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI functions === &lt;br /&gt;
*[[centerWindow]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function centers a CEGUI window element responsively in any resolution.&amp;lt;/span&amp;gt;&lt;br /&gt;
=====Comboboxes=====&lt;br /&gt;
*[[guiComboBoxAdjustHeight]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function adjusts a CEGUI combobox element to have the correct height.&amp;lt;/span&amp;gt;&lt;br /&gt;
=====Gridlists=====&lt;br /&gt;
*[[getGridListRowIndexFromText]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the GridList row index from the specified text.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiGridListGetSelectedText]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a string containing the inner text of a selected gridlist item.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiGridListAddPlayers]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function add all online players to a grid list.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isTextInGridList]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if some text exist or not in the GridList.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Math functions ===&lt;br /&gt;
*[[mathNumber]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function is a workaround for the client-side floating-point precision of 24-bits.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.hypot]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the Hypotenuse of the triangle given by sides x and y.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.percent]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a percentage from two number values.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.round]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» Rounds a number whereas the number of decimals to keep and the method may be set.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[reMap]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» Re-maps a number from one range to another.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ped functions ===&lt;br /&gt;
*[[getAlivePlayers (Client)|getAlivePlayers]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the alive players client-side.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getAlivePlayersInTeam]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the alive players in a team.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getOnlineAdmins]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all logged-in administrators.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedMaxHealth]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a pedestrians's maximum health by converting it from their maximum health stat.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedMaxOxygenLevel]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a ped's maximum oxygen level by converting it from their maximum underwater stamina stat.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerFromNamePart]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a player from partial name.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerFromSerial]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a player from their serial.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersInGroup]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns all Players In Group .&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getGuestPlayers]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function gets a players not login or players Guest .&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersByData]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of players that have the specified data name.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersInPhotograph]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all players in photograph.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedAiming]]&amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a pedestrian is aiming their weapon.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedDrivingVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a specified pedestrian is driving a vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPlayerInTeam]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a player is in a specified team.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedAimingNearPed]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This is similar to isPedAiming but uses a colshape to be more precise.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedEyesPosition]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to get peds eyes position.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resource functions ===&lt;br /&gt;
*[[getResourceSettings]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the resource settings.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getResourceScripts]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the resource scripts.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[refreshResource]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function refreshes your resource if you changed any of the files&lt;br /&gt;
&lt;br /&gt;
=== Sound functions ===&lt;br /&gt;
*[[isSoundFinished]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a sound element has finished.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[stopSoundSlowly]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function stop your sound element slowly.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Table functions ===&lt;br /&gt;
*[[rangeToTable]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function converts a string range to a table containing number values.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setTableProtected]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function protects a table and makes it read-only.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.copy]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function copies a whole table and all the tables in that table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.compare]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether two given tables are equal.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.empty]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether a table is empty.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.map]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.merge]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function merges two or more tables together.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.random]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function retrieves a random value from a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.size]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the absolute size of a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.removeValue]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function removes a specified value from a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Sort_Functions]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» These functions are able to sort your tables by a key.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Team functions ===&lt;br /&gt;
*[[getTeamFromColor]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a team element by the specified color.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getTeamWithFewestPlayers]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a team element with least players of all the specified teams.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vehicle funcions === &lt;br /&gt;
*[[getRandomVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function gets a random vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getValidVehicleModels]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all valid vehicle models.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getVehicleRespawnPosition]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to get the respawn position of a vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getVehiclesCountByType]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the amount of vehicles by the given type as an integer value.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleEmpty]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether a vehicle is empty.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getNearestVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function gets the nearest vehicle to the specified player in a specified distance.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleOccupied]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a specified vehicle is occupied.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleMovingBackwards]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a specified vehicle is moving backwards.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleOnRoof]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether vehicle is on roof.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setVehicleGravityPoint]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weapon functions === &lt;br /&gt;
*[[getJetpackWeaponsEnabled]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of enabled weapons usable on a jetpack.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML functions ===&lt;br /&gt;
*[[getXMLNodes]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns all children of a XML node.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
*[[Check]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if its arguments are of the right type and calls the error-function if one is not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[coroutine.resume]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function applies a fix for hidden coroutine error messages.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[callClientFunction]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to call any client-side function from the server's side.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[callServerFunction]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to call any server-side function from the client's side.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[animate]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to use interpolateBetween without render event and easily used.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getBanFromName]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This functions returns the ban of the given playername.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getCurrentFPS]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns the frames per second at which GTA: SA is running.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[IfElse]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns one of two values based on a boolean expression.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isCursorOnElement]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether the cursor is in a particular area.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isMouseInCircle]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a cursor position is in circular area or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isMouseInPosition]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to check whether the mouse cursor/pointer is within a rectangular position.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[iterElements]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This function returns ''a time-saving'' iterator for your for-loops.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[vector3:compare]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This method checks whether two vectors match, with optional precision.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[thisCommandHandlersExist]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This method checks a string if this exist as command Handlers&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Useful Functions]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsVehicleReturning&amp;diff=53153</id>
		<title>IsVehicleReturning</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsVehicleReturning&amp;diff=53153"/>
		<updated>2017-12-20T20:11:40Z</updated>

		<summary type="html">&lt;p&gt;Banex: Banex moved page IsVehicleReturning to IsVehicleMovingBackwards: This name is best suited for this function&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[IsVehicleMovingBackwards]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53152</id>
		<title>IsVehicleReversing</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53152"/>
		<updated>2017-12-20T20:11:40Z</updated>

		<summary type="html">&lt;p&gt;Banex: Banex moved page IsVehicleReturning to IsVehicleMovingBackwards: This name is best suited for this function&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function checks if a vehicle is moving backwards or not. This is useful to create back lights on the vehicle.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isVehicleReturning (vehicle theVehicle)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required arguments===&lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] that you want to obtain the rear status of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
This function returns ''true'' if the vehicle is going backwards, otherwise it returns ''false'' if the vehicle is going forwards or is stoped.&lt;br /&gt;
&lt;br /&gt;
==Function source==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function isVehicleReturning (theVehicle)&lt;br /&gt;
	local getMatrix = getElementMatrix (theVehicle)&lt;br /&gt;
	local getVelocity = Vector3 (getElementVelocity(theVehicle))&lt;br /&gt;
	local getVectorDirection = (getVelocity.x * getMatrix[2][1]) + (getVelocity.y * getMatrix[2][2]) + (getVelocity.z * getMatrix[2][3]) &lt;br /&gt;
	if (getVectorDirection &amp;gt;= 0) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows to the player if their current vehicle is going back or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function vehCheck ()&lt;br /&gt;
	local vehicle = getPedOccupiedVehicle (localPlayer)&lt;br /&gt;
	if vehicle then&lt;br /&gt;
		dxDrawText (tostring(isVehicleReturning (vehicle)), 10, 5) -- Show 'true' or 'false' on the screen.&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler (&amp;quot;onClientRender&amp;quot;, getRootElement(), vehCheck)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 2&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a white corona marker attached to the current vehicle when it is going back and set the marker invisible (size 0) when not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
rearLightL = {}&lt;br /&gt;
rearLightR = {}&lt;br /&gt;
&lt;br /&gt;
function setVehicleRearLightState (theVehicle, light, state)&lt;br /&gt;
	local x, y, z = getElementPosition (theVehicle)&lt;br /&gt;
	if getElementModel (theVehicle) == 426 or getElementModel (theVehicle) == 420 then -- If is a Premier or a Taxi&lt;br /&gt;
		if light == 0 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightL[theVehicle] then&lt;br /&gt;
					rearLightL[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightL[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightL[theVehicle], theVehicle, -0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightL[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightL[theVehicle])&lt;br /&gt;
					rearLightL[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif light == 1 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightR[theVehicle] then&lt;br /&gt;
					rearLightR[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightR[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightR[theVehicle], theVehicle, 0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightR[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightR[theVehicle])&lt;br /&gt;
					rearLightR[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function isRearing ()&lt;br /&gt;
	local everyone = getElementsByType (&amp;quot;player&amp;quot;)&lt;br /&gt;
	for i,v in ipairs (everyone) do&lt;br /&gt;
		local vehicle = getPedOccupiedVehicle (v)&lt;br /&gt;
		if vehicle then&lt;br /&gt;
			if isVehicleReturning (vehicle) then&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 0) -- Turns the 'back light' on.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 0)&lt;br /&gt;
			else&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 1) -- Turns the 'back light' off.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
setTimer (isRearing, 100, 0)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53149</id>
		<title>IsVehicleReversing</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsVehicleReversing&amp;diff=53149"/>
		<updated>2017-12-20T11:41:38Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Function source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function checks if a vehicle is going back or not. This is useful to create back lights to the vehicle.&lt;br /&gt;
&lt;br /&gt;
==Syntaxe==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isVehicleReturning (vehicle theVehicle)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required arguments===&lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] that you want to obtain the rear status of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
This function returns ''true'' if the vehicle is returning, otherwise it returns ''false'' if the vehicle is going forward or is stoped.&lt;br /&gt;
&lt;br /&gt;
==Function source==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function isVehicleReturning (theVehicle)&lt;br /&gt;
	local getMatrix = getElementMatrix (theVehicle)&lt;br /&gt;
	local getVelocity = Vector3 (getElementVelocity(theVehicle))&lt;br /&gt;
	local getVectorDirection = (getVelocity.x * getMatrix[2][1]) + (getVelocity.y * getMatrix[2][2]) + (getVelocity.z * getMatrix[2][3]) &lt;br /&gt;
	if (getVectorDirection &amp;gt;= 0) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows to the player if their current vehicle is going back or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function vehCheck ()&lt;br /&gt;
	local vehicle = getPedOccupiedVehicle (localPlayer)&lt;br /&gt;
	if vehicle then&lt;br /&gt;
		dxDrawText (tostring(isVehicleReturning (vehicle)), 10, 5) -- Show 'true' or 'false' on the screen.&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler (&amp;quot;onClientRender&amp;quot;, getRootElement(), vehCheck)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 2&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a white corona marker attached to the current vehicle when it is going back and set the marker invisible (size 0) when not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
rearLightL = {}&lt;br /&gt;
rearLightR = {}&lt;br /&gt;
&lt;br /&gt;
function setVehicleRearLightState (theVehicle, light, state)&lt;br /&gt;
	local x, y, z = getElementPosition (theVehicle)&lt;br /&gt;
	if getElementModel (theVehicle) == 426 or getElementModel (theVehicle) == 420 then -- If is a Premier or a Taxi&lt;br /&gt;
		if light == 0 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightL[theVehicle] then&lt;br /&gt;
					rearLightL[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightL[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightL[theVehicle], theVehicle, -0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightL[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightL[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightL[theVehicle])&lt;br /&gt;
					rearLightL[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		elseif light == 1 then&lt;br /&gt;
			if state == 0 then&lt;br /&gt;
				if not rearLightR[theVehicle] then&lt;br /&gt;
					rearLightR[theVehicle] = createMarker (x, y, z, &amp;quot;corona&amp;quot;, 0.1, 255, 255, 255, 255)&lt;br /&gt;
				end&lt;br /&gt;
				setMarkerSize (rearLightR[theVehicle], 0.1)&lt;br /&gt;
				attachElements (rearLightR[theVehicle], theVehicle, 0.85, -2.7, -0.05)&lt;br /&gt;
			elseif state == 1 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					setMarkerSize (rearLightR[theVehicle], 0)&lt;br /&gt;
				end&lt;br /&gt;
			elseif state == 2 then&lt;br /&gt;
				if rearLightR[theVehicle] then&lt;br /&gt;
					destroyElement (rearLightR[theVehicle])&lt;br /&gt;
					rearLightR[theVehicle] = nil&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function isRearing ()&lt;br /&gt;
	local everyone = getElementsByType (&amp;quot;player&amp;quot;)&lt;br /&gt;
	for i,v in ipairs (everyone) do&lt;br /&gt;
		local vehicle = getPedOccupiedVehicle (v)&lt;br /&gt;
		if vehicle then&lt;br /&gt;
			if isVehicleReturning (vehicle) then&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 0) -- Turns the 'back light' on.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 0)&lt;br /&gt;
			else&lt;br /&gt;
				setVehicleRearLightState (vehicle, 0, 1) -- Turns the 'back light' off.&lt;br /&gt;
				setVehicleRearLightState (vehicle, 1, 1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
setTimer (isRearing, 100, 0)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Example by: LordHenry&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=O_arquivo_Meta&amp;diff=46021</id>
		<title>O arquivo Meta</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=O_arquivo_Meta&amp;diff=46021"/>
		<updated>2015-09-27T23:15:36Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Tags */ download_priority_group added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O ''meta.xml'' é um arquivo de metadados que define ao MTA os conceitos iniciais de um recurso. Exemplos seriam seu nome, os scripts a serem usados e quais devem ser pré-carregados para serem transferidos ao cliente; junto a outros de sua natureza. Ele também transforma arquivos em elementos, a exemplo de sons, imagens e modelos. É escrito em XML, o qual é baseado em HTML e é pai do XHTML.&lt;br /&gt;
&lt;br /&gt;
''obs'': Metadados são dados sobre outros dados. O termo é estranho, mas o próprio nome já diz. No caso do MTA eles seriam metadados descritivos, pois se referem ao conteúdo do jogo.&lt;br /&gt;
&lt;br /&gt;
=Tags=&lt;br /&gt;
O XML é um formato de texto muito usado para representar dados, inclusive pelo MTA. As tags a seguir são todas as possibilidades: &lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Representa informações sobre o recurso que podem ser usados de forma opcional, e lidos pela função [[getResourceInfo]], caso necessário:&lt;br /&gt;
** '''author:''' O autor do recurso&lt;br /&gt;
** '''version:''' A versão do recurso&lt;br /&gt;
** '''name:'''' O nome do recurso&lt;br /&gt;
** '''description:''' Uma breve descrição do recurso&lt;br /&gt;
** '''type:''' Qual é o tipo do recurso, pode ser um &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot;, ou &amp;quot;misc&amp;quot;.&lt;br /&gt;
* '''&amp;lt;script /&amp;gt;''' O código fonte do recurso, os possíveis parâmetros são:&lt;br /&gt;
** '''src:''' O nome do arquivo do código fonte&lt;br /&gt;
** '''type:''' O tipo de código-fonte: &amp;quot;client&amp;quot;, &amp;quot;server&amp;quot; ou &amp;quot;shared&amp;quot;.&lt;br /&gt;
** '''cache:''' Quando o script é do tipo client, esse atributo diz se o arquivo será salvo ou não no disco rígido dele. O padrão é &amp;quot;true&amp;quot;, se for usado o contrário, será apagado quando o recurso parar.&lt;br /&gt;
** '''validate:''' Se for definido como falso, o MTA não verificará se é compatível&lt;br /&gt;
* '''&amp;lt;map /&amp;gt;''' Define mapa do gamemode, os possíveis atributos são:&lt;br /&gt;
** '''src:''' o nome do arquivo .map (pode também ser o diretório, ex: ''maps/nome-do-mapa.map)&lt;br /&gt;
** '''dimension:''' Dimensão em que o mapa será carregado (opcional)&lt;br /&gt;
* '''&amp;lt;File /&amp;gt;''' Um arquivo do lado do cliente. Geralmente são imagens, .txd, .col, .dff ou arquivos .xml. Eles vão ser baixado pelos clientes quando o recurso é iniciado (ou quando ele entrar no servidor)&lt;br /&gt;
** '''src:''' nome do arquivo do lado do cliente (pode ser outro caminho por exemplo, &amp;quot;images/imagem.png&amp;quot;.)&lt;br /&gt;
** '''download:''' Vai ou não ser enviado para o cliente automaticamente(opcional). O padrão é &amp;quot;true&amp;quot;. Usando &amp;quot;false&amp;quot; significa que eles não são enviados no início de recursos, mas poderia ser usado posteriormente por DownloadFile (a partir da versão 1.4)&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Inclui os recursos necessários a estarem rodando&lt;br /&gt;
**'''resource:''' Nome do recurso que você quer iniciar junto com esse&lt;br /&gt;
**'''minversion:''' A versão mínima desse recurso (opcional)&lt;br /&gt;
**'''maxversion:''' A versão máxima desse recurso (opcional)&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' O arquivo de configuração em XML a ser usado pelo recurso:&lt;br /&gt;
**'''src:''' Seu nome&lt;br /&gt;
**'''type:''' Seu tipo: &amp;quot;client&amp;quot; ou &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Exporta uma função do seu recurso, para que outros possam usa-la com o [[call]]&lt;br /&gt;
**'''function:''' O nome da função&lt;br /&gt;
**'''type:''' Diz se será exportado para o lado do cliente ou servidor (valores válidos são: &amp;quot;server&amp;quot; ou &amp;quot;client&amp;quot;)&lt;br /&gt;
**'''http:''' Indica se ele pode ser chamado via HTTP (&amp;quot;true&amp;quot; ou &amp;quot;false&amp;quot;)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' O nome do arquivo HTTP (pode ser um diretório)&lt;br /&gt;
**'''default:''' Qual arquivo html a ser mostrado por padrão ao acessar o caminho ''/nome-do-recurso/'' no servidor. Somente um html pode ser definido, os outros são ignorados (true/false)&lt;br /&gt;
**'''raw:''' O arquivo html não é interpretado pelo Lua e assim só passa como um dado binário. Deve ser usado para arquivos binários, como imagens principalmente (true/false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Muitos gamemodes usam o [[PT-BR/Sistema_de_Configurações|sistema de configurações]] para habilitar administradores do servidor configurá-los como desejarem. Um exemplo seria definir o tempo de duração da partida e usar o [[get]] e [[set]] para manipular o valor responsável por isso.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Versão mínima do MTA para o recurso rodar sem problemas. Quando estiver terminando um recurso, a versão mínima deve a mesma da versão do MTA:SA que está usando (a qual no momento é {{Current Version|full}}). Veja o exemplo abaixo.&lt;br /&gt;
**'''client:''' A versão mínima do cliente&lt;br /&gt;
**'''server:''' A versão mínima do servidor&lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' Indica uma lista de permissões do [[Access_Control_List|ACL]] a serem usados pelo recurso.&lt;br /&gt;
*'''&amp;lt;sync_map_element_data /&amp;gt;''' Indica se os dados de elemento como &amp;quot;PosX&amp;quot; e &amp;quot;DoubleSided&amp;quot; são tranferidos para o cliente. Esses geralmente não são necessários por muitos gamemodes ou recursos, exceto ''Map Editor'' e ''Interiors''; caso contrário, não funcionarão. Quando definido no recurso, se aplicará a todos os mapas carregados por ele.&lt;br /&gt;
**'''false:''' Desabilita essa transferência para todos os recursos. Isso pode reduzir a demora de download consideravelmente.&lt;br /&gt;
**'''true:''' Habilita essa tranferência. Se esses valores forem definidos de forma distinta entre os recursos, o que estiver configurado como &amp;quot;true&amp;quot; terá prioridade e todos os demais transferirão esse mesmo dado.&lt;br /&gt;
*'''&amp;lt;oop/&amp;gt;''' OOP - Veja mais informações na página: [[OOP]]&lt;br /&gt;
**'''false:''' Desabilita o OOP.&lt;br /&gt;
**'''true:''' Habilita-o&lt;br /&gt;
*'''&amp;lt;download_priority_group/&amp;gt;''' O valor padrão do grupo de prioridade de download do recurso é 0. Se este for definido para um valor maior que 0, então o recurso será baixado e iniciado no cliente antes dos outros recursos. Se defindo para um valor menor que 0, o recurso será baixado e iniciado no cliente depois dos outros recursos.&lt;br /&gt;
&lt;br /&gt;
== Exemplo ==&lt;br /&gt;
Aqui está um exemplo de um arquivo meta usando algumas das tags mencionadas:&lt;br /&gt;
{{#tag:code |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;download_priority_group&amp;gt;0&amp;lt;/download_priority_group&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;sync_map_element_data&amp;gt;false&amp;lt;/sync_map_element_data&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot; validate=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;riemann_z_demonstration.lua&amp;quot; type=&amp;quot;client&amp;quot; cache=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;map src=&amp;quot;base.map&amp;quot; dimension=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; download=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; download=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport1&amp;quot; type=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport2&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport3&amp;quot; type=&amp;quot;shared&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- duração da partida em minutos --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 para desligar a proteção de time e 1 para ligar --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  o limite de diferença entre o número de jogadores dos times --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- quantidade de munição --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;isAllowedToShoot&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
[[Category:Conceitos de Scripting]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Math.round&amp;diff=45925</id>
		<title>Math.round</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Math.round&amp;diff=45925"/>
		<updated>2015-09-11T19:31:14Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Example */ fix code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function is a full featured round function for Lua's math-library.&lt;br /&gt;
Bear in mind that both the floor and the ceil method may not work properly clientside when you pass something greater than 0 as second argument. This is because of some weird clientside number bug. It's fixed for the round method.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int/float math.round( float number, [ int decimals = 0, string method = &amp;quot;round&amp;quot; ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''number''': The number to round.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''decimals''': The number of decimals to keep.&lt;br /&gt;
* '''method''': The round method that should be used. Valid values are &amp;quot;round&amp;quot; (which is default), &amp;quot;floor&amp;quot; and &amp;quot;ceil&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the rounded number.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server- and/or clientside Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function math.round(number, decimals, method)&lt;br /&gt;
    decimals = decimals or 0&lt;br /&gt;
    local factor = 10 ^ decimals&lt;br /&gt;
    if (method == &amp;quot;ceil&amp;quot; or method == &amp;quot;floor&amp;quot;) then return math[method](number * factor) / factor&lt;br /&gt;
    else return tonumber((&amp;quot;%.&amp;quot;..decimals..&amp;quot;f&amp;quot;):format(number)) end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Example&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example adds a command that outputs the players current position approximated to three decimals.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function pos(thePlayer, command)&lt;br /&gt;
	local x, y, z = getElementPosition(getPedOccupiedVehicle(thePlayer) or thePlayer)&lt;br /&gt;
	outputChatBox(&amp;quot;Your current position: [&amp;quot;..math.round(x, 3)..&amp;quot;|&amp;quot;..math.round(y, 3)..&amp;quot;|&amp;quot;..math.round(z, 3)..&amp;quot;]&amp;quot;, thePlayer)&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;pos&amp;quot;,pos)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetPedWalkingStyle&amp;diff=44828</id>
		<title>SetPedWalkingStyle</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetPedWalkingStyle&amp;diff=44828"/>
		<updated>2015-04-02T23:53:08Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
Sets the walking style of a ped. A walking style consists of a set of animations that are used for walking, running etc.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setPedWalkingStyle ( ped thePed, int style )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[Ped|ped]]:setWalkingStyle|walkingStyle|getPedWalkingStyle}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''thePed:''' the ped whose walking style to change.&lt;br /&gt;
*'''style:''' the walking style to set.&lt;br /&gt;
&lt;br /&gt;
The possible walking styles are:&lt;br /&gt;
&lt;br /&gt;
{{Ped walking styles}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client example&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Changes the walking style of the player when the resource is started&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientResourceStart()&lt;br /&gt;
	setPedWalkingStyle(localPlayer,126)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;,resourceRoot, onClientResourceStart)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Ped functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetPedWalkingStyle&amp;diff=44678</id>
		<title>SetPedWalkingStyle</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetPedWalkingStyle&amp;diff=44678"/>
		<updated>2015-02-16T16:09:03Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Returns */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
Sets the walking style of a ped. A walking style consists of a set of animations that are used for walking, running etc.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setPedWalkingStyle ( ped thePed, int style )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[Ped|ped]]:setWalkingStyle|walkingStyle|getPedWalkingStyle}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''thePed:''' the ped whose walking style to change.&lt;br /&gt;
*'''style:''' the walking style to set.&lt;br /&gt;
&lt;br /&gt;
The possible walking styles are:&lt;br /&gt;
&lt;br /&gt;
{{Ped walking styles}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client example&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Changes the walking style of the player when the resource is started&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onStart()&lt;br /&gt;
	setPedWalkingStyle(localPlayer,126)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;,getResourceRootElement(getThisResource()), onStart)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Ped functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetPlayerHudComponentVisible&amp;diff=44062</id>
		<title>SetPlayerHudComponentVisible</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetPlayerHudComponentVisible&amp;diff=44062"/>
		<updated>2015-01-25T14:42:18Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{Note|This function is identical to showPlayerHudComponent}}&lt;br /&gt;
This function will show or hide a part of the player's HUD. &lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setPlayerHudComponentVisible ( player thePlayer, string component, bool show )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|[[player]]:setHudComponentVisible||}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''thePlayer:''' The player element for which you wish to show/hide a HUD component&lt;br /&gt;
*'''component:''' The component you wish to show or hide. Valid values are:&lt;br /&gt;
:*'''all:''' All of the following at the same time&lt;br /&gt;
:*'''ammo:''' The display showing how much ammo the player has in their weapon&lt;br /&gt;
:*'''area_name:''' The text that appears containing the name of the area a player has entered&lt;br /&gt;
:*'''armour:''' The display showing the player's armor&lt;br /&gt;
:*'''breath:''' The display showing the player's breath&lt;br /&gt;
:*'''clock:''' The display showing the in-game time&lt;br /&gt;
:*'''health:''' The display showing the player's health&lt;br /&gt;
:*'''money:''' The display showing how much money the player has&lt;br /&gt;
:*'''radar:''' The bottom-left corner miniradar&lt;br /&gt;
:*'''vehicle_name:''' The text that appears containing the player's vehicle name when the player enters a vehicle&lt;br /&gt;
:*'''weapon:''' The display showing the player's weapon&lt;br /&gt;
{{New feature|3.0110|1.1|&lt;br /&gt;
:*'''radio:''' The display showing the radio label&lt;br /&gt;
:*'''wanted:''' The display showing the player's wanted level&lt;br /&gt;
:*'''crosshair:''' The weapon crosshair and sniper scope&lt;br /&gt;
}}&lt;br /&gt;
*'''show:''' Specify if the component should be shown (''true'') or hidden (''false'')&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setPlayerHudComponentVisible ( string component, bool show )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''component:''' The component you wish to show or hide. Valid values are:&lt;br /&gt;
:*'''all:''' All of the following at the same time&lt;br /&gt;
:*'''ammo:''' The display showing how much ammo the player has in their weapon&lt;br /&gt;
:*'''area_name:''' The text that appears containing the name of the area a player has entered&lt;br /&gt;
:*'''armour:''' The display showing the player's armor&lt;br /&gt;
:*'''breath:''' The display showing the player's breath&lt;br /&gt;
:*'''clock:''' The display showing the in-game time&lt;br /&gt;
:*'''health:''' The display showing the player's health&lt;br /&gt;
:*'''money:''' The display showing how much money the player has&lt;br /&gt;
:*'''radar:''' The bottom-left corner miniradar&lt;br /&gt;
:*'''vehicle_name:''' The text that appears containing the player's vehicle name when the player enters a vehicle&lt;br /&gt;
:*'''weapon:''' The display showing the player's weapon&lt;br /&gt;
{{New feature/item|3.0110|1.1||&lt;br /&gt;
:*'''radio:''' The display showing the radio label&lt;br /&gt;
:*'''wanted:''' The display showing the player's wanted level&lt;br /&gt;
:*'''crosshair:''' The weapon crosshair and sniper scope&lt;br /&gt;
}}&lt;br /&gt;
*'''show:''' Specify if the component should be shown (''true'') or hidden (''false'')&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the component was shown or hidden succesfully, ''false'' if an invalid argument was specified.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.2|1.3.2}}&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example hides the ammo and weapon displays for players when they join.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Hide some of the hud components when a player joins the server&lt;br /&gt;
addEventHandler ( &amp;quot;onPlayerJoin&amp;quot;, root, &lt;br /&gt;
    function ()&lt;br /&gt;
        setPlayerHudComponentVisible ( source, &amp;quot;ammo&amp;quot;, false )    -- Hide the ammo displays for the newly joined player&lt;br /&gt;
        setPlayerHudComponentVisible ( source, &amp;quot;weapon&amp;quot;, false )  -- Hide the weapon displays for the newly joined player&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example hides the ammo and weapon displays for players when they join.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Hide the hud when the resource is started&lt;br /&gt;
local components = { &amp;quot;weapon&amp;quot;, &amp;quot;ammo&amp;quot;, &amp;quot;health&amp;quot;, &amp;quot;clock&amp;quot;, &amp;quot;money&amp;quot;, &amp;quot;breath&amp;quot;, &amp;quot;armour&amp;quot;, &amp;quot;wanted&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, getResourceRootElement(getThisResource()),&lt;br /&gt;
function ()&lt;br /&gt;
	for _, component in ipairs( components ) do&lt;br /&gt;
		setPlayerHudComponentVisible( component, false )&lt;br /&gt;
	end&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Player_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetPlayerHudComponentVisible&amp;diff=44061</id>
		<title>SetPlayerHudComponentVisible</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetPlayerHudComponentVisible&amp;diff=44061"/>
		<updated>2015-01-25T14:41:12Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{Note|This function is identical to showPlayerHudComponent}}&lt;br /&gt;
This function will show or hide a part of the player's HUD. &lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setPlayerHudComponentVisible ( player thePlayer, string component, bool show )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|[[player]]:setHudComponentVisible||}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''thePlayer:''' The player element for which you wish to show/hide a HUD component&lt;br /&gt;
*'''component:''' The component you wish to show or hide. Valid values are:&lt;br /&gt;
:*'''all:''' All of the following at the same time&lt;br /&gt;
:*'''ammo:''' The display showing how much ammo the player has in their weapon&lt;br /&gt;
:*'''area_name:''' The text that appears containing the name of the area a player has entered&lt;br /&gt;
:*'''armour:''' The display showing the player's armor&lt;br /&gt;
:*'''breath:''' The display showing the player's breath&lt;br /&gt;
:*'''clock:''' The display showing the in-game time&lt;br /&gt;
:*'''health:''' The display showing the player's health&lt;br /&gt;
:*'''money:''' The display showing how much money the player has&lt;br /&gt;
:*'''radar:''' The bottom-left corner miniradar&lt;br /&gt;
:*'''vehicle_name:''' The text that appears containing the player's vehicle name when the player enters a vehicle&lt;br /&gt;
:*'''weapon:''' The display showing the player's weapon&lt;br /&gt;
{{New feature|3.0110|1.1|&lt;br /&gt;
:*'''radio:''' The display showing the radio label&lt;br /&gt;
:*'''wanted:''' The display showing the player's wanted level&lt;br /&gt;
:*'''crosshair:''' The weapon crosshair and sniper scope&lt;br /&gt;
}}&lt;br /&gt;
*'''show:''' Specify if the component should be shown (''true'') or hidden (''false'')&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setPlayerHudComponentVisible ( string component, bool show )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''component:''' The component you wish to show or hide. Valid values are:&lt;br /&gt;
:*'''all:''' All of the following at the same time&lt;br /&gt;
:*'''ammo:''' The display showing how much ammo the player has in their weapon&lt;br /&gt;
:*'''area_name:''' The text that appears containing the name of the area a player has entered&lt;br /&gt;
:*'''armour:''' The display showing the player's armor&lt;br /&gt;
:*'''breath:''' The display showing the player's breath&lt;br /&gt;
:*'''clock:''' The display showing the in-game time&lt;br /&gt;
:*'''health:''' The display showing the player's health&lt;br /&gt;
:*'''money:''' The display showing how much money the player has&lt;br /&gt;
:*'''radar:''' The bottom-left corner miniradar&lt;br /&gt;
:*'''vehicle_name:''' The text that appears containing the player's vehicle name when the player enters a vehicle&lt;br /&gt;
:*'''weapon:''' The display showing the player's weapon&lt;br /&gt;
{{New feature/item|3.0110|1.1||&lt;br /&gt;
:*'''radio:''' The display showing the radio label&lt;br /&gt;
:*'''wanted:''' The display showing the player's wanted level&lt;br /&gt;
:*'''crosshair:''' The weapon crosshair and sniper scope&lt;br /&gt;
}}&lt;br /&gt;
*'''show:''' Specify if the component should be shown (''true'') or hidden (''false'')&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the component was shown or hidden succesfully, ''false'' if an invalid argument was specified.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.2|1.3.2}}&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example hides the ammo and weapon displays for players when they join.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Hide some of the hud components when a player joins the server&lt;br /&gt;
addEventHandler ( &amp;quot;onPlayerJoin&amp;quot;, root, &lt;br /&gt;
    function ()&lt;br /&gt;
        setPlayerHudComponentVisible ( source, &amp;quot;ammo&amp;quot;, false )    -- Hide the ammo displays for the newly joined player&lt;br /&gt;
        setPlayerHudComponentVisible ( source, &amp;quot;weapon&amp;quot;, false )  -- Hide the weapon displays for the newly joined player&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example hides the ammo and weapon displays for players when they join.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Hide the hud when the resource is started&lt;br /&gt;
local components = { &amp;quot;weapon&amp;quot;, &amp;quot;ammo&amp;quot;, &amp;quot;health&amp;quot;, &amp;quot;clock&amp;quot;, &amp;quot;money&amp;quot;, &amp;quot;breath&amp;quot;, &amp;quot;armour&amp;quot;, &amp;quot;wanted&amp;quot; }&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, getResourceRootElement(getThisResource()),&lt;br /&gt;
function ()&lt;br /&gt;
	for _, component in ipairs( components ) do&lt;br /&gt;
		showPlayerHudComponent( component, false )&lt;br /&gt;
	end&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Player_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FileCreate&amp;diff=43959</id>
		<title>FileCreate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FileCreate&amp;diff=43959"/>
		<updated>2015-01-11T21:25:49Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
&lt;br /&gt;
Creates a new file in a directory of a resource. If there already exists a file with the specified name, it is overwritten with an empty file.&lt;br /&gt;
{{Note|The file functions should not be used to implement configuration files. It is encouraged to use the XML functions for this instead.)}}&lt;br /&gt;
{{Tip|If you do not want to share the content of the created file with other servers, prepend the file path with @ (See [[filepath]] for more information)}}&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
file fileCreate ( string filePath )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|This function is a static function underneath the File class.|[[File]].new}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''filePath:''' The [[filepath]] of the file to be created in the following format: '''&amp;quot;:resourceName/path&amp;quot;'''. 'resourceName' is the name of the resource the file is in, and 'path' is the path from the root directory of the resource to the file.&lt;br /&gt;
:For example, if you want to create a file named 'myfile.txt' in the resource 'mapcreator', it can be created from another resource this way: ''fileCreate(&amp;quot;:mapcreator/myfile.txt&amp;quot;)''.&lt;br /&gt;
:If the file is in the current resource, only the file path is necessary, e.g. ''fileCreate(&amp;quot;myfile.txt&amp;quot;)''.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
If successful, returns a file handle which can be used with other file functions ([[fileWrite]], [[fileClose]]...). Returns ''false'' if an error occured.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example creates a text file in the current resource and writes a string to it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local newFile = fileCreate(&amp;quot;test.txt&amp;quot;)                -- attempt to create a new file&lt;br /&gt;
if (newFile) then                                       -- check if the creation succeeded&lt;br /&gt;
    fileWrite(newFile, &amp;quot;This is a test file!&amp;quot;)        -- write a text line&lt;br /&gt;
    fileClose(newFile)                                -- close the file once you're done with it&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notice that you can't simply do ''fileWrite(&amp;quot;test.txt&amp;quot;, &amp;quot;File content&amp;quot;)''. Instead, file functions operate on a '''file handle''', which is a special object representing an open file. ''fileCreate'' creates a file, opens it, and returns the resulting handle.&lt;br /&gt;
&lt;br /&gt;
It is also important to remember to close a file after you've finished all your operations on it, especially if you've been writing to the file. If you don't close a file and your resource crashes, all changes to the file may be lost.&lt;br /&gt;
If the file already exists, a new file will be created on local.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{File functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=O_arquivo_Meta&amp;diff=43227</id>
		<title>O arquivo Meta</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=O_arquivo_Meta&amp;diff=43227"/>
		<updated>2014-12-07T14:56:13Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Tags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O ''meta.xml'' é um arquivo de metadados que define ao MTA os conceitos iniciais de um recurso. Exemplos seriam seu nome, os scripts a serem usados e quais devem ser pré-carregados para serem transferidos ao cliente; junto a outros de sua natureza. Ele também transforma arquivos em elementos, a exemplo de sons, imagens e modelos. É escrito em XML, o qual é baseado em HTML e é pai do XHTML.&lt;br /&gt;
&lt;br /&gt;
''obs'': Metadados são dados sobre outros dados. O termo é estranho, mas o próprio nome já diz. No caso do MTA eles seriam metadados descritivos, pois se referem ao conteúdo do jogo.&lt;br /&gt;
&lt;br /&gt;
=Tags=&lt;br /&gt;
O XML é um formato de texto muito usado para representar dados, inclusive pelo MTA. As tags a seguir são todas as possibilidades: &lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Representa informações sobre o recurso que podem ser usados de forma opcional, e lidos pela função [[getResourceInfo]], caso necessário:&lt;br /&gt;
** '''author:''' O autor do recurso&lt;br /&gt;
** '''version:''' A versão do recurso&lt;br /&gt;
** '''name:'''' O nome do recurso&lt;br /&gt;
** '''description:''' Uma breve descrição do recurso&lt;br /&gt;
** '''type:''' Qual é o tipo do recurso, pode ser um &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot;, ou &amp;quot;misc&amp;quot;.&lt;br /&gt;
* '''&amp;lt;script /&amp;gt;''' O código fonte do recurso, os possíveis parâmetros são:&lt;br /&gt;
** '''src:''' O nome do arquivo do código fonte&lt;br /&gt;
** '''type:''' O tipo de código-fonte: &amp;quot;client&amp;quot;, &amp;quot;server&amp;quot; ou &amp;quot;shared&amp;quot;.&lt;br /&gt;
** '''cache:''' Quando o script é do tipo client, esse atributo diz se o arquivo será salvo ou não no disco rígido dele. O padrão é &amp;quot;true&amp;quot;, se for usado o contrário, será apagado quando o recurso parar.&lt;br /&gt;
** '''validate:''' Se for definido como falso, o MTA não verificará se é compatível&lt;br /&gt;
* '''&amp;lt;map /&amp;gt;''' Define mapa do gamemode, os possíveis atributos são:&lt;br /&gt;
** '''src:''' o nome do arquivo .map (pode também ser o diretório, ex: ''maps/nome-do-mapa.map)&lt;br /&gt;
** '''dimension:''' Dimensão em que o mapa será carregado (opcional)&lt;br /&gt;
* '''&amp;lt;File /&amp;gt;''' Um arquivo do lado do cliente. Geralmente são imagens, .txd, .col, .dff ou arquivos .xml. Eles vão ser baixado pelos clientes quando o recurso é iniciado (ou quando ele entrar no servidor)&lt;br /&gt;
** '''src:''' nome do arquivo do lado do cliente (pode ser outro caminho por exemplo, &amp;quot;images/imagem.png&amp;quot;.)&lt;br /&gt;
** '''download:''' Vai ou não ser enviado para o cliente automaticamente(opcional). O padrão é &amp;quot;true&amp;quot;. Usando &amp;quot;false&amp;quot; significa que eles não são enviados no início de recursos, mas poderia ser usado posteriormente por DownloadFile (a partir da versão 1.4)&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Inclui os recursos necessários a estarem rodando&lt;br /&gt;
**'''resource:''' Nome do recurso que você quer iniciar junto com esse&lt;br /&gt;
**'''minversion:''' A versão mínima desse recurso (opcional)&lt;br /&gt;
**'''maxversion:''' A versão máxima desse recurso (opcional)&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' O arquivo de configuração em XML a ser usado pelo recurso:&lt;br /&gt;
**'''src:''' Seu nome&lt;br /&gt;
**'''type:''' Seu tipo: &amp;quot;client&amp;quot; ou &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Exporta uma função do seu recurso, para que outros possam usa-la com o [[call]]&lt;br /&gt;
**'''function:''' O nome da função&lt;br /&gt;
**'''type:''' Diz se será exportado para o lado do cliente ou servidor (valores válidos são: &amp;quot;server&amp;quot; ou &amp;quot;client&amp;quot;)&lt;br /&gt;
**'''http:''' Indica se ele pode ser chamado via HTTP (&amp;quot;true&amp;quot; ou &amp;quot;false&amp;quot;)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' O nome do arquivo HTTP (pode ser um diretório)&lt;br /&gt;
**'''default:''' Qual arquivo html a ser mostrado por padrão ao acessar o caminho ''/nome-do-recurso/'' no servidor. Somente um html pode ser definido, os outros são ignorados (true/false)&lt;br /&gt;
**'''raw:''' O arquivo html não é interpretado pelo Lua e assim só passa como um dado binário. Deve ser usado para arquivos binários, como imagens principalmente (true/false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Muitos gamemodes usam o [[PT-BR/Sistema_de_Configurações|sistema de configurações]] para habilitar administradores do servidor configurá-los como desejarem. Um exemplo seria definir o tempo de duração da partida e usar o [[get]] e [[set]] para manipular o valor responsável por isso.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Versão mínima do MTA para o recurso rodar sem problemas. Quando estiver terminando um recurso, a versão mínima deve a mesma da versão do MTA:SA que está usando (a qual no momento é {{Current Version|full}}). Veja o exemplo abaixo.&lt;br /&gt;
**'''client:''' A versão mínima do cliente&lt;br /&gt;
**'''server:''' A versão mínima do servidor&lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' Indica uma lista de permissões do [[Access_Control_List|ACL]] a serem usados pelo recurso.&lt;br /&gt;
*'''&amp;lt;sync_map_element_data /&amp;gt;''' Indica se os dados de elemento como &amp;quot;PosX&amp;quot; e &amp;quot;DoubleSided&amp;quot; são tranferidos para o cliente. Esses geralmente não são necessários por muitos gamemodes ou recursos, exceto ''Map Editor'' e ''Interiors''; caso contrário, não funcionarão. Quando definido no recurso, se aplicará a todos os mapas carregados por ele.&lt;br /&gt;
**'''false:''' Desabilita essa transferência para todos os recursos. Isso pode reduzir a demora de download consideravelmente.&lt;br /&gt;
**'''true:''' Habilita essa tranferência. Se esses valores forem definidos de forma distinta entre os recursos, o que estiver configurado como &amp;quot;true&amp;quot; terá prioridade e todos os demais transferirão esse mesmo dado.&lt;br /&gt;
*'''&amp;lt;oop/&amp;gt;''' OOP - Veja mais informações na página: [[OOP]]&lt;br /&gt;
**'''false:''' Desabilita o OOP.&lt;br /&gt;
**'''true:''' Habilita-o&lt;br /&gt;
&lt;br /&gt;
== Exemplo ==&lt;br /&gt;
Aqui está um exemplo de um arquivo meta usando algumas das tags mencionadas:&lt;br /&gt;
{{#tag:code |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;sync_map_element_data&amp;gt;false&amp;lt;/sync_map_element_data&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot; validate=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;riemann_z_demonstration.lua&amp;quot; type=&amp;quot;client&amp;quot; cache=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;map src=&amp;quot;base.map&amp;quot; dimension=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; download=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; download=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport1&amp;quot; type=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport2&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport3&amp;quot; type=&amp;quot;shared&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- duração da partida em minutos --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 para desligar a proteção de time e 1 para ligar --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  o limite de diferença entre o número de jogadores dos times --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- quantidade de munição --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;isAllowedToShoot&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
[[Category:Translated/Scripting Concepts]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Depura%C3%A7%C3%A3o&amp;diff=43217</id>
		<title>Depuração</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Depura%C3%A7%C3%A3o&amp;diff=43217"/>
		<updated>2014-12-06T02:22:50Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Exemplo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quando você estiver fazendo seu script, certos problemas surgirão. O problema é que nem todos são tão aparentes assim, então esta página irá descrever algumas estratégias básicas para localiza-los.&lt;br /&gt;
&lt;br /&gt;
==Debug no console==&lt;br /&gt;
O MTA vem com um sistema no console onde mensagens de ''debug'' relacionadas às funções e scripts são mostradas. Lembrando que é necessário ter uma permissão de administrador para ativá-lo (a não ser se você modificar o ACL). Para fazer isso, digite ''debugscript *x*'' no console, em que ''x'' é o nível:&lt;br /&gt;
&lt;br /&gt;
* '''1:''' mostra somente os erros&lt;br /&gt;
* '''2:''' erros e avisos&lt;br /&gt;
* '''3:''' erros, avisos e mensagens informativas&lt;br /&gt;
Ao digitar ''debugscript 3'', todas as ocorrências serão mostradas. O nível 3 ou o 2 são os recomendados para a maioria dos casos. É de extrema importância estar com o ''debugscript'' ligado para testar seu script e detectar os erros de digitação. Como também, resolver outros eventuais problemas.&lt;br /&gt;
&lt;br /&gt;
===Exemplo===&lt;br /&gt;
Neste código há dois erros:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function SayHello(message, player)&lt;br /&gt;
    if (getPlayerName(player) == &amp;quot;Cebola&amp;quot;)&lt;br /&gt;
        outputChatbox(&amp;quot;Hello Fedor&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onChatMessage&amp;quot;, root, SayHello)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Quando este script for carregado, no console irá aparecer algo assim:&lt;br /&gt;
:{{Debug info|Loading script failed: meuRecurso\script.lua:2: 'then' expected near ´outputChatbox'}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Isso significa que o script não pode ser executado porque há um erro de sintaxe. Nesta mensagem, primeiramente aparece qual script de qual recurso deu problema. Depois disso, há dois pontos e um número mostrando a linha onde está o erro; para facilitar o trabalho do programador quando se trata de scripts maiores. Depois disso, a mensagem irá variar de acordo com o tipo de erro. Neste caso, é fácil concluir que o erro está localizado no '''meuRecurso''' e na linha dois do arquivo '''script.lua'''. Desta vez está na cara: precisamos colocar o &amp;quot;then&amp;quot; na cláusula ''if''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function SayHello(message, player)&lt;br /&gt;
    if (getPlayerName(player) == &amp;quot;Fedor&amp;quot;) then&lt;br /&gt;
        outputChatbox(&amp;quot;Hello Fedor&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onChatMessage&amp;quot;, root, SayHello)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Agora tudo será carregado com sucesso e nenhum erro aparecerá até que um jogador apelidado &amp;quot;Cebola&amp;quot; dizer algo no chat. Aí no console irá aparecer:&lt;br /&gt;
:{{Debug error|myResource\script.lua:2: attempt to call global 'outputChatbox' (a nil value)}}&lt;br /&gt;
Isso significa que a função '''outputChatbox''' é um valor ''nil'', ou seja, ele não existe! Isso porque a função na verdade se chama [[outputChatBox]], e não [[outputChatbox]]. Então, tome cuidado com a letra maiúscula B.:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function SayHello(message, player)&lt;br /&gt;
    if (getPlayerName(player) == &amp;quot;Cebola&amp;quot;) then&lt;br /&gt;
        outputChatBox(&amp;quot;Bem vindo, Cebola!&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onChatMessage&amp;quot;, root, SayHello)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É óbvio que isso é só um exemplo e não será sempre desse jeito, pois há vários tipos de erros em diversos casos. Mas até aqui, uma boa base já foi ensinada.&lt;br /&gt;
&lt;br /&gt;
==Log de debug do Cliente e Servidor==&lt;br /&gt;
====Servidor====&lt;br /&gt;
Na pasta ''../server/mods/deathmatch'', haverá dois arquivos com funções parecidas:&lt;br /&gt;
&lt;br /&gt;
*''local.conf'' - são as configurações oriundas do item &amp;quot;host game&amp;quot; no menu principal do MTA. Isto é uma maneira rápida de iniciar um servidor de testes dentro do próprio programa. Quando o usuário fecha o jogo, ele é automaticamente desligado também.&lt;br /&gt;
&lt;br /&gt;
*''mtaserver.conf'' - é usado quando se inicia o &amp;quot;MTA Server.exe&amp;quot; dentro da pasta ''../server/''. Em outras palavras, o servidor é rodado em prompt de comando e não necessita de o MTA estar executando junto. Isso é muito útil para os interessados em montar um servidor dedicado ou mesmo experimentar como é mexer em um servidor de verdade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dependendo das suas necessidades, com certeza irá querer alterar essas configurações abaixo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;!-- Indica o nome e a localização do arquivo usado pelo debugscript. Se for deixado em branco, o servidor não o salvará. --&amp;gt;&lt;br /&gt;
	&amp;lt;scriptdebuglogfile&amp;gt;logs/scripts.log&amp;lt;/scriptdebuglogfile&amp;gt; &lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- Indica o nível de debugscript para este arquivo. Todos os níveis 0,1,2,3 estão disponíveis. Quando não especificado, zero é o padrão. --&amp;gt;&lt;br /&gt;
	&amp;lt;scriptdebugloglevel&amp;gt;0&amp;lt;/scriptdebugloglevel&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como as descrições acima já dizem, é opcional salvar um arquivo de log de acordo com o nível desejado. Os três níveis estão descritos acima, sendo neste caso o zero como a não ativação do debugscript - fazendo o arquivo ficar em branco. Se 3 for ativado, todos os erros encontrados no '''lado do servidor''' serão salvos em: ''../server/mods/deathmatch/logs/scripts.log''&lt;br /&gt;
&lt;br /&gt;
====Cliente====&lt;br /&gt;
Todos os erros '''do cliente''' serão salvos na pasta ''../server/clientscript.log''. Isso já é definido por padrão, então nenhuma configuração é necessária.&lt;br /&gt;
&lt;br /&gt;
==Habilidades em Deubug==&lt;br /&gt;
&lt;br /&gt;
Em vez de ficar procurando no código os erros cometidos, há algumas coisas a serem feitas para ajudar a encontrar-los. A maioria delas estão relacionadas com a adição de alguma mensagem de debug informando o que está ocorrendo no script.&lt;br /&gt;
&lt;br /&gt;
===Funções Úteis===&lt;br /&gt;
As funções abaixo podem lhe ajudar com o debug:&lt;br /&gt;
* [[outputDebugString]] ou [[outputChatBox]] para escrever qualquer informação na tela (de preferência outputDebugString para suporte técnico)&lt;br /&gt;
* [http://www.lua.org/manual/5.1/manual.html#pdf-tostring tostring()] para tornar qualquer variável em uma ''string''. Muito útil para saber o que ela é, escrevendo na tela. Não será necessário usa-la se a variável já uma string ou um número.&lt;br /&gt;
* [[getElementType]] verifica o tipo de elemento do MTA em questão.&lt;br /&gt;
* [[isElement]] verifica se elemento existe.&lt;br /&gt;
&lt;br /&gt;
===Adicionando mensagens de debug para verificar ''se'', ''quando'' ou por qual ''frequência'' um código é executado===&lt;br /&gt;
Se você terminou de escrever um código e percebe que algo esperado não acontece e fica em dúvida se as instruções foram executadas ou não; nesse caso é recomendado adicionar mensagens de debug para verificar os passos.&amp;lt;br&amp;gt;&lt;br /&gt;
Um exemplo típico seria checar se uma clausula ''if'' foi atendida ou não:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
if (variable1 == variable2) then&lt;br /&gt;
	outputDebugString(&amp;quot;A variável 1 é igual a 2.&amp;quot;)&lt;br /&gt;
	-- portanto, faça alguma coisa&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Outra maneira semelhante seria verificar se alguma variável muda. Em outras palavras, é só adicionar uma mensagem de debug depois de cada vez que isso acontece.&lt;br /&gt;
&lt;br /&gt;
===Adicionando uma mensagem de debug para verificar o ''valor'' de uma variável===&lt;br /&gt;
Digamos que desejas criar um marcador (marker), mas ele não aparece na posição esperada. A primeira coisa a ser feita é verificar se a função [[createMarker]] foi executada com sucesso. Depois disso, só precisamos verificar os valores usados nela.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local marker = createMarker(x,y,z)&lt;br /&gt;
	if not marker then&lt;br /&gt;
		outputChatBox(&amp;quot;O marcador não pode ser criado.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
outputChatBox(&amp;quot;A posX é &amp;quot;..x..&amp;quot;, posY &amp;quot;..y..&amp;quot;, e posZ &amp;quot;..z)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Feito isso, as variáveis usadas como coordenadas serão mostradas. Lembrando que se uma variável não for uma frase ou número, é recomendado usar a função [http://www.lua.org/manual/5.1/manual.html#pdf-tostring tostring()], pois ela torna qualquer variável agrupável em uma ''string'', mesmo se for uma ''bool'' ou tabela.&lt;br /&gt;
&lt;br /&gt;
==Exemplo==&lt;br /&gt;
Imagine que você criou um [[Colshape|detector de colisão]] e se o jogador ficar dez segundos dentro dele, algo vai acontecer:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	-- criamos um timer para escrever uma mensagem (pode também ativar uma função)&lt;br /&gt;
	-- e inserimos ele em uma tabela, usando o jogador como index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;O jogador permaneceu dez segundos dentro do colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;, root, colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- destrua o timer quando o jogador sair do colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;, root, colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Quando o jogador entrar no colshape, o debugscript irá escrever a seguinte mensagem:&lt;br /&gt;
:{{Debug error|..[path]: attempt to index global 'colshapeTimer' (a nil value)}}&lt;br /&gt;
Isso significa que você tentou endereçar uma tabela não existente quando tentou colocar o timer dentro dela; ou seja, ela é um valor ''nil'' - portanto, não existe. Para corrigir isso, precisamos verificar se a tabela não existe, e caso a resposta for positiva; a criaremos.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- criamos um timer para escrever uma mensagem (pode também ativar uma função)&lt;br /&gt;
	-- e inserimos ele em uma tabela, usando o jogador como index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;O jogador permaneceu dez segundos dentro do colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;, root, colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- destrua o timer quando o jogador sair do colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,root,colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Desta vez receberemos um aviso quando o jogador entrar no colshape, esperar a mensagem e sair de lá:&lt;br /&gt;
&lt;br /&gt;
:{{Debug warning|[..]: Bad argument @ 'killTimer' Line: ..}}&lt;br /&gt;
&lt;br /&gt;
Tirando isso (vamos corrigir mais tarde!), tudo parece funcionar bem. O jogador entra no colshape e o ''timer'' começa a contar: se ele esperar, a mensagem é escrita, caso contrário o ''timer'' é destruído. Mas...&lt;br /&gt;
&lt;br /&gt;
===Um erro imperceptível===&lt;br /&gt;
Por alguma razão, quando o jogador entra no colshape usando um veículo, a mensagem é escrita duas vezes; como se o código tivesse sido executado duas vezes. Então, adicionamos uma mensagem de debug para verificar isso.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- adicionamos uma mensagem de debug&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit&amp;quot;)&lt;br /&gt;
	-- criamos um timer para escrever uma mensagem (pode também ativar uma função)&lt;br /&gt;
	-- e inserimos ele em uma tabela, usando o jogador como index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;O jogador permaneceu dez segundos dentro do colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- adicionamos outra mensagem de debug&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave&amp;quot;)&lt;br /&gt;
	-- destrua o timer quando o jogador sair do colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Agora dá pra ter certeza que as funções são executadas duas vezes quando entramos com um veículo, mas só uma quando se está a pé. É possível que o veículo seja um elemento a parte e ativa a função de forma independente ao jogador. Para confirmar essa teoria, verificamos se a variável ''player'' realmente se refere ao jogador.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- adicionamos uma mensagem de debug, seguido do elemento &amp;quot;jogador&amp;quot;&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit&amp;quot;..getElementType(player))&lt;br /&gt;
	-- criamos um timer para escrever uma mensagem (pode também ativar uma função)&lt;br /&gt;
	-- e inserimos ele em uma tabela, usando o jogador como index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;O jogador permaneceu dez segundos dentro do colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- adicionamos outra mensagem de debug, incluindo o jogador&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave &amp;quot;..getElementType(player))&lt;br /&gt;
	-- destrua o timer quando o jogador sair do colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A mensagem de debug nos diz que uma referência da variável ''player'' é realmente o jogador, mas outra é o veículo. Já que nós destinamos o evento especificamente ao boneco dele, adicionaremos uma cláusula ''if'', obrigando o término da execução do código caso a variável '''não''' for o jogador.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- adicionamos um verificador&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- adicionamos uma mensagem de debug, seguido do elemento &amp;quot;jogador&amp;quot;&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit&amp;quot;..getElementType(player))&lt;br /&gt;
	-- criamos um timer para escrever uma mensagem (pode também ativar uma função)&lt;br /&gt;
	-- e inserimos ele em uma tabela, usando o jogador como index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;O jogador permaneceu dez segundos dentro do colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- adicionamos ele novamente&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- adicionamos outra mensagem de debug, incluindo o jogador&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave &amp;quot;..getElementType(player))&lt;br /&gt;
	-- destrua o timer quando o jogador sair do colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Agora tudo está funcionando como o planejado, mas aquela mensagem de aviso mencionada acima ainda aparece. Isso porque quando tentamos destruir o timer depois que o jogador saí do colshape, ele não existe mais, já que os 10 segundos se passaram. Em outras palavras, o timer é automaticamente destruído quando ele conta os 10 segundos. Há diversas formas de se livrar do aviso, uma vez que temos conhecimento da não existência do ''timer''. Uma delas seria verificar se ele existe na tabela. Para fazer isto, usamos a função [[isTimer]] na hora de destruí-lo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
if (isTimer(colshapeTimer[player])) then&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então o código completo ficará assim:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- adicionamos um verificador&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- adicionamos uma mensagem de debug, seguido do elemento &amp;quot;jogador&amp;quot;&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit&amp;quot;..getElementType(player))&lt;br /&gt;
	-- criamos um timer para escrever uma mensagem (pode também ativar uma função)&lt;br /&gt;
	-- e inserimos ele em uma tabela, usando o jogador como index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;O jogador permaneceu dez segundos dentro do colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- adicionamos ele novamente&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- adicionamos outra mensagem de debug, incluindo o jogador&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave &amp;quot;..getElementType(player))&lt;br /&gt;
	-- destrua o timer quando o jogador sair do colshape&lt;br /&gt;
	if (isTimer(colshapeTimer[player])) then&lt;br /&gt;
		killTimer(colshapeTimer[player])&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Verificando problemas na performance==&lt;br /&gt;
Se o seu servidor estiver trabalhando muito além da conta ou você deseja se certificar que seus scripts são eficientes, é possível matar o problema pela raiz usando uma boa ferramenta inclusa na instalação: [[Resource:Performancebrowser|performancebrowser]]. É só inicia-lo usando ''''start performancebrowser''''. Caso ele não exista, pode encontrá-lo no último pacote de recursos hospedado no [http://code.google.com/p/mtasa-resources Google Code]. Esta ferramenta inclui uma série de informações relativas a performance, como:&lt;br /&gt;
* Memory leaks - uso excessivo de memória&lt;br /&gt;
* Element leaks - criação excessiva de elementos&lt;br /&gt;
* CPU usage - uso excessivo de CPU&lt;br /&gt;
&lt;br /&gt;
Para acessar o performancebrowser, é preciso ir até o navegador e digitar o endereço: &amp;lt;nowiki&amp;gt;http://&amp;lt;ip-do-servidor&amp;gt;:&amp;lt;porta&amp;gt;/performancebrowser/&amp;lt;/nowiki&amp;gt;. Um exemplo seria o endereço do servidor local: http://127.0.0.1:22005/performancebrowser/. Lembrando que é preciso:&lt;br /&gt;
* colocar a barra (/) no final do endereço&lt;br /&gt;
* logar no jogo com uma conta de administrador ou outra que tenha acesso no ACL a:&lt;br /&gt;
:* '''resource.performancebrowser.http''' e '''resource.ajax.http'''&lt;br /&gt;
&lt;br /&gt;
{{Dica|A maioria das informações relevantes estão nas categorias ''Lua timing'' e ''Lua memory''. E, o problema está nos valores mais altos apresentados.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Exemplos de scripts problemáticos===&lt;br /&gt;
&lt;br /&gt;
Um deles seria adicionar dados a alguma tabela, mas não remover posteriormente. Porém, isso levaria alguns meses ou até anos para danificar o funcionamento do servidor.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local someData = {}&lt;br /&gt;
&lt;br /&gt;
function storeData()&lt;br /&gt;
	someData[source] = true&lt;br /&gt;
	-- não há nenhum evento para retirar os dados quando o jogador sair. Isso é considerado memory leak&lt;br /&gt;
	-- Entrando na aba Lua timing, você pode verificar o uso de RAM de cada recurso.&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, storeData)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um caso possível de ''Element leak'' é criar colisores temporários e nunca destruí-los mais tarde. Isso aumenta muito o uso de transferência dados (bandwidth), CPU e memória pelo servidor.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function useTemporaryCol()&lt;br /&gt;
	local col = createColCircle(some code here)&lt;br /&gt;
	if (algo que deveria acontecer...) then&lt;br /&gt;
		destroyElement(col)&lt;br /&gt;
	end&lt;br /&gt;
	-- E as vezes não acontece, fazendo o colisor permanecer no mapa pra sempre...&lt;br /&gt;
	-- Criando de centenas à milhares de coliores sem função alguma.&lt;br /&gt;
	-- Na aba Lua timing é possível ver quantos elementos cada script criou.&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O alto uso de CPU resulta na queda de FPS, fazendo o servidor um lugar ruim para se jogar. Em 24 horas, isso pode causar sérios prejuízos. O número de elementos criados detectados na aba ''Lua timing'' não ajudará neste caso, mas o ''Lua memory'' sim.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, function()&lt;br /&gt;
	-- [Código para o novo jogador]&lt;br /&gt;
	-- Até que um evento é adicionado para quando ele sair&lt;br /&gt;
	addEventHandler(&amp;quot;onPlayerQuit&amp;quot;, root, function()&lt;br /&gt;
	-- Encontrou o problema? Esse evento além de usar o root como o seu causador, é criado infinitamente...&lt;br /&gt;
    end)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Uma função usa muito o CPU quando ela demora para terminar de ser executada. O exemplo abaixo é uma delas. Sem o performancebrowser, você não perceberia tão cedo que esta é a causa do problema. Mas com ele, verá na aba ''Lua timing'' que o seu recurso usa muito o potencial do CPU. Ficará mais fácil descobrir isso se usar o parâmetro ''''d'''' na caixa de entrada ''Options''. Isso porque ela lhe dirá também a linha em que está o código problemático.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function umaFuncaoPoucoEficaz()&lt;br /&gt;
	-- para cada cem mil coisas quaisquer&lt;br /&gt;
	for i=1, 100000 do&lt;br /&gt;
		-- [código abaixo]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[en:Debugging]]&lt;br /&gt;
[[it:Guida al Debug]]&lt;br /&gt;
[[ru:Debugging]]&lt;br /&gt;
[[Category:Translated/Scripting Concepts]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Introdu%C3%A7%C3%A3o_ao_Scripting&amp;diff=43216</id>
		<title>PT-BR/Introdução ao Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Introdu%C3%A7%C3%A3o_ao_Scripting&amp;diff=43216"/>
		<updated>2014-12-06T02:10:55Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* E agora, Scooby Doo? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O que será abordado neste artigo são os conceitos básicos de scripting, ou seja, não iremos fazer nada além do que escrever um arquivo em uma linguagem que o computador entenda. Para deixar mais claro, a linguagem de programação utilizada pelo MTA é a Lua. Antes de começar a entender como esta linguagem funciona, é preciso esclarecer o que é um recurso (resource, em inglês).&lt;br /&gt;
&lt;br /&gt;
Um recurso é um componente essencial de um servidor de MTA. Este pode ser caracterizado por uma pasta ou um arquivo comprimido, no qual há um conjunto de arquivos. Dentre eles, está presente o meta.xml, que por sua vez, informa ao servidor como/quais arquivos devem ser carregados e o que estes representam dentro do jogo. Em outras palavras, podemos comparar o recurso como se fosse um &amp;quot;programa de computador&amp;quot;, o qual é iniciado ou interrompido sob demanda, além disso, o servidor  tem a funcionalidade de rodar não só um recurso, mas vários ao mesmo tempo.&lt;br /&gt;
&lt;br /&gt;
''Obs:'' Os recursos são comprimidos em .zip e não em .rar&lt;br /&gt;
&lt;br /&gt;
Tudo relacionado a scripting tem relação com os recursos, afinal, os recursos são nada mais que, geralmente, um conjunto de scripts destinados a realizar alguma tarefa. Um recurso pode ser classificado, via o meta.xml, como um gamemode, um mapa ou qualquer outra coisa. O MTA já vem por padrão com alguns recursos interessantes que você pode, além de reaproveitá-los, adaptá-los às suas necessidades. Por exemplo, você pode editar as texturas do gamemode race para deixar-lo com a cara do seu servidor ou mudar o comportamento do modo de jogo perante a mudança de mapa.&lt;br /&gt;
{{dica|Para facilitar seus primeiros passos na programação em linguagem Lua, é recomendado utilizar um editor de textos com highlight, ou seja, o programa vai destacar cada tipo de instrução com uma cor distinta. Isso facilita a leitura e escrita de qualquer código independente da linguagem. Muito utilizado e recomendado por nós é o [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] ou [http://luaedit.sourceforge.net/ LuaEdit]. &amp;lt;br&amp;gt; Há também um editor de códigos (criado por fãs do MTA) com foco na linguagem Lua para o MTA: [[MTASE|MTA Script Editor]] (ainda em fase de desenvolvimento, mas você já pode testá-lo). }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Criando nosso primeiro script==&lt;br /&gt;
Neste capítulo, vamos aprender a criar um script para permitir o jogador explorar o mundo do San Andreas.&lt;br /&gt;
===Onde estão todos os scripts?===&lt;br /&gt;
Vamos dar uma olhada na estrutura dos scripts. Vá até a pasta de instalação do seu MTA, que por padrão é C:/Arquivo de Programas/MTA San Andreas 1.x.&lt;br /&gt;
&lt;br /&gt;
# Navegue até a pasta /server/mods/deathmatch/resources/&lt;br /&gt;
#* Dentro desta há várias outras pastas no formato [nome_da_pasta]. O motivo disto está na necessidade de organizar os recursos em certas categorias.&lt;br /&gt;
#* Como criaremos um modo de jogo totalemente novo, abriremos a pasta [gamemodes]&lt;br /&gt;
#* Para que o MTA possa reconhecer nossa pasta como um recurso, criemos outra dentro de [gamemodes] com um nome de sua preferência e sem os colchetes. Nós iremos usar &amp;quot;myserver&amp;quot; neste artigo.&lt;br /&gt;
# No final, o seu resultado deve ser o seguinte:&lt;br /&gt;
&lt;br /&gt;
	/server/mods/deathmatch/resources/[gamemodes]/myserver&lt;br /&gt;
&lt;br /&gt;
===Identificando seu recurso===&lt;br /&gt;
Para que o servidor reconheça os arquivos de um determinado recurso (para carregá-los), um arquivo ''meta.xml'' deve ser criado, contendo uma lista de todo o conteúdo do recurso. O arquivo ''meta.xml'' deve ser salvo na pasta principal (nesse caso, na pasta &amp;quot;myserver&amp;quot;). Então, abra um editor de textos (recomenda-se o Notepad++) e salve-o com o nome de &amp;quot;meta.xml&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Entre com as seguintes linhas no arquivo ''meta.xml'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
     &amp;lt;info author=&amp;quot;Seu_Apelido&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Meu_jogo&amp;quot; description=&amp;quot;Meu primeiro recurso&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;script src=&amp;quot;script.lua&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Na tag ''&amp;lt;info /&amp;gt;'', existem:&lt;br /&gt;
* ''type'' - indica que o recurso criado é um ''gamemode''. Pode também ser um ''map'' (mapa), que iremos explicar depois&lt;br /&gt;
* ''name'' - o próprio nome já diz: o nome do recurso&lt;br /&gt;
* ''description'' - uma breve descrição a fim de outros jogadores e/ou donos de servidores possam saber do que se trata seu recurso&lt;br /&gt;
&lt;br /&gt;
A tag ''&amp;lt;script /&amp;gt;'' indica o caminho dos arquivos (escritos em Lua) presentes no seu recurso. Criaremos no próximo passo o exemplo (script.lua).&lt;br /&gt;
&lt;br /&gt;
{{Dica|Um gamemode é o que você precisa para criar um servidor independente, pois é um recurso que envolve toda a programação principal do jogo online.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Criando um script simples===&lt;br /&gt;
Observe que na tag ''&amp;lt;script /&amp;gt;'' anterior, o arquivo .lua está presente na pasta principal do recurso, e não em uma subpasta. Então precisamos salvar o script na pasta principal, assim como indicado na tag. &lt;br /&gt;
&lt;br /&gt;
* Salve o seguinte código no arquivo script.lua:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local spawnX, spawnY, spawnZ = 1959.55, -1714.46, 10&lt;br /&gt;
function joinHandler()&lt;br /&gt;
	spawnPlayer(source, spawnX, spawnY, spawnZ)&lt;br /&gt;
	fadeCamera(source, true)&lt;br /&gt;
	setCameraTarget(source, source)&lt;br /&gt;
	outputChatBox(&amp;quot;Bem-vindo ao meu servidor!&amp;quot;, source)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, getRootElement(), joinHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Este script criado faz parte da esfera do servidor. Ou seja, ele é executado somente no servidor. Caso ele seja definido no cliente, cada um dos jogadores receberá o arquivo contendo o código. Mas neste exemplo, por enquanto, não necessitamos usar funções específicas do cliente. Vamos ao que interessa:&lt;br /&gt;
&lt;br /&gt;
O script irá gerar o seu personagem (seu boneco) nas coordenadas (x, y, z) especificadas assim que você entrar no jogo. Note que a função ''fadeCamera()'' precisa ser usada ou, do contrário, a tela ficará preta (e você não verá nada). Outra função é a ''setCameraTarget()'', que foca a câmera do jogo no seu personagem (do contrário, a câmera estaria virada para o céu).&lt;br /&gt;
&lt;br /&gt;
A variável '''source''' representa o elemento responsável pela chamada do evento (haverá um tópico adiante sobre isso). Assim, quando um jogador entra no jogo, o evento &amp;quot;onPlayerJoin&amp;quot; é chamado e, em seguida, chama a função. O evento automaticamente define o jogador na variável ''source''.&lt;br /&gt;
&lt;br /&gt;
Se olharmos bem para o [[addEventHandler]], veremos 3 argumentos: &lt;br /&gt;
* ''onPlayerJoin'' - define o evento que chamará a função. No caso, esse evento é chamado assim que o jogador entra no jogo, logo, a função é executada assim que o jogador entra no jogo&lt;br /&gt;
* ''getRootElement()'' - indica quem poderá chamar o evento. Neste caso, usamos a função getRootElement() para nos retornar um elemento padrão do MTA denominado '''RootElement'''. Ele, por sua vez, representa todos os outros elementos existentes no servidor; ou seja, todos os jogadores estão representados nele. Consequentemente, todo jogador que entrar no servidor, causará o evento e a função será executada.&lt;br /&gt;
* ''joinHandler'' - indica o nome da função a ser executada quando o evento ocorrer.&lt;br /&gt;
&lt;br /&gt;
Vamos agora rodar nosso servidor e testar o script.&lt;br /&gt;
&lt;br /&gt;
{{Dica|A variável ''source'' armazena sempre o elemento que chamou determinado evento. Ou seja, nem sempre ''source'' será o jogador.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Executando o script===&lt;br /&gt;
Para iniciar o servidor, execute o arquivo &amp;quot;MTA Server.exe&amp;quot; situado na pasta ''../server/''. Primeiramente, é mostrada uma lista com os principais status do seu servidor; observe o número da porta, da qual você irá precisar quando entrar no jogo. Logo após, o servidor carrega todos os recursos presentes no diretório ''../server/mods/deathmatch/resources/'', caso estejam corretos. E finalmente &amp;quot;fica pronto para aceitar conexões&amp;quot; (ready to accept connections!).&lt;br /&gt;
&lt;br /&gt;
Antes de se conectar ao seu servidor, você precisa executar o gamemode criado. Para isso, digite no console (a janela do MTA Server.exe) o comando ''gamemode myserver'' e pressione Enter. O servidor irá carregar o gamemode e mostrar os erros do seu script, caso existam.&lt;br /&gt;
&lt;br /&gt;
''obs'': &amp;quot;myserver&amp;quot; é o nome da pasta criada no início deste tutorial e, consequentemente, a identificação do seu recurso)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agora você pode se conectar ao seu servidor de duas maneiras: &lt;br /&gt;
* Clique em ''Quick Connect'' &amp;gt; Insira o endereço IP do servidor e o número da porta no seguinte formato - IP:Porta&lt;br /&gt;
* Navegue até ''Server Browser'' &amp;gt; Aba ''Local'' &amp;gt; Clique duas vezes no seu servidor. &lt;br /&gt;
&lt;br /&gt;
Se tudo correr bem, seu personagem será criado nas coordenadas especificadas.&lt;br /&gt;
&lt;br /&gt;
No próximo tópico iremos criar um comando para que o jogador possa gerar um veículo ao seu lado. Se preferir, embora não recomendado caso seja iniciante, você pode visitar alguns scripts mais avançados clicando [[Map manager|aqui]]. Outra parte interessante da seção &amp;quot;Scripting&amp;quot;, na qual obviamente você está, é [[PT-BR/Introducão_ao_GUI_scripting|Conhecendo a Interface Gráfica]]. Nela, se discute a criação de interfaces gráficas para seus scripts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Criando um comando simples==&lt;br /&gt;
Como foi mencionado anteriormente, criaremos agora um comando que irá gerar um carro ao lado do seu personagem. Antes de tudo, precisamos adicionar uma função e um evento específico, chamado de [[addCommandHandler]]() ao nosso script.lua.&lt;br /&gt;
&lt;br /&gt;
''obs'': Um comando é como se fosse uma função chamada pelo jogador quando ele está no chat. Ele digita seu nome e envia-o argumentos especificando o que ele quer. Sempre no formato: /[nome do comando] &amp;lt;argumentos&amp;gt; Exemplo: /cv 410&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- adiciona a função a ser executada pelo comando.&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
   -- aqui colocaremos, mais tarde, o código para gerar o veículo&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- adiciona um gerenciador de comandos&lt;br /&gt;
addCommandHandler(&amp;quot;createvehicle&amp;quot;, createVehicleForPlayer)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Dica|As funções nativas do MTA são clicáveis em todo o Wiki e lhe redirecionam à páginas sobre elas.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Sobre os gerenciadores de comandos====&lt;br /&gt;
Esse é um ponto interessante a ser discutido, já que envolve eventos e seus derivados. No MTA, para se criar um comando, usamos um tipo específico de evento que ocorre quando um jogador entra com um comando. Usamos a função [[addCommandHandler]] para cria-los. Como um comando é necessariamente um evento, vale a teoria de eventos para ele: &lt;br /&gt;
* Um evento é criado por uma função para determinar suas propriedades&lt;br /&gt;
* Todo evento ativa quando algo acontece no jogo e este sempre envia à função determinadas informações sobre o que ocoreu&lt;br /&gt;
* A relação evento-função é nada mais que uma troca de argumentos, de propriedades&lt;br /&gt;
&lt;br /&gt;
Deve-se prestar atenção nesta troca, pois envolve conceitos fundamentais de Lua. Se você já teve alguma experiência com programação, deve se lembrar como funciona os argumentos de uma função:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
nomeDaFuncao(argumento1, argumento2, argumento3, ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;createvehicle&amp;quot;, createVehicleForPlayer, ..)&lt;br /&gt;
createVehicleForPlayer(thePlayer, commandName, vehicleModel, ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como você observa no exemplo acima, nas duas funções se define quem são os argumentos para indicar como o código deve-se comportar: &lt;br /&gt;
* [[addCommandHandler]] é uma na qual se define que quando o jogador digitar o comando ''createvehicle'', a função ''createVehicleForPlayer'' irá ser executada.&lt;br /&gt;
* Em createVehicleForPlayer há o recebimento de certas informações enviadas pelo evento, na sequência:&lt;br /&gt;
# ''thePlayer'' - Qual é o jogador que ativou o evento?&lt;br /&gt;
# ''commandName'' - Qual foi o comando digitado?&lt;br /&gt;
# ''vehicleModel'' - Qual foi o ID digitado pelo jogador?&lt;br /&gt;
&lt;br /&gt;
Nota-se nesse caso uma clara troca de informações entre o evento e a função determinada. Quem define como será essa troca é o próprio tipo de evento, que neste caso é um comando. Como ele está sendo executado no servidor, ele sempre enviará na ordem: Quem Digitou? Qual Comando? Quais Argumentos digitados por este jogador? E aí será sua função quem decidirá o que fazer com essas informações; você, programador, dá o nome a esses argumentos e pode até não querer recebê-los, caso elas não forem necessárias.&lt;br /&gt;
&lt;br /&gt;
Vamos a um exemplo prático: alguém digita ''/createvehicle 468'' no chat para gerar uma Sanchez (ID dela é 468. Veja outros [[Vehicle_IDs|neste link]]), então o gerenciador de comandos chama a função determinada de uma forma como se o jogador tivesse feito o script dele e digitado no arquivo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
createVehicleForPlayer(thePlayer,&amp;quot;createvehicle&amp;quot;,&amp;quot;468&amp;quot;) -- thePlayer seria o próprio jogador&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É claro que ele não vai querer seguir este tutorial para fazer isso, e desta forma você está aqui para fazer um comando pra ele. Simplesmente ele digita no chat e seu script cria o veículo desejado.&lt;br /&gt;
&lt;br /&gt;
''obs'': Os dois primeiros argumentos colocados na função addCommandHandler ''sempre'' serão do mesmo tipo: quem foi? o que digitou? Em diante, você pode definir quantas variáveis quiser, de acordo com sua necessidade. Se o comando precisar criar um cavalo (pouco provável) e precisar que o jogador diga qual é a cor dele, a raça, a altura, o humor, poderá definir quantas quiser. Algo nesse estilo: addCommandHandler(&amp;quot;criarcavalo&amp;quot; criarCavaloParaJodador(), cor, raça, altura, humor)&lt;br /&gt;
&lt;br /&gt;
{{Dica|A função sempre deverá existir antes de você criar o comando (vale para eventos também). O computador é uma coisa linear, portanto se você pedir pra ele definir algo que não existe ainda, vai dar erro! Então sempre coloque a função em cima (lógico, é lido de cima pra baixo) do addEventHandler()}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Elaborando a função====&lt;br /&gt;
É hora de escrever nossa função; Sempre que for fazer isso é necessário pensar como faremos um veículo ser criado de forma mais simples o possível:&lt;br /&gt;
* Obter a posição do jogador, para sabermos onde desovar o veículo&lt;br /&gt;
* Calcular essa posição favorável para que a máquina de, em média, 450 quilos não cair em cima do coitado&lt;br /&gt;
* Pedir ao jogo gerar este veículo&lt;br /&gt;
* Verificar se foi gerado com sucesso, ou informá-lo um erro&lt;br /&gt;
&lt;br /&gt;
Para fazer isso, teremos que usar várias funções. Portanto, nós nos direcionamos à página contendo uma [[Scripting Functions|Lista de funções de servidor]] para achá-las. Já que precisamos obter a posição do jogador e como jogador é um Elemento, clicamos primeiro em '''Element functions''' onde haverá a função [[getElementPosition]] para tal fim. Ao clicar no link, uma página contendo detalhes sobre essa função será mostrada. Nela contém a sintaxe a ser usada, acompanhada de um exemplo. Como a sintaxe do português, a de programação indica como/quais argumentos se pode usar ou omitir.&lt;br /&gt;
&lt;br /&gt;
Para [[getElementPosition]], a sintaxe é:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float, float, float getElementPosition ( element theElement )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Os três itens na frente do nome da função indica o tipo de informação que ela retorna. Neste caso, são ''float'' (números com decimais). Em outras palavras, é retornado ao programador três números decimais indicando a posição (x, y, z). Depois do nome, sempre em parênteses, é o que você precisa mandar pra função funcionar. Neste caso, só é preciso de um elemento do qual a posição será retornada e no nosso exemplo, este elemento é o jogador:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	-- retorna a posição do jogador nas variáveis (x, y, z)&lt;br /&gt;
	-- o termo &amp;quot;local&amp;quot; significa que as três variáveis só existirão dentro do bloco - este é a função&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neste passo precisamos garantir que o veículo não esmagará o jogador, então adicionamos algumas unidades no eixo x; fazendo este gerar a leste dele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer) -- retorna a posição do jogador&lt;br /&gt;
	x = x + 5 adiciona 5 unidades na variável x&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora precisamos de outra função para gerar o veículo. Novamente, procuramos na [[Scripting Functions|Lista de funções de servidor]]. Só que como estamos falando de veículos, procuramos na seção '''Vehicle functions'''; onde encontraremos [[createVehicle]]. Na sintaxe desta função, temos somente um tipo de retorno (o qual é mais comum): um elemento do tipo veículo criado pela própria função. Além do mais, percebemos alguns argumentos inseridos em colchetes ([]), indicando opcionalidade.&lt;br /&gt;
&lt;br /&gt;
Oras, já temos todos os argumentos necessários para a função funcionar: os (x, y, z) calculados anteriormente e o ID do veículo fornecido pelo jogador através do comando; na variável (vehicleModel). É só digitar:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer) -- get the position of the player&lt;br /&gt;
	x = x + 5 -- add 5 units to the x position&lt;br /&gt;
	-- create the vehicle and store the returned vehicle element in the ''createdVehicle'' variable&lt;br /&gt;
	local createdVehicle = createVehicle(tonumber(vehicleModel),x,y,z)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É claro que esse código pode melhorar em vários aspectos, mas pelo menos adicionaremos uma condição para verificar o sucesso na criação do veículo. Como foi lido (e infelizmente para uns, era pra ter sido) na página do [[createVehicle]]; em baixo de '''Returns''', a função retorna ''false'' quando não é possível criar o veículo. Portanto, verificaremos o valor retornado pela variável ''createdVehicle''&lt;br /&gt;
&lt;br /&gt;
Agora temos o script completo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer) -- retorna a posição do jogador&lt;br /&gt;
	x = x + 5 adiciona 5 unidades na variável x&lt;br /&gt;
	local createdVehicle = createVehicle(tonumber(vehicleModel),x,y,z)&lt;br /&gt;
	-- verifica se o retorno foi falso&lt;br /&gt;
	if (createdVehicle == false) then&lt;br /&gt;
		-- Se sim, retorne uma mensagem de erro somente para o jogador&lt;br /&gt;
		outputChatBox(&amp;quot;Não foi possível criar o veículo. A sintaxe é: /createvehicle [id]&amp;quot;,thePlayer)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;createvehicle&amp;quot;, createVehicleForPlayer)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Deve-se destacar os seguintes pontos:&lt;br /&gt;
* Quando tentamos usar qualquer função que crie algum elemento no MTA e esta criação falha, uma ''bool'' é retornada como falso. Isso quer dizer: ou há um erro de sintaxe/programação no seu script, ou realmente o servidor não conseguiu computar essa informação&lt;br /&gt;
* Foi introduzida outra função denominada [[outputChatBox]], a qual simplesmente escreve no chat a mensagem de erro&lt;br /&gt;
&lt;br /&gt;
A partir de agora, você pode dar uma olhada na documentação sobre as funções aqui no Wiki. Se desejar, há a página do [[Map manager|Map Manager]] só falando de scripting avançado.&lt;br /&gt;
&lt;br /&gt;
==Importante Saber==&lt;br /&gt;
Já foi dito anteriormente algumas coisas sobre os recursos, gerenciadores de comandos e funções, porém há muita coisa ainda pra aprender. Essa seção lhe fornecerá outras coisas importantes sobre o funcionamento do MTA, ao mesmo tempo linkando à páginas relacionadas se possível.&lt;br /&gt;
&lt;br /&gt;
===Lado do Cliente e Servidor===&lt;br /&gt;
É notório a semelhança dos termos (Cliente/Servidor) em várias partes do site, até mesmo nas funções. O MTA não suporta scripts somente rodando no servidor e oferecendo aos seus jogadores comandos como aquele do exemplo acima ou algo parecido. Ele também oferece a possibilidade de rodar um script no computador de cada jogador logado. Isso porque algumas vantagens oferecidas pelo programa precisam rodar no computador deles. Imagine um servidor mandar o todo tempo informações para desenhar a interface gráfica, sendo esta necessitar uma renderização em uma faixa de 30 vezes por segundo. Não faz o menor sentido, e nem é viável! Ainda mais em PC's antigos com ping alto. Há outras razões além da performance, como o fato de alguns funcionarem melhor em um dos lados ou justamente porque não rola.&lt;br /&gt;
&lt;br /&gt;
A maioria dos scripts (gamemodes ou mapas) provavelmente serão no lado do servidor, como foi feito anteriormente. Se caso acontecer de algo não poder ser resolvido com script do servidor, vá tranquilo pro cliente. Um exemplo de fazer isso seria criar um arquivo pacato chamado client.lua e defini-lo no meta.xml, como a seguir:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;client.lua&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
O atributo ''type'' define automaticamente o arquivo como servidor, então só precisa especificar se for rodado no cliente. Quando terminar, este arquivo será baixado para o computador do brother quando ele conectar ao servidor. Para mais informações, segue o [[Client side scripts|link]] (Em inglês).&lt;br /&gt;
&lt;br /&gt;
===Recursos Complicados===&lt;br /&gt;
A última seção explicou brevemente como adicionar um script no cliente, mas há muita coisa possível a ser feita. Como foi dito nesta página, recursos praticamente são a alma do jogo. Sua função é definida pelo que eles podem fazer. Então vão aí uns exemplos de recursos hipotéticos retirados da instalação, mostrando suas distintas funções: &lt;br /&gt;
&lt;br /&gt;
====Primeiro exemplo - Um utilitário====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
/admin_commands&lt;br /&gt;
	/meta.xml&lt;br /&gt;
	/commands.lua&lt;br /&gt;
	/client.lua&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
	&amp;lt;info author=&amp;quot;Someguy&amp;quot; description=&amp;quot;admin commands&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;commands.lua&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;client.lua&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* O ''commands.lua'' oferece alguns comandos de administrador, como banir algum pateta ou algo útil para se administrar o servidor&lt;br /&gt;
* O ''client.lua'' cria janelas para executar-los de forma muito mais clara e rápida&lt;br /&gt;
&lt;br /&gt;
Este exemplo pode estar rodando o tempo todo (talvez até auto-carregado quando o servidor iniciar) se útil durante a jogatina, e claro, não interferir no processo; só se o administrador decidir intervir.&lt;br /&gt;
&lt;br /&gt;
====Segundo exemplo - Um gamemode====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
/counterstrike&lt;br /&gt;
	/meta.xml&lt;br /&gt;
	/counterstrike.lua&lt;br /&gt;
	/buymenu.lua&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
	&amp;lt;info author=&amp;quot;Someguy&amp;quot; description=&amp;quot;Counterstrike remake&amp;quot; type=&amp;quot;gamemode&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;counterstrike.lua&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;buymenu.lua&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* O ''counterstrike.lua'' oferece:&lt;br /&gt;
** A possibilidade dos jogadores escolherem o time e nascerem&lt;br /&gt;
** Lhe dá armas, alvos e instruções (talvez tiradas do Mapa, veja adiante)&lt;br /&gt;
** Define as regras do jogo; exemplos: o que acontece no fim da partida ou quando um jogador falece?&lt;br /&gt;
** E muita coisa que não dá ser citada aqui...&lt;br /&gt;
* O ''buymenu.lua'' é um script do cliente e adiciona um menu para adquirir armas&lt;br /&gt;
&lt;br /&gt;
Esse exemplo pode ser denominado um ''gamemode'', pois não só complementa a partida, como também define as regras dela. O atributo ''type'' indica que este recurso funciona com o [[Map manager]] ou outro escrito pelos desenvolvedores com finalidade de gerenciar os gamemodes e carregamento de mapas. É bem recomendado começar seu gamemode a partir do diferencial que este apresenta.&lt;br /&gt;
&lt;br /&gt;
E mais, um gamemode provavelmente não rodará sem um mapa. Gamemodes sempre precisarão ser o mais genérico possível. Um exemplo de mapa pode ser visto no próximo exemplo. &lt;br /&gt;
&lt;br /&gt;
====Terceiro exemplo - Um mapa====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
/cs-airport&lt;br /&gt;
	/meta.xml&lt;br /&gt;
	/airport.map&lt;br /&gt;
	/airport.lua&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
	&amp;lt;info author=&amp;quot;Someguy&amp;quot; description=&amp;quot;Counterstrike airport map&amp;quot; type=&amp;quot;map&amp;quot; gamemodes=&amp;quot;counterstrike&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;map src=&amp;quot;airport.map&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;airport.lua&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* O ''airport.map'' no arquivo XML acima oferece diversas informações sobre o mapa do gamemode, podendo incluir:&lt;br /&gt;
** Onde os jogadores deverão nascer, com quais armas, em qual time&lt;br /&gt;
** Quais são os alvos&lt;br /&gt;
** Clima, horário e limite de tempo da partida.&lt;br /&gt;
** Veículos espalhados pelo local&lt;br /&gt;
* O ''airport.lua'' também pode conter objetos específicos, como:&lt;br /&gt;
** Abrir alguma porta/fazer algo explodir quando uma coisa acontece&lt;br /&gt;
** Criar ou mover objetos customizados, ou manipular objetos criados no arquivo .map&lt;br /&gt;
** .. ou infinitas coisas limitadas pela sua imaginação&lt;br /&gt;
&lt;br /&gt;
Nota-se a presença do atributo ''type'' classificando o recurso como um mapa, consequentemente avisando o [[Map manager]] disso; Enquanto o atributo ''gamemodes'' indica com qual o gamemode ele é compatível. Neste caso é o próprio gamemode do exemplo acima.&lt;br /&gt;
O que pode incomodar é a presença de um script em um mapa. É claro, não há a necessidade de haver isso nele. Entretanto, isso abre uma gama de possibilidades para criadores de mapas concretizarem seus próprios mundos nas regras do gamemode pra ele criado.&lt;br /&gt;
&lt;br /&gt;
O arquivo ''airport.map'' contém algo parecido com isso:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;map mode=&amp;quot;deathmatch&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;terrorists&amp;gt;&lt;br /&gt;
		&amp;lt;spawnpoint posX=&amp;quot;2332.23&amp;quot; posY=&amp;quot;-12232.33&amp;quot; posZ=&amp;quot;4.42223&amp;quot; skins=&amp;quot;23-40&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/terrorists&amp;gt;&lt;br /&gt;
	&amp;lt;counterterrorists&amp;gt;&lt;br /&gt;
		&amp;lt;spawnpoint posX=&amp;quot;2334.23443&amp;quot; posY=&amp;quot;-12300.233&amp;quot; posZ=&amp;quot;10.2344&amp;quot; skins=&amp;quot;40-50&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/counterterrorists&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;bomb posX=&amp;quot;23342.23&amp;quot; posY=&amp;quot;&amp;quot; posZ=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;vehicle posX=&amp;quot;&amp;quot; posY=&amp;quot;&amp;quot; posZ=&amp;quot;&amp;quot; model=&amp;quot;602&amp;quot; /&amp;gt;	&lt;br /&gt;
	&amp;lt;vehicle posX=&amp;quot;&amp;quot; posY=&amp;quot;&amp;quot; posZ=&amp;quot;&amp;quot; model=&amp;quot;603&amp;quot; /&amp;gt;	&lt;br /&gt;
&amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quando um gamemode é iniciado com um mapa, este é automaticamente iniciado pelo Map manager e a informação contida é lida pelo gamemode. Quando um mapa muda durante a partida, o atual é fechado e o escolhido, iniciado. Para mais detalhes e exemplos sobre como os mapas são utilizados na programação principal, visite a página [[Writing Gamemodes|Escrevendo Gamemodes]] (Em inglês).&lt;br /&gt;
&lt;br /&gt;
===Eventos===&lt;br /&gt;
Foi dada uma breve explicação no inicio da página, mas um conceito mais formal (criado pelo pessoal do MTA) nunca é demais:&lt;br /&gt;
* Eventos são a forma como o MTA diz aos scripts sobre as coisas que acontecem. Por exemplo, quando um jogador morre, o evento [[onPlayerWasted]] é ativado. Com o objetivo de providenciar ações caso isso aconteça, deve ser adicionado um evento, como mostrado no [[#Criando_nosso_primeiro_script|primeiro capítulo]].&lt;br /&gt;
&lt;br /&gt;
Este exemplo irá escrever uma mensagem no chat com o apelido do jogador falecido:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function playerDied(totalAmmo, killer, killerWeapon, bodypart)&lt;br /&gt;
	outputChatBox(getPlayerName(source)..&amp;quot; feleceu!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerWasted&amp;quot;,getRootElement(),playerDied)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em vez de mostrar aqui todos os tipos de eventos, uma página específica foi criada no Wiki só para especificar este tipo de coisa; o mesmo serve para os [[#About_command_handlers|gerenciadores de comandos]]. Um outro ponto importante é com relação a variável ''source''. Ela é automaticamente declarada na hora de a função ser executada. Ela agrega um diferente valor para cada tipo de evento, como no exemplo acima: para eventos relacionados a jogadores, ele retorna um elemento do tipo jogador. Uma outra forma de como a variável source é usada está no script básico de fazer o jogador nascer no topo da página.&lt;br /&gt;
&lt;br /&gt;
==Para onde ir a partir daqui==&lt;br /&gt;
Agora você deve estar bem mais familiarizado com os aspectos básicos de scripting para o MTA e também com o Wiki. A [[PT-BR/Página_Inicial|Página Inicial]] contém todos os links para mais informações, tutoriais e referências para lhe propiciar todas as fontes necessárias a um estudo mais aprofundado.&lt;br /&gt;
&lt;br /&gt;
{{Dica|Recomendamos ler o tutorial de [[debugging]] a partir daqui. Um bom treinamento em tirar os bugs de seus scripts é fundamental. Também é recomendado dar uma olhada nas variáveis pré-definidas para ajudá-lo com certas tarefas, e claro &amp;quot;scriptar&amp;quot; de forma mais rápida e prática.}}&lt;br /&gt;
&lt;br /&gt;
'''Veja mais:'''&lt;br /&gt;
* [[Advanced Topics|Tópicos Avançados]] (Em inglês)&lt;br /&gt;
&lt;br /&gt;
[[en:Scripting Introduction]]&lt;br /&gt;
[[ru:Scripting Introduction]]&lt;br /&gt;
[[it:Introduzione allo scripting]]&lt;br /&gt;
[[es:Introducción a la Programación]]&lt;br /&gt;
[[nl:Scripting_introductie]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43215</id>
		<title>PT-BR/Novidades na versão 1.4.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43215"/>
		<updated>2014-12-06T02:06:40Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Principais Mudanças */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PT-BR/Changelogs}}&lt;br /&gt;
&lt;br /&gt;
== Principais Mudanças ==&lt;br /&gt;
* Tradução para os menus do MTA&lt;br /&gt;
* Classes [[OOP]]&lt;br /&gt;
* [[Matrix|Matrizes]] e [[Vector|Vetores]]&lt;br /&gt;
* Melhorou significativamente a sincronização de trens&lt;br /&gt;
* As funções relacionadas a áudio agora são compatíveis com os elementos do tipo jogador&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Novas Funções ===&lt;br /&gt;
&lt;br /&gt;
====Cliente====&lt;br /&gt;
* [[createEffect]]&lt;br /&gt;
* [[setEffectSpeed]]&lt;br /&gt;
* [[getEffectSpeed]]&lt;br /&gt;
* [[setEffectDensity]]&lt;br /&gt;
* [[getEffectDensity]]&lt;br /&gt;
* [[getLocalization]]&lt;br /&gt;
* [[isChatVisible]]&lt;br /&gt;
* [[downloadFile]]&lt;br /&gt;
* [[isTrainChainEngine]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[isBan]]&lt;br /&gt;
* [[setBanAdmin]]&lt;br /&gt;
* [[setBanReason]]&lt;br /&gt;
* [[setUnbanTime]]&lt;br /&gt;
* [[getAccountsBySerial]]&lt;br /&gt;
* [[getAccountSerial]]&lt;br /&gt;
&lt;br /&gt;
==== Compartilhados (Cliente e Servidor) ====&lt;br /&gt;
* Adicionado um parâmetro bInstant para setPlayerMoney a fim de definir o montante de dinheiro instantaneamente, sem aparecer a contagem/descontagem no HUD&lt;br /&gt;
* toJSON/fromJSON agora lida melhor com dados binários&lt;br /&gt;
&lt;br /&gt;
=== Novos Eventos ===&lt;br /&gt;
&lt;br /&gt;
==== Cliente ====&lt;br /&gt;
* [[onClientFileDownloadComplete]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[onWeaponFire]]&lt;br /&gt;
&lt;br /&gt;
=== Mudanças, correções de bugs ===&lt;br /&gt;
* getResourceConfig() funciona para recursos adicionados posteriormente a inicialização do servidor&lt;br /&gt;
* Corrigido o bug do veiculo (ID: 570)&lt;br /&gt;
* attachTrailerToVehicle agora suporta trens&lt;br /&gt;
&lt;br /&gt;
== Cliente ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* Distinção entre Shift, Ctrl e Alt esquerdo/direito&lt;br /&gt;
* Adicionados os parâmetros SettingHUDMatchAspectRatio, SettingAspectRatio para [[dxGetStatus]]&lt;br /&gt;
* Suporte de arquivos de áudio usando o [https://en.wikipedia.org/wiki/Opus_codec Opus Codec] nas funções [[playSound]] e [[playSound3D]]&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Foram corrigidos as ocasiões:&lt;br /&gt;
** Corrigido o efeito do dinheiro &amp;quot;contagem regressiva&amp;quot; quando você muda de servidor.&lt;br /&gt;
** Os pedestres ficam invencíveis a tiros quando estão no banco de passageiro. &lt;br /&gt;
** O evento onClientPlayerDamage não ativar para a lata de spray.&lt;br /&gt;
** Satchels não são removidas com [[resetMapInfo]].&lt;br /&gt;
** getPedMoveState  retornar falso quando o jogador estiver se movendo agachado&lt;br /&gt;
** guiScrollPaneGetVerticalScrollPosition  retornar valores estranhos &lt;br /&gt;
** setPedCameraRotation não funcionar as vezes.&lt;br /&gt;
** Pedestres continuarem atirando depois de sua munição ter acabado.&lt;br /&gt;
** Títulos de rádio não aparecerem as vezes.&lt;br /&gt;
** As músicas da rádio serem puladas quando se estiver passando entre as estações.&lt;br /&gt;
** A função para pular uma faixa de áudio (F5) não funcionar.&lt;br /&gt;
** Veículos caírem de repente pelo mapa.&lt;br /&gt;
&lt;br /&gt;
== Servidor ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* [[setElementDimension]] deve agora fazer efeito para elementos subordinados&lt;br /&gt;
* Erros de módulo estão mais explicados nas mensagens&lt;br /&gt;
* Novos comandos: unloadmodule e reloadmodule&lt;br /&gt;
* Adicionadas armas customizadas para o lado do servidor.&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Agora há um limite de 128 caracteres para a função [[setAccountData]].&lt;br /&gt;
* Jogadores com nomes contendo caracteres especiais são verificados de forma correta ao conectar.&lt;br /&gt;
* Corrigidos os membros de times não serem enviados ao cliente se forem definidos pela função [[onResourceStart]].&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Informações Extras ==&lt;br /&gt;
''Informações mais detalhadas estão disponíveis em nosso Changelog do [https://bugs.multitheftauto.com/changelog_page.php Bug tracker] e no Google Code:&lt;br /&gt;
:* [https://code.google.com/p/mtasa-blue/source/list MTA: SA Blue]&lt;br /&gt;
:* [https://code.google.com/p/mtasa-resources/source/list MTA: SA Official Resources]&lt;br /&gt;
&lt;br /&gt;
[[en:Changes_in_1.4.0]]&lt;br /&gt;
[[pl:Changes_in_1.4]]&lt;br /&gt;
[[ru:Changes_in_1.4.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Changes_in_1.4]]&lt;br /&gt;
[[Category:Incomplete]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43214</id>
		<title>PT-BR/Novidades na versão 1.4.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43214"/>
		<updated>2014-12-06T02:05:02Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Novidades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PT-BR/Changelogs}}&lt;br /&gt;
&lt;br /&gt;
== Principais Mudanças ==&lt;br /&gt;
* Tradução para os menus do MTA&lt;br /&gt;
* Classes [[OOP]]&lt;br /&gt;
* [[Matrix|Matrizes]] e [[Vector|Vetores]]&lt;br /&gt;
* Melhorou muito a sincronização de trens&lt;br /&gt;
* As funções relacionadas a áudio agora são compatíveis com os elementos do tipo jogador&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Novas Funções ===&lt;br /&gt;
&lt;br /&gt;
====Cliente====&lt;br /&gt;
* [[createEffect]]&lt;br /&gt;
* [[setEffectSpeed]]&lt;br /&gt;
* [[getEffectSpeed]]&lt;br /&gt;
* [[setEffectDensity]]&lt;br /&gt;
* [[getEffectDensity]]&lt;br /&gt;
* [[getLocalization]]&lt;br /&gt;
* [[isChatVisible]]&lt;br /&gt;
* [[downloadFile]]&lt;br /&gt;
* [[isTrainChainEngine]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[isBan]]&lt;br /&gt;
* [[setBanAdmin]]&lt;br /&gt;
* [[setBanReason]]&lt;br /&gt;
* [[setUnbanTime]]&lt;br /&gt;
* [[getAccountsBySerial]]&lt;br /&gt;
* [[getAccountSerial]]&lt;br /&gt;
&lt;br /&gt;
==== Compartilhados (Cliente e Servidor) ====&lt;br /&gt;
* Adicionado um parâmetro bInstant para setPlayerMoney a fim de definir o montante de dinheiro instantaneamente, sem aparecer a contagem/descontagem no HUD&lt;br /&gt;
* toJSON/fromJSON agora lida melhor com dados binários&lt;br /&gt;
&lt;br /&gt;
=== Novos Eventos ===&lt;br /&gt;
&lt;br /&gt;
==== Cliente ====&lt;br /&gt;
* [[onClientFileDownloadComplete]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[onWeaponFire]]&lt;br /&gt;
&lt;br /&gt;
=== Mudanças, correções de bugs ===&lt;br /&gt;
* getResourceConfig() funciona para recursos adicionados posteriormente a inicialização do servidor&lt;br /&gt;
* Corrigido o bug do veiculo (ID: 570)&lt;br /&gt;
* attachTrailerToVehicle agora suporta trens&lt;br /&gt;
&lt;br /&gt;
== Cliente ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* Distinção entre Shift, Ctrl e Alt esquerdo/direito&lt;br /&gt;
* Adicionados os parâmetros SettingHUDMatchAspectRatio, SettingAspectRatio para [[dxGetStatus]]&lt;br /&gt;
* Suporte de arquivos de áudio usando o [https://en.wikipedia.org/wiki/Opus_codec Opus Codec] nas funções [[playSound]] e [[playSound3D]]&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Foram corrigidos as ocasiões:&lt;br /&gt;
** Corrigido o efeito do dinheiro &amp;quot;contagem regressiva&amp;quot; quando você muda de servidor.&lt;br /&gt;
** Os pedestres ficam invencíveis a tiros quando estão no banco de passageiro. &lt;br /&gt;
** O evento onClientPlayerDamage não ativar para a lata de spray.&lt;br /&gt;
** Satchels não são removidas com [[resetMapInfo]].&lt;br /&gt;
** getPedMoveState  retornar falso quando o jogador estiver se movendo agachado&lt;br /&gt;
** guiScrollPaneGetVerticalScrollPosition  retornar valores estranhos &lt;br /&gt;
** setPedCameraRotation não funcionar as vezes.&lt;br /&gt;
** Pedestres continuarem atirando depois de sua munição ter acabado.&lt;br /&gt;
** Títulos de rádio não aparecerem as vezes.&lt;br /&gt;
** As músicas da rádio serem puladas quando se estiver passando entre as estações.&lt;br /&gt;
** A função para pular uma faixa de áudio (F5) não funcionar.&lt;br /&gt;
** Veículos caírem de repente pelo mapa.&lt;br /&gt;
&lt;br /&gt;
== Servidor ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* [[setElementDimension]] deve agora fazer efeito para elementos subordinados&lt;br /&gt;
* Erros de módulo estão mais explicados nas mensagens&lt;br /&gt;
* Novos comandos: unloadmodule e reloadmodule&lt;br /&gt;
* Adicionadas armas customizadas para o lado do servidor.&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Agora há um limite de 128 caracteres para a função [[setAccountData]].&lt;br /&gt;
* Jogadores com nomes contendo caracteres especiais são verificados de forma correta ao conectar.&lt;br /&gt;
* Corrigidos os membros de times não serem enviados ao cliente se forem definidos pela função [[onResourceStart]].&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Informações Extras ==&lt;br /&gt;
''Informações mais detalhadas estão disponíveis em nosso Changelog do [https://bugs.multitheftauto.com/changelog_page.php Bug tracker] e no Google Code:&lt;br /&gt;
:* [https://code.google.com/p/mtasa-blue/source/list MTA: SA Blue]&lt;br /&gt;
:* [https://code.google.com/p/mtasa-resources/source/list MTA: SA Official Resources]&lt;br /&gt;
&lt;br /&gt;
[[en:Changes_in_1.4.0]]&lt;br /&gt;
[[pl:Changes_in_1.4]]&lt;br /&gt;
[[ru:Changes_in_1.4.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Changes_in_1.4]]&lt;br /&gt;
[[Category:Incomplete]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnVehicleWeaponFire&amp;diff=43213</id>
		<title>OnVehicleWeaponFire</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnVehicleWeaponFire&amp;diff=43213"/>
		<updated>2014-12-06T01:50:10Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This code implements an '''event''' that is triggered when a player in a vehicle fires a vehicles weapon. A list of vehicles that have weapons are listed below:&lt;br /&gt;
&lt;br /&gt;
* Hydra - Fighter Jet (ID: 520)&lt;br /&gt;
* Hunter - Assault Helicopter (ID: 425)&lt;br /&gt;
* Rustler - World War 2 style fighter (ID: 476)&lt;br /&gt;
* Predator - Police Boat with side guns (ID: 430)&lt;br /&gt;
* Rhino - Heavily armoured tank (ID: 432)&lt;br /&gt;
* Firetruck - Firetruck with sprayable hose (ID: 407)&lt;br /&gt;
* S.W.A.T. - Police tank with sprayable hose (ID: 601)&lt;br /&gt;
* RC Baron - A mini fighter (ID: 464)&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;string vehicleFireType, int vehicleModel&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* vehicleFireType: this will be &amp;quot;primary&amp;quot; or &amp;quot;secondary&amp;quot; depending on which player the button pressed.&lt;br /&gt;
* vehicleModel: the model number the player is in when they triggered the event.&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The source of this event is the player who fired the vehicles gun(s).&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
armedVehicles = {[425]=true, [520]=true, [476]=true, [447]=true, [340]=true, [432]=true, [464]=true, [407]=true}&lt;br /&gt;
function vehicleWeaponFire(key, keyState, vehicleFireType)&lt;br /&gt;
	local vehModel = getElementModel(getPedOccupiedVehicle(localPlayer))&lt;br /&gt;
	if (armedVehicles[vehModel]) then&lt;br /&gt;
		triggerEvent(&amp;quot;onClientVehicleWeaponFire&amp;quot;, localPlayer, vehicleFireType, vehModel)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
bindKey(&amp;quot;vehicle_fire&amp;quot;, &amp;quot;down&amp;quot;, vehicleWeaponFire, &amp;quot;primary&amp;quot;)&lt;br /&gt;
bindKey(&amp;quot;vehicle_secondary_fire&amp;quot;, &amp;quot;down&amp;quot;, vehicleWeaponFire, &amp;quot;secondary&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
armedVehicles = {[425]=true, [520]=true, [476]=true, [447]=true, [340]=true, [432]=true, [464]=true, [407]=true}&lt;br /&gt;
function vehicleWeaponFire(thePresser, key, keyState, vehicleFireType)&lt;br /&gt;
	local vehModel = getElementModel(getPedOccupiedVehicle(thePresser))&lt;br /&gt;
	if (armedVehicles[vehModel]) then&lt;br /&gt;
		triggerEvent(&amp;quot;onVehicleWeaponFire&amp;quot;, thePresser, vehicleFireType, vehModel)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function bindOnJoin()&lt;br /&gt;
	bindKey(source, &amp;quot;vehicle_fire&amp;quot;, &amp;quot;down&amp;quot;, vehicleWeaponFire, &amp;quot;primary&amp;quot;)&lt;br /&gt;
	bindKey(source, &amp;quot;vehicle_secondary_fire&amp;quot;, &amp;quot;down&amp;quot;, vehicleWeaponFire, &amp;quot;secondary&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, bindOnJoin)&lt;br /&gt;
&lt;br /&gt;
function bindOnStart()&lt;br /&gt;
	for index, thePlayer in pairs(getElementsByType(&amp;quot;player&amp;quot;)) do&lt;br /&gt;
		bindKey(thePlayer, &amp;quot;vehicle_fire&amp;quot;, &amp;quot;down&amp;quot;, vehicleWeaponFire, &amp;quot;primary&amp;quot;)&lt;br /&gt;
		bindKey(thePlayer, &amp;quot;vehicle_secondary_fire&amp;quot;, &amp;quot;down&amp;quot;, vehicleWeaponFire, &amp;quot;secondary&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onResourceStart&amp;quot;, getResourceRootElement(), bindOnStart)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Example&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function eventVehicleFire(typeOfFire, theModel)&lt;br /&gt;
	outputChatBox(getPlayerName(source)..&amp;quot; fired his &amp;quot;..getVehicleNameFromModel(theModel)..&amp;quot;'s weapon (&amp;quot;..typeOfFire..&amp;quot;)&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onClientVehicleWeaponFire&amp;quot;, false)&lt;br /&gt;
addEventHandler(&amp;quot;onClientVehicleWeaponFire&amp;quot;, getLocalPlayer(), eventVehicleFire)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Example&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function eventVehicleFire(typeOfFire, theModel)&lt;br /&gt;
	outputChatBox(getPlayerName(source)..&amp;quot; fired his &amp;quot;..getVehicleNameFromModel(theModel)..&amp;quot;'s weapon (&amp;quot;..typeOfFire..&amp;quot;)&amp;quot;, root, 0, 255, 0)&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onVehicleWeaponFire&amp;quot;, false)&lt;br /&gt;
addEventHandler(&amp;quot;onVehicleWeaponFire&amp;quot;, root, eventVehicleFire)&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Author: Tuna'''&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetBlipVisibleDistance&amp;diff=43197</id>
		<title>SetBlipVisibleDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetBlipVisibleDistance&amp;diff=43197"/>
		<updated>2014-12-05T21:28:44Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function will set the visible distance of a blip.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;float setBlipVisibleDistance ( blip theBlip, float theDistance )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:setVisibleDistance||getBlipVisibleDistance|}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theBlip:''' The blip whose visible distance you wish to get.&lt;br /&gt;
*'''theDistance:''' The distance you want the blip to be visible for.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns true if successful, false otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will demonstrate basic functionality of setBlipVisibleDistance&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local blip = createBlip(0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1000)&lt;br /&gt;
outputDebugString(&amp;quot;Blip visible distance: &amp;quot;..getBlipVisibleDistance(blip)) --1000&lt;br /&gt;
setBlipVisibleDistance(blip, 2000)&lt;br /&gt;
outputDebugString(&amp;quot;Blip visible distance: &amp;quot;..getBlipVisibleDistance(blip)) --2000&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will set the visible distance of all blips to half the original value.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
local blips = getElementsByType(&amp;quot;blip&amp;quot;)&lt;br /&gt;
-- Loop through the list, storing the blips visible distance with the rest.&lt;br /&gt;
for index, blip in ipairs(blips) do&lt;br /&gt;
	-- Retrieve the blip's visible distance and divide by 2&lt;br /&gt;
	setBlipVisibleDistance(blip, getBlipVisibleDistance(blip) / 2)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetBlipSize&amp;diff=43196</id>
		<title>SetBlipSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetBlipSize&amp;diff=43196"/>
		<updated>2014-12-05T21:28:13Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function sets the size of a blip's icon.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setBlipSize ( blip theBlip, int iconSize )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:setSize||getBlipSize|}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theBlip:''' The blip you wish to get the size of.&lt;br /&gt;
*'''iconSize:''' The size you wish the icon to be. 2 is the default value.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns an ''true'' if the blip's size was set successfully. Returns ''false'' if the [[element]] passed was not a [[blip]] or if the icon size passed was invalid.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will reset the size of all blips to the default.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
blips = getElementsByType ( &amp;quot;blip&amp;quot; )&lt;br /&gt;
-- Loop through the list&lt;br /&gt;
for blipKey, blipValue in ipairs(blips) do&lt;br /&gt;
	-- Retrieve the blip's size into the variable 'blipSize'&lt;br /&gt;
	blipSize = getBlipSize ( blipValue )&lt;br /&gt;
	-- If the blip's size wasn't 2 (the default size) already&lt;br /&gt;
	if ( blipSize ~= 2 ) then&lt;br /&gt;
		-- Set the size to the default&lt;br /&gt;
		setBlipSize ( blipValue, 2 )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetBlipOrdering&amp;diff=43195</id>
		<title>SetBlipOrdering</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetBlipOrdering&amp;diff=43195"/>
		<updated>2014-12-05T21:26:44Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function sets the Z ordering of a blip. It allows you to make a blip appear on top of or below other blips.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setBlipOrdering ( blip theBlip, int ordering )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:setOrdering||getBlipOrdering|}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theBlip:''' the blip whose Z ordering to change.&lt;br /&gt;
*'''ordering:''' the new Z ordering value. Blips with higher values will appear on top of blips with lower values. Possible range: -32767 to 32767. Default: 0.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the blip ordering was changed successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example will create a blip and make your blip on top of all other blip's.&lt;br /&gt;
&amp;lt;section class=&amp;quot;server&amp;quot; name=&amp;quot;Server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function makeBlipHigher(thePlayer)&lt;br /&gt;
    local setmeup = createBlipAttachedTo ( thePlayer, 3, 3, 255, 0,0,255,0,99999.0, root)&lt;br /&gt;
    setBlipOrdering(setmeup, getBlipOrdering(setmeup) + 1)&lt;br /&gt;
    outputChatBox(&amp;quot;*INFO: #ffff00Your blip is now on top of others!&amp;quot;, thePlayer, 255,0,0,true)&lt;br /&gt;
    for i,v in ipairs(getElementsByType&amp;quot;player&amp;quot;) do&lt;br /&gt;
          if v ~= thePlayer then&lt;br /&gt;
                  outputChatBox(&amp;quot;*INFO: #ffff00&amp;quot; .. getPlayerName(thePlayer) .. &amp;quot;'s blip is now on top of your blip!&amp;quot;,v,255,0,0,true)&lt;br /&gt;
          end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;incrementBlip&amp;quot;, makeBlipHigher, false, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetBlipColor&amp;diff=43194</id>
		<title>SetBlipColor</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetBlipColor&amp;diff=43194"/>
		<updated>2014-12-05T21:26:18Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function will let you change the color of a blip. This color is only applicable to the default blip icon ([[Image:Blipid0s.png|12px]], [[Image:Blipid0u.png|12px]] or [[Image:Blipid0d.png|12px]]). All other icons will ignore this.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setBlipColor ( blip theBlip, int red, int green, int blue, int alpha )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:setColor||getBlipColor|}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theBlip:''' The blip who's color you wish to set.&lt;br /&gt;
*'''red:''' The amount of red in the blip's color (0 - 255).&lt;br /&gt;
*'''green:''' The amount of green in the blip's color (0 - 255).&lt;br /&gt;
*'''blue:''' The amount of blue in the blip's color (0 - 255).&lt;br /&gt;
*'''alpha:''' The amount of alpha in the blip's color (0 - 255).  Alpha decides transparancy where 255 is opaque and 0 is transparent.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the blip's color was set successfully. Returns ''false'' if the blip passed to the function is invalid, or any of the colors are out of the valid range.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will find all the blips that exist and set them all to white if they aren't white already.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
local blips = getElementsByType ( &amp;quot;blip&amp;quot; )&lt;br /&gt;
-- Loop through the list, storing the blip from the table in the variable blipValue&lt;br /&gt;
for blipKey, blipValue in ipairs ( blips ) do&lt;br /&gt;
	-- Retrieve the blip's colors into the variables red, green, blue and alpha&lt;br /&gt;
	local red, green, blue, alpha = getBlipColor ( blipValue )&lt;br /&gt;
	-- If the blip's icon isn't white already&lt;br /&gt;
	if ( red ~= 255 or green ~= 255 or blue ~= 255 or alpha ~= 255 ) then&lt;br /&gt;
		-- Set the blip's color to white&lt;br /&gt;
		setBlipColor ( blipValue, 255, 255, 255, 255 )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetBlipIcon&amp;diff=43193</id>
		<title>SetBlipIcon</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetBlipIcon&amp;diff=43193"/>
		<updated>2014-12-05T21:25:13Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function sets the icon for an existing blip element.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setBlipIcon ( blip theBlip, int icon )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:setIcon||}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theBlip''' The blip you wish to set the icon of.&lt;br /&gt;
*'''icon:''' A number indicating the icon you wish to change it do. Valid values are:&lt;br /&gt;
{{Blip_Icons}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the icon was succesfully set, ''false'' if the element passed was not a valid blip or the icon value was not a valid icon number.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example resets all blip icons to the default blip icon, 0.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
blips = getElementsByType ( &amp;quot;blip&amp;quot; )&lt;br /&gt;
-- Loop through the list, storing the blip from the table in the variable blipValue&lt;br /&gt;
for blipKey, blipValue in blips do&lt;br /&gt;
	-- Retrieve the blip's icon into the variable 'blipIcon'&lt;br /&gt;
	blipIcon = getBlipIcon ( blipValue )&lt;br /&gt;
	-- If the blip's icon wasn't the default already&lt;br /&gt;
	if ( blipIcon ~= 0 ) then&lt;br /&gt;
		-- Set the blip's icon to the default&lt;br /&gt;
		setBlipIcon ( blipValue, 0 )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetBlipVisibleDistance&amp;diff=43192</id>
		<title>GetBlipVisibleDistance</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetBlipVisibleDistance&amp;diff=43192"/>
		<updated>2014-12-05T21:24:10Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function will tell you what visible distance a blip has. &lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;float getBlipVisibleDistance ( blip theBlip )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:getVisibleDistance||}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theBlip:''' The blip whose visible distance you wish to get.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns one float with the blips visible distance, false if the blip is invalid.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will demonstrate basic functionality of getBlipVisibleDistance&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local blip = createBlip(0, 0, 0, 47, 0, 0, 0, 0, 0, 0, 1000)&lt;br /&gt;
outputDebugString(&amp;quot;Blip visible distance: &amp;quot;..getBlipVisibleDistance(blip))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example will combine the total visible distances of all blips&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
local blips = getElementsByType(&amp;quot;blip&amp;quot;)&lt;br /&gt;
local distance = 0&lt;br /&gt;
-- Loop through the list, storing the blips visible distance with the rest.&lt;br /&gt;
for index, blip in ipairs(blips) do&lt;br /&gt;
	-- Retrieve the blip's visible distance&lt;br /&gt;
	distance = distance + getBlipVisibleDistance(blip) or 0 -- &amp;quot;or 0&amp;quot; just incase its false ;)&lt;br /&gt;
end&lt;br /&gt;
outputDebugString(&amp;quot;Combined total of all blips visible distances: &amp;quot;..distance)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetBlipSize&amp;diff=43191</id>
		<title>GetBlipSize</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetBlipSize&amp;diff=43191"/>
		<updated>2014-12-05T21:22:53Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function gets the size of a blip.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int getBlipSize ( blip theBlip )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:getSize||}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theBlip:''' The blip you wish to get the size of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns an [[int]] indicating the size of the blip. The default value is 2.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will reset the size of all blips to the default.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
blips = getElementsByType ( &amp;quot;blip&amp;quot; )&lt;br /&gt;
-- Loop through the list, storing the blip from the table in the variable blipValue&lt;br /&gt;
for blipKey, blipValue in ipairs(blips) do&lt;br /&gt;
	-- Retrieve the blip's size into the variable 'blipSize'&lt;br /&gt;
	blipSize = getBlipSize ( blipValue )&lt;br /&gt;
	-- If the blip's size wasn't 2 (the default size) already&lt;br /&gt;
	if ( blipSize ~= 2 ) then&lt;br /&gt;
		-- Set the blip's size to the default&lt;br /&gt;
		setBlipSize ( blipValue, 2 )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetBlipOrdering&amp;diff=43190</id>
		<title>GetBlipOrdering</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetBlipOrdering&amp;diff=43190"/>
		<updated>2014-12-05T21:22:00Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function gets the Z ordering value of a blip. The Z ordering determines if a blip appears on top of or below other blips. Blips with a higher Z ordering value appear on top of blips with a lower value. The default value for all blips is 0.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int getBlipOrdering ( blip theBlip )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:getOrdering||}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theBlip:''' the blip to retrieve the Z ordering value of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the Z ordering value of the blip if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function getMyBlip(theBlip)&lt;br /&gt;
    local ordering = getBlipOrdering ( theBlip )&lt;br /&gt;
    if (ordering) then&lt;br /&gt;
        outputChatBox(&amp;quot;The following blip has a ordering of &amp;quot;..ordering)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetBlipIcon&amp;diff=43189</id>
		<title>GetBlipIcon</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetBlipIcon&amp;diff=43189"/>
		<updated>2014-12-05T21:21:04Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns the icon a blip currently has.&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int getBlipIcon ( blip theBlip )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:getIcon||}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theBlip''': the blip we're getting the icon number of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns an [[int]] indicating which icon the blip has. Valid values are:&lt;br /&gt;
{{Blip_Icons}}&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will find all the blips that exist and set them all to the default blip icon.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
blips = getElementsByType ( &amp;quot;blip&amp;quot; )&lt;br /&gt;
-- Loop through the list, storing the blip from the table in the variable blipValue&lt;br /&gt;
for blipKey, blipValue in ipairs(blips) do&lt;br /&gt;
	-- Retrieve the blip's icon into the variable 'blipIcon'&lt;br /&gt;
	blipIcon = getBlipIcon ( blipValue )&lt;br /&gt;
	-- If the blip's icon wasn't the default already&lt;br /&gt;
	if ( blipIcon ~= 0 ) then&lt;br /&gt;
		-- Set the blip's icon to the default&lt;br /&gt;
		setBlipIcon ( blipValue, 0 )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetBlipColor&amp;diff=43188</id>
		<title>GetBlipColor</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetBlipColor&amp;diff=43188"/>
		<updated>2014-12-05T21:19:14Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function will tell you what color a blip is. This color is only applicable to the default blip icon ([[Image:Blipid0s.png|12px]], [[Image:Blipid0u.png|12px]] or [[Image:Blipid0d.png|12px]]). All other icons will ignore this.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int int int int getBlipColor ( blip theBlip )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:getColor||}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theBlip:''' The blip whose color you wish to get.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns four integers in RGBA format, with a maximum value of 255 for each. The values are, in order, ''red'', ''green'', ''blue'', and ''alpha''.  Alpha decides the transparancy where 255 is opaque and 0 is fully transparent. ''false'' is returned if the blip is invalid.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example will find all the blips that exist and set them all to white if they aren't white already.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Retrieve a table containing all the blips that exist&lt;br /&gt;
blips = getElementsByType ( &amp;quot;blip&amp;quot; )&lt;br /&gt;
-- Loop through the list, storing the blip from the table in the variable blipValue&lt;br /&gt;
for blipKey, blipValue in ipairs(blips) do&lt;br /&gt;
	-- Retrieve the blip's colors into the variables red, green, blue and alpha&lt;br /&gt;
	red, green, blue, alpha = getBlipColor ( blipValue )&lt;br /&gt;
	-- If the blip's icon isn't white already&lt;br /&gt;
	if ( red ~= 255 or green ~= 255 or blue ~= 255 or alpha ~= 255 ) then&lt;br /&gt;
		-- Set the blip's color to white&lt;br /&gt;
		setBlipColor ( blipValue, 255, 255, 255, 255 )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CreateBlipAttachedTo&amp;diff=43187</id>
		<title>CreateBlipAttachedTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CreateBlipAttachedTo&amp;diff=43187"/>
		<updated>2014-12-05T21:17:50Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function creates a [[blip]] that is attached to an [[element]]. This blip is displayed as an icon on the client's radar and will 'follow' the element that it is attached to around.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
blip createBlipAttachedTo ( element elementToAttachTo, [int icon=0, int size=2, int r=255, int g=0, int b=0, int a=255, int ordering=0, float visibleDistance=99999.0, visibleTo = getRootElement()] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:createAttachedTo||}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''elementToAttachTo:''' The [[element]] to attach the marker to.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''icon:''' The icon that the radar blips should be. Valid values are:&lt;br /&gt;
{{Blip_Icons}}&lt;br /&gt;
*'''size:''' The size of the radar blip. Only applicable to the ''Marker'' icon. Default value is 2.&lt;br /&gt;
*'''r:''' The amount of red in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 255. &lt;br /&gt;
*'''g:''' The amount of green in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''b:''' The amount of blue in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''a:''' The amount of alpha in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 255.&lt;br /&gt;
{{New feature/item|3|1.0||&lt;br /&gt;
*'''ordering:''' This defines the blip's Z-level ordering (-32768 - 32767). Default is 0.&lt;br /&gt;
*'''visibleDistance:''' The maximum distance from the camera at which the blip is still visible (0 - 65535)&lt;br /&gt;
}}&lt;br /&gt;
*'''visibleTo:''' What elements can see the blip. Defaults to visible to everyone. See [[visibility]].&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;false&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
blip createBlipAttachedTo ( element elementToAttachTo, [int icon=0, int size=2, int r=255, int g=0, int b=0, &lt;br /&gt;
int a=255, int ordering=0, float visibleDistance=99999.0] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''elementToAttachTo:''' The [[element]] to attach the marker to.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''icon:''' The icon that the radar blips should be. Valid values are:&lt;br /&gt;
{{Blip_Icons}}&lt;br /&gt;
*'''size:''' The size of the radar blip. Only applicable to the ''Marker'' icon. Default is 2.&lt;br /&gt;
*'''r:''' The amount of red in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. 'Default is 255. &lt;br /&gt;
*'''g:''' The amount of green in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''b:''' The amount of blue in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''a:''' The amount of alpha in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 255.&lt;br /&gt;
{{New feature/item|3|1.0||&lt;br /&gt;
*'''ordering:''' This defines the blip's Z-level ordering (-32768 - 32767). Default is 0.&lt;br /&gt;
*'''visibleDistance:''' The maximum distance from the camera at which the blip is still visible&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a [[blip]] if the blip was created succesfully, or ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a radar blip attached to a random player, visible to everyone. The blip will follow the player around as they move. This could be used for manhunt, to emphasise a random player.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Pick a random player&lt;br /&gt;
function setupRandomRobber ()&lt;br /&gt;
	local myPlayer = getRandomPlayer ()&lt;br /&gt;
	-- Create a radar blip at the player's position, with a 'cash' icon and only visible to everyone (no 'visibleTo' parameter)&lt;br /&gt;
	local myBlip = createBlipAttachedTo ( myPlayer, 52 )&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CreateBlip&amp;diff=43186</id>
		<title>CreateBlip</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CreateBlip&amp;diff=43186"/>
		<updated>2014-12-05T21:16:07Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function creates a [[blip]] [[element]], which is displayed as an icon on the client's radar.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
blip createBlip ( float x, float y, float z [, int icon = 0, int size = 2, int r = 255, int g = 0, int b = 0, int a = 255, int ordering = 0, float visibleDistance = 99999.0, visibleTo = getRootElement( ) ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|The element type of this class is [[Blip]].|[[Blip]]:create||}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''x:''' The x position of the blip, in world coordinates.&lt;br /&gt;
*'''y:''' The y position of the blip, in world coordinates.&lt;br /&gt;
*'''z:''' The z position of the blip, in world coordinates.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''icon:''' The icon that the radar blips should be. Valid values are:&lt;br /&gt;
{{Blip_Icons}}&lt;br /&gt;
*'''size:''' The size of the radar blip. Only applicable to the ''Marker'' icon. Default is 2.&lt;br /&gt;
*'''r:''' The amount of red in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 255. &lt;br /&gt;
*'''g:''' The amount of green in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''b:''' The amount of blue in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''a:''' The amount of alpha in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 255.&lt;br /&gt;
{{New feature/item|3|1.0||&lt;br /&gt;
*'''ordering:''' This defines the blip's Z-level ordering (-32768 - 32767). Default is 0.&lt;br /&gt;
*'''visibleDistance:''' The maximum distance from the camera at which the blip is still visible&lt;br /&gt;
}}&lt;br /&gt;
*'''visibleTo:''' This defines which elements can see the blip. Defaults to visible to everyone. See [[visibility]].&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
blip createBlip ( float x, float y, float z [, int icon = 0, int size = 2, int r = 255, int g = 0, int b = 0, int a = 255, int ordering = 0, float visibleDistance ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''x:''' The x position of the blip, in world coordinates.&lt;br /&gt;
*'''y:''' The y position of the blip, in world coordinates.&lt;br /&gt;
*'''z:''' The z position of the blip, in world coordinates.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''icon:''' The icon that the radar blips should be. Valid values are:&lt;br /&gt;
{{Blip_Icons}}&lt;br /&gt;
*'''size:''' The size of the radar blip. Only applicable to the ''Marker'' icon. Default is 2.&lt;br /&gt;
*'''r:''' The amount of red in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 255. &lt;br /&gt;
*'''g:''' The amount of green in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''b:''' The amount of blue in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 0.&lt;br /&gt;
*'''a:''' The amount of alpha in the blip's color (0 - 255). Only applicable to the ''Marker'' icon. Default is 255.&lt;br /&gt;
{{New feature/item|3|1.0||&lt;br /&gt;
*'''ordering:''' This defines the blip's Z-level ordering (-32768 - 32767). Default is 0.&lt;br /&gt;
*'''visibleDistance:''' The maximum distance from the camera at which the blip is still visible.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns an [[element]] of the [[blip]] if it was created successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
'''Example 1:''' This example creates a radar blip at a random player's position and makes it so that it is only visible to that player.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Pick a random player&lt;br /&gt;
local myPlayer = getRandomPlayer( )&lt;br /&gt;
-- Retrieve the player's position and store it in the variables x, y and z&lt;br /&gt;
local x, y, z = getElementPosition( myPlayer )&lt;br /&gt;
-- Create a radar blip at the player's position, with a 'cash' icon and only visible to the player&lt;br /&gt;
local myBlip = createBlip( x, y, z, 51, 0, 0, 0, 255, myPlayer )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example 2:''' This example attaches a blip to a player. You can attach a blip to an element by just setting the blip's parent to that element.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Pick a random player&lt;br /&gt;
local myPlayer = getRandomPlayer( )&lt;br /&gt;
-- Create a radar blip in the middle of the map&lt;br /&gt;
local myBlip = createBlip( 0, 0, 0 )&lt;br /&gt;
-- Make the player the parent of the blip, so that the blip follows the player around&lt;br /&gt;
setElementParent( myBlip, myPlayer )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Blip_functions}}&lt;br /&gt;
&lt;br /&gt;
[[AR:createBlip]]&lt;br /&gt;
[[es:createBlip]]&lt;br /&gt;
[[DE:createBlip]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetCameraInterior&amp;diff=43185</id>
		<title>GetCameraInterior</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetCameraInterior&amp;diff=43185"/>
		<updated>2014-12-05T21:02:17Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
Returns the interior of the local camera (independent of the interior of the local player).&lt;br /&gt;
&lt;br /&gt;
==Procedural==&lt;br /&gt;
===Syntax===&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
int getCameraInterior ( player thePlayer )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[player]]:getInterior}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
'''thePlayer''': The player whose camera interior you want to get.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
int getCameraInterior ( )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns an ''integer'' indicating the camera's interior, ''false'' if the argument is invalid.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function outputCameraInterior ( player, command )&lt;br /&gt;
	local interior = getCameraInterior ( player )&lt;br /&gt;
	outputChatBox ( &amp;quot;The camera is in the interior &amp;quot; .. interior, player, 255, 255, 0 )&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;camera&amp;quot;, outputCameraInterior )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{New items|3.0140|1.4|&lt;br /&gt;
==Object-oriented==&lt;br /&gt;
===Syntax===&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
int player:getCameraInterior ( )&lt;br /&gt;
-- or&lt;br /&gt;
int player.cameraInterior -- to get the camera interior value&lt;br /&gt;
player.cameraInterior = int someValue -- to set the camera interior value&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
int Camera.getInterior ( )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Returns an ''integer'' indicating the camera's interior, ''false'' if the argument is invalid.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function outputCameraInterior ( command )&lt;br /&gt;
	local interior = Camera.getInterior ( )&lt;br /&gt;
	outputChatBox ( &amp;quot;The camera is in the interior &amp;quot; .. interior, localPlayer, 255, 255, 0 )&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;camera&amp;quot;, outputCameraInterior )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Camera functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetCameraInterior&amp;diff=43184</id>
		<title>SetCameraInterior</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetCameraInterior&amp;diff=43184"/>
		<updated>2014-12-05T21:00:10Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
Sets the interior of the local camera. Only the interior of the camera is changed, the local player stays in the interior he was in.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setCameraInterior ( player thePlayer, int interior )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[player]]:setInterior|cameraInterior|getCameraInterior}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''thePlayer:''' the player whose camera interior will be set.&lt;br /&gt;
*'''interior:''' the interior to place the camera in.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setCameraInterior ( int interior )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''interior:''' the interior to place the camera in.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the camera's interior was changed successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt; This example make a command to change your cam interior to a selected one. &amp;lt;/strong&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function setCamInt( thePlayer, commandName, intID )&lt;br /&gt;
        if( intID )then -- If there is an ID&lt;br /&gt;
		local seted = setCameraInterior( thePlayer, intID ) -- set the interior to the camera&lt;br /&gt;
                if( seted )then -- If it has been changed correctly&lt;br /&gt;
                        outputChatBox( &amp;quot;Your camera's interior has been set to &amp;quot;..intID, thePlayer ) -- Tell to the player his new camera's interior&lt;br /&gt;
                else -- otherwise&lt;br /&gt;
                        outputChatBox( &amp;quot;Can't change your camera's interior...&amp;quot;, thePlayer, 255, 0, 0 ) -- Tell him the change failed&lt;br /&gt;
                end&lt;br /&gt;
	else -- otherwise &lt;br /&gt;
		outputChatBox( &amp;quot;Syntax: /caminterior [interiorID] &amp;quot;, thePlayer, 255, 0, 0 ) -- Tell him the correct syntax&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler( &amp;quot;caminterior&amp;quot;, setCamInt )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;strong&amp;gt; This example make a command to change your cam interior to a selected one. &amp;lt;/strong&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function setCam(command,int)&lt;br /&gt;
    if (int) then&lt;br /&gt;
		local setInt = setCameraInterior(int)&lt;br /&gt;
                if (setInt) then&lt;br /&gt;
                        outputChatBox(&amp;quot;Your camera's interior has been set to &amp;quot;..int,255,255,0)&lt;br /&gt;
                else&lt;br /&gt;
                        outputChatBox(&amp;quot;Can't change your camera's interior...&amp;quot;,255,0,0)&lt;br /&gt;
                end&lt;br /&gt;
	else&lt;br /&gt;
		outputChatBox(&amp;quot;Syntax: /camera [interiorID] &amp;quot;,255,0,0)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;camera&amp;quot;,setCam)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_camera_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FadeCamera&amp;diff=43183</id>
		<title>FadeCamera</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FadeCamera&amp;diff=43183"/>
		<updated>2014-12-05T20:58:23Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function will fade a player's camera to a color or back to normal over a specified time period. This will also affect the sound volume for the player (50% faded = 50% volume, full fade = no sound). For clientside scripts you can perform 2 fade ins or fade outs in a row, but for serverside scripts you must use one then the other.&lt;br /&gt;
&lt;br /&gt;
''Note: The speed of the effect depends directly on the current gamespeed.''&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool fadeCamera ( player thePlayer, bool fadeIn, [ float timeToFade = 1.0, int red = 0, int green = 0, int blue = 0 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[player]]:fade}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''thePlayer:''' The player whose camera you wish to fade.&lt;br /&gt;
* '''fadeIn:''' Should the camera be faded in or out? Pass ''true'' to fade the camera in, ''false'' to fade it out to a color.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
* '''timeToFade:''' The number of seconds it should take to fade. Any number less than 1 makes the fade instant.&lt;br /&gt;
* '''red:''' The amount of red in the color that the camera fades out to (0 - 255). Not required for fading in.&lt;br /&gt;
* '''green:''' The amount of green in the color that the camera fades out to (0 - 255). Not required for fading in.&lt;br /&gt;
* '''blue:''' The amount of blue in the color that the camera fades out to (0 - 255). Not required for fading in.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool fadeCamera ( bool fadeIn, [ float timeToFade = 1.0, int red = 0, int green = 0, int blue = 0 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||Camera.fade}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''fadeIn:''' Should the camera be faded in our out? Pass ''true'' to fade the camera in, ''false'' to fade it out to a color.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
* '''timeToFade:''' The number of seconds it should take to fade. Any number less than 1 makes the fade instant.&lt;br /&gt;
* '''red:''' The amount of red in the color that the camera fades out to (0 - 255). Not required for fading in.&lt;br /&gt;
* '''green:''' The amount of green in the color that the camera fades out to (0 - 255). Not required for fading in.&lt;br /&gt;
* '''blue:''' The amount of blue in the color that the camera fades out to (0 - 255). Not required for fading in.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the camera was faded successfully, ''false'' if invalid arguments were passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server example&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
When a player gets damaged, place a quick fade-to-red effect on his screen.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function addRednessOnDamage ( )&lt;br /&gt;
      fadeCamera ( source, false, 1.0, 255, 0, 0 )         -- fade the player's camera to red over a period of 1 second&lt;br /&gt;
      setTimer ( fadeCameraDelayed, 500, 1, source )   -- don't let it go to opaque red, interrupt it after half a second and fade back to normal&lt;br /&gt;
end&lt;br /&gt;
addEventHandler ( &amp;quot;onPlayerDamage&amp;quot;, getRootElement(), addRednessOnDamage )&lt;br /&gt;
&lt;br /&gt;
function fadeCameraDelayed(player) -- This function prevents debug warnings when the player disconnects while the timer is running.&lt;br /&gt;
      if (isElement(player)) then&lt;br /&gt;
            fadeCamera(player, true, 0.5)&lt;br /&gt;
      end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Camera functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43182</id>
		<title>OOP client</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43182"/>
		<updated>2014-12-05T20:51:38Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Marker */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The new OOP in MTA allows for better code organization and readability. This is a list of [[Client_Scripting_Functions|client-side functions]].&lt;br /&gt;
&lt;br /&gt;
''See also: [[OOP]]''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Element==&lt;br /&gt;
 &lt;br /&gt;
 areCollisionsEnabled (function: [[getElementCollisionsEnabled]])&lt;br /&gt;
 attach (function: [[attachElements]])&lt;br /&gt;
 clearVisibleTo (function: [[clearElementVisibleTo]])&lt;br /&gt;
 clone (function: [[cloneElement]])&lt;br /&gt;
 create (function: [[createElement]])&lt;br /&gt;
 detach (function: [[detachElements]])&lt;br /&gt;
 getAllByType (function: [[getElementsByType]])&lt;br /&gt;
 getAllData (function: [[getAllElementData]])&lt;br /&gt;
 getAlpha (function: [[getElementAlpha]])&lt;br /&gt;
 getAttachedElements (function: [[getAttachedElements]])&lt;br /&gt;
 getAttachedOffsets (function: [[getElementAttachedOffsets]])&lt;br /&gt;
 getAttachedTo (function: [[getElementAttachedTo]])&lt;br /&gt;
 getBoundingBox (function: [[getElementBoundingBox]])&lt;br /&gt;
 getByID (function: [[getElementByID]])&lt;br /&gt;
 getByType (function: [[getElementsByType]])&lt;br /&gt;
 getChild (function: [[getElementChild]])&lt;br /&gt;
 getChildren (function: [[getElementChildren]])&lt;br /&gt;
 getChildrenCount (function: [[getElementChildrenCount]])&lt;br /&gt;
 getColShape (function: [[getElementColShape]])&lt;br /&gt;
 getData (function: [[getElementData]])&lt;br /&gt;
 getDimension (function: [[getElementDimension]])&lt;br /&gt;
 getDistanceFromCentreOfMassToBaseOfModel (function: [[GetElementDistanceFromCentreOfMassToBaseOfModel]])&lt;br /&gt;
 getHealth (function: [[getElementHealth]])&lt;br /&gt;
 getID (function: [[getElementID]])&lt;br /&gt;
 getInterior (function: [[getElementInterior]])&lt;br /&gt;
 getLowLOD (function: [[getLowLODElement]])&lt;br /&gt;
 getModel (function: [[getElementModel]])&lt;br /&gt;
 getParent (function: [[getElementParent]])&lt;br /&gt;
 getSyncer (function: [[getElementSyncer]])&lt;br /&gt;
 getType (function: [[getElementType]])&lt;br /&gt;
 getVelocity (function: [[getElementVelocity]])&lt;br /&gt;
 getWithinColShape (function: [[getElementsWithinColShape]])&lt;br /&gt;
 getZoneName (function: [[getElementZoneName]])&lt;br /&gt;
 isAttached (function: [[isElementAttached]])&lt;br /&gt;
 isCallPropagationEnabled (function: [[isElementCallPropagationEnabled]])&lt;br /&gt;
 isDoubleSided (function: [[isElementDoubleSided]])&lt;br /&gt;
 isFrozen (function: [[isElementFrozen]])&lt;br /&gt;
 isInWater (function: [[isElementInWater]])&lt;br /&gt;
 isLowLOD (function: [[isElementLowLOD]])&lt;br /&gt;
 isVisibleTo (function: [[isElementVisibleTo]])&lt;br /&gt;
 isWithinColShape (function: [[isElementWithinColShape]])&lt;br /&gt;
 isWithinMarker (function: [[isElementWithinMarker]])&lt;br /&gt;
 removeData (function: [[removeElementData]])&lt;br /&gt;
 setAlpha (function: [[setElementAlpha]])&lt;br /&gt;
 setAttachedOffsets (function: [[setElementAttachedOffsets]])&lt;br /&gt;
 setCallPropagationEnabled (function: [[setElementCallPropagationEnabled]])&lt;br /&gt;
 setCollisionsEnabled (function: [[setElementCollisionsEnabled]])&lt;br /&gt;
 setData (function: [[setElementData]])&lt;br /&gt;
 setDimension (function: [[setElementDimension]])&lt;br /&gt;
 setDoubleSided (function: [[setElementDoubleSided]])&lt;br /&gt;
 setFrozen (function: [[setElementFrozen]])&lt;br /&gt;
 setHealth (function: [[setElementHealth]])&lt;br /&gt;
 setID (function: [[setElementID]])&lt;br /&gt;
 setInterior (function: [[setElementInterior]])&lt;br /&gt;
 setLowLOD (function: [[setLowLODElement]])&lt;br /&gt;
 setMatrix (function: [[setElementMatrix]])&lt;br /&gt;
 setModel (function: [[setElementModel]])&lt;br /&gt;
 setParent (function: [[setElementParent]])&lt;br /&gt;
 setPosition (function: [[setElementPosition]])&lt;br /&gt;
 setVelocity (function: [[setElementVelocity]])&lt;br /&gt;
 setVisibleTo (function: [[setElementVisibleTo]])&lt;br /&gt;
&lt;br /&gt;
==Vehicle==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addUpgrade (function: [[addVehicleUpgrade]])&lt;br /&gt;
 attachTrailer (function: [[attachTrailerToVehicle]])&lt;br /&gt;
 blow (function: [[blowVehicle]])&lt;br /&gt;
 create (function: [[createVehicle]])&lt;br /&gt;
 detachTrailer (function: [[detachTrailerFromVehicle]])&lt;br /&gt;
 fix (function: [[fixVehicle]])&lt;br /&gt;
 getAdjustableProperty (function: [[getVehicleAdjustableProperty]])&lt;br /&gt;
 getColor (function: [[getVehicleColor]])&lt;br /&gt;
 getCompatibleUpgrades (function: [[getVehicleCompatibleUpgrades]])&lt;br /&gt;
 getComponentPosition (function: [[getVehicleComponentPosition]])&lt;br /&gt;
 getComponentRotation (function: [[getVehicleComponentRotation]])&lt;br /&gt;
 getComponents (function: [[getVehicleComponents]])&lt;br /&gt;
 getComponentVisible (function: [[getVehicleComponentVisible]])&lt;br /&gt;
 getController (function: [[getVehicleController]])&lt;br /&gt;
 getDoorOpenRatio (function: [[getVehicleDoorOpenRatio]])&lt;br /&gt;
 getDoorState (function: [[getVehicleDoorState]])&lt;br /&gt;
 getEngineState (function: [[getVehicleEngineState]])&lt;br /&gt;
 getGear (function: [[getVehicleCurrentGear]])&lt;br /&gt;
 getGravity (function: [[getVehicleGravity]])&lt;br /&gt;
 getHandling (function: [[getVehicleHandling]])&lt;br /&gt;
 getHeadLightColor (function: [[getVehicleHeadLightColor]])&lt;br /&gt;
 getHelicopterRotorSpeed (function: [[getHelicopterRotorSpeed]])&lt;br /&gt;
 getLandingGearDown (function: [[getVehicleLandingGearDown]])&lt;br /&gt;
 getLightState (function: [[getVehicleLightState]])&lt;br /&gt;
 getMaxPassengers (function: [[getVehicleMaxPassengers]])&lt;br /&gt;
 getName (function: [[getVehicleName]])&lt;br /&gt;
 getNitroCount (function: [[getVehicleNitroCount]])&lt;br /&gt;
 getNitroLevel (function: [[getVehicleNitroLevel]])&lt;br /&gt;
 getOccupant (function: [[getVehicleOccupant]])&lt;br /&gt;
 getOccupants (function: [[getVehicleOccupants]])&lt;br /&gt;
 getOverrideLights (function: [[getVehicleOverrideLights]])&lt;br /&gt;
 getPaintjob (function: [[getVehiclePaintjob]])&lt;br /&gt;
 getPanelState (function: [[getVehiclePanelState]])&lt;br /&gt;
 getPlateText (function: [[getVehiclePlateText]])&lt;br /&gt;
 getSirens (function: [[getVehicleSirens]])&lt;br /&gt;
 getSirensOn (function: [[getVehicleSirensOn]])&lt;br /&gt;
 getTowedByVehicle (function: [[getVehicleTowedByVehicle]])&lt;br /&gt;
 getTowingVehicle (function: [[getVehicleTowingVehicle]])&lt;br /&gt;
 getTrainDirection (function: [[getTrainDirection]])&lt;br /&gt;
 getTrainSpeed (function: [[getTrainSpeed]])&lt;br /&gt;
 getTurnVelocity (function: [[getVehicleTurnVelocity]])&lt;br /&gt;
 getTurretPosition (function: [[getVehicleTurretPosition]])&lt;br /&gt;
 getUpgrades (function: [[getVehicleUpgrades]])&lt;br /&gt;
 getUpgradeSlotName (function: [[getVehicleUpgradeSlotName]])&lt;br /&gt;
 getVariant (function: [[getVehicleVariant]])&lt;br /&gt;
 getVehicleType (function: [[getVehicleType]])&lt;br /&gt;
 getWheelStates (function: [[getVehicleWheelStates]])&lt;br /&gt;
 isBlown (function: [[isVehicleBlown]])&lt;br /&gt;
 isDamageProof (function: [[isVehicleDamageProof]])&lt;br /&gt;
 isFuelTankExplodable (function: [[isVehicleFuelTankExplodable]])&lt;br /&gt;
 isLocked (function: [[isVehicleLocked]])&lt;br /&gt;
 isNitroActivated (function: [[isVehicleNitroActivated]])&lt;br /&gt;
 isNitroRecharging (function: [[isVehicleNitroRecharging]])&lt;br /&gt;
 isOnGround (function: [[isVehicleOnGround]])&lt;br /&gt;
 isTaxiLightOn (function: [[isVehicleTaxiLightOn]])&lt;br /&gt;
 isTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 isTrainDerailed (function: [[isTrainDerailed]])&lt;br /&gt;
 removeUpgrade (function: [[removeVehicleUpgrade]])&lt;br /&gt;
 resetComponentPosition (function: [[resetVehicleComponentPosition]])&lt;br /&gt;
 resetComponentRotation (function: [[resetVehicleComponentRotation]])&lt;br /&gt;
 setAdjustableProperty (function: [[setVehicleAdjustableProperty]])&lt;br /&gt;
 setColor (function: [[setVehicleColor]])&lt;br /&gt;
 setComponentPosition (function: [[setVehicleComponentPosition]])&lt;br /&gt;
 setComponentRotation (function: [[setVehicleComponentRotation]])&lt;br /&gt;
 setComponentVisible (function: [[setVehicleComponentVisible]])&lt;br /&gt;
 setDamageProof (function: [[setVehicleDamageProof]])&lt;br /&gt;
 setDirtLevel (function: [[setVehicleDirtLevel]])&lt;br /&gt;
 setDoorOpenRatio (function: [[setVehicleDoorOpenRatio]])&lt;br /&gt;
 setDoorState (function: [[setVehicleDoorState]])&lt;br /&gt;
 setDoorsUndamageable (function: [[setVehicleDoorsUndamageable]])&lt;br /&gt;
 setEngineState (function: [[setVehicleEngineState]])&lt;br /&gt;
 setFuelTankExplodable (function: [[setVehicleFuelTankExplodable]])&lt;br /&gt;
 setGravity (function: [[setVehicleGravity]])&lt;br /&gt;
 setHeadLightColor (function: [[setVehicleHeadLightColor]])&lt;br /&gt;
 setHelicopterRotorSpeed (function: [[setHelicopterRotorSpeed]])&lt;br /&gt;
 setLandingGearDown (function: [[setVehicleLandingGearDown]])&lt;br /&gt;
 setLightState (function: [[setVehicleLightState]])&lt;br /&gt;
 setLocked (function: [[setVehicleLocked]])&lt;br /&gt;
 setNitroActivated (function: [[setVehicleNitroActivated]])&lt;br /&gt;
 setNitroCount (function: [[setVehicleNitroCount]])&lt;br /&gt;
 setNitroLevel (function: [[setVehicleNitroLevel]])&lt;br /&gt;
 setOverrideLights (function: [[setVehicleOverrideLights]])&lt;br /&gt;
 setPaintjob (function: [[setVehiclePaintjob]])&lt;br /&gt;
 setPanelState (function: [[setVehiclePanelState]])&lt;br /&gt;
 setSirens (function: [[setVehicleSirens]])&lt;br /&gt;
 setSirensOn (function: [[setVehicleSirensOn]])&lt;br /&gt;
 setTaxiLightOn (function: [[setVehicleTaxiLightOn]])&lt;br /&gt;
 setTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 setTrainDerailed (function: [[setTrainDerailed]])&lt;br /&gt;
 setTrainDirection (function: [[setTrainDirection]])&lt;br /&gt;
 setTrainSpeed (function: [[setTrainSpeed]])&lt;br /&gt;
 setTurnVelocity (function: [[setVehicleTurnVelocity]])&lt;br /&gt;
 setTurretPosition (function: [[setVehicleTurretPosition]])&lt;br /&gt;
 setVariant (function: [[setVehicleVariant]])&lt;br /&gt;
 setWheelStates (function: [[setVehicleWheelStates]])&lt;br /&gt;
&lt;br /&gt;
==Ped==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addClothes (function: [[addPedClothes]])&lt;br /&gt;
 canBeKnockedOffBike (function: [[canPedBeKnockedOffBike]])&lt;br /&gt;
 create (function: [[createPed]])&lt;br /&gt;
 doesHaveJetPack (function: [[doesPedHaveJetPack]])&lt;br /&gt;
 getAmmoInClip (function: [[getPedAmmoInClip]])&lt;br /&gt;
 getAnalogControlState (function: [[getPedAnalogControlState]])&lt;br /&gt;
 getAnimation (function: [[getPedAnimation]])&lt;br /&gt;
 getAnimationData (function: [[getPedAnimationData]])&lt;br /&gt;
 getArmor (function: [[getPedArmor]])&lt;br /&gt;
 getBodyPartName (function: [[getBodyPartName]])&lt;br /&gt;
 getBonePosition (function: [[getPedBonePosition]])&lt;br /&gt;
 getCameraRotation (function: [[getPedCameraRotation]])&lt;br /&gt;
 getClothes (function: [[getPedClothes]])&lt;br /&gt;
 getClothesByTypeIndex (function: [[getClothesByTypeIndex]])&lt;br /&gt;
 getClothesTypeName (function: [[getClothesTypeName]])&lt;br /&gt;
 getContactElement (function: [[getPedContactElement]])&lt;br /&gt;
 getControlState (function: [[getPedControlState]])&lt;br /&gt;
 getMoveState (function: [[getPedMoveState]])&lt;br /&gt;
 getOccupiedVehicle (function: [[GetPedOccupiedVehicle]])&lt;br /&gt;
 getOxygenLevel (function: [[getPedOxygenLevel]])&lt;br /&gt;
 getSimplestTask (function: [[getPedSimplestTask]])&lt;br /&gt;
 getStat (function: [[getPedStat]])&lt;br /&gt;
 getTarget (function: [[getPedTarget]])&lt;br /&gt;
 getTargetCollision (function: [[getPedTargetCollision]])&lt;br /&gt;
 getTargetEnd (function: [[getPedTargetEnd]])&lt;br /&gt;
 getTargetStart (function: [[getPedTargetStart]])&lt;br /&gt;
 getTask (function: [[getPedTask]])&lt;br /&gt;
 getTotalAmmo (function: [[getPedTotalAmmo]])&lt;br /&gt;
 getTypeIndexFromClothes (function: [[getTypeIndexFromClothes]])&lt;br /&gt;
 getValidModels (function: [[getValidPedModels]])&lt;br /&gt;
 getVoice (function: [[getPedVoice]])&lt;br /&gt;
 getWalkingStyle (function: [[getPedWalkingStyle]])&lt;br /&gt;
 getWeapon (function: [[getPedWeapon]])&lt;br /&gt;
 getWeaponMuzzlePosition (function: [[getPedWeaponMuzzlePosition]])&lt;br /&gt;
 isChocking (function: [[isPedChoking]])&lt;br /&gt;
 isDoingGangDriveby (function: [[isPedDoingGangDriveby]])&lt;br /&gt;
 isDoingTask (function: [[isPedDoingTask]])&lt;br /&gt;
 isDucked (function: [[isPedDucked]])&lt;br /&gt;
 isHeadless (function: [[isPedHeadless]])&lt;br /&gt;
 isInVehicle (function: [[isPedInVehicle]])&lt;br /&gt;
 isOnFire (function: [[isPedOnFire]])&lt;br /&gt;
 isOnGround (function: [[isPedOnGround]])&lt;br /&gt;
 isTargetingMarkerEnabled (function: [[isPedTargetingMarkerEnabled]])&lt;br /&gt;
 removeClothes (function: [[removePedClothes]])&lt;br /&gt;
 removeFromVehicle (function: [[removePedFromVehicle]])&lt;br /&gt;
 setAimTarget (function: [[setPedAimTarget]])&lt;br /&gt;
 setAnalogControlState (function: [[setPedAnalogControlState]])&lt;br /&gt;
 setAnimation (function: [[setPedAnimation]])&lt;br /&gt;
 setAnimationProgress (function: [[setPedAnimationProgress]])&lt;br /&gt;
 setCameraRotation (function: [[setPedCameraRotation]])&lt;br /&gt;
 setCanBeKnockedOffBike (function: [[setPedCanBeKnockedOffBike]])&lt;br /&gt;
 setControlState (function: [[setPedControlState]])&lt;br /&gt;
 setDoingGangDriveby (function: [[setPedDoingGangDriveby]])&lt;br /&gt;
 setFootBloodEnabled (function: [[setPedFootBloodEnabled]])&lt;br /&gt;
 setHeadless (function: [[setPedHeadless]])&lt;br /&gt;
 setLookAt (function: [[setPedLookAt]])&lt;br /&gt;
 setOnFire (function: [[setPedOnFire]])&lt;br /&gt;
 setOxygenLevel (function: [[setPedOxygenLevel]])&lt;br /&gt;
 setTargetingMarkerEnabled (function: [[setPedTargetingMarkerEnabled]])&lt;br /&gt;
 setVoice (function: [[setPedVoice]])&lt;br /&gt;
 setWalkingStyle (function: [[setPedWalkingStyle]])&lt;br /&gt;
 setWeaponSlot (function: [[setPedWeaponSlot]])&lt;br /&gt;
 warpIntoVehicle (function: [[warpPedIntoVehicle]])&lt;br /&gt;
&lt;br /&gt;
==Player==&lt;br /&gt;
''Inherited from [[#Ped|Ped]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[getPlayerFromName]])&lt;br /&gt;
 getBlurLevel (function: [[getPlayerBlurLevel]])&lt;br /&gt;
 getMapBoundingBox (function: [[getPlayerMapBoundingBox]])&lt;br /&gt;
 getMoney (function: [[getPlayerMoney]])&lt;br /&gt;
 getName (function: [[getPlayerName]])&lt;br /&gt;
 getNametagColor (function: [[getPlayerNametagColor]])&lt;br /&gt;
 getNametagText (function: [[getPlayerNametagText]])&lt;br /&gt;
 getPing (function: [[getPlayerPing]])&lt;br /&gt;
 getSerial (function: [[getPlayerSerial]])&lt;br /&gt;
 getTeam (function: [[getPlayerTeam]])&lt;br /&gt;
 getWantedLevel (function: [[getPlayerWantedLevel]])&lt;br /&gt;
 giveMoney (function: [[givePlayerMoney]])&lt;br /&gt;
 isHudComponentVisible (function: [[isPlayerHudComponentVisible]])&lt;br /&gt;
 isMapForced (function: [[isPlayerMapForced]])&lt;br /&gt;
 isMapVisible (function: [[isPlayerMapVisible]])&lt;br /&gt;
 isNametagShowing (function: [[isPlayerNametagShowing]])&lt;br /&gt;
 setBlurLevel (function: [[setPlayerBlurLevel]])&lt;br /&gt;
 setMoney (function: [[setPlayerMoney]])&lt;br /&gt;
 setNametagColor (function: [[setPlayerNametagColor]])&lt;br /&gt;
 setNametagShowing (function: [[setPlayerNametagShowing]])&lt;br /&gt;
 setNametagText (function: [[setPlayerNametagText]])&lt;br /&gt;
 showHudComponent (function: [[showPlayerHudComponent]])&lt;br /&gt;
 takeMoney (function: [[takePlayerMoney]])&lt;br /&gt;
&lt;br /&gt;
==Object==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 break (function: [[breakObject]])&lt;br /&gt;
 create (function: [[createObject]])&lt;br /&gt;
 getMass (function: [[getObjectMass]])&lt;br /&gt;
 getScale (function: [[getObjectScale]])&lt;br /&gt;
 isBreakable (function: [[isObjectBreakable]])&lt;br /&gt;
 move (function: [[moveObject]])&lt;br /&gt;
 respawn (function: [[respawnObject]])&lt;br /&gt;
 setBreakable (function: [[setObjectBreakable]])&lt;br /&gt;
 setMass (function: [[setObjectMass]])&lt;br /&gt;
 setScale (function: [[setObjectScale]])&lt;br /&gt;
 stop (function: [[stopObject]])&lt;br /&gt;
 toggleObjectRespawn (function: [[toggleObjectRespawn]])&lt;br /&gt;
&lt;br /&gt;
==Marker==&lt;br /&gt;
''Inherited from [[#Marker|Marker]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createMarker]])&lt;br /&gt;
 getColor (function: [[getMarkerColor]])&lt;br /&gt;
 getCount (function: [[getMarkerCount]])&lt;br /&gt;
 getIcon (function: [[getMarkerIcon]])&lt;br /&gt;
 getSize (function: [[getMarkerSize]])&lt;br /&gt;
 getTarget (function: [[getMarkerTarget]])&lt;br /&gt;
 getType (function: [[getMarkerType]])&lt;br /&gt;
 setColor (function: [[setMarkerColor]])&lt;br /&gt;
 setIcon (function: [[setMarkerIcon]])&lt;br /&gt;
 setSize (function: [[setMarkerSize]])&lt;br /&gt;
 setTarget (function: [[setMarkerTarget]])&lt;br /&gt;
 setType (function: [[setMarkerType]])&lt;br /&gt;
&lt;br /&gt;
==Blip==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createBlip]])&lt;br /&gt;
 createAttachedTo (function: [[createBlipAttachedTo]])&lt;br /&gt;
 getColor (function: [[getBlipColor]])&lt;br /&gt;
 getIcon (function: [[getBlipIcon]])&lt;br /&gt;
 getOrdering (function: [[getBlipOrdering]])&lt;br /&gt;
 getSize (function: [[getBlipSize]])&lt;br /&gt;
 getVisibleDistance (function: [[getBlipVisibleDistance]])&lt;br /&gt;
 setColor (function: [[setBlipColor]])&lt;br /&gt;
 setIcon (function: [[setBlipIcon]])&lt;br /&gt;
 setOrdering (function: [[setBlipOrdering]])&lt;br /&gt;
 setSize (function: [[setBlipSize]])&lt;br /&gt;
 setVisibleDistance (function: [[setBlipVisibleDistance]])&lt;br /&gt;
&lt;br /&gt;
==Pickup==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createPickup]])&lt;br /&gt;
 getAmmo (function: [[getPickupAmmo]])&lt;br /&gt;
 getAmount (function: [[getPickupAmount]])&lt;br /&gt;
 getType (function: [[getPickupType]])&lt;br /&gt;
 getWeapon (function: [[getPickupWeapon]])&lt;br /&gt;
 setType (function: [[setPickupType]])&lt;br /&gt;
&lt;br /&gt;
==ColShape==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 Circle (function: [[createColCircle]])&lt;br /&gt;
 Cuboid (function: [[createColCuboid]])&lt;br /&gt;
 getElementsWithin (function: [[getElementsWithinColShape]])&lt;br /&gt;
 isElementWithin (function: [[isElementWithinColShape]])&lt;br /&gt;
 Polygon (function: [[createColPolygon]])&lt;br /&gt;
 Rectangle (function: [[createColRectangle]])&lt;br /&gt;
 Sphere (function: [[createColSphere]])&lt;br /&gt;
 Tube (function: [[createColTube]])&lt;br /&gt;
&lt;br /&gt;
==Projectile==&lt;br /&gt;
''Inherited from [[#Projectile|Projectile]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createProjectile]])&lt;br /&gt;
 getCounter (function: [[getProjectileCounter]])&lt;br /&gt;
 getCreator (function: [[getProjectileCreator]])&lt;br /&gt;
 getForce (function: [[getProjectileForce]])&lt;br /&gt;
 getTarget (function: [[getProjectileTarget]])&lt;br /&gt;
 getType (function: [[getProjectileType]])&lt;br /&gt;
 setCounter (function: [[setProjectileCounter]])&lt;br /&gt;
&lt;br /&gt;
==RadarArea==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createRadarArea]])&lt;br /&gt;
 getColor (function: [[getRadarAreaColor]])&lt;br /&gt;
 getSize (function: [[getRadarAreaSize]])&lt;br /&gt;
 isFlashing (function: [[isRadarAreaFlashing]])&lt;br /&gt;
 isInside (function: [[isInsideRadarArea]])&lt;br /&gt;
 setColor (function: [[setRadarAreaColor]])&lt;br /&gt;
 setFlashing (function: [[setRadarAreaFlashing]])&lt;br /&gt;
 setSize (function: [[setRadarAreaSize]])&lt;br /&gt;
&lt;br /&gt;
==Team==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 countPlayers (function: [[countPlayersInTeam]])&lt;br /&gt;
 create (function: [[getTeamFromName]])&lt;br /&gt;
 getColor (function: [[getTeamColor]])&lt;br /&gt;
 getFriendlyFire (function: [[getTeamFriendlyFire]])&lt;br /&gt;
 getFromName (function: [[getTeamFromName]])&lt;br /&gt;
 getName (function: [[getTeamName]])&lt;br /&gt;
&lt;br /&gt;
==Water==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWater]])&lt;br /&gt;
 getColor (function: [[getWaterColor]])&lt;br /&gt;
 getLevel (function: [[getWaterLevel]])&lt;br /&gt;
 getVertexPosition (function: [[getWaterVertexPosition]])&lt;br /&gt;
 getWaveHeight (function: [[getWaveHeight]])&lt;br /&gt;
 isDrawnLast (function: [[isWaterDrawnLast]])&lt;br /&gt;
 resetColor (function: [[resetWaterColor]])&lt;br /&gt;
 resetLevel (function: [[resetWaterLevel]])&lt;br /&gt;
 setColor (function: [[setWaterColor]])&lt;br /&gt;
 setDrawnLast (function: [[setWaterDrawnLast]])&lt;br /&gt;
 setLevel (function: [[setWaterLevel]])&lt;br /&gt;
 setVertexPosition (function: [[setWaterVertexPosition]])&lt;br /&gt;
 setWaveHeight (function: [[setWaveHeight]])&lt;br /&gt;
 testLineAgainst (function: [[testLineAgainstWater]])&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound]])&lt;br /&gt;
 getBPM (function: [[getSoundBPM]])&lt;br /&gt;
 getEffects (function: [[getSoundEffects]])&lt;br /&gt;
 getFFTData (function: [[getSoundFFTData]])&lt;br /&gt;
 getLength (function: [[getSoundLength]])&lt;br /&gt;
 getLevelData (function: [[getSoundLevelData]])&lt;br /&gt;
 getMetaTags (function: [[getSoundMetaTags]])&lt;br /&gt;
 getPan (function: [[getSoundPan]])&lt;br /&gt;
 getPlaybackPosition (function: [[getSoundPosition]])&lt;br /&gt;
 getProperties (function: [[getSoundProperties]])&lt;br /&gt;
 getSpeed (function: [[getSoundSpeed]])&lt;br /&gt;
 getVolume (function: [[getSoundVolume]])&lt;br /&gt;
 getWaveData (function: [[getSoundWaveData]])&lt;br /&gt;
 isPaused (function: [[isSoundPaused]])&lt;br /&gt;
 setEffectEnabled (function: [[setSoundEffectEnabled]])&lt;br /&gt;
 setPan (function: [[setSoundPan]])&lt;br /&gt;
 setPaused (function: [[setSoundPaused]])&lt;br /&gt;
 setPlaybackPosition (function: [[setSoundPosition]])&lt;br /&gt;
 setProperties (function: [[setSoundProperties]])&lt;br /&gt;
 setSpeed (function: [[setSoundSpeed]])&lt;br /&gt;
 setVolume (function: [[setSoundVolume]])&lt;br /&gt;
 stop (function: [[stopSound]])&lt;br /&gt;
&lt;br /&gt;
==Sound3D==&lt;br /&gt;
''Inherited from [[#Sound|Sound]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound3D]])&lt;br /&gt;
 getMaxDistance (function: [[getSoundMaxDistance]])&lt;br /&gt;
 getMinDistance (function: [[getSoundMinDistance]])&lt;br /&gt;
 setMaxDistance (function: [[setSoundMaxDistance]])&lt;br /&gt;
 setMinDistance (function: [[setSoundMinDistance]])&lt;br /&gt;
&lt;br /&gt;
==Weapon==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWeapon]])&lt;br /&gt;
 fire (function: [[fireWeapon]])&lt;br /&gt;
 getAmmo (function: [[getWeaponAmmo]])&lt;br /&gt;
 getClipAmmo (function: [[getWeaponClipAmmo]])&lt;br /&gt;
 getFiringRate (function: [[getWeaponFiringRate]])&lt;br /&gt;
 getFlags (function: [[getWeaponFlags]])&lt;br /&gt;
 getOwner (function: [[getWeaponOwner]])&lt;br /&gt;
 getProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 getState (function: [[getWeaponState]])&lt;br /&gt;
 getTarget (function: [[getWeaponTarget]])&lt;br /&gt;
 resetFiringRate (function: [[resetWeaponFiringRate]])&lt;br /&gt;
 setAmmo (function: [[setWeaponAmmo]])&lt;br /&gt;
 setClipAmmo (function: [[setWeaponClipAmmo]])&lt;br /&gt;
 setFiringRate (function: [[setWeaponFiringRate]])&lt;br /&gt;
 setFlags (function: [[setWeaponFlags]])&lt;br /&gt;
 setOwner (function: [[setWeaponOwner]])&lt;br /&gt;
 setProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 setState (function: [[setWeaponState]])&lt;br /&gt;
 setTarget (function: [[setWeaponTarget]])&lt;br /&gt;
&lt;br /&gt;
==Effect==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addBlood (function: [[fxAddBlood]])&lt;br /&gt;
 addBulletImpact (function: [[fxAddBulletImpact]])&lt;br /&gt;
 addBulletSplash (function: [[fxAddBulletSplash]])&lt;br /&gt;
 addDebris (function: [[fxAddDebris]])&lt;br /&gt;
 addFootSplash (function: [[fxAddFootSplash]])&lt;br /&gt;
 addGlass (function: [[fxAddGlass]])&lt;br /&gt;
 addGunshot (function: [[fxAddGunshot]])&lt;br /&gt;
 addPunchImpact (function: [[fxAddPunchImpact]])&lt;br /&gt;
 addSparks (function: [[fxAddSparks]])&lt;br /&gt;
 addTankFire (function: [[fxAddTankFire]])&lt;br /&gt;
 addTyreBurst (function: [[fxAddTyreBurst]])&lt;br /&gt;
 addWaterHydrant (function: [[fxAddWaterHydrant]])&lt;br /&gt;
 addWaterSplash (function: [[fxAddWaterSplash]])&lt;br /&gt;
 addWood (function: [[fxAddWood]])&lt;br /&gt;
 create (function: [[createEffect]])&lt;br /&gt;
 getDensity (function: [[getEffectDensity]])&lt;br /&gt;
 getSpeed (function: [[getEffectSpeed]])&lt;br /&gt;
 setDensity (function: [[setEffectDensity]])&lt;br /&gt;
 setSpeed (function: [[setEffectSpeed]])&lt;br /&gt;
&lt;br /&gt;
==GuiElement==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 bringToFront (function: [[guiBringToFront]])&lt;br /&gt;
 moveToBack (function: [[guiMoveToBack]])&lt;br /&gt;
 isChatBoxInputActive (function: [[isChatBoxInputActive]])&lt;br /&gt;
 isConsoleActive (function: [[isConsoleActive]])&lt;br /&gt;
 isDebugViewActive (function: [[isDebugViewActive]])&lt;br /&gt;
 isMainMenuActive (function: [[isMainMenuActive]])&lt;br /&gt;
 isMTAWindowActive (function: [[isMTAWindowActive]])&lt;br /&gt;
 isTransferBoxActive (function: [[isTransferBoxActive]])&lt;br /&gt;
 isInputEnabled (function: [[guiGetInputEnabled]])&lt;br /&gt;
 getInputMode (function: [[guiGetInputMode]])&lt;br /&gt;
 getScreenSize (function: [[guiGetScreenSize]])&lt;br /&gt;
 getProperties (function: [[guiGetProperties]])&lt;br /&gt;
 getAlpha (function: [[guiGetAlpha]])&lt;br /&gt;
 getFont (function: [[guiGetFont]])&lt;br /&gt;
 getEnabled (function: [[guiGetEnabled]])&lt;br /&gt;
 getVisible (function: [[guiGetVisible]])&lt;br /&gt;
 getText (function: [[guiGetText]])&lt;br /&gt;
 getPosition (function: [[guiGetPosition]])&lt;br /&gt;
 getSize (function: [[guiGetSize]])&lt;br /&gt;
 getProperty (function: [[guiGetProperty]])&lt;br /&gt;
 setInputEnabled (function: [[guiSetInputEnabled]])&lt;br /&gt;
 setAlpha (function: [[guiSetAlpha]])&lt;br /&gt;
 setEnabled (function: [[guiSetEnabled]])&lt;br /&gt;
 setFont (function: [[guiSetFont]])&lt;br /&gt;
 setVisible (function: [[guiSetVisible]])&lt;br /&gt;
 setText (function: [[guiSetText]])&lt;br /&gt;
 setInputMode (function: [[guiSetInputMode]])&lt;br /&gt;
 setProperty (function: [[guiSetProperty]])&lt;br /&gt;
 setPosition (function: [[guiSetPosition]])&lt;br /&gt;
 setSize (function: [[guiSetSize]])&lt;br /&gt;
==GuiWindow==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateWindow]])&lt;br /&gt;
 setMovable (function: [[guiWindowSetMovable]])&lt;br /&gt;
 setSizable (function: [[guiWindowSetSizable]])&lt;br /&gt;
==GuiButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateButton]])&lt;br /&gt;
==GuiEdit==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateEdit]])&lt;br /&gt;
 getCaretIndex (function: [[guiEditGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiEditSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiEditSetReadOnly]])&lt;br /&gt;
 setMasked (function: [[guiEditSetMasked]])&lt;br /&gt;
 setMaxLength (function: [[guiEditSetMaxLength]])&lt;br /&gt;
==GuiLabel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateLabel]])&lt;br /&gt;
 getFontHeight (function: [[guiLabelGetFontHeight]])&lt;br /&gt;
 getTextExtent (function: [[guiLabelGetTextExtent]])&lt;br /&gt;
 getColor (function: [[guiLabelGetColor]])&lt;br /&gt;
 setColor (function: [[guiLabelSetColor]])&lt;br /&gt;
 setHorizontalAlign (function: [[guiLabelSetHorizontalAlign]])&lt;br /&gt;
 setVerticalAlign (function: [[guiLabelSetVerticalAlign]])&lt;br /&gt;
==GuiMemo==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateMemo]])&lt;br /&gt;
 getCaretIndex (function: [[guiMemoGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiMemoSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiMemoSetReadOnly]])&lt;br /&gt;
==GuiStaticImage==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateStaticImage]])&lt;br /&gt;
 loadImage (function: [[guiStaticImageLoadImage]])&lt;br /&gt;
==GuiComboBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateComboBox]])&lt;br /&gt;
 addItem (function: [[guiComboBoxAddItem]])&lt;br /&gt;
 clear (function: [[guiComboBoxClear]])&lt;br /&gt;
 removeItem (function: [[guiComboBoxRemoveItem]])&lt;br /&gt;
 getSelected (function: [[guiComboBoxGetSelected]])&lt;br /&gt;
 getItemText (function: [[guiComboBoxGetItemText]])&lt;br /&gt;
 setItemText (function: [[guiComboBoxSetItemText]])&lt;br /&gt;
 setSelected (function: [[guiComboBoxSetSelected]])&lt;br /&gt;
==GuiCheckBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateCheckBox]])&lt;br /&gt;
 getSelected (function: [[guiCheckBoxGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiCheckBoxSetSelected]])&lt;br /&gt;
==GuiRadioButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateRadioButton]])&lt;br /&gt;
 getSelected (function: [[guiRadioButtonGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiRadioButtonSetSelected]])&lt;br /&gt;
==GuiScrollPane==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollPane]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiScrollPaneGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiScrollPaneGetVerticalScrollPosition]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiScrollPaneSetHorizontalScrollPosition]])&lt;br /&gt;
 setScrollBars (function: [[guiScrollPaneSetScrollBars]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiScrollPaneSetVerticalScrollPosition]])&lt;br /&gt;
==GuiScrollBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollBar]])&lt;br /&gt;
 getScrollPosition (function: [[guiScrollBarGetScrollPosition]])&lt;br /&gt;
 setScrollPosition (function: [[guiScrollBarSetScrollPosition]])&lt;br /&gt;
==GuiProgressBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateProgressBar]])&lt;br /&gt;
 getProgress (function: [[guiProgressBarGetProgress]])&lt;br /&gt;
 setProgress (function: [[guiProgressBarSetProgress]])&lt;br /&gt;
==GuiGridlist==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateGridList]])&lt;br /&gt;
 addColumn (function: [[guiGridListAddColumn]])&lt;br /&gt;
 addRow (function: [[guiGridListAddRow]])&lt;br /&gt;
 autoSizeColumn (function: [[guiGridListAutoSizeColumn]])&lt;br /&gt;
 clear (function: [[guiGridListClear]])&lt;br /&gt;
 insertRowAfter (function: [[guiGridListInsertRowAfter]])&lt;br /&gt;
 removeColumn (function: [[guiGridListRemoveColumn]])&lt;br /&gt;
 removeRow (function: [[guiGridListRemoveRow]])&lt;br /&gt;
 getItemData (function: [[guiGridListGetItemData]])&lt;br /&gt;
 getItemText (function: [[guiGridListGetItemText]])&lt;br /&gt;
 getRowCount (function: [[guiGridListGetRowCount]])&lt;br /&gt;
 getSelectedItem (function: [[guiGridListGetSelectedItem]])&lt;br /&gt;
 getItemColor (function: [[guiGridListGetItemColor]])&lt;br /&gt;
 getColumnTitle (function: [[guiGridListGetColumnTitle]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiGridListGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiGridListGetVerticalScrollPosition]])&lt;br /&gt;
 getSelectedCount (function: [[guiGridListGetSelectedCount]])&lt;br /&gt;
 getSelectedItems (function: [[guiGridListGetSelectedItems]])&lt;br /&gt;
 getColumnCount (function: [[guiGridListGetColumnCount]])&lt;br /&gt;
 setItemData (function: [[guiGridListSetItemData]])&lt;br /&gt;
 setItemText (function: [[guiGridListSetItemText]])&lt;br /&gt;
 setScrollBars (function: [[guiGridListSetScrollBars]])&lt;br /&gt;
 setSelectedItem (function: [[guiGridListSetSelectedItem]])&lt;br /&gt;
 setSelectionMode (function: [[guiGridListSetSelectionMode]])&lt;br /&gt;
 setSortingEnabled (function: [[guiGridListSetSortingEnabled]])&lt;br /&gt;
 setColumnWidth (function: [[guiGridListSetColumnWidth]])&lt;br /&gt;
 setItemColor (function: [[guiGridListSetItemColor]])&lt;br /&gt;
 setColumnTitle (function: [[guiGridListSetColumnTitle]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiGridListSetHorizontalScrollPosition]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiGridListSetVerticalScrollPosition]])&lt;br /&gt;
==GuiTabPanel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTabPanel]])&lt;br /&gt;
 getSelectedTab (function: [[guiGetSelectedTab]])&lt;br /&gt;
 setSelectedTab (function: [[guiSetSelectedTab]])&lt;br /&gt;
==GuiTab==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTab]])&lt;br /&gt;
 delete (function: [[guiDeleteTab]])&lt;br /&gt;
==GuiFont==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateFont]])&lt;br /&gt;
==Resource==&lt;br /&gt;
 create (function: [[getResourceFromName]])&lt;br /&gt;
 fromName (function: [[getResourceFromName]])&lt;br /&gt;
 getGuiElement (function: [[getResourceGUIElement]])&lt;br /&gt;
 getRootElement (function: [[getResourceRootElement]])&lt;br /&gt;
 getName (function: [[getResourceName]])&lt;br /&gt;
 getThis (function: [[getThisResource]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getDynamicElementRoot (function: [[getResourceDynamicElementRoot]])&lt;br /&gt;
 getExportedFunctions (function: [[getResourceExportedFunctions]])&lt;br /&gt;
 getState (function: [[getResourceState]])&lt;br /&gt;
==Timer==&lt;br /&gt;
 create (function: [[setTimer]])&lt;br /&gt;
 destroy (function: [[killTimer]])&lt;br /&gt;
 reset (function: [[resetTimer]])&lt;br /&gt;
 isValid (function: [[isTimer]])&lt;br /&gt;
 getDetails (function: [[getTimerDetails]])&lt;br /&gt;
==File==&lt;br /&gt;
 create (function: [[fileOpen]])&lt;br /&gt;
 destroy (function: [[fileClose]])&lt;br /&gt;
 close (function: [[fileClose]])&lt;br /&gt;
 new (function: [[fileCreate]])&lt;br /&gt;
 delete (function: [[fileDelete]])&lt;br /&gt;
 exists (function: [[fileExists]])&lt;br /&gt;
 flush (function: [[fileFlush]])&lt;br /&gt;
 getPos (function: [[fileGetPos]])&lt;br /&gt;
 getSize (function: [[fileGetSize]])&lt;br /&gt;
 isEOF (function: [[fileIsEOF]])&lt;br /&gt;
 read (function: [[fileRead]])&lt;br /&gt;
 rename (function: [[fileRename]])&lt;br /&gt;
 setPos (function: [[fileSetPos]])&lt;br /&gt;
 write (function: [[fileWrite]])&lt;br /&gt;
 copy (function: [[fileCopy]])&lt;br /&gt;
==XML==&lt;br /&gt;
 load (function: [[xmlLoadFile]])&lt;br /&gt;
 unload (function: [[xmlUnloadFile]])&lt;br /&gt;
 copy (function: [[xmlCopyFile]])&lt;br /&gt;
 create (function: [[xmlCreateFile]])&lt;br /&gt;
 destroy (function: [[xmlDestroyNode]])&lt;br /&gt;
 setValue (function: [[xmlNodeGetValue]])&lt;br /&gt;
 setAttribute (function: [[xmlNodeSetAttribute]])&lt;br /&gt;
 setValue (function: [[xmlNodeSetValue]])&lt;br /&gt;
 saveFile (function: [[xmlSaveFile]])&lt;br /&gt;
 createChild (function: [[xmlCreateChild]])&lt;br /&gt;
 findChild (function: [[xmlFindChild]])&lt;br /&gt;
 getAttributes (function: [[xmlNodeGetAttributes]])&lt;br /&gt;
 getChildren (function: [[xmlNodeGetChildren]])&lt;br /&gt;
 getName (function: [[xmlNodeGetName]])&lt;br /&gt;
 getParent (function: [[xmlNodeGetParent]])&lt;br /&gt;
 getAttribute (function: [[xmlNodeGetAttribute]])&lt;br /&gt;
 setName (function: [[xmlNodeSetName]])&lt;br /&gt;
==Camera==&lt;br /&gt;
 fade (function: [[fadeCamera]])&lt;br /&gt;
 getTarget (function: [[getCameraTarget]])&lt;br /&gt;
 getInterior (function: [[getCameraInterior]])&lt;br /&gt;
 getViewMode (function: [[getCameraViewMode]])&lt;br /&gt;
 getGoggleEffect (function: [[getCameraGoggleEffect]])&lt;br /&gt;
 setInterior (function: [[setCameraInterior]])&lt;br /&gt;
 setTarget (function: [[setCameraTarget]])&lt;br /&gt;
 setViewMode (function: [[setCameraViewMode]])&lt;br /&gt;
 setGoggleEffect (function: [[setCameraGoggleEffect]])&lt;br /&gt;
 setClip (function: [[setCameraClip]])&lt;br /&gt;
==Engine==&lt;br /&gt;
 restoreCOL (function: [[engineRestoreCOL]])&lt;br /&gt;
 restoreModel (function: [[engineRestoreModel]])&lt;br /&gt;
 setAsynchronousLoading (function: [[engineSetAsynchronousLoading]])&lt;br /&gt;
 setModelLODDistance (function: [[engineSetModelLODDistance]])&lt;br /&gt;
 getVisibleTextureName (function: [[engineGetVisibleTextureNames]])&lt;br /&gt;
 getModelLODDistance (function: [[engineGetModelLODDistance]])&lt;br /&gt;
 getModelTextureNames (function: [[engineGetModelTextureNames]])&lt;br /&gt;
 getModelIDFromName (function: [[engineGetModelIDFromName]])&lt;br /&gt;
 getModelNameFromID (function: [[engineGetModelNameFromID]])&lt;br /&gt;
==EngineCOL==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadCOL]])&lt;br /&gt;
 replace (function: [[engineReplaceCOL]])&lt;br /&gt;
==EngineTXD==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadTXD]])&lt;br /&gt;
 import (function: [[engineImportTXD]])&lt;br /&gt;
==EngineDFF==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadDFF]])&lt;br /&gt;
 replace (function: [[engineReplaceModel]])&lt;br /&gt;
==DxMaterial==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 getSize (function: [[dxGetMaterialSize]])&lt;br /&gt;
==DxTexture==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateTexture]])&lt;br /&gt;
 setEdge (function: [[dxSetTextureEdge]])&lt;br /&gt;
 setPixels (function: [[dxSetTexturePixels]])&lt;br /&gt;
 getPixels (function: [[dxGetTexturePixels]])&lt;br /&gt;
==DxFont==&lt;br /&gt;
 create (function: [[dxCreateFont]])&lt;br /&gt;
 getHeight (function: [[dxGetFontHeight]])&lt;br /&gt;
 getTextWidth (function: [[dxGetTextWidth]])&lt;br /&gt;
==DxShader==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateShader]])&lt;br /&gt;
 setValue (function: [[dxSetShaderValue]])&lt;br /&gt;
 setTessellation (function: [[dxSetShaderTessellation]])&lt;br /&gt;
 setTransform (function: [[dxSetShaderTransform]])&lt;br /&gt;
 value (function: [[dxGetFontHeight]])&lt;br /&gt;
==DxScreenSource==&lt;br /&gt;
 create (function: [[dxCreateScreenSource]])&lt;br /&gt;
 update (function: [[dxUpdateScreenSource]])&lt;br /&gt;
==DxRenderTarget==&lt;br /&gt;
 create (function: [[dxCreateRenderTarget]])&lt;br /&gt;
 setAsTarget (function: [[dxSetRenderTarget]])&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43181</id>
		<title>OOP client</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43181"/>
		<updated>2014-12-05T20:46:25Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Projectile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The new OOP in MTA allows for better code organization and readability. This is a list of [[Client_Scripting_Functions|client-side functions]].&lt;br /&gt;
&lt;br /&gt;
''See also: [[OOP]]''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Element==&lt;br /&gt;
 &lt;br /&gt;
 areCollisionsEnabled (function: [[getElementCollisionsEnabled]])&lt;br /&gt;
 attach (function: [[attachElements]])&lt;br /&gt;
 clearVisibleTo (function: [[clearElementVisibleTo]])&lt;br /&gt;
 clone (function: [[cloneElement]])&lt;br /&gt;
 create (function: [[createElement]])&lt;br /&gt;
 detach (function: [[detachElements]])&lt;br /&gt;
 getAllByType (function: [[getElementsByType]])&lt;br /&gt;
 getAllData (function: [[getAllElementData]])&lt;br /&gt;
 getAlpha (function: [[getElementAlpha]])&lt;br /&gt;
 getAttachedElements (function: [[getAttachedElements]])&lt;br /&gt;
 getAttachedOffsets (function: [[getElementAttachedOffsets]])&lt;br /&gt;
 getAttachedTo (function: [[getElementAttachedTo]])&lt;br /&gt;
 getBoundingBox (function: [[getElementBoundingBox]])&lt;br /&gt;
 getByID (function: [[getElementByID]])&lt;br /&gt;
 getByType (function: [[getElementsByType]])&lt;br /&gt;
 getChild (function: [[getElementChild]])&lt;br /&gt;
 getChildren (function: [[getElementChildren]])&lt;br /&gt;
 getChildrenCount (function: [[getElementChildrenCount]])&lt;br /&gt;
 getColShape (function: [[getElementColShape]])&lt;br /&gt;
 getData (function: [[getElementData]])&lt;br /&gt;
 getDimension (function: [[getElementDimension]])&lt;br /&gt;
 getDistanceFromCentreOfMassToBaseOfModel (function: [[GetElementDistanceFromCentreOfMassToBaseOfModel]])&lt;br /&gt;
 getHealth (function: [[getElementHealth]])&lt;br /&gt;
 getID (function: [[getElementID]])&lt;br /&gt;
 getInterior (function: [[getElementInterior]])&lt;br /&gt;
 getLowLOD (function: [[getLowLODElement]])&lt;br /&gt;
 getModel (function: [[getElementModel]])&lt;br /&gt;
 getParent (function: [[getElementParent]])&lt;br /&gt;
 getSyncer (function: [[getElementSyncer]])&lt;br /&gt;
 getType (function: [[getElementType]])&lt;br /&gt;
 getVelocity (function: [[getElementVelocity]])&lt;br /&gt;
 getWithinColShape (function: [[getElementsWithinColShape]])&lt;br /&gt;
 getZoneName (function: [[getElementZoneName]])&lt;br /&gt;
 isAttached (function: [[isElementAttached]])&lt;br /&gt;
 isCallPropagationEnabled (function: [[isElementCallPropagationEnabled]])&lt;br /&gt;
 isDoubleSided (function: [[isElementDoubleSided]])&lt;br /&gt;
 isFrozen (function: [[isElementFrozen]])&lt;br /&gt;
 isInWater (function: [[isElementInWater]])&lt;br /&gt;
 isLowLOD (function: [[isElementLowLOD]])&lt;br /&gt;
 isVisibleTo (function: [[isElementVisibleTo]])&lt;br /&gt;
 isWithinColShape (function: [[isElementWithinColShape]])&lt;br /&gt;
 isWithinMarker (function: [[isElementWithinMarker]])&lt;br /&gt;
 removeData (function: [[removeElementData]])&lt;br /&gt;
 setAlpha (function: [[setElementAlpha]])&lt;br /&gt;
 setAttachedOffsets (function: [[setElementAttachedOffsets]])&lt;br /&gt;
 setCallPropagationEnabled (function: [[setElementCallPropagationEnabled]])&lt;br /&gt;
 setCollisionsEnabled (function: [[setElementCollisionsEnabled]])&lt;br /&gt;
 setData (function: [[setElementData]])&lt;br /&gt;
 setDimension (function: [[setElementDimension]])&lt;br /&gt;
 setDoubleSided (function: [[setElementDoubleSided]])&lt;br /&gt;
 setFrozen (function: [[setElementFrozen]])&lt;br /&gt;
 setHealth (function: [[setElementHealth]])&lt;br /&gt;
 setID (function: [[setElementID]])&lt;br /&gt;
 setInterior (function: [[setElementInterior]])&lt;br /&gt;
 setLowLOD (function: [[setLowLODElement]])&lt;br /&gt;
 setMatrix (function: [[setElementMatrix]])&lt;br /&gt;
 setModel (function: [[setElementModel]])&lt;br /&gt;
 setParent (function: [[setElementParent]])&lt;br /&gt;
 setPosition (function: [[setElementPosition]])&lt;br /&gt;
 setVelocity (function: [[setElementVelocity]])&lt;br /&gt;
 setVisibleTo (function: [[setElementVisibleTo]])&lt;br /&gt;
&lt;br /&gt;
==Vehicle==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addUpgrade (function: [[addVehicleUpgrade]])&lt;br /&gt;
 attachTrailer (function: [[attachTrailerToVehicle]])&lt;br /&gt;
 blow (function: [[blowVehicle]])&lt;br /&gt;
 create (function: [[createVehicle]])&lt;br /&gt;
 detachTrailer (function: [[detachTrailerFromVehicle]])&lt;br /&gt;
 fix (function: [[fixVehicle]])&lt;br /&gt;
 getAdjustableProperty (function: [[getVehicleAdjustableProperty]])&lt;br /&gt;
 getColor (function: [[getVehicleColor]])&lt;br /&gt;
 getCompatibleUpgrades (function: [[getVehicleCompatibleUpgrades]])&lt;br /&gt;
 getComponentPosition (function: [[getVehicleComponentPosition]])&lt;br /&gt;
 getComponentRotation (function: [[getVehicleComponentRotation]])&lt;br /&gt;
 getComponents (function: [[getVehicleComponents]])&lt;br /&gt;
 getComponentVisible (function: [[getVehicleComponentVisible]])&lt;br /&gt;
 getController (function: [[getVehicleController]])&lt;br /&gt;
 getDoorOpenRatio (function: [[getVehicleDoorOpenRatio]])&lt;br /&gt;
 getDoorState (function: [[getVehicleDoorState]])&lt;br /&gt;
 getEngineState (function: [[getVehicleEngineState]])&lt;br /&gt;
 getGear (function: [[getVehicleCurrentGear]])&lt;br /&gt;
 getGravity (function: [[getVehicleGravity]])&lt;br /&gt;
 getHandling (function: [[getVehicleHandling]])&lt;br /&gt;
 getHeadLightColor (function: [[getVehicleHeadLightColor]])&lt;br /&gt;
 getHelicopterRotorSpeed (function: [[getHelicopterRotorSpeed]])&lt;br /&gt;
 getLandingGearDown (function: [[getVehicleLandingGearDown]])&lt;br /&gt;
 getLightState (function: [[getVehicleLightState]])&lt;br /&gt;
 getMaxPassengers (function: [[getVehicleMaxPassengers]])&lt;br /&gt;
 getName (function: [[getVehicleName]])&lt;br /&gt;
 getNitroCount (function: [[getVehicleNitroCount]])&lt;br /&gt;
 getNitroLevel (function: [[getVehicleNitroLevel]])&lt;br /&gt;
 getOccupant (function: [[getVehicleOccupant]])&lt;br /&gt;
 getOccupants (function: [[getVehicleOccupants]])&lt;br /&gt;
 getOverrideLights (function: [[getVehicleOverrideLights]])&lt;br /&gt;
 getPaintjob (function: [[getVehiclePaintjob]])&lt;br /&gt;
 getPanelState (function: [[getVehiclePanelState]])&lt;br /&gt;
 getPlateText (function: [[getVehiclePlateText]])&lt;br /&gt;
 getSirens (function: [[getVehicleSirens]])&lt;br /&gt;
 getSirensOn (function: [[getVehicleSirensOn]])&lt;br /&gt;
 getTowedByVehicle (function: [[getVehicleTowedByVehicle]])&lt;br /&gt;
 getTowingVehicle (function: [[getVehicleTowingVehicle]])&lt;br /&gt;
 getTrainDirection (function: [[getTrainDirection]])&lt;br /&gt;
 getTrainSpeed (function: [[getTrainSpeed]])&lt;br /&gt;
 getTurnVelocity (function: [[getVehicleTurnVelocity]])&lt;br /&gt;
 getTurretPosition (function: [[getVehicleTurretPosition]])&lt;br /&gt;
 getUpgrades (function: [[getVehicleUpgrades]])&lt;br /&gt;
 getUpgradeSlotName (function: [[getVehicleUpgradeSlotName]])&lt;br /&gt;
 getVariant (function: [[getVehicleVariant]])&lt;br /&gt;
 getVehicleType (function: [[getVehicleType]])&lt;br /&gt;
 getWheelStates (function: [[getVehicleWheelStates]])&lt;br /&gt;
 isBlown (function: [[isVehicleBlown]])&lt;br /&gt;
 isDamageProof (function: [[isVehicleDamageProof]])&lt;br /&gt;
 isFuelTankExplodable (function: [[isVehicleFuelTankExplodable]])&lt;br /&gt;
 isLocked (function: [[isVehicleLocked]])&lt;br /&gt;
 isNitroActivated (function: [[isVehicleNitroActivated]])&lt;br /&gt;
 isNitroRecharging (function: [[isVehicleNitroRecharging]])&lt;br /&gt;
 isOnGround (function: [[isVehicleOnGround]])&lt;br /&gt;
 isTaxiLightOn (function: [[isVehicleTaxiLightOn]])&lt;br /&gt;
 isTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 isTrainDerailed (function: [[isTrainDerailed]])&lt;br /&gt;
 removeUpgrade (function: [[removeVehicleUpgrade]])&lt;br /&gt;
 resetComponentPosition (function: [[resetVehicleComponentPosition]])&lt;br /&gt;
 resetComponentRotation (function: [[resetVehicleComponentRotation]])&lt;br /&gt;
 setAdjustableProperty (function: [[setVehicleAdjustableProperty]])&lt;br /&gt;
 setColor (function: [[setVehicleColor]])&lt;br /&gt;
 setComponentPosition (function: [[setVehicleComponentPosition]])&lt;br /&gt;
 setComponentRotation (function: [[setVehicleComponentRotation]])&lt;br /&gt;
 setComponentVisible (function: [[setVehicleComponentVisible]])&lt;br /&gt;
 setDamageProof (function: [[setVehicleDamageProof]])&lt;br /&gt;
 setDirtLevel (function: [[setVehicleDirtLevel]])&lt;br /&gt;
 setDoorOpenRatio (function: [[setVehicleDoorOpenRatio]])&lt;br /&gt;
 setDoorState (function: [[setVehicleDoorState]])&lt;br /&gt;
 setDoorsUndamageable (function: [[setVehicleDoorsUndamageable]])&lt;br /&gt;
 setEngineState (function: [[setVehicleEngineState]])&lt;br /&gt;
 setFuelTankExplodable (function: [[setVehicleFuelTankExplodable]])&lt;br /&gt;
 setGravity (function: [[setVehicleGravity]])&lt;br /&gt;
 setHeadLightColor (function: [[setVehicleHeadLightColor]])&lt;br /&gt;
 setHelicopterRotorSpeed (function: [[setHelicopterRotorSpeed]])&lt;br /&gt;
 setLandingGearDown (function: [[setVehicleLandingGearDown]])&lt;br /&gt;
 setLightState (function: [[setVehicleLightState]])&lt;br /&gt;
 setLocked (function: [[setVehicleLocked]])&lt;br /&gt;
 setNitroActivated (function: [[setVehicleNitroActivated]])&lt;br /&gt;
 setNitroCount (function: [[setVehicleNitroCount]])&lt;br /&gt;
 setNitroLevel (function: [[setVehicleNitroLevel]])&lt;br /&gt;
 setOverrideLights (function: [[setVehicleOverrideLights]])&lt;br /&gt;
 setPaintjob (function: [[setVehiclePaintjob]])&lt;br /&gt;
 setPanelState (function: [[setVehiclePanelState]])&lt;br /&gt;
 setSirens (function: [[setVehicleSirens]])&lt;br /&gt;
 setSirensOn (function: [[setVehicleSirensOn]])&lt;br /&gt;
 setTaxiLightOn (function: [[setVehicleTaxiLightOn]])&lt;br /&gt;
 setTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 setTrainDerailed (function: [[setTrainDerailed]])&lt;br /&gt;
 setTrainDirection (function: [[setTrainDirection]])&lt;br /&gt;
 setTrainSpeed (function: [[setTrainSpeed]])&lt;br /&gt;
 setTurnVelocity (function: [[setVehicleTurnVelocity]])&lt;br /&gt;
 setTurretPosition (function: [[setVehicleTurretPosition]])&lt;br /&gt;
 setVariant (function: [[setVehicleVariant]])&lt;br /&gt;
 setWheelStates (function: [[setVehicleWheelStates]])&lt;br /&gt;
&lt;br /&gt;
==Ped==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addClothes (function: [[addPedClothes]])&lt;br /&gt;
 canBeKnockedOffBike (function: [[canPedBeKnockedOffBike]])&lt;br /&gt;
 create (function: [[createPed]])&lt;br /&gt;
 doesHaveJetPack (function: [[doesPedHaveJetPack]])&lt;br /&gt;
 getAmmoInClip (function: [[getPedAmmoInClip]])&lt;br /&gt;
 getAnalogControlState (function: [[getPedAnalogControlState]])&lt;br /&gt;
 getAnimation (function: [[getPedAnimation]])&lt;br /&gt;
 getAnimationData (function: [[getPedAnimationData]])&lt;br /&gt;
 getArmor (function: [[getPedArmor]])&lt;br /&gt;
 getBodyPartName (function: [[getBodyPartName]])&lt;br /&gt;
 getBonePosition (function: [[getPedBonePosition]])&lt;br /&gt;
 getCameraRotation (function: [[getPedCameraRotation]])&lt;br /&gt;
 getClothes (function: [[getPedClothes]])&lt;br /&gt;
 getClothesByTypeIndex (function: [[getClothesByTypeIndex]])&lt;br /&gt;
 getClothesTypeName (function: [[getClothesTypeName]])&lt;br /&gt;
 getContactElement (function: [[getPedContactElement]])&lt;br /&gt;
 getControlState (function: [[getPedControlState]])&lt;br /&gt;
 getMoveState (function: [[getPedMoveState]])&lt;br /&gt;
 getOccupiedVehicle (function: [[GetPedOccupiedVehicle]])&lt;br /&gt;
 getOxygenLevel (function: [[getPedOxygenLevel]])&lt;br /&gt;
 getSimplestTask (function: [[getPedSimplestTask]])&lt;br /&gt;
 getStat (function: [[getPedStat]])&lt;br /&gt;
 getTarget (function: [[getPedTarget]])&lt;br /&gt;
 getTargetCollision (function: [[getPedTargetCollision]])&lt;br /&gt;
 getTargetEnd (function: [[getPedTargetEnd]])&lt;br /&gt;
 getTargetStart (function: [[getPedTargetStart]])&lt;br /&gt;
 getTask (function: [[getPedTask]])&lt;br /&gt;
 getTotalAmmo (function: [[getPedTotalAmmo]])&lt;br /&gt;
 getTypeIndexFromClothes (function: [[getTypeIndexFromClothes]])&lt;br /&gt;
 getValidModels (function: [[getValidPedModels]])&lt;br /&gt;
 getVoice (function: [[getPedVoice]])&lt;br /&gt;
 getWalkingStyle (function: [[getPedWalkingStyle]])&lt;br /&gt;
 getWeapon (function: [[getPedWeapon]])&lt;br /&gt;
 getWeaponMuzzlePosition (function: [[getPedWeaponMuzzlePosition]])&lt;br /&gt;
 isChocking (function: [[isPedChoking]])&lt;br /&gt;
 isDoingGangDriveby (function: [[isPedDoingGangDriveby]])&lt;br /&gt;
 isDoingTask (function: [[isPedDoingTask]])&lt;br /&gt;
 isDucked (function: [[isPedDucked]])&lt;br /&gt;
 isHeadless (function: [[isPedHeadless]])&lt;br /&gt;
 isInVehicle (function: [[isPedInVehicle]])&lt;br /&gt;
 isOnFire (function: [[isPedOnFire]])&lt;br /&gt;
 isOnGround (function: [[isPedOnGround]])&lt;br /&gt;
 isTargetingMarkerEnabled (function: [[isPedTargetingMarkerEnabled]])&lt;br /&gt;
 removeClothes (function: [[removePedClothes]])&lt;br /&gt;
 removeFromVehicle (function: [[removePedFromVehicle]])&lt;br /&gt;
 setAimTarget (function: [[setPedAimTarget]])&lt;br /&gt;
 setAnalogControlState (function: [[setPedAnalogControlState]])&lt;br /&gt;
 setAnimation (function: [[setPedAnimation]])&lt;br /&gt;
 setAnimationProgress (function: [[setPedAnimationProgress]])&lt;br /&gt;
 setCameraRotation (function: [[setPedCameraRotation]])&lt;br /&gt;
 setCanBeKnockedOffBike (function: [[setPedCanBeKnockedOffBike]])&lt;br /&gt;
 setControlState (function: [[setPedControlState]])&lt;br /&gt;
 setDoingGangDriveby (function: [[setPedDoingGangDriveby]])&lt;br /&gt;
 setFootBloodEnabled (function: [[setPedFootBloodEnabled]])&lt;br /&gt;
 setHeadless (function: [[setPedHeadless]])&lt;br /&gt;
 setLookAt (function: [[setPedLookAt]])&lt;br /&gt;
 setOnFire (function: [[setPedOnFire]])&lt;br /&gt;
 setOxygenLevel (function: [[setPedOxygenLevel]])&lt;br /&gt;
 setTargetingMarkerEnabled (function: [[setPedTargetingMarkerEnabled]])&lt;br /&gt;
 setVoice (function: [[setPedVoice]])&lt;br /&gt;
 setWalkingStyle (function: [[setPedWalkingStyle]])&lt;br /&gt;
 setWeaponSlot (function: [[setPedWeaponSlot]])&lt;br /&gt;
 warpIntoVehicle (function: [[warpPedIntoVehicle]])&lt;br /&gt;
&lt;br /&gt;
==Player==&lt;br /&gt;
''Inherited from [[#Ped|Ped]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[getPlayerFromName]])&lt;br /&gt;
 getBlurLevel (function: [[getPlayerBlurLevel]])&lt;br /&gt;
 getMapBoundingBox (function: [[getPlayerMapBoundingBox]])&lt;br /&gt;
 getMoney (function: [[getPlayerMoney]])&lt;br /&gt;
 getName (function: [[getPlayerName]])&lt;br /&gt;
 getNametagColor (function: [[getPlayerNametagColor]])&lt;br /&gt;
 getNametagText (function: [[getPlayerNametagText]])&lt;br /&gt;
 getPing (function: [[getPlayerPing]])&lt;br /&gt;
 getSerial (function: [[getPlayerSerial]])&lt;br /&gt;
 getTeam (function: [[getPlayerTeam]])&lt;br /&gt;
 getWantedLevel (function: [[getPlayerWantedLevel]])&lt;br /&gt;
 giveMoney (function: [[givePlayerMoney]])&lt;br /&gt;
 isHudComponentVisible (function: [[isPlayerHudComponentVisible]])&lt;br /&gt;
 isMapForced (function: [[isPlayerMapForced]])&lt;br /&gt;
 isMapVisible (function: [[isPlayerMapVisible]])&lt;br /&gt;
 isNametagShowing (function: [[isPlayerNametagShowing]])&lt;br /&gt;
 setBlurLevel (function: [[setPlayerBlurLevel]])&lt;br /&gt;
 setMoney (function: [[setPlayerMoney]])&lt;br /&gt;
 setNametagColor (function: [[setPlayerNametagColor]])&lt;br /&gt;
 setNametagShowing (function: [[setPlayerNametagShowing]])&lt;br /&gt;
 setNametagText (function: [[setPlayerNametagText]])&lt;br /&gt;
 showHudComponent (function: [[showPlayerHudComponent]])&lt;br /&gt;
 takeMoney (function: [[takePlayerMoney]])&lt;br /&gt;
&lt;br /&gt;
==Object==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 break (function: [[breakObject]])&lt;br /&gt;
 create (function: [[createObject]])&lt;br /&gt;
 getMass (function: [[getObjectMass]])&lt;br /&gt;
 getScale (function: [[getObjectScale]])&lt;br /&gt;
 isBreakable (function: [[isObjectBreakable]])&lt;br /&gt;
 move (function: [[moveObject]])&lt;br /&gt;
 respawn (function: [[respawnObject]])&lt;br /&gt;
 setBreakable (function: [[setObjectBreakable]])&lt;br /&gt;
 setMass (function: [[setObjectMass]])&lt;br /&gt;
 setScale (function: [[setObjectScale]])&lt;br /&gt;
 stop (function: [[stopObject]])&lt;br /&gt;
 toggleObjectRespawn (function: [[toggleObjectRespawn]])&lt;br /&gt;
&lt;br /&gt;
==Marker==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createMarker]])&lt;br /&gt;
 getColor (function: [[getMarkerColor]])&lt;br /&gt;
 getCount (function: [[getMarkerCount]])&lt;br /&gt;
 getIcon (function: [[getMarkerIcon]])&lt;br /&gt;
 getSize (function: [[getMarkerSize]])&lt;br /&gt;
 getTarget (function: [[getMarkerTarget]])&lt;br /&gt;
 getType (function: [[getMarkerType]])&lt;br /&gt;
 setColor (function: [[setMarkerColor]])&lt;br /&gt;
 setIcon (function: [[setMarkerIcon]])&lt;br /&gt;
 setSize (function: [[setMarkerSize]])&lt;br /&gt;
 setTarget (function: [[setMarkerTarget]])&lt;br /&gt;
 setType (function: [[setMarkerType]])&lt;br /&gt;
&lt;br /&gt;
==Blip==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createBlip]])&lt;br /&gt;
 createAttachedTo (function: [[createBlipAttachedTo]])&lt;br /&gt;
 getColor (function: [[getBlipColor]])&lt;br /&gt;
 getIcon (function: [[getBlipIcon]])&lt;br /&gt;
 getOrdering (function: [[getBlipOrdering]])&lt;br /&gt;
 getSize (function: [[getBlipSize]])&lt;br /&gt;
 getVisibleDistance (function: [[getBlipVisibleDistance]])&lt;br /&gt;
 setColor (function: [[setBlipColor]])&lt;br /&gt;
 setIcon (function: [[setBlipIcon]])&lt;br /&gt;
 setOrdering (function: [[setBlipOrdering]])&lt;br /&gt;
 setSize (function: [[setBlipSize]])&lt;br /&gt;
 setVisibleDistance (function: [[setBlipVisibleDistance]])&lt;br /&gt;
&lt;br /&gt;
==Pickup==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createPickup]])&lt;br /&gt;
 getAmmo (function: [[getPickupAmmo]])&lt;br /&gt;
 getAmount (function: [[getPickupAmount]])&lt;br /&gt;
 getType (function: [[getPickupType]])&lt;br /&gt;
 getWeapon (function: [[getPickupWeapon]])&lt;br /&gt;
 setType (function: [[setPickupType]])&lt;br /&gt;
&lt;br /&gt;
==ColShape==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 Circle (function: [[createColCircle]])&lt;br /&gt;
 Cuboid (function: [[createColCuboid]])&lt;br /&gt;
 getElementsWithin (function: [[getElementsWithinColShape]])&lt;br /&gt;
 isElementWithin (function: [[isElementWithinColShape]])&lt;br /&gt;
 Polygon (function: [[createColPolygon]])&lt;br /&gt;
 Rectangle (function: [[createColRectangle]])&lt;br /&gt;
 Sphere (function: [[createColSphere]])&lt;br /&gt;
 Tube (function: [[createColTube]])&lt;br /&gt;
&lt;br /&gt;
==Projectile==&lt;br /&gt;
''Inherited from [[#Projectile|Projectile]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createProjectile]])&lt;br /&gt;
 getCounter (function: [[getProjectileCounter]])&lt;br /&gt;
 getCreator (function: [[getProjectileCreator]])&lt;br /&gt;
 getForce (function: [[getProjectileForce]])&lt;br /&gt;
 getTarget (function: [[getProjectileTarget]])&lt;br /&gt;
 getType (function: [[getProjectileType]])&lt;br /&gt;
 setCounter (function: [[setProjectileCounter]])&lt;br /&gt;
&lt;br /&gt;
==RadarArea==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createRadarArea]])&lt;br /&gt;
 getColor (function: [[getRadarAreaColor]])&lt;br /&gt;
 getSize (function: [[getRadarAreaSize]])&lt;br /&gt;
 isFlashing (function: [[isRadarAreaFlashing]])&lt;br /&gt;
 isInside (function: [[isInsideRadarArea]])&lt;br /&gt;
 setColor (function: [[setRadarAreaColor]])&lt;br /&gt;
 setFlashing (function: [[setRadarAreaFlashing]])&lt;br /&gt;
 setSize (function: [[setRadarAreaSize]])&lt;br /&gt;
&lt;br /&gt;
==Team==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 countPlayers (function: [[countPlayersInTeam]])&lt;br /&gt;
 create (function: [[getTeamFromName]])&lt;br /&gt;
 getColor (function: [[getTeamColor]])&lt;br /&gt;
 getFriendlyFire (function: [[getTeamFriendlyFire]])&lt;br /&gt;
 getFromName (function: [[getTeamFromName]])&lt;br /&gt;
 getName (function: [[getTeamName]])&lt;br /&gt;
&lt;br /&gt;
==Water==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWater]])&lt;br /&gt;
 getColor (function: [[getWaterColor]])&lt;br /&gt;
 getLevel (function: [[getWaterLevel]])&lt;br /&gt;
 getVertexPosition (function: [[getWaterVertexPosition]])&lt;br /&gt;
 getWaveHeight (function: [[getWaveHeight]])&lt;br /&gt;
 isDrawnLast (function: [[isWaterDrawnLast]])&lt;br /&gt;
 resetColor (function: [[resetWaterColor]])&lt;br /&gt;
 resetLevel (function: [[resetWaterLevel]])&lt;br /&gt;
 setColor (function: [[setWaterColor]])&lt;br /&gt;
 setDrawnLast (function: [[setWaterDrawnLast]])&lt;br /&gt;
 setLevel (function: [[setWaterLevel]])&lt;br /&gt;
 setVertexPosition (function: [[setWaterVertexPosition]])&lt;br /&gt;
 setWaveHeight (function: [[setWaveHeight]])&lt;br /&gt;
 testLineAgainst (function: [[testLineAgainstWater]])&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound]])&lt;br /&gt;
 getBPM (function: [[getSoundBPM]])&lt;br /&gt;
 getEffects (function: [[getSoundEffects]])&lt;br /&gt;
 getFFTData (function: [[getSoundFFTData]])&lt;br /&gt;
 getLength (function: [[getSoundLength]])&lt;br /&gt;
 getLevelData (function: [[getSoundLevelData]])&lt;br /&gt;
 getMetaTags (function: [[getSoundMetaTags]])&lt;br /&gt;
 getPan (function: [[getSoundPan]])&lt;br /&gt;
 getPlaybackPosition (function: [[getSoundPosition]])&lt;br /&gt;
 getProperties (function: [[getSoundProperties]])&lt;br /&gt;
 getSpeed (function: [[getSoundSpeed]])&lt;br /&gt;
 getVolume (function: [[getSoundVolume]])&lt;br /&gt;
 getWaveData (function: [[getSoundWaveData]])&lt;br /&gt;
 isPaused (function: [[isSoundPaused]])&lt;br /&gt;
 setEffectEnabled (function: [[setSoundEffectEnabled]])&lt;br /&gt;
 setPan (function: [[setSoundPan]])&lt;br /&gt;
 setPaused (function: [[setSoundPaused]])&lt;br /&gt;
 setPlaybackPosition (function: [[setSoundPosition]])&lt;br /&gt;
 setProperties (function: [[setSoundProperties]])&lt;br /&gt;
 setSpeed (function: [[setSoundSpeed]])&lt;br /&gt;
 setVolume (function: [[setSoundVolume]])&lt;br /&gt;
 stop (function: [[stopSound]])&lt;br /&gt;
&lt;br /&gt;
==Sound3D==&lt;br /&gt;
''Inherited from [[#Sound|Sound]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound3D]])&lt;br /&gt;
 getMaxDistance (function: [[getSoundMaxDistance]])&lt;br /&gt;
 getMinDistance (function: [[getSoundMinDistance]])&lt;br /&gt;
 setMaxDistance (function: [[setSoundMaxDistance]])&lt;br /&gt;
 setMinDistance (function: [[setSoundMinDistance]])&lt;br /&gt;
&lt;br /&gt;
==Weapon==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWeapon]])&lt;br /&gt;
 fire (function: [[fireWeapon]])&lt;br /&gt;
 getAmmo (function: [[getWeaponAmmo]])&lt;br /&gt;
 getClipAmmo (function: [[getWeaponClipAmmo]])&lt;br /&gt;
 getFiringRate (function: [[getWeaponFiringRate]])&lt;br /&gt;
 getFlags (function: [[getWeaponFlags]])&lt;br /&gt;
 getOwner (function: [[getWeaponOwner]])&lt;br /&gt;
 getProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 getState (function: [[getWeaponState]])&lt;br /&gt;
 getTarget (function: [[getWeaponTarget]])&lt;br /&gt;
 resetFiringRate (function: [[resetWeaponFiringRate]])&lt;br /&gt;
 setAmmo (function: [[setWeaponAmmo]])&lt;br /&gt;
 setClipAmmo (function: [[setWeaponClipAmmo]])&lt;br /&gt;
 setFiringRate (function: [[setWeaponFiringRate]])&lt;br /&gt;
 setFlags (function: [[setWeaponFlags]])&lt;br /&gt;
 setOwner (function: [[setWeaponOwner]])&lt;br /&gt;
 setProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 setState (function: [[setWeaponState]])&lt;br /&gt;
 setTarget (function: [[setWeaponTarget]])&lt;br /&gt;
&lt;br /&gt;
==Effect==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addBlood (function: [[fxAddBlood]])&lt;br /&gt;
 addBulletImpact (function: [[fxAddBulletImpact]])&lt;br /&gt;
 addBulletSplash (function: [[fxAddBulletSplash]])&lt;br /&gt;
 addDebris (function: [[fxAddDebris]])&lt;br /&gt;
 addFootSplash (function: [[fxAddFootSplash]])&lt;br /&gt;
 addGlass (function: [[fxAddGlass]])&lt;br /&gt;
 addGunshot (function: [[fxAddGunshot]])&lt;br /&gt;
 addPunchImpact (function: [[fxAddPunchImpact]])&lt;br /&gt;
 addSparks (function: [[fxAddSparks]])&lt;br /&gt;
 addTankFire (function: [[fxAddTankFire]])&lt;br /&gt;
 addTyreBurst (function: [[fxAddTyreBurst]])&lt;br /&gt;
 addWaterHydrant (function: [[fxAddWaterHydrant]])&lt;br /&gt;
 addWaterSplash (function: [[fxAddWaterSplash]])&lt;br /&gt;
 addWood (function: [[fxAddWood]])&lt;br /&gt;
 create (function: [[createEffect]])&lt;br /&gt;
 getDensity (function: [[getEffectDensity]])&lt;br /&gt;
 getSpeed (function: [[getEffectSpeed]])&lt;br /&gt;
 setDensity (function: [[setEffectDensity]])&lt;br /&gt;
 setSpeed (function: [[setEffectSpeed]])&lt;br /&gt;
&lt;br /&gt;
==GuiElement==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 bringToFront (function: [[guiBringToFront]])&lt;br /&gt;
 moveToBack (function: [[guiMoveToBack]])&lt;br /&gt;
 isChatBoxInputActive (function: [[isChatBoxInputActive]])&lt;br /&gt;
 isConsoleActive (function: [[isConsoleActive]])&lt;br /&gt;
 isDebugViewActive (function: [[isDebugViewActive]])&lt;br /&gt;
 isMainMenuActive (function: [[isMainMenuActive]])&lt;br /&gt;
 isMTAWindowActive (function: [[isMTAWindowActive]])&lt;br /&gt;
 isTransferBoxActive (function: [[isTransferBoxActive]])&lt;br /&gt;
 isInputEnabled (function: [[guiGetInputEnabled]])&lt;br /&gt;
 getInputMode (function: [[guiGetInputMode]])&lt;br /&gt;
 getScreenSize (function: [[guiGetScreenSize]])&lt;br /&gt;
 getProperties (function: [[guiGetProperties]])&lt;br /&gt;
 getAlpha (function: [[guiGetAlpha]])&lt;br /&gt;
 getFont (function: [[guiGetFont]])&lt;br /&gt;
 getEnabled (function: [[guiGetEnabled]])&lt;br /&gt;
 getVisible (function: [[guiGetVisible]])&lt;br /&gt;
 getText (function: [[guiGetText]])&lt;br /&gt;
 getPosition (function: [[guiGetPosition]])&lt;br /&gt;
 getSize (function: [[guiGetSize]])&lt;br /&gt;
 getProperty (function: [[guiGetProperty]])&lt;br /&gt;
 setInputEnabled (function: [[guiSetInputEnabled]])&lt;br /&gt;
 setAlpha (function: [[guiSetAlpha]])&lt;br /&gt;
 setEnabled (function: [[guiSetEnabled]])&lt;br /&gt;
 setFont (function: [[guiSetFont]])&lt;br /&gt;
 setVisible (function: [[guiSetVisible]])&lt;br /&gt;
 setText (function: [[guiSetText]])&lt;br /&gt;
 setInputMode (function: [[guiSetInputMode]])&lt;br /&gt;
 setProperty (function: [[guiSetProperty]])&lt;br /&gt;
 setPosition (function: [[guiSetPosition]])&lt;br /&gt;
 setSize (function: [[guiSetSize]])&lt;br /&gt;
==GuiWindow==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateWindow]])&lt;br /&gt;
 setMovable (function: [[guiWindowSetMovable]])&lt;br /&gt;
 setSizable (function: [[guiWindowSetSizable]])&lt;br /&gt;
==GuiButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateButton]])&lt;br /&gt;
==GuiEdit==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateEdit]])&lt;br /&gt;
 getCaretIndex (function: [[guiEditGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiEditSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiEditSetReadOnly]])&lt;br /&gt;
 setMasked (function: [[guiEditSetMasked]])&lt;br /&gt;
 setMaxLength (function: [[guiEditSetMaxLength]])&lt;br /&gt;
==GuiLabel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateLabel]])&lt;br /&gt;
 getFontHeight (function: [[guiLabelGetFontHeight]])&lt;br /&gt;
 getTextExtent (function: [[guiLabelGetTextExtent]])&lt;br /&gt;
 getColor (function: [[guiLabelGetColor]])&lt;br /&gt;
 setColor (function: [[guiLabelSetColor]])&lt;br /&gt;
 setHorizontalAlign (function: [[guiLabelSetHorizontalAlign]])&lt;br /&gt;
 setVerticalAlign (function: [[guiLabelSetVerticalAlign]])&lt;br /&gt;
==GuiMemo==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateMemo]])&lt;br /&gt;
 getCaretIndex (function: [[guiMemoGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiMemoSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiMemoSetReadOnly]])&lt;br /&gt;
==GuiStaticImage==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateStaticImage]])&lt;br /&gt;
 loadImage (function: [[guiStaticImageLoadImage]])&lt;br /&gt;
==GuiComboBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateComboBox]])&lt;br /&gt;
 addItem (function: [[guiComboBoxAddItem]])&lt;br /&gt;
 clear (function: [[guiComboBoxClear]])&lt;br /&gt;
 removeItem (function: [[guiComboBoxRemoveItem]])&lt;br /&gt;
 getSelected (function: [[guiComboBoxGetSelected]])&lt;br /&gt;
 getItemText (function: [[guiComboBoxGetItemText]])&lt;br /&gt;
 setItemText (function: [[guiComboBoxSetItemText]])&lt;br /&gt;
 setSelected (function: [[guiComboBoxSetSelected]])&lt;br /&gt;
==GuiCheckBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateCheckBox]])&lt;br /&gt;
 getSelected (function: [[guiCheckBoxGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiCheckBoxSetSelected]])&lt;br /&gt;
==GuiRadioButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateRadioButton]])&lt;br /&gt;
 getSelected (function: [[guiRadioButtonGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiRadioButtonSetSelected]])&lt;br /&gt;
==GuiScrollPane==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollPane]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiScrollPaneGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiScrollPaneGetVerticalScrollPosition]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiScrollPaneSetHorizontalScrollPosition]])&lt;br /&gt;
 setScrollBars (function: [[guiScrollPaneSetScrollBars]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiScrollPaneSetVerticalScrollPosition]])&lt;br /&gt;
==GuiScrollBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollBar]])&lt;br /&gt;
 getScrollPosition (function: [[guiScrollBarGetScrollPosition]])&lt;br /&gt;
 setScrollPosition (function: [[guiScrollBarSetScrollPosition]])&lt;br /&gt;
==GuiProgressBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateProgressBar]])&lt;br /&gt;
 getProgress (function: [[guiProgressBarGetProgress]])&lt;br /&gt;
 setProgress (function: [[guiProgressBarSetProgress]])&lt;br /&gt;
==GuiGridlist==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateGridList]])&lt;br /&gt;
 addColumn (function: [[guiGridListAddColumn]])&lt;br /&gt;
 addRow (function: [[guiGridListAddRow]])&lt;br /&gt;
 autoSizeColumn (function: [[guiGridListAutoSizeColumn]])&lt;br /&gt;
 clear (function: [[guiGridListClear]])&lt;br /&gt;
 insertRowAfter (function: [[guiGridListInsertRowAfter]])&lt;br /&gt;
 removeColumn (function: [[guiGridListRemoveColumn]])&lt;br /&gt;
 removeRow (function: [[guiGridListRemoveRow]])&lt;br /&gt;
 getItemData (function: [[guiGridListGetItemData]])&lt;br /&gt;
 getItemText (function: [[guiGridListGetItemText]])&lt;br /&gt;
 getRowCount (function: [[guiGridListGetRowCount]])&lt;br /&gt;
 getSelectedItem (function: [[guiGridListGetSelectedItem]])&lt;br /&gt;
 getItemColor (function: [[guiGridListGetItemColor]])&lt;br /&gt;
 getColumnTitle (function: [[guiGridListGetColumnTitle]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiGridListGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiGridListGetVerticalScrollPosition]])&lt;br /&gt;
 getSelectedCount (function: [[guiGridListGetSelectedCount]])&lt;br /&gt;
 getSelectedItems (function: [[guiGridListGetSelectedItems]])&lt;br /&gt;
 getColumnCount (function: [[guiGridListGetColumnCount]])&lt;br /&gt;
 setItemData (function: [[guiGridListSetItemData]])&lt;br /&gt;
 setItemText (function: [[guiGridListSetItemText]])&lt;br /&gt;
 setScrollBars (function: [[guiGridListSetScrollBars]])&lt;br /&gt;
 setSelectedItem (function: [[guiGridListSetSelectedItem]])&lt;br /&gt;
 setSelectionMode (function: [[guiGridListSetSelectionMode]])&lt;br /&gt;
 setSortingEnabled (function: [[guiGridListSetSortingEnabled]])&lt;br /&gt;
 setColumnWidth (function: [[guiGridListSetColumnWidth]])&lt;br /&gt;
 setItemColor (function: [[guiGridListSetItemColor]])&lt;br /&gt;
 setColumnTitle (function: [[guiGridListSetColumnTitle]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiGridListSetHorizontalScrollPosition]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiGridListSetVerticalScrollPosition]])&lt;br /&gt;
==GuiTabPanel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTabPanel]])&lt;br /&gt;
 getSelectedTab (function: [[guiGetSelectedTab]])&lt;br /&gt;
 setSelectedTab (function: [[guiSetSelectedTab]])&lt;br /&gt;
==GuiTab==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTab]])&lt;br /&gt;
 delete (function: [[guiDeleteTab]])&lt;br /&gt;
==GuiFont==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateFont]])&lt;br /&gt;
==Resource==&lt;br /&gt;
 create (function: [[getResourceFromName]])&lt;br /&gt;
 fromName (function: [[getResourceFromName]])&lt;br /&gt;
 getGuiElement (function: [[getResourceGUIElement]])&lt;br /&gt;
 getRootElement (function: [[getResourceRootElement]])&lt;br /&gt;
 getName (function: [[getResourceName]])&lt;br /&gt;
 getThis (function: [[getThisResource]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getDynamicElementRoot (function: [[getResourceDynamicElementRoot]])&lt;br /&gt;
 getExportedFunctions (function: [[getResourceExportedFunctions]])&lt;br /&gt;
 getState (function: [[getResourceState]])&lt;br /&gt;
==Timer==&lt;br /&gt;
 create (function: [[setTimer]])&lt;br /&gt;
 destroy (function: [[killTimer]])&lt;br /&gt;
 reset (function: [[resetTimer]])&lt;br /&gt;
 isValid (function: [[isTimer]])&lt;br /&gt;
 getDetails (function: [[getTimerDetails]])&lt;br /&gt;
==File==&lt;br /&gt;
 create (function: [[fileOpen]])&lt;br /&gt;
 destroy (function: [[fileClose]])&lt;br /&gt;
 close (function: [[fileClose]])&lt;br /&gt;
 new (function: [[fileCreate]])&lt;br /&gt;
 delete (function: [[fileDelete]])&lt;br /&gt;
 exists (function: [[fileExists]])&lt;br /&gt;
 flush (function: [[fileFlush]])&lt;br /&gt;
 getPos (function: [[fileGetPos]])&lt;br /&gt;
 getSize (function: [[fileGetSize]])&lt;br /&gt;
 isEOF (function: [[fileIsEOF]])&lt;br /&gt;
 read (function: [[fileRead]])&lt;br /&gt;
 rename (function: [[fileRename]])&lt;br /&gt;
 setPos (function: [[fileSetPos]])&lt;br /&gt;
 write (function: [[fileWrite]])&lt;br /&gt;
 copy (function: [[fileCopy]])&lt;br /&gt;
==XML==&lt;br /&gt;
 load (function: [[xmlLoadFile]])&lt;br /&gt;
 unload (function: [[xmlUnloadFile]])&lt;br /&gt;
 copy (function: [[xmlCopyFile]])&lt;br /&gt;
 create (function: [[xmlCreateFile]])&lt;br /&gt;
 destroy (function: [[xmlDestroyNode]])&lt;br /&gt;
 setValue (function: [[xmlNodeGetValue]])&lt;br /&gt;
 setAttribute (function: [[xmlNodeSetAttribute]])&lt;br /&gt;
 setValue (function: [[xmlNodeSetValue]])&lt;br /&gt;
 saveFile (function: [[xmlSaveFile]])&lt;br /&gt;
 createChild (function: [[xmlCreateChild]])&lt;br /&gt;
 findChild (function: [[xmlFindChild]])&lt;br /&gt;
 getAttributes (function: [[xmlNodeGetAttributes]])&lt;br /&gt;
 getChildren (function: [[xmlNodeGetChildren]])&lt;br /&gt;
 getName (function: [[xmlNodeGetName]])&lt;br /&gt;
 getParent (function: [[xmlNodeGetParent]])&lt;br /&gt;
 getAttribute (function: [[xmlNodeGetAttribute]])&lt;br /&gt;
 setName (function: [[xmlNodeSetName]])&lt;br /&gt;
==Camera==&lt;br /&gt;
 fade (function: [[fadeCamera]])&lt;br /&gt;
 getTarget (function: [[getCameraTarget]])&lt;br /&gt;
 getInterior (function: [[getCameraInterior]])&lt;br /&gt;
 getViewMode (function: [[getCameraViewMode]])&lt;br /&gt;
 getGoggleEffect (function: [[getCameraGoggleEffect]])&lt;br /&gt;
 setInterior (function: [[setCameraInterior]])&lt;br /&gt;
 setTarget (function: [[setCameraTarget]])&lt;br /&gt;
 setViewMode (function: [[setCameraViewMode]])&lt;br /&gt;
 setGoggleEffect (function: [[setCameraGoggleEffect]])&lt;br /&gt;
 setClip (function: [[setCameraClip]])&lt;br /&gt;
==Engine==&lt;br /&gt;
 restoreCOL (function: [[engineRestoreCOL]])&lt;br /&gt;
 restoreModel (function: [[engineRestoreModel]])&lt;br /&gt;
 setAsynchronousLoading (function: [[engineSetAsynchronousLoading]])&lt;br /&gt;
 setModelLODDistance (function: [[engineSetModelLODDistance]])&lt;br /&gt;
 getVisibleTextureName (function: [[engineGetVisibleTextureNames]])&lt;br /&gt;
 getModelLODDistance (function: [[engineGetModelLODDistance]])&lt;br /&gt;
 getModelTextureNames (function: [[engineGetModelTextureNames]])&lt;br /&gt;
 getModelIDFromName (function: [[engineGetModelIDFromName]])&lt;br /&gt;
 getModelNameFromID (function: [[engineGetModelNameFromID]])&lt;br /&gt;
==EngineCOL==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadCOL]])&lt;br /&gt;
 replace (function: [[engineReplaceCOL]])&lt;br /&gt;
==EngineTXD==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadTXD]])&lt;br /&gt;
 import (function: [[engineImportTXD]])&lt;br /&gt;
==EngineDFF==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadDFF]])&lt;br /&gt;
 replace (function: [[engineReplaceModel]])&lt;br /&gt;
==DxMaterial==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 getSize (function: [[dxGetMaterialSize]])&lt;br /&gt;
==DxTexture==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateTexture]])&lt;br /&gt;
 setEdge (function: [[dxSetTextureEdge]])&lt;br /&gt;
 setPixels (function: [[dxSetTexturePixels]])&lt;br /&gt;
 getPixels (function: [[dxGetTexturePixels]])&lt;br /&gt;
==DxFont==&lt;br /&gt;
 create (function: [[dxCreateFont]])&lt;br /&gt;
 getHeight (function: [[dxGetFontHeight]])&lt;br /&gt;
 getTextWidth (function: [[dxGetTextWidth]])&lt;br /&gt;
==DxShader==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateShader]])&lt;br /&gt;
 setValue (function: [[dxSetShaderValue]])&lt;br /&gt;
 setTessellation (function: [[dxSetShaderTessellation]])&lt;br /&gt;
 setTransform (function: [[dxSetShaderTransform]])&lt;br /&gt;
 value (function: [[dxGetFontHeight]])&lt;br /&gt;
==DxScreenSource==&lt;br /&gt;
 create (function: [[dxCreateScreenSource]])&lt;br /&gt;
 update (function: [[dxUpdateScreenSource]])&lt;br /&gt;
==DxRenderTarget==&lt;br /&gt;
 create (function: [[dxCreateRenderTarget]])&lt;br /&gt;
 setAsTarget (function: [[dxSetRenderTarget]])&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43180</id>
		<title>OOP client</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43180"/>
		<updated>2014-12-05T20:45:58Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Projectile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The new OOP in MTA allows for better code organization and readability. This is a list of [[Client_Scripting_Functions|client-side functions]].&lt;br /&gt;
&lt;br /&gt;
''See also: [[OOP]]''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Element==&lt;br /&gt;
 &lt;br /&gt;
 areCollisionsEnabled (function: [[getElementCollisionsEnabled]])&lt;br /&gt;
 attach (function: [[attachElements]])&lt;br /&gt;
 clearVisibleTo (function: [[clearElementVisibleTo]])&lt;br /&gt;
 clone (function: [[cloneElement]])&lt;br /&gt;
 create (function: [[createElement]])&lt;br /&gt;
 detach (function: [[detachElements]])&lt;br /&gt;
 getAllByType (function: [[getElementsByType]])&lt;br /&gt;
 getAllData (function: [[getAllElementData]])&lt;br /&gt;
 getAlpha (function: [[getElementAlpha]])&lt;br /&gt;
 getAttachedElements (function: [[getAttachedElements]])&lt;br /&gt;
 getAttachedOffsets (function: [[getElementAttachedOffsets]])&lt;br /&gt;
 getAttachedTo (function: [[getElementAttachedTo]])&lt;br /&gt;
 getBoundingBox (function: [[getElementBoundingBox]])&lt;br /&gt;
 getByID (function: [[getElementByID]])&lt;br /&gt;
 getByType (function: [[getElementsByType]])&lt;br /&gt;
 getChild (function: [[getElementChild]])&lt;br /&gt;
 getChildren (function: [[getElementChildren]])&lt;br /&gt;
 getChildrenCount (function: [[getElementChildrenCount]])&lt;br /&gt;
 getColShape (function: [[getElementColShape]])&lt;br /&gt;
 getData (function: [[getElementData]])&lt;br /&gt;
 getDimension (function: [[getElementDimension]])&lt;br /&gt;
 getDistanceFromCentreOfMassToBaseOfModel (function: [[GetElementDistanceFromCentreOfMassToBaseOfModel]])&lt;br /&gt;
 getHealth (function: [[getElementHealth]])&lt;br /&gt;
 getID (function: [[getElementID]])&lt;br /&gt;
 getInterior (function: [[getElementInterior]])&lt;br /&gt;
 getLowLOD (function: [[getLowLODElement]])&lt;br /&gt;
 getModel (function: [[getElementModel]])&lt;br /&gt;
 getParent (function: [[getElementParent]])&lt;br /&gt;
 getSyncer (function: [[getElementSyncer]])&lt;br /&gt;
 getType (function: [[getElementType]])&lt;br /&gt;
 getVelocity (function: [[getElementVelocity]])&lt;br /&gt;
 getWithinColShape (function: [[getElementsWithinColShape]])&lt;br /&gt;
 getZoneName (function: [[getElementZoneName]])&lt;br /&gt;
 isAttached (function: [[isElementAttached]])&lt;br /&gt;
 isCallPropagationEnabled (function: [[isElementCallPropagationEnabled]])&lt;br /&gt;
 isDoubleSided (function: [[isElementDoubleSided]])&lt;br /&gt;
 isFrozen (function: [[isElementFrozen]])&lt;br /&gt;
 isInWater (function: [[isElementInWater]])&lt;br /&gt;
 isLowLOD (function: [[isElementLowLOD]])&lt;br /&gt;
 isVisibleTo (function: [[isElementVisibleTo]])&lt;br /&gt;
 isWithinColShape (function: [[isElementWithinColShape]])&lt;br /&gt;
 isWithinMarker (function: [[isElementWithinMarker]])&lt;br /&gt;
 removeData (function: [[removeElementData]])&lt;br /&gt;
 setAlpha (function: [[setElementAlpha]])&lt;br /&gt;
 setAttachedOffsets (function: [[setElementAttachedOffsets]])&lt;br /&gt;
 setCallPropagationEnabled (function: [[setElementCallPropagationEnabled]])&lt;br /&gt;
 setCollisionsEnabled (function: [[setElementCollisionsEnabled]])&lt;br /&gt;
 setData (function: [[setElementData]])&lt;br /&gt;
 setDimension (function: [[setElementDimension]])&lt;br /&gt;
 setDoubleSided (function: [[setElementDoubleSided]])&lt;br /&gt;
 setFrozen (function: [[setElementFrozen]])&lt;br /&gt;
 setHealth (function: [[setElementHealth]])&lt;br /&gt;
 setID (function: [[setElementID]])&lt;br /&gt;
 setInterior (function: [[setElementInterior]])&lt;br /&gt;
 setLowLOD (function: [[setLowLODElement]])&lt;br /&gt;
 setMatrix (function: [[setElementMatrix]])&lt;br /&gt;
 setModel (function: [[setElementModel]])&lt;br /&gt;
 setParent (function: [[setElementParent]])&lt;br /&gt;
 setPosition (function: [[setElementPosition]])&lt;br /&gt;
 setVelocity (function: [[setElementVelocity]])&lt;br /&gt;
 setVisibleTo (function: [[setElementVisibleTo]])&lt;br /&gt;
&lt;br /&gt;
==Vehicle==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addUpgrade (function: [[addVehicleUpgrade]])&lt;br /&gt;
 attachTrailer (function: [[attachTrailerToVehicle]])&lt;br /&gt;
 blow (function: [[blowVehicle]])&lt;br /&gt;
 create (function: [[createVehicle]])&lt;br /&gt;
 detachTrailer (function: [[detachTrailerFromVehicle]])&lt;br /&gt;
 fix (function: [[fixVehicle]])&lt;br /&gt;
 getAdjustableProperty (function: [[getVehicleAdjustableProperty]])&lt;br /&gt;
 getColor (function: [[getVehicleColor]])&lt;br /&gt;
 getCompatibleUpgrades (function: [[getVehicleCompatibleUpgrades]])&lt;br /&gt;
 getComponentPosition (function: [[getVehicleComponentPosition]])&lt;br /&gt;
 getComponentRotation (function: [[getVehicleComponentRotation]])&lt;br /&gt;
 getComponents (function: [[getVehicleComponents]])&lt;br /&gt;
 getComponentVisible (function: [[getVehicleComponentVisible]])&lt;br /&gt;
 getController (function: [[getVehicleController]])&lt;br /&gt;
 getDoorOpenRatio (function: [[getVehicleDoorOpenRatio]])&lt;br /&gt;
 getDoorState (function: [[getVehicleDoorState]])&lt;br /&gt;
 getEngineState (function: [[getVehicleEngineState]])&lt;br /&gt;
 getGear (function: [[getVehicleCurrentGear]])&lt;br /&gt;
 getGravity (function: [[getVehicleGravity]])&lt;br /&gt;
 getHandling (function: [[getVehicleHandling]])&lt;br /&gt;
 getHeadLightColor (function: [[getVehicleHeadLightColor]])&lt;br /&gt;
 getHelicopterRotorSpeed (function: [[getHelicopterRotorSpeed]])&lt;br /&gt;
 getLandingGearDown (function: [[getVehicleLandingGearDown]])&lt;br /&gt;
 getLightState (function: [[getVehicleLightState]])&lt;br /&gt;
 getMaxPassengers (function: [[getVehicleMaxPassengers]])&lt;br /&gt;
 getName (function: [[getVehicleName]])&lt;br /&gt;
 getNitroCount (function: [[getVehicleNitroCount]])&lt;br /&gt;
 getNitroLevel (function: [[getVehicleNitroLevel]])&lt;br /&gt;
 getOccupant (function: [[getVehicleOccupant]])&lt;br /&gt;
 getOccupants (function: [[getVehicleOccupants]])&lt;br /&gt;
 getOverrideLights (function: [[getVehicleOverrideLights]])&lt;br /&gt;
 getPaintjob (function: [[getVehiclePaintjob]])&lt;br /&gt;
 getPanelState (function: [[getVehiclePanelState]])&lt;br /&gt;
 getPlateText (function: [[getVehiclePlateText]])&lt;br /&gt;
 getSirens (function: [[getVehicleSirens]])&lt;br /&gt;
 getSirensOn (function: [[getVehicleSirensOn]])&lt;br /&gt;
 getTowedByVehicle (function: [[getVehicleTowedByVehicle]])&lt;br /&gt;
 getTowingVehicle (function: [[getVehicleTowingVehicle]])&lt;br /&gt;
 getTrainDirection (function: [[getTrainDirection]])&lt;br /&gt;
 getTrainSpeed (function: [[getTrainSpeed]])&lt;br /&gt;
 getTurnVelocity (function: [[getVehicleTurnVelocity]])&lt;br /&gt;
 getTurretPosition (function: [[getVehicleTurretPosition]])&lt;br /&gt;
 getUpgrades (function: [[getVehicleUpgrades]])&lt;br /&gt;
 getUpgradeSlotName (function: [[getVehicleUpgradeSlotName]])&lt;br /&gt;
 getVariant (function: [[getVehicleVariant]])&lt;br /&gt;
 getVehicleType (function: [[getVehicleType]])&lt;br /&gt;
 getWheelStates (function: [[getVehicleWheelStates]])&lt;br /&gt;
 isBlown (function: [[isVehicleBlown]])&lt;br /&gt;
 isDamageProof (function: [[isVehicleDamageProof]])&lt;br /&gt;
 isFuelTankExplodable (function: [[isVehicleFuelTankExplodable]])&lt;br /&gt;
 isLocked (function: [[isVehicleLocked]])&lt;br /&gt;
 isNitroActivated (function: [[isVehicleNitroActivated]])&lt;br /&gt;
 isNitroRecharging (function: [[isVehicleNitroRecharging]])&lt;br /&gt;
 isOnGround (function: [[isVehicleOnGround]])&lt;br /&gt;
 isTaxiLightOn (function: [[isVehicleTaxiLightOn]])&lt;br /&gt;
 isTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 isTrainDerailed (function: [[isTrainDerailed]])&lt;br /&gt;
 removeUpgrade (function: [[removeVehicleUpgrade]])&lt;br /&gt;
 resetComponentPosition (function: [[resetVehicleComponentPosition]])&lt;br /&gt;
 resetComponentRotation (function: [[resetVehicleComponentRotation]])&lt;br /&gt;
 setAdjustableProperty (function: [[setVehicleAdjustableProperty]])&lt;br /&gt;
 setColor (function: [[setVehicleColor]])&lt;br /&gt;
 setComponentPosition (function: [[setVehicleComponentPosition]])&lt;br /&gt;
 setComponentRotation (function: [[setVehicleComponentRotation]])&lt;br /&gt;
 setComponentVisible (function: [[setVehicleComponentVisible]])&lt;br /&gt;
 setDamageProof (function: [[setVehicleDamageProof]])&lt;br /&gt;
 setDirtLevel (function: [[setVehicleDirtLevel]])&lt;br /&gt;
 setDoorOpenRatio (function: [[setVehicleDoorOpenRatio]])&lt;br /&gt;
 setDoorState (function: [[setVehicleDoorState]])&lt;br /&gt;
 setDoorsUndamageable (function: [[setVehicleDoorsUndamageable]])&lt;br /&gt;
 setEngineState (function: [[setVehicleEngineState]])&lt;br /&gt;
 setFuelTankExplodable (function: [[setVehicleFuelTankExplodable]])&lt;br /&gt;
 setGravity (function: [[setVehicleGravity]])&lt;br /&gt;
 setHeadLightColor (function: [[setVehicleHeadLightColor]])&lt;br /&gt;
 setHelicopterRotorSpeed (function: [[setHelicopterRotorSpeed]])&lt;br /&gt;
 setLandingGearDown (function: [[setVehicleLandingGearDown]])&lt;br /&gt;
 setLightState (function: [[setVehicleLightState]])&lt;br /&gt;
 setLocked (function: [[setVehicleLocked]])&lt;br /&gt;
 setNitroActivated (function: [[setVehicleNitroActivated]])&lt;br /&gt;
 setNitroCount (function: [[setVehicleNitroCount]])&lt;br /&gt;
 setNitroLevel (function: [[setVehicleNitroLevel]])&lt;br /&gt;
 setOverrideLights (function: [[setVehicleOverrideLights]])&lt;br /&gt;
 setPaintjob (function: [[setVehiclePaintjob]])&lt;br /&gt;
 setPanelState (function: [[setVehiclePanelState]])&lt;br /&gt;
 setSirens (function: [[setVehicleSirens]])&lt;br /&gt;
 setSirensOn (function: [[setVehicleSirensOn]])&lt;br /&gt;
 setTaxiLightOn (function: [[setVehicleTaxiLightOn]])&lt;br /&gt;
 setTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 setTrainDerailed (function: [[setTrainDerailed]])&lt;br /&gt;
 setTrainDirection (function: [[setTrainDirection]])&lt;br /&gt;
 setTrainSpeed (function: [[setTrainSpeed]])&lt;br /&gt;
 setTurnVelocity (function: [[setVehicleTurnVelocity]])&lt;br /&gt;
 setTurretPosition (function: [[setVehicleTurretPosition]])&lt;br /&gt;
 setVariant (function: [[setVehicleVariant]])&lt;br /&gt;
 setWheelStates (function: [[setVehicleWheelStates]])&lt;br /&gt;
&lt;br /&gt;
==Ped==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addClothes (function: [[addPedClothes]])&lt;br /&gt;
 canBeKnockedOffBike (function: [[canPedBeKnockedOffBike]])&lt;br /&gt;
 create (function: [[createPed]])&lt;br /&gt;
 doesHaveJetPack (function: [[doesPedHaveJetPack]])&lt;br /&gt;
 getAmmoInClip (function: [[getPedAmmoInClip]])&lt;br /&gt;
 getAnalogControlState (function: [[getPedAnalogControlState]])&lt;br /&gt;
 getAnimation (function: [[getPedAnimation]])&lt;br /&gt;
 getAnimationData (function: [[getPedAnimationData]])&lt;br /&gt;
 getArmor (function: [[getPedArmor]])&lt;br /&gt;
 getBodyPartName (function: [[getBodyPartName]])&lt;br /&gt;
 getBonePosition (function: [[getPedBonePosition]])&lt;br /&gt;
 getCameraRotation (function: [[getPedCameraRotation]])&lt;br /&gt;
 getClothes (function: [[getPedClothes]])&lt;br /&gt;
 getClothesByTypeIndex (function: [[getClothesByTypeIndex]])&lt;br /&gt;
 getClothesTypeName (function: [[getClothesTypeName]])&lt;br /&gt;
 getContactElement (function: [[getPedContactElement]])&lt;br /&gt;
 getControlState (function: [[getPedControlState]])&lt;br /&gt;
 getMoveState (function: [[getPedMoveState]])&lt;br /&gt;
 getOccupiedVehicle (function: [[GetPedOccupiedVehicle]])&lt;br /&gt;
 getOxygenLevel (function: [[getPedOxygenLevel]])&lt;br /&gt;
 getSimplestTask (function: [[getPedSimplestTask]])&lt;br /&gt;
 getStat (function: [[getPedStat]])&lt;br /&gt;
 getTarget (function: [[getPedTarget]])&lt;br /&gt;
 getTargetCollision (function: [[getPedTargetCollision]])&lt;br /&gt;
 getTargetEnd (function: [[getPedTargetEnd]])&lt;br /&gt;
 getTargetStart (function: [[getPedTargetStart]])&lt;br /&gt;
 getTask (function: [[getPedTask]])&lt;br /&gt;
 getTotalAmmo (function: [[getPedTotalAmmo]])&lt;br /&gt;
 getTypeIndexFromClothes (function: [[getTypeIndexFromClothes]])&lt;br /&gt;
 getValidModels (function: [[getValidPedModels]])&lt;br /&gt;
 getVoice (function: [[getPedVoice]])&lt;br /&gt;
 getWalkingStyle (function: [[getPedWalkingStyle]])&lt;br /&gt;
 getWeapon (function: [[getPedWeapon]])&lt;br /&gt;
 getWeaponMuzzlePosition (function: [[getPedWeaponMuzzlePosition]])&lt;br /&gt;
 isChocking (function: [[isPedChoking]])&lt;br /&gt;
 isDoingGangDriveby (function: [[isPedDoingGangDriveby]])&lt;br /&gt;
 isDoingTask (function: [[isPedDoingTask]])&lt;br /&gt;
 isDucked (function: [[isPedDucked]])&lt;br /&gt;
 isHeadless (function: [[isPedHeadless]])&lt;br /&gt;
 isInVehicle (function: [[isPedInVehicle]])&lt;br /&gt;
 isOnFire (function: [[isPedOnFire]])&lt;br /&gt;
 isOnGround (function: [[isPedOnGround]])&lt;br /&gt;
 isTargetingMarkerEnabled (function: [[isPedTargetingMarkerEnabled]])&lt;br /&gt;
 removeClothes (function: [[removePedClothes]])&lt;br /&gt;
 removeFromVehicle (function: [[removePedFromVehicle]])&lt;br /&gt;
 setAimTarget (function: [[setPedAimTarget]])&lt;br /&gt;
 setAnalogControlState (function: [[setPedAnalogControlState]])&lt;br /&gt;
 setAnimation (function: [[setPedAnimation]])&lt;br /&gt;
 setAnimationProgress (function: [[setPedAnimationProgress]])&lt;br /&gt;
 setCameraRotation (function: [[setPedCameraRotation]])&lt;br /&gt;
 setCanBeKnockedOffBike (function: [[setPedCanBeKnockedOffBike]])&lt;br /&gt;
 setControlState (function: [[setPedControlState]])&lt;br /&gt;
 setDoingGangDriveby (function: [[setPedDoingGangDriveby]])&lt;br /&gt;
 setFootBloodEnabled (function: [[setPedFootBloodEnabled]])&lt;br /&gt;
 setHeadless (function: [[setPedHeadless]])&lt;br /&gt;
 setLookAt (function: [[setPedLookAt]])&lt;br /&gt;
 setOnFire (function: [[setPedOnFire]])&lt;br /&gt;
 setOxygenLevel (function: [[setPedOxygenLevel]])&lt;br /&gt;
 setTargetingMarkerEnabled (function: [[setPedTargetingMarkerEnabled]])&lt;br /&gt;
 setVoice (function: [[setPedVoice]])&lt;br /&gt;
 setWalkingStyle (function: [[setPedWalkingStyle]])&lt;br /&gt;
 setWeaponSlot (function: [[setPedWeaponSlot]])&lt;br /&gt;
 warpIntoVehicle (function: [[warpPedIntoVehicle]])&lt;br /&gt;
&lt;br /&gt;
==Player==&lt;br /&gt;
''Inherited from [[#Ped|Ped]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[getPlayerFromName]])&lt;br /&gt;
 getBlurLevel (function: [[getPlayerBlurLevel]])&lt;br /&gt;
 getMapBoundingBox (function: [[getPlayerMapBoundingBox]])&lt;br /&gt;
 getMoney (function: [[getPlayerMoney]])&lt;br /&gt;
 getName (function: [[getPlayerName]])&lt;br /&gt;
 getNametagColor (function: [[getPlayerNametagColor]])&lt;br /&gt;
 getNametagText (function: [[getPlayerNametagText]])&lt;br /&gt;
 getPing (function: [[getPlayerPing]])&lt;br /&gt;
 getSerial (function: [[getPlayerSerial]])&lt;br /&gt;
 getTeam (function: [[getPlayerTeam]])&lt;br /&gt;
 getWantedLevel (function: [[getPlayerWantedLevel]])&lt;br /&gt;
 giveMoney (function: [[givePlayerMoney]])&lt;br /&gt;
 isHudComponentVisible (function: [[isPlayerHudComponentVisible]])&lt;br /&gt;
 isMapForced (function: [[isPlayerMapForced]])&lt;br /&gt;
 isMapVisible (function: [[isPlayerMapVisible]])&lt;br /&gt;
 isNametagShowing (function: [[isPlayerNametagShowing]])&lt;br /&gt;
 setBlurLevel (function: [[setPlayerBlurLevel]])&lt;br /&gt;
 setMoney (function: [[setPlayerMoney]])&lt;br /&gt;
 setNametagColor (function: [[setPlayerNametagColor]])&lt;br /&gt;
 setNametagShowing (function: [[setPlayerNametagShowing]])&lt;br /&gt;
 setNametagText (function: [[setPlayerNametagText]])&lt;br /&gt;
 showHudComponent (function: [[showPlayerHudComponent]])&lt;br /&gt;
 takeMoney (function: [[takePlayerMoney]])&lt;br /&gt;
&lt;br /&gt;
==Object==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 break (function: [[breakObject]])&lt;br /&gt;
 create (function: [[createObject]])&lt;br /&gt;
 getMass (function: [[getObjectMass]])&lt;br /&gt;
 getScale (function: [[getObjectScale]])&lt;br /&gt;
 isBreakable (function: [[isObjectBreakable]])&lt;br /&gt;
 move (function: [[moveObject]])&lt;br /&gt;
 respawn (function: [[respawnObject]])&lt;br /&gt;
 setBreakable (function: [[setObjectBreakable]])&lt;br /&gt;
 setMass (function: [[setObjectMass]])&lt;br /&gt;
 setScale (function: [[setObjectScale]])&lt;br /&gt;
 stop (function: [[stopObject]])&lt;br /&gt;
 toggleObjectRespawn (function: [[toggleObjectRespawn]])&lt;br /&gt;
&lt;br /&gt;
==Marker==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createMarker]])&lt;br /&gt;
 getColor (function: [[getMarkerColor]])&lt;br /&gt;
 getCount (function: [[getMarkerCount]])&lt;br /&gt;
 getIcon (function: [[getMarkerIcon]])&lt;br /&gt;
 getSize (function: [[getMarkerSize]])&lt;br /&gt;
 getTarget (function: [[getMarkerTarget]])&lt;br /&gt;
 getType (function: [[getMarkerType]])&lt;br /&gt;
 setColor (function: [[setMarkerColor]])&lt;br /&gt;
 setIcon (function: [[setMarkerIcon]])&lt;br /&gt;
 setSize (function: [[setMarkerSize]])&lt;br /&gt;
 setTarget (function: [[setMarkerTarget]])&lt;br /&gt;
 setType (function: [[setMarkerType]])&lt;br /&gt;
&lt;br /&gt;
==Blip==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createBlip]])&lt;br /&gt;
 createAttachedTo (function: [[createBlipAttachedTo]])&lt;br /&gt;
 getColor (function: [[getBlipColor]])&lt;br /&gt;
 getIcon (function: [[getBlipIcon]])&lt;br /&gt;
 getOrdering (function: [[getBlipOrdering]])&lt;br /&gt;
 getSize (function: [[getBlipSize]])&lt;br /&gt;
 getVisibleDistance (function: [[getBlipVisibleDistance]])&lt;br /&gt;
 setColor (function: [[setBlipColor]])&lt;br /&gt;
 setIcon (function: [[setBlipIcon]])&lt;br /&gt;
 setOrdering (function: [[setBlipOrdering]])&lt;br /&gt;
 setSize (function: [[setBlipSize]])&lt;br /&gt;
 setVisibleDistance (function: [[setBlipVisibleDistance]])&lt;br /&gt;
&lt;br /&gt;
==Pickup==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createPickup]])&lt;br /&gt;
 getAmmo (function: [[getPickupAmmo]])&lt;br /&gt;
 getAmount (function: [[getPickupAmount]])&lt;br /&gt;
 getType (function: [[getPickupType]])&lt;br /&gt;
 getWeapon (function: [[getPickupWeapon]])&lt;br /&gt;
 setType (function: [[setPickupType]])&lt;br /&gt;
&lt;br /&gt;
==ColShape==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 Circle (function: [[createColCircle]])&lt;br /&gt;
 Cuboid (function: [[createColCuboid]])&lt;br /&gt;
 getElementsWithin (function: [[getElementsWithinColShape]])&lt;br /&gt;
 isElementWithin (function: [[isElementWithinColShape]])&lt;br /&gt;
 Polygon (function: [[createColPolygon]])&lt;br /&gt;
 Rectangle (function: [[createColRectangle]])&lt;br /&gt;
 Sphere (function: [[createColSphere]])&lt;br /&gt;
 Tube (function: [[createColTube]])&lt;br /&gt;
&lt;br /&gt;
==Projectile==&lt;br /&gt;
''Inherited from [[#Element|Projectile]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createProjectile]])&lt;br /&gt;
 getCounter (function: [[getProjectileCounter]])&lt;br /&gt;
 getCreator (function: [[getProjectileCreator]])&lt;br /&gt;
 getForce (function: [[getProjectileForce]])&lt;br /&gt;
 getTarget (function: [[getProjectileTarget]])&lt;br /&gt;
 getType (function: [[getProjectileType]])&lt;br /&gt;
 setCounter (function: [[setProjectileCounter]])&lt;br /&gt;
&lt;br /&gt;
==RadarArea==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createRadarArea]])&lt;br /&gt;
 getColor (function: [[getRadarAreaColor]])&lt;br /&gt;
 getSize (function: [[getRadarAreaSize]])&lt;br /&gt;
 isFlashing (function: [[isRadarAreaFlashing]])&lt;br /&gt;
 isInside (function: [[isInsideRadarArea]])&lt;br /&gt;
 setColor (function: [[setRadarAreaColor]])&lt;br /&gt;
 setFlashing (function: [[setRadarAreaFlashing]])&lt;br /&gt;
 setSize (function: [[setRadarAreaSize]])&lt;br /&gt;
&lt;br /&gt;
==Team==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 countPlayers (function: [[countPlayersInTeam]])&lt;br /&gt;
 create (function: [[getTeamFromName]])&lt;br /&gt;
 getColor (function: [[getTeamColor]])&lt;br /&gt;
 getFriendlyFire (function: [[getTeamFriendlyFire]])&lt;br /&gt;
 getFromName (function: [[getTeamFromName]])&lt;br /&gt;
 getName (function: [[getTeamName]])&lt;br /&gt;
&lt;br /&gt;
==Water==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWater]])&lt;br /&gt;
 getColor (function: [[getWaterColor]])&lt;br /&gt;
 getLevel (function: [[getWaterLevel]])&lt;br /&gt;
 getVertexPosition (function: [[getWaterVertexPosition]])&lt;br /&gt;
 getWaveHeight (function: [[getWaveHeight]])&lt;br /&gt;
 isDrawnLast (function: [[isWaterDrawnLast]])&lt;br /&gt;
 resetColor (function: [[resetWaterColor]])&lt;br /&gt;
 resetLevel (function: [[resetWaterLevel]])&lt;br /&gt;
 setColor (function: [[setWaterColor]])&lt;br /&gt;
 setDrawnLast (function: [[setWaterDrawnLast]])&lt;br /&gt;
 setLevel (function: [[setWaterLevel]])&lt;br /&gt;
 setVertexPosition (function: [[setWaterVertexPosition]])&lt;br /&gt;
 setWaveHeight (function: [[setWaveHeight]])&lt;br /&gt;
 testLineAgainst (function: [[testLineAgainstWater]])&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound]])&lt;br /&gt;
 getBPM (function: [[getSoundBPM]])&lt;br /&gt;
 getEffects (function: [[getSoundEffects]])&lt;br /&gt;
 getFFTData (function: [[getSoundFFTData]])&lt;br /&gt;
 getLength (function: [[getSoundLength]])&lt;br /&gt;
 getLevelData (function: [[getSoundLevelData]])&lt;br /&gt;
 getMetaTags (function: [[getSoundMetaTags]])&lt;br /&gt;
 getPan (function: [[getSoundPan]])&lt;br /&gt;
 getPlaybackPosition (function: [[getSoundPosition]])&lt;br /&gt;
 getProperties (function: [[getSoundProperties]])&lt;br /&gt;
 getSpeed (function: [[getSoundSpeed]])&lt;br /&gt;
 getVolume (function: [[getSoundVolume]])&lt;br /&gt;
 getWaveData (function: [[getSoundWaveData]])&lt;br /&gt;
 isPaused (function: [[isSoundPaused]])&lt;br /&gt;
 setEffectEnabled (function: [[setSoundEffectEnabled]])&lt;br /&gt;
 setPan (function: [[setSoundPan]])&lt;br /&gt;
 setPaused (function: [[setSoundPaused]])&lt;br /&gt;
 setPlaybackPosition (function: [[setSoundPosition]])&lt;br /&gt;
 setProperties (function: [[setSoundProperties]])&lt;br /&gt;
 setSpeed (function: [[setSoundSpeed]])&lt;br /&gt;
 setVolume (function: [[setSoundVolume]])&lt;br /&gt;
 stop (function: [[stopSound]])&lt;br /&gt;
&lt;br /&gt;
==Sound3D==&lt;br /&gt;
''Inherited from [[#Sound|Sound]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound3D]])&lt;br /&gt;
 getMaxDistance (function: [[getSoundMaxDistance]])&lt;br /&gt;
 getMinDistance (function: [[getSoundMinDistance]])&lt;br /&gt;
 setMaxDistance (function: [[setSoundMaxDistance]])&lt;br /&gt;
 setMinDistance (function: [[setSoundMinDistance]])&lt;br /&gt;
&lt;br /&gt;
==Weapon==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWeapon]])&lt;br /&gt;
 fire (function: [[fireWeapon]])&lt;br /&gt;
 getAmmo (function: [[getWeaponAmmo]])&lt;br /&gt;
 getClipAmmo (function: [[getWeaponClipAmmo]])&lt;br /&gt;
 getFiringRate (function: [[getWeaponFiringRate]])&lt;br /&gt;
 getFlags (function: [[getWeaponFlags]])&lt;br /&gt;
 getOwner (function: [[getWeaponOwner]])&lt;br /&gt;
 getProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 getState (function: [[getWeaponState]])&lt;br /&gt;
 getTarget (function: [[getWeaponTarget]])&lt;br /&gt;
 resetFiringRate (function: [[resetWeaponFiringRate]])&lt;br /&gt;
 setAmmo (function: [[setWeaponAmmo]])&lt;br /&gt;
 setClipAmmo (function: [[setWeaponClipAmmo]])&lt;br /&gt;
 setFiringRate (function: [[setWeaponFiringRate]])&lt;br /&gt;
 setFlags (function: [[setWeaponFlags]])&lt;br /&gt;
 setOwner (function: [[setWeaponOwner]])&lt;br /&gt;
 setProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 setState (function: [[setWeaponState]])&lt;br /&gt;
 setTarget (function: [[setWeaponTarget]])&lt;br /&gt;
&lt;br /&gt;
==Effect==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addBlood (function: [[fxAddBlood]])&lt;br /&gt;
 addBulletImpact (function: [[fxAddBulletImpact]])&lt;br /&gt;
 addBulletSplash (function: [[fxAddBulletSplash]])&lt;br /&gt;
 addDebris (function: [[fxAddDebris]])&lt;br /&gt;
 addFootSplash (function: [[fxAddFootSplash]])&lt;br /&gt;
 addGlass (function: [[fxAddGlass]])&lt;br /&gt;
 addGunshot (function: [[fxAddGunshot]])&lt;br /&gt;
 addPunchImpact (function: [[fxAddPunchImpact]])&lt;br /&gt;
 addSparks (function: [[fxAddSparks]])&lt;br /&gt;
 addTankFire (function: [[fxAddTankFire]])&lt;br /&gt;
 addTyreBurst (function: [[fxAddTyreBurst]])&lt;br /&gt;
 addWaterHydrant (function: [[fxAddWaterHydrant]])&lt;br /&gt;
 addWaterSplash (function: [[fxAddWaterSplash]])&lt;br /&gt;
 addWood (function: [[fxAddWood]])&lt;br /&gt;
 create (function: [[createEffect]])&lt;br /&gt;
 getDensity (function: [[getEffectDensity]])&lt;br /&gt;
 getSpeed (function: [[getEffectSpeed]])&lt;br /&gt;
 setDensity (function: [[setEffectDensity]])&lt;br /&gt;
 setSpeed (function: [[setEffectSpeed]])&lt;br /&gt;
&lt;br /&gt;
==GuiElement==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 bringToFront (function: [[guiBringToFront]])&lt;br /&gt;
 moveToBack (function: [[guiMoveToBack]])&lt;br /&gt;
 isChatBoxInputActive (function: [[isChatBoxInputActive]])&lt;br /&gt;
 isConsoleActive (function: [[isConsoleActive]])&lt;br /&gt;
 isDebugViewActive (function: [[isDebugViewActive]])&lt;br /&gt;
 isMainMenuActive (function: [[isMainMenuActive]])&lt;br /&gt;
 isMTAWindowActive (function: [[isMTAWindowActive]])&lt;br /&gt;
 isTransferBoxActive (function: [[isTransferBoxActive]])&lt;br /&gt;
 isInputEnabled (function: [[guiGetInputEnabled]])&lt;br /&gt;
 getInputMode (function: [[guiGetInputMode]])&lt;br /&gt;
 getScreenSize (function: [[guiGetScreenSize]])&lt;br /&gt;
 getProperties (function: [[guiGetProperties]])&lt;br /&gt;
 getAlpha (function: [[guiGetAlpha]])&lt;br /&gt;
 getFont (function: [[guiGetFont]])&lt;br /&gt;
 getEnabled (function: [[guiGetEnabled]])&lt;br /&gt;
 getVisible (function: [[guiGetVisible]])&lt;br /&gt;
 getText (function: [[guiGetText]])&lt;br /&gt;
 getPosition (function: [[guiGetPosition]])&lt;br /&gt;
 getSize (function: [[guiGetSize]])&lt;br /&gt;
 getProperty (function: [[guiGetProperty]])&lt;br /&gt;
 setInputEnabled (function: [[guiSetInputEnabled]])&lt;br /&gt;
 setAlpha (function: [[guiSetAlpha]])&lt;br /&gt;
 setEnabled (function: [[guiSetEnabled]])&lt;br /&gt;
 setFont (function: [[guiSetFont]])&lt;br /&gt;
 setVisible (function: [[guiSetVisible]])&lt;br /&gt;
 setText (function: [[guiSetText]])&lt;br /&gt;
 setInputMode (function: [[guiSetInputMode]])&lt;br /&gt;
 setProperty (function: [[guiSetProperty]])&lt;br /&gt;
 setPosition (function: [[guiSetPosition]])&lt;br /&gt;
 setSize (function: [[guiSetSize]])&lt;br /&gt;
==GuiWindow==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateWindow]])&lt;br /&gt;
 setMovable (function: [[guiWindowSetMovable]])&lt;br /&gt;
 setSizable (function: [[guiWindowSetSizable]])&lt;br /&gt;
==GuiButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateButton]])&lt;br /&gt;
==GuiEdit==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateEdit]])&lt;br /&gt;
 getCaretIndex (function: [[guiEditGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiEditSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiEditSetReadOnly]])&lt;br /&gt;
 setMasked (function: [[guiEditSetMasked]])&lt;br /&gt;
 setMaxLength (function: [[guiEditSetMaxLength]])&lt;br /&gt;
==GuiLabel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateLabel]])&lt;br /&gt;
 getFontHeight (function: [[guiLabelGetFontHeight]])&lt;br /&gt;
 getTextExtent (function: [[guiLabelGetTextExtent]])&lt;br /&gt;
 getColor (function: [[guiLabelGetColor]])&lt;br /&gt;
 setColor (function: [[guiLabelSetColor]])&lt;br /&gt;
 setHorizontalAlign (function: [[guiLabelSetHorizontalAlign]])&lt;br /&gt;
 setVerticalAlign (function: [[guiLabelSetVerticalAlign]])&lt;br /&gt;
==GuiMemo==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateMemo]])&lt;br /&gt;
 getCaretIndex (function: [[guiMemoGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiMemoSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiMemoSetReadOnly]])&lt;br /&gt;
==GuiStaticImage==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateStaticImage]])&lt;br /&gt;
 loadImage (function: [[guiStaticImageLoadImage]])&lt;br /&gt;
==GuiComboBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateComboBox]])&lt;br /&gt;
 addItem (function: [[guiComboBoxAddItem]])&lt;br /&gt;
 clear (function: [[guiComboBoxClear]])&lt;br /&gt;
 removeItem (function: [[guiComboBoxRemoveItem]])&lt;br /&gt;
 getSelected (function: [[guiComboBoxGetSelected]])&lt;br /&gt;
 getItemText (function: [[guiComboBoxGetItemText]])&lt;br /&gt;
 setItemText (function: [[guiComboBoxSetItemText]])&lt;br /&gt;
 setSelected (function: [[guiComboBoxSetSelected]])&lt;br /&gt;
==GuiCheckBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateCheckBox]])&lt;br /&gt;
 getSelected (function: [[guiCheckBoxGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiCheckBoxSetSelected]])&lt;br /&gt;
==GuiRadioButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateRadioButton]])&lt;br /&gt;
 getSelected (function: [[guiRadioButtonGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiRadioButtonSetSelected]])&lt;br /&gt;
==GuiScrollPane==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollPane]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiScrollPaneGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiScrollPaneGetVerticalScrollPosition]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiScrollPaneSetHorizontalScrollPosition]])&lt;br /&gt;
 setScrollBars (function: [[guiScrollPaneSetScrollBars]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiScrollPaneSetVerticalScrollPosition]])&lt;br /&gt;
==GuiScrollBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollBar]])&lt;br /&gt;
 getScrollPosition (function: [[guiScrollBarGetScrollPosition]])&lt;br /&gt;
 setScrollPosition (function: [[guiScrollBarSetScrollPosition]])&lt;br /&gt;
==GuiProgressBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateProgressBar]])&lt;br /&gt;
 getProgress (function: [[guiProgressBarGetProgress]])&lt;br /&gt;
 setProgress (function: [[guiProgressBarSetProgress]])&lt;br /&gt;
==GuiGridlist==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateGridList]])&lt;br /&gt;
 addColumn (function: [[guiGridListAddColumn]])&lt;br /&gt;
 addRow (function: [[guiGridListAddRow]])&lt;br /&gt;
 autoSizeColumn (function: [[guiGridListAutoSizeColumn]])&lt;br /&gt;
 clear (function: [[guiGridListClear]])&lt;br /&gt;
 insertRowAfter (function: [[guiGridListInsertRowAfter]])&lt;br /&gt;
 removeColumn (function: [[guiGridListRemoveColumn]])&lt;br /&gt;
 removeRow (function: [[guiGridListRemoveRow]])&lt;br /&gt;
 getItemData (function: [[guiGridListGetItemData]])&lt;br /&gt;
 getItemText (function: [[guiGridListGetItemText]])&lt;br /&gt;
 getRowCount (function: [[guiGridListGetRowCount]])&lt;br /&gt;
 getSelectedItem (function: [[guiGridListGetSelectedItem]])&lt;br /&gt;
 getItemColor (function: [[guiGridListGetItemColor]])&lt;br /&gt;
 getColumnTitle (function: [[guiGridListGetColumnTitle]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiGridListGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiGridListGetVerticalScrollPosition]])&lt;br /&gt;
 getSelectedCount (function: [[guiGridListGetSelectedCount]])&lt;br /&gt;
 getSelectedItems (function: [[guiGridListGetSelectedItems]])&lt;br /&gt;
 getColumnCount (function: [[guiGridListGetColumnCount]])&lt;br /&gt;
 setItemData (function: [[guiGridListSetItemData]])&lt;br /&gt;
 setItemText (function: [[guiGridListSetItemText]])&lt;br /&gt;
 setScrollBars (function: [[guiGridListSetScrollBars]])&lt;br /&gt;
 setSelectedItem (function: [[guiGridListSetSelectedItem]])&lt;br /&gt;
 setSelectionMode (function: [[guiGridListSetSelectionMode]])&lt;br /&gt;
 setSortingEnabled (function: [[guiGridListSetSortingEnabled]])&lt;br /&gt;
 setColumnWidth (function: [[guiGridListSetColumnWidth]])&lt;br /&gt;
 setItemColor (function: [[guiGridListSetItemColor]])&lt;br /&gt;
 setColumnTitle (function: [[guiGridListSetColumnTitle]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiGridListSetHorizontalScrollPosition]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiGridListSetVerticalScrollPosition]])&lt;br /&gt;
==GuiTabPanel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTabPanel]])&lt;br /&gt;
 getSelectedTab (function: [[guiGetSelectedTab]])&lt;br /&gt;
 setSelectedTab (function: [[guiSetSelectedTab]])&lt;br /&gt;
==GuiTab==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTab]])&lt;br /&gt;
 delete (function: [[guiDeleteTab]])&lt;br /&gt;
==GuiFont==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateFont]])&lt;br /&gt;
==Resource==&lt;br /&gt;
 create (function: [[getResourceFromName]])&lt;br /&gt;
 fromName (function: [[getResourceFromName]])&lt;br /&gt;
 getGuiElement (function: [[getResourceGUIElement]])&lt;br /&gt;
 getRootElement (function: [[getResourceRootElement]])&lt;br /&gt;
 getName (function: [[getResourceName]])&lt;br /&gt;
 getThis (function: [[getThisResource]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getDynamicElementRoot (function: [[getResourceDynamicElementRoot]])&lt;br /&gt;
 getExportedFunctions (function: [[getResourceExportedFunctions]])&lt;br /&gt;
 getState (function: [[getResourceState]])&lt;br /&gt;
==Timer==&lt;br /&gt;
 create (function: [[setTimer]])&lt;br /&gt;
 destroy (function: [[killTimer]])&lt;br /&gt;
 reset (function: [[resetTimer]])&lt;br /&gt;
 isValid (function: [[isTimer]])&lt;br /&gt;
 getDetails (function: [[getTimerDetails]])&lt;br /&gt;
==File==&lt;br /&gt;
 create (function: [[fileOpen]])&lt;br /&gt;
 destroy (function: [[fileClose]])&lt;br /&gt;
 close (function: [[fileClose]])&lt;br /&gt;
 new (function: [[fileCreate]])&lt;br /&gt;
 delete (function: [[fileDelete]])&lt;br /&gt;
 exists (function: [[fileExists]])&lt;br /&gt;
 flush (function: [[fileFlush]])&lt;br /&gt;
 getPos (function: [[fileGetPos]])&lt;br /&gt;
 getSize (function: [[fileGetSize]])&lt;br /&gt;
 isEOF (function: [[fileIsEOF]])&lt;br /&gt;
 read (function: [[fileRead]])&lt;br /&gt;
 rename (function: [[fileRename]])&lt;br /&gt;
 setPos (function: [[fileSetPos]])&lt;br /&gt;
 write (function: [[fileWrite]])&lt;br /&gt;
 copy (function: [[fileCopy]])&lt;br /&gt;
==XML==&lt;br /&gt;
 load (function: [[xmlLoadFile]])&lt;br /&gt;
 unload (function: [[xmlUnloadFile]])&lt;br /&gt;
 copy (function: [[xmlCopyFile]])&lt;br /&gt;
 create (function: [[xmlCreateFile]])&lt;br /&gt;
 destroy (function: [[xmlDestroyNode]])&lt;br /&gt;
 setValue (function: [[xmlNodeGetValue]])&lt;br /&gt;
 setAttribute (function: [[xmlNodeSetAttribute]])&lt;br /&gt;
 setValue (function: [[xmlNodeSetValue]])&lt;br /&gt;
 saveFile (function: [[xmlSaveFile]])&lt;br /&gt;
 createChild (function: [[xmlCreateChild]])&lt;br /&gt;
 findChild (function: [[xmlFindChild]])&lt;br /&gt;
 getAttributes (function: [[xmlNodeGetAttributes]])&lt;br /&gt;
 getChildren (function: [[xmlNodeGetChildren]])&lt;br /&gt;
 getName (function: [[xmlNodeGetName]])&lt;br /&gt;
 getParent (function: [[xmlNodeGetParent]])&lt;br /&gt;
 getAttribute (function: [[xmlNodeGetAttribute]])&lt;br /&gt;
 setName (function: [[xmlNodeSetName]])&lt;br /&gt;
==Camera==&lt;br /&gt;
 fade (function: [[fadeCamera]])&lt;br /&gt;
 getTarget (function: [[getCameraTarget]])&lt;br /&gt;
 getInterior (function: [[getCameraInterior]])&lt;br /&gt;
 getViewMode (function: [[getCameraViewMode]])&lt;br /&gt;
 getGoggleEffect (function: [[getCameraGoggleEffect]])&lt;br /&gt;
 setInterior (function: [[setCameraInterior]])&lt;br /&gt;
 setTarget (function: [[setCameraTarget]])&lt;br /&gt;
 setViewMode (function: [[setCameraViewMode]])&lt;br /&gt;
 setGoggleEffect (function: [[setCameraGoggleEffect]])&lt;br /&gt;
 setClip (function: [[setCameraClip]])&lt;br /&gt;
==Engine==&lt;br /&gt;
 restoreCOL (function: [[engineRestoreCOL]])&lt;br /&gt;
 restoreModel (function: [[engineRestoreModel]])&lt;br /&gt;
 setAsynchronousLoading (function: [[engineSetAsynchronousLoading]])&lt;br /&gt;
 setModelLODDistance (function: [[engineSetModelLODDistance]])&lt;br /&gt;
 getVisibleTextureName (function: [[engineGetVisibleTextureNames]])&lt;br /&gt;
 getModelLODDistance (function: [[engineGetModelLODDistance]])&lt;br /&gt;
 getModelTextureNames (function: [[engineGetModelTextureNames]])&lt;br /&gt;
 getModelIDFromName (function: [[engineGetModelIDFromName]])&lt;br /&gt;
 getModelNameFromID (function: [[engineGetModelNameFromID]])&lt;br /&gt;
==EngineCOL==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadCOL]])&lt;br /&gt;
 replace (function: [[engineReplaceCOL]])&lt;br /&gt;
==EngineTXD==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadTXD]])&lt;br /&gt;
 import (function: [[engineImportTXD]])&lt;br /&gt;
==EngineDFF==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadDFF]])&lt;br /&gt;
 replace (function: [[engineReplaceModel]])&lt;br /&gt;
==DxMaterial==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 getSize (function: [[dxGetMaterialSize]])&lt;br /&gt;
==DxTexture==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateTexture]])&lt;br /&gt;
 setEdge (function: [[dxSetTextureEdge]])&lt;br /&gt;
 setPixels (function: [[dxSetTexturePixels]])&lt;br /&gt;
 getPixels (function: [[dxGetTexturePixels]])&lt;br /&gt;
==DxFont==&lt;br /&gt;
 create (function: [[dxCreateFont]])&lt;br /&gt;
 getHeight (function: [[dxGetFontHeight]])&lt;br /&gt;
 getTextWidth (function: [[dxGetTextWidth]])&lt;br /&gt;
==DxShader==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateShader]])&lt;br /&gt;
 setValue (function: [[dxSetShaderValue]])&lt;br /&gt;
 setTessellation (function: [[dxSetShaderTessellation]])&lt;br /&gt;
 setTransform (function: [[dxSetShaderTransform]])&lt;br /&gt;
 value (function: [[dxGetFontHeight]])&lt;br /&gt;
==DxScreenSource==&lt;br /&gt;
 create (function: [[dxCreateScreenSource]])&lt;br /&gt;
 update (function: [[dxUpdateScreenSource]])&lt;br /&gt;
==DxRenderTarget==&lt;br /&gt;
 create (function: [[dxCreateRenderTarget]])&lt;br /&gt;
 setAsTarget (function: [[dxSetRenderTarget]])&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43179</id>
		<title>OOP client</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OOP_client&amp;diff=43179"/>
		<updated>2014-12-05T20:44:30Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Projectile */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The new OOP in MTA allows for better code organization and readability. This is a list of [[Client_Scripting_Functions|client-side functions]].&lt;br /&gt;
&lt;br /&gt;
''See also: [[OOP]]''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Element==&lt;br /&gt;
 &lt;br /&gt;
 areCollisionsEnabled (function: [[getElementCollisionsEnabled]])&lt;br /&gt;
 attach (function: [[attachElements]])&lt;br /&gt;
 clearVisibleTo (function: [[clearElementVisibleTo]])&lt;br /&gt;
 clone (function: [[cloneElement]])&lt;br /&gt;
 create (function: [[createElement]])&lt;br /&gt;
 detach (function: [[detachElements]])&lt;br /&gt;
 getAllByType (function: [[getElementsByType]])&lt;br /&gt;
 getAllData (function: [[getAllElementData]])&lt;br /&gt;
 getAlpha (function: [[getElementAlpha]])&lt;br /&gt;
 getAttachedElements (function: [[getAttachedElements]])&lt;br /&gt;
 getAttachedOffsets (function: [[getElementAttachedOffsets]])&lt;br /&gt;
 getAttachedTo (function: [[getElementAttachedTo]])&lt;br /&gt;
 getBoundingBox (function: [[getElementBoundingBox]])&lt;br /&gt;
 getByID (function: [[getElementByID]])&lt;br /&gt;
 getByType (function: [[getElementsByType]])&lt;br /&gt;
 getChild (function: [[getElementChild]])&lt;br /&gt;
 getChildren (function: [[getElementChildren]])&lt;br /&gt;
 getChildrenCount (function: [[getElementChildrenCount]])&lt;br /&gt;
 getColShape (function: [[getElementColShape]])&lt;br /&gt;
 getData (function: [[getElementData]])&lt;br /&gt;
 getDimension (function: [[getElementDimension]])&lt;br /&gt;
 getDistanceFromCentreOfMassToBaseOfModel (function: [[GetElementDistanceFromCentreOfMassToBaseOfModel]])&lt;br /&gt;
 getHealth (function: [[getElementHealth]])&lt;br /&gt;
 getID (function: [[getElementID]])&lt;br /&gt;
 getInterior (function: [[getElementInterior]])&lt;br /&gt;
 getLowLOD (function: [[getLowLODElement]])&lt;br /&gt;
 getModel (function: [[getElementModel]])&lt;br /&gt;
 getParent (function: [[getElementParent]])&lt;br /&gt;
 getSyncer (function: [[getElementSyncer]])&lt;br /&gt;
 getType (function: [[getElementType]])&lt;br /&gt;
 getVelocity (function: [[getElementVelocity]])&lt;br /&gt;
 getWithinColShape (function: [[getElementsWithinColShape]])&lt;br /&gt;
 getZoneName (function: [[getElementZoneName]])&lt;br /&gt;
 isAttached (function: [[isElementAttached]])&lt;br /&gt;
 isCallPropagationEnabled (function: [[isElementCallPropagationEnabled]])&lt;br /&gt;
 isDoubleSided (function: [[isElementDoubleSided]])&lt;br /&gt;
 isFrozen (function: [[isElementFrozen]])&lt;br /&gt;
 isInWater (function: [[isElementInWater]])&lt;br /&gt;
 isLowLOD (function: [[isElementLowLOD]])&lt;br /&gt;
 isVisibleTo (function: [[isElementVisibleTo]])&lt;br /&gt;
 isWithinColShape (function: [[isElementWithinColShape]])&lt;br /&gt;
 isWithinMarker (function: [[isElementWithinMarker]])&lt;br /&gt;
 removeData (function: [[removeElementData]])&lt;br /&gt;
 setAlpha (function: [[setElementAlpha]])&lt;br /&gt;
 setAttachedOffsets (function: [[setElementAttachedOffsets]])&lt;br /&gt;
 setCallPropagationEnabled (function: [[setElementCallPropagationEnabled]])&lt;br /&gt;
 setCollisionsEnabled (function: [[setElementCollisionsEnabled]])&lt;br /&gt;
 setData (function: [[setElementData]])&lt;br /&gt;
 setDimension (function: [[setElementDimension]])&lt;br /&gt;
 setDoubleSided (function: [[setElementDoubleSided]])&lt;br /&gt;
 setFrozen (function: [[setElementFrozen]])&lt;br /&gt;
 setHealth (function: [[setElementHealth]])&lt;br /&gt;
 setID (function: [[setElementID]])&lt;br /&gt;
 setInterior (function: [[setElementInterior]])&lt;br /&gt;
 setLowLOD (function: [[setLowLODElement]])&lt;br /&gt;
 setMatrix (function: [[setElementMatrix]])&lt;br /&gt;
 setModel (function: [[setElementModel]])&lt;br /&gt;
 setParent (function: [[setElementParent]])&lt;br /&gt;
 setPosition (function: [[setElementPosition]])&lt;br /&gt;
 setVelocity (function: [[setElementVelocity]])&lt;br /&gt;
 setVisibleTo (function: [[setElementVisibleTo]])&lt;br /&gt;
&lt;br /&gt;
==Vehicle==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addUpgrade (function: [[addVehicleUpgrade]])&lt;br /&gt;
 attachTrailer (function: [[attachTrailerToVehicle]])&lt;br /&gt;
 blow (function: [[blowVehicle]])&lt;br /&gt;
 create (function: [[createVehicle]])&lt;br /&gt;
 detachTrailer (function: [[detachTrailerFromVehicle]])&lt;br /&gt;
 fix (function: [[fixVehicle]])&lt;br /&gt;
 getAdjustableProperty (function: [[getVehicleAdjustableProperty]])&lt;br /&gt;
 getColor (function: [[getVehicleColor]])&lt;br /&gt;
 getCompatibleUpgrades (function: [[getVehicleCompatibleUpgrades]])&lt;br /&gt;
 getComponentPosition (function: [[getVehicleComponentPosition]])&lt;br /&gt;
 getComponentRotation (function: [[getVehicleComponentRotation]])&lt;br /&gt;
 getComponents (function: [[getVehicleComponents]])&lt;br /&gt;
 getComponentVisible (function: [[getVehicleComponentVisible]])&lt;br /&gt;
 getController (function: [[getVehicleController]])&lt;br /&gt;
 getDoorOpenRatio (function: [[getVehicleDoorOpenRatio]])&lt;br /&gt;
 getDoorState (function: [[getVehicleDoorState]])&lt;br /&gt;
 getEngineState (function: [[getVehicleEngineState]])&lt;br /&gt;
 getGear (function: [[getVehicleCurrentGear]])&lt;br /&gt;
 getGravity (function: [[getVehicleGravity]])&lt;br /&gt;
 getHandling (function: [[getVehicleHandling]])&lt;br /&gt;
 getHeadLightColor (function: [[getVehicleHeadLightColor]])&lt;br /&gt;
 getHelicopterRotorSpeed (function: [[getHelicopterRotorSpeed]])&lt;br /&gt;
 getLandingGearDown (function: [[getVehicleLandingGearDown]])&lt;br /&gt;
 getLightState (function: [[getVehicleLightState]])&lt;br /&gt;
 getMaxPassengers (function: [[getVehicleMaxPassengers]])&lt;br /&gt;
 getName (function: [[getVehicleName]])&lt;br /&gt;
 getNitroCount (function: [[getVehicleNitroCount]])&lt;br /&gt;
 getNitroLevel (function: [[getVehicleNitroLevel]])&lt;br /&gt;
 getOccupant (function: [[getVehicleOccupant]])&lt;br /&gt;
 getOccupants (function: [[getVehicleOccupants]])&lt;br /&gt;
 getOverrideLights (function: [[getVehicleOverrideLights]])&lt;br /&gt;
 getPaintjob (function: [[getVehiclePaintjob]])&lt;br /&gt;
 getPanelState (function: [[getVehiclePanelState]])&lt;br /&gt;
 getPlateText (function: [[getVehiclePlateText]])&lt;br /&gt;
 getSirens (function: [[getVehicleSirens]])&lt;br /&gt;
 getSirensOn (function: [[getVehicleSirensOn]])&lt;br /&gt;
 getTowedByVehicle (function: [[getVehicleTowedByVehicle]])&lt;br /&gt;
 getTowingVehicle (function: [[getVehicleTowingVehicle]])&lt;br /&gt;
 getTrainDirection (function: [[getTrainDirection]])&lt;br /&gt;
 getTrainSpeed (function: [[getTrainSpeed]])&lt;br /&gt;
 getTurnVelocity (function: [[getVehicleTurnVelocity]])&lt;br /&gt;
 getTurretPosition (function: [[getVehicleTurretPosition]])&lt;br /&gt;
 getUpgrades (function: [[getVehicleUpgrades]])&lt;br /&gt;
 getUpgradeSlotName (function: [[getVehicleUpgradeSlotName]])&lt;br /&gt;
 getVariant (function: [[getVehicleVariant]])&lt;br /&gt;
 getVehicleType (function: [[getVehicleType]])&lt;br /&gt;
 getWheelStates (function: [[getVehicleWheelStates]])&lt;br /&gt;
 isBlown (function: [[isVehicleBlown]])&lt;br /&gt;
 isDamageProof (function: [[isVehicleDamageProof]])&lt;br /&gt;
 isFuelTankExplodable (function: [[isVehicleFuelTankExplodable]])&lt;br /&gt;
 isLocked (function: [[isVehicleLocked]])&lt;br /&gt;
 isNitroActivated (function: [[isVehicleNitroActivated]])&lt;br /&gt;
 isNitroRecharging (function: [[isVehicleNitroRecharging]])&lt;br /&gt;
 isOnGround (function: [[isVehicleOnGround]])&lt;br /&gt;
 isTaxiLightOn (function: [[isVehicleTaxiLightOn]])&lt;br /&gt;
 isTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 isTrainDerailed (function: [[isTrainDerailed]])&lt;br /&gt;
 removeUpgrade (function: [[removeVehicleUpgrade]])&lt;br /&gt;
 resetComponentPosition (function: [[resetVehicleComponentPosition]])&lt;br /&gt;
 resetComponentRotation (function: [[resetVehicleComponentRotation]])&lt;br /&gt;
 setAdjustableProperty (function: [[setVehicleAdjustableProperty]])&lt;br /&gt;
 setColor (function: [[setVehicleColor]])&lt;br /&gt;
 setComponentPosition (function: [[setVehicleComponentPosition]])&lt;br /&gt;
 setComponentRotation (function: [[setVehicleComponentRotation]])&lt;br /&gt;
 setComponentVisible (function: [[setVehicleComponentVisible]])&lt;br /&gt;
 setDamageProof (function: [[setVehicleDamageProof]])&lt;br /&gt;
 setDirtLevel (function: [[setVehicleDirtLevel]])&lt;br /&gt;
 setDoorOpenRatio (function: [[setVehicleDoorOpenRatio]])&lt;br /&gt;
 setDoorState (function: [[setVehicleDoorState]])&lt;br /&gt;
 setDoorsUndamageable (function: [[setVehicleDoorsUndamageable]])&lt;br /&gt;
 setEngineState (function: [[setVehicleEngineState]])&lt;br /&gt;
 setFuelTankExplodable (function: [[setVehicleFuelTankExplodable]])&lt;br /&gt;
 setGravity (function: [[setVehicleGravity]])&lt;br /&gt;
 setHeadLightColor (function: [[setVehicleHeadLightColor]])&lt;br /&gt;
 setHelicopterRotorSpeed (function: [[setHelicopterRotorSpeed]])&lt;br /&gt;
 setLandingGearDown (function: [[setVehicleLandingGearDown]])&lt;br /&gt;
 setLightState (function: [[setVehicleLightState]])&lt;br /&gt;
 setLocked (function: [[setVehicleLocked]])&lt;br /&gt;
 setNitroActivated (function: [[setVehicleNitroActivated]])&lt;br /&gt;
 setNitroCount (function: [[setVehicleNitroCount]])&lt;br /&gt;
 setNitroLevel (function: [[setVehicleNitroLevel]])&lt;br /&gt;
 setOverrideLights (function: [[setVehicleOverrideLights]])&lt;br /&gt;
 setPaintjob (function: [[setVehiclePaintjob]])&lt;br /&gt;
 setPanelState (function: [[setVehiclePanelState]])&lt;br /&gt;
 setSirens (function: [[setVehicleSirens]])&lt;br /&gt;
 setSirensOn (function: [[setVehicleSirensOn]])&lt;br /&gt;
 setTaxiLightOn (function: [[setVehicleTaxiLightOn]])&lt;br /&gt;
 setTrainDerailable (function: [[setTrainDerailable]])&lt;br /&gt;
 setTrainDerailed (function: [[setTrainDerailed]])&lt;br /&gt;
 setTrainDirection (function: [[setTrainDirection]])&lt;br /&gt;
 setTrainSpeed (function: [[setTrainSpeed]])&lt;br /&gt;
 setTurnVelocity (function: [[setVehicleTurnVelocity]])&lt;br /&gt;
 setTurretPosition (function: [[setVehicleTurretPosition]])&lt;br /&gt;
 setVariant (function: [[setVehicleVariant]])&lt;br /&gt;
 setWheelStates (function: [[setVehicleWheelStates]])&lt;br /&gt;
&lt;br /&gt;
==Ped==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addClothes (function: [[addPedClothes]])&lt;br /&gt;
 canBeKnockedOffBike (function: [[canPedBeKnockedOffBike]])&lt;br /&gt;
 create (function: [[createPed]])&lt;br /&gt;
 doesHaveJetPack (function: [[doesPedHaveJetPack]])&lt;br /&gt;
 getAmmoInClip (function: [[getPedAmmoInClip]])&lt;br /&gt;
 getAnalogControlState (function: [[getPedAnalogControlState]])&lt;br /&gt;
 getAnimation (function: [[getPedAnimation]])&lt;br /&gt;
 getAnimationData (function: [[getPedAnimationData]])&lt;br /&gt;
 getArmor (function: [[getPedArmor]])&lt;br /&gt;
 getBodyPartName (function: [[getBodyPartName]])&lt;br /&gt;
 getBonePosition (function: [[getPedBonePosition]])&lt;br /&gt;
 getCameraRotation (function: [[getPedCameraRotation]])&lt;br /&gt;
 getClothes (function: [[getPedClothes]])&lt;br /&gt;
 getClothesByTypeIndex (function: [[getClothesByTypeIndex]])&lt;br /&gt;
 getClothesTypeName (function: [[getClothesTypeName]])&lt;br /&gt;
 getContactElement (function: [[getPedContactElement]])&lt;br /&gt;
 getControlState (function: [[getPedControlState]])&lt;br /&gt;
 getMoveState (function: [[getPedMoveState]])&lt;br /&gt;
 getOccupiedVehicle (function: [[GetPedOccupiedVehicle]])&lt;br /&gt;
 getOxygenLevel (function: [[getPedOxygenLevel]])&lt;br /&gt;
 getSimplestTask (function: [[getPedSimplestTask]])&lt;br /&gt;
 getStat (function: [[getPedStat]])&lt;br /&gt;
 getTarget (function: [[getPedTarget]])&lt;br /&gt;
 getTargetCollision (function: [[getPedTargetCollision]])&lt;br /&gt;
 getTargetEnd (function: [[getPedTargetEnd]])&lt;br /&gt;
 getTargetStart (function: [[getPedTargetStart]])&lt;br /&gt;
 getTask (function: [[getPedTask]])&lt;br /&gt;
 getTotalAmmo (function: [[getPedTotalAmmo]])&lt;br /&gt;
 getTypeIndexFromClothes (function: [[getTypeIndexFromClothes]])&lt;br /&gt;
 getValidModels (function: [[getValidPedModels]])&lt;br /&gt;
 getVoice (function: [[getPedVoice]])&lt;br /&gt;
 getWalkingStyle (function: [[getPedWalkingStyle]])&lt;br /&gt;
 getWeapon (function: [[getPedWeapon]])&lt;br /&gt;
 getWeaponMuzzlePosition (function: [[getPedWeaponMuzzlePosition]])&lt;br /&gt;
 isChocking (function: [[isPedChoking]])&lt;br /&gt;
 isDoingGangDriveby (function: [[isPedDoingGangDriveby]])&lt;br /&gt;
 isDoingTask (function: [[isPedDoingTask]])&lt;br /&gt;
 isDucked (function: [[isPedDucked]])&lt;br /&gt;
 isHeadless (function: [[isPedHeadless]])&lt;br /&gt;
 isInVehicle (function: [[isPedInVehicle]])&lt;br /&gt;
 isOnFire (function: [[isPedOnFire]])&lt;br /&gt;
 isOnGround (function: [[isPedOnGround]])&lt;br /&gt;
 isTargetingMarkerEnabled (function: [[isPedTargetingMarkerEnabled]])&lt;br /&gt;
 removeClothes (function: [[removePedClothes]])&lt;br /&gt;
 removeFromVehicle (function: [[removePedFromVehicle]])&lt;br /&gt;
 setAimTarget (function: [[setPedAimTarget]])&lt;br /&gt;
 setAnalogControlState (function: [[setPedAnalogControlState]])&lt;br /&gt;
 setAnimation (function: [[setPedAnimation]])&lt;br /&gt;
 setAnimationProgress (function: [[setPedAnimationProgress]])&lt;br /&gt;
 setCameraRotation (function: [[setPedCameraRotation]])&lt;br /&gt;
 setCanBeKnockedOffBike (function: [[setPedCanBeKnockedOffBike]])&lt;br /&gt;
 setControlState (function: [[setPedControlState]])&lt;br /&gt;
 setDoingGangDriveby (function: [[setPedDoingGangDriveby]])&lt;br /&gt;
 setFootBloodEnabled (function: [[setPedFootBloodEnabled]])&lt;br /&gt;
 setHeadless (function: [[setPedHeadless]])&lt;br /&gt;
 setLookAt (function: [[setPedLookAt]])&lt;br /&gt;
 setOnFire (function: [[setPedOnFire]])&lt;br /&gt;
 setOxygenLevel (function: [[setPedOxygenLevel]])&lt;br /&gt;
 setTargetingMarkerEnabled (function: [[setPedTargetingMarkerEnabled]])&lt;br /&gt;
 setVoice (function: [[setPedVoice]])&lt;br /&gt;
 setWalkingStyle (function: [[setPedWalkingStyle]])&lt;br /&gt;
 setWeaponSlot (function: [[setPedWeaponSlot]])&lt;br /&gt;
 warpIntoVehicle (function: [[warpPedIntoVehicle]])&lt;br /&gt;
&lt;br /&gt;
==Player==&lt;br /&gt;
''Inherited from [[#Ped|Ped]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[getPlayerFromName]])&lt;br /&gt;
 getBlurLevel (function: [[getPlayerBlurLevel]])&lt;br /&gt;
 getMapBoundingBox (function: [[getPlayerMapBoundingBox]])&lt;br /&gt;
 getMoney (function: [[getPlayerMoney]])&lt;br /&gt;
 getName (function: [[getPlayerName]])&lt;br /&gt;
 getNametagColor (function: [[getPlayerNametagColor]])&lt;br /&gt;
 getNametagText (function: [[getPlayerNametagText]])&lt;br /&gt;
 getPing (function: [[getPlayerPing]])&lt;br /&gt;
 getSerial (function: [[getPlayerSerial]])&lt;br /&gt;
 getTeam (function: [[getPlayerTeam]])&lt;br /&gt;
 getWantedLevel (function: [[getPlayerWantedLevel]])&lt;br /&gt;
 giveMoney (function: [[givePlayerMoney]])&lt;br /&gt;
 isHudComponentVisible (function: [[isPlayerHudComponentVisible]])&lt;br /&gt;
 isMapForced (function: [[isPlayerMapForced]])&lt;br /&gt;
 isMapVisible (function: [[isPlayerMapVisible]])&lt;br /&gt;
 isNametagShowing (function: [[isPlayerNametagShowing]])&lt;br /&gt;
 setBlurLevel (function: [[setPlayerBlurLevel]])&lt;br /&gt;
 setMoney (function: [[setPlayerMoney]])&lt;br /&gt;
 setNametagColor (function: [[setPlayerNametagColor]])&lt;br /&gt;
 setNametagShowing (function: [[setPlayerNametagShowing]])&lt;br /&gt;
 setNametagText (function: [[setPlayerNametagText]])&lt;br /&gt;
 showHudComponent (function: [[showPlayerHudComponent]])&lt;br /&gt;
 takeMoney (function: [[takePlayerMoney]])&lt;br /&gt;
&lt;br /&gt;
==Object==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 break (function: [[breakObject]])&lt;br /&gt;
 create (function: [[createObject]])&lt;br /&gt;
 getMass (function: [[getObjectMass]])&lt;br /&gt;
 getScale (function: [[getObjectScale]])&lt;br /&gt;
 isBreakable (function: [[isObjectBreakable]])&lt;br /&gt;
 move (function: [[moveObject]])&lt;br /&gt;
 respawn (function: [[respawnObject]])&lt;br /&gt;
 setBreakable (function: [[setObjectBreakable]])&lt;br /&gt;
 setMass (function: [[setObjectMass]])&lt;br /&gt;
 setScale (function: [[setObjectScale]])&lt;br /&gt;
 stop (function: [[stopObject]])&lt;br /&gt;
 toggleObjectRespawn (function: [[toggleObjectRespawn]])&lt;br /&gt;
&lt;br /&gt;
==Marker==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createMarker]])&lt;br /&gt;
 getColor (function: [[getMarkerColor]])&lt;br /&gt;
 getCount (function: [[getMarkerCount]])&lt;br /&gt;
 getIcon (function: [[getMarkerIcon]])&lt;br /&gt;
 getSize (function: [[getMarkerSize]])&lt;br /&gt;
 getTarget (function: [[getMarkerTarget]])&lt;br /&gt;
 getType (function: [[getMarkerType]])&lt;br /&gt;
 setColor (function: [[setMarkerColor]])&lt;br /&gt;
 setIcon (function: [[setMarkerIcon]])&lt;br /&gt;
 setSize (function: [[setMarkerSize]])&lt;br /&gt;
 setTarget (function: [[setMarkerTarget]])&lt;br /&gt;
 setType (function: [[setMarkerType]])&lt;br /&gt;
&lt;br /&gt;
==Blip==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createBlip]])&lt;br /&gt;
 createAttachedTo (function: [[createBlipAttachedTo]])&lt;br /&gt;
 getColor (function: [[getBlipColor]])&lt;br /&gt;
 getIcon (function: [[getBlipIcon]])&lt;br /&gt;
 getOrdering (function: [[getBlipOrdering]])&lt;br /&gt;
 getSize (function: [[getBlipSize]])&lt;br /&gt;
 getVisibleDistance (function: [[getBlipVisibleDistance]])&lt;br /&gt;
 setColor (function: [[setBlipColor]])&lt;br /&gt;
 setIcon (function: [[setBlipIcon]])&lt;br /&gt;
 setOrdering (function: [[setBlipOrdering]])&lt;br /&gt;
 setSize (function: [[setBlipSize]])&lt;br /&gt;
 setVisibleDistance (function: [[setBlipVisibleDistance]])&lt;br /&gt;
&lt;br /&gt;
==Pickup==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createPickup]])&lt;br /&gt;
 getAmmo (function: [[getPickupAmmo]])&lt;br /&gt;
 getAmount (function: [[getPickupAmount]])&lt;br /&gt;
 getType (function: [[getPickupType]])&lt;br /&gt;
 getWeapon (function: [[getPickupWeapon]])&lt;br /&gt;
 setType (function: [[setPickupType]])&lt;br /&gt;
&lt;br /&gt;
==ColShape==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 Circle (function: [[createColCircle]])&lt;br /&gt;
 Cuboid (function: [[createColCuboid]])&lt;br /&gt;
 getElementsWithin (function: [[getElementsWithinColShape]])&lt;br /&gt;
 isElementWithin (function: [[isElementWithinColShape]])&lt;br /&gt;
 Polygon (function: [[createColPolygon]])&lt;br /&gt;
 Rectangle (function: [[createColRectangle]])&lt;br /&gt;
 Sphere (function: [[createColSphere]])&lt;br /&gt;
 Tube (function: [[createColTube]])&lt;br /&gt;
&lt;br /&gt;
==Projectile==&lt;br /&gt;
''Inherited from [[#Element|projectile]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createProjectile]])&lt;br /&gt;
 getCounter (function: [[getProjectileCounter]])&lt;br /&gt;
 getCreator (function: [[getProjectileCreator]])&lt;br /&gt;
 getForce (function: [[getProjectileForce]])&lt;br /&gt;
 getTarget (function: [[getProjectileTarget]])&lt;br /&gt;
 getType (function: [[getProjectileType]])&lt;br /&gt;
 setCounter (function: [[setProjectileCounter]])&lt;br /&gt;
&lt;br /&gt;
==RadarArea==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createRadarArea]])&lt;br /&gt;
 getColor (function: [[getRadarAreaColor]])&lt;br /&gt;
 getSize (function: [[getRadarAreaSize]])&lt;br /&gt;
 isFlashing (function: [[isRadarAreaFlashing]])&lt;br /&gt;
 isInside (function: [[isInsideRadarArea]])&lt;br /&gt;
 setColor (function: [[setRadarAreaColor]])&lt;br /&gt;
 setFlashing (function: [[setRadarAreaFlashing]])&lt;br /&gt;
 setSize (function: [[setRadarAreaSize]])&lt;br /&gt;
&lt;br /&gt;
==Team==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 countPlayers (function: [[countPlayersInTeam]])&lt;br /&gt;
 create (function: [[getTeamFromName]])&lt;br /&gt;
 getColor (function: [[getTeamColor]])&lt;br /&gt;
 getFriendlyFire (function: [[getTeamFriendlyFire]])&lt;br /&gt;
 getFromName (function: [[getTeamFromName]])&lt;br /&gt;
 getName (function: [[getTeamName]])&lt;br /&gt;
&lt;br /&gt;
==Water==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWater]])&lt;br /&gt;
 getColor (function: [[getWaterColor]])&lt;br /&gt;
 getLevel (function: [[getWaterLevel]])&lt;br /&gt;
 getVertexPosition (function: [[getWaterVertexPosition]])&lt;br /&gt;
 getWaveHeight (function: [[getWaveHeight]])&lt;br /&gt;
 isDrawnLast (function: [[isWaterDrawnLast]])&lt;br /&gt;
 resetColor (function: [[resetWaterColor]])&lt;br /&gt;
 resetLevel (function: [[resetWaterLevel]])&lt;br /&gt;
 setColor (function: [[setWaterColor]])&lt;br /&gt;
 setDrawnLast (function: [[setWaterDrawnLast]])&lt;br /&gt;
 setLevel (function: [[setWaterLevel]])&lt;br /&gt;
 setVertexPosition (function: [[setWaterVertexPosition]])&lt;br /&gt;
 setWaveHeight (function: [[setWaveHeight]])&lt;br /&gt;
 testLineAgainst (function: [[testLineAgainstWater]])&lt;br /&gt;
&lt;br /&gt;
==Sound==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound]])&lt;br /&gt;
 getBPM (function: [[getSoundBPM]])&lt;br /&gt;
 getEffects (function: [[getSoundEffects]])&lt;br /&gt;
 getFFTData (function: [[getSoundFFTData]])&lt;br /&gt;
 getLength (function: [[getSoundLength]])&lt;br /&gt;
 getLevelData (function: [[getSoundLevelData]])&lt;br /&gt;
 getMetaTags (function: [[getSoundMetaTags]])&lt;br /&gt;
 getPan (function: [[getSoundPan]])&lt;br /&gt;
 getPlaybackPosition (function: [[getSoundPosition]])&lt;br /&gt;
 getProperties (function: [[getSoundProperties]])&lt;br /&gt;
 getSpeed (function: [[getSoundSpeed]])&lt;br /&gt;
 getVolume (function: [[getSoundVolume]])&lt;br /&gt;
 getWaveData (function: [[getSoundWaveData]])&lt;br /&gt;
 isPaused (function: [[isSoundPaused]])&lt;br /&gt;
 setEffectEnabled (function: [[setSoundEffectEnabled]])&lt;br /&gt;
 setPan (function: [[setSoundPan]])&lt;br /&gt;
 setPaused (function: [[setSoundPaused]])&lt;br /&gt;
 setPlaybackPosition (function: [[setSoundPosition]])&lt;br /&gt;
 setProperties (function: [[setSoundProperties]])&lt;br /&gt;
 setSpeed (function: [[setSoundSpeed]])&lt;br /&gt;
 setVolume (function: [[setSoundVolume]])&lt;br /&gt;
 stop (function: [[stopSound]])&lt;br /&gt;
&lt;br /&gt;
==Sound3D==&lt;br /&gt;
''Inherited from [[#Sound|Sound]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[playSound3D]])&lt;br /&gt;
 getMaxDistance (function: [[getSoundMaxDistance]])&lt;br /&gt;
 getMinDistance (function: [[getSoundMinDistance]])&lt;br /&gt;
 setMaxDistance (function: [[setSoundMaxDistance]])&lt;br /&gt;
 setMinDistance (function: [[setSoundMinDistance]])&lt;br /&gt;
&lt;br /&gt;
==Weapon==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 create (function: [[createWeapon]])&lt;br /&gt;
 fire (function: [[fireWeapon]])&lt;br /&gt;
 getAmmo (function: [[getWeaponAmmo]])&lt;br /&gt;
 getClipAmmo (function: [[getWeaponClipAmmo]])&lt;br /&gt;
 getFiringRate (function: [[getWeaponFiringRate]])&lt;br /&gt;
 getFlags (function: [[getWeaponFlags]])&lt;br /&gt;
 getOwner (function: [[getWeaponOwner]])&lt;br /&gt;
 getProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 getState (function: [[getWeaponState]])&lt;br /&gt;
 getTarget (function: [[getWeaponTarget]])&lt;br /&gt;
 resetFiringRate (function: [[resetWeaponFiringRate]])&lt;br /&gt;
 setAmmo (function: [[setWeaponAmmo]])&lt;br /&gt;
 setClipAmmo (function: [[setWeaponClipAmmo]])&lt;br /&gt;
 setFiringRate (function: [[setWeaponFiringRate]])&lt;br /&gt;
 setFlags (function: [[setWeaponFlags]])&lt;br /&gt;
 setOwner (function: [[setWeaponOwner]])&lt;br /&gt;
 setProperty (function: [[setWeaponProperty]])&lt;br /&gt;
 setState (function: [[setWeaponState]])&lt;br /&gt;
 setTarget (function: [[setWeaponTarget]])&lt;br /&gt;
&lt;br /&gt;
==Effect==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
 &lt;br /&gt;
 addBlood (function: [[fxAddBlood]])&lt;br /&gt;
 addBulletImpact (function: [[fxAddBulletImpact]])&lt;br /&gt;
 addBulletSplash (function: [[fxAddBulletSplash]])&lt;br /&gt;
 addDebris (function: [[fxAddDebris]])&lt;br /&gt;
 addFootSplash (function: [[fxAddFootSplash]])&lt;br /&gt;
 addGlass (function: [[fxAddGlass]])&lt;br /&gt;
 addGunshot (function: [[fxAddGunshot]])&lt;br /&gt;
 addPunchImpact (function: [[fxAddPunchImpact]])&lt;br /&gt;
 addSparks (function: [[fxAddSparks]])&lt;br /&gt;
 addTankFire (function: [[fxAddTankFire]])&lt;br /&gt;
 addTyreBurst (function: [[fxAddTyreBurst]])&lt;br /&gt;
 addWaterHydrant (function: [[fxAddWaterHydrant]])&lt;br /&gt;
 addWaterSplash (function: [[fxAddWaterSplash]])&lt;br /&gt;
 addWood (function: [[fxAddWood]])&lt;br /&gt;
 create (function: [[createEffect]])&lt;br /&gt;
 getDensity (function: [[getEffectDensity]])&lt;br /&gt;
 getSpeed (function: [[getEffectSpeed]])&lt;br /&gt;
 setDensity (function: [[setEffectDensity]])&lt;br /&gt;
 setSpeed (function: [[setEffectSpeed]])&lt;br /&gt;
&lt;br /&gt;
==GuiElement==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 bringToFront (function: [[guiBringToFront]])&lt;br /&gt;
 moveToBack (function: [[guiMoveToBack]])&lt;br /&gt;
 isChatBoxInputActive (function: [[isChatBoxInputActive]])&lt;br /&gt;
 isConsoleActive (function: [[isConsoleActive]])&lt;br /&gt;
 isDebugViewActive (function: [[isDebugViewActive]])&lt;br /&gt;
 isMainMenuActive (function: [[isMainMenuActive]])&lt;br /&gt;
 isMTAWindowActive (function: [[isMTAWindowActive]])&lt;br /&gt;
 isTransferBoxActive (function: [[isTransferBoxActive]])&lt;br /&gt;
 isInputEnabled (function: [[guiGetInputEnabled]])&lt;br /&gt;
 getInputMode (function: [[guiGetInputMode]])&lt;br /&gt;
 getScreenSize (function: [[guiGetScreenSize]])&lt;br /&gt;
 getProperties (function: [[guiGetProperties]])&lt;br /&gt;
 getAlpha (function: [[guiGetAlpha]])&lt;br /&gt;
 getFont (function: [[guiGetFont]])&lt;br /&gt;
 getEnabled (function: [[guiGetEnabled]])&lt;br /&gt;
 getVisible (function: [[guiGetVisible]])&lt;br /&gt;
 getText (function: [[guiGetText]])&lt;br /&gt;
 getPosition (function: [[guiGetPosition]])&lt;br /&gt;
 getSize (function: [[guiGetSize]])&lt;br /&gt;
 getProperty (function: [[guiGetProperty]])&lt;br /&gt;
 setInputEnabled (function: [[guiSetInputEnabled]])&lt;br /&gt;
 setAlpha (function: [[guiSetAlpha]])&lt;br /&gt;
 setEnabled (function: [[guiSetEnabled]])&lt;br /&gt;
 setFont (function: [[guiSetFont]])&lt;br /&gt;
 setVisible (function: [[guiSetVisible]])&lt;br /&gt;
 setText (function: [[guiSetText]])&lt;br /&gt;
 setInputMode (function: [[guiSetInputMode]])&lt;br /&gt;
 setProperty (function: [[guiSetProperty]])&lt;br /&gt;
 setPosition (function: [[guiSetPosition]])&lt;br /&gt;
 setSize (function: [[guiSetSize]])&lt;br /&gt;
==GuiWindow==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateWindow]])&lt;br /&gt;
 setMovable (function: [[guiWindowSetMovable]])&lt;br /&gt;
 setSizable (function: [[guiWindowSetSizable]])&lt;br /&gt;
==GuiButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateButton]])&lt;br /&gt;
==GuiEdit==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateEdit]])&lt;br /&gt;
 getCaretIndex (function: [[guiEditGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiEditSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiEditSetReadOnly]])&lt;br /&gt;
 setMasked (function: [[guiEditSetMasked]])&lt;br /&gt;
 setMaxLength (function: [[guiEditSetMaxLength]])&lt;br /&gt;
==GuiLabel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateLabel]])&lt;br /&gt;
 getFontHeight (function: [[guiLabelGetFontHeight]])&lt;br /&gt;
 getTextExtent (function: [[guiLabelGetTextExtent]])&lt;br /&gt;
 getColor (function: [[guiLabelGetColor]])&lt;br /&gt;
 setColor (function: [[guiLabelSetColor]])&lt;br /&gt;
 setHorizontalAlign (function: [[guiLabelSetHorizontalAlign]])&lt;br /&gt;
 setVerticalAlign (function: [[guiLabelSetVerticalAlign]])&lt;br /&gt;
==GuiMemo==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateMemo]])&lt;br /&gt;
 getCaretIndex (function: [[guiMemoGetCaretIndex]])&lt;br /&gt;
 setCaretIndex (function: [[guiMemoSetCaretIndex]])&lt;br /&gt;
 setReadOnly (function: [[guiMemoSetReadOnly]])&lt;br /&gt;
==GuiStaticImage==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateStaticImage]])&lt;br /&gt;
 loadImage (function: [[guiStaticImageLoadImage]])&lt;br /&gt;
==GuiComboBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateComboBox]])&lt;br /&gt;
 addItem (function: [[guiComboBoxAddItem]])&lt;br /&gt;
 clear (function: [[guiComboBoxClear]])&lt;br /&gt;
 removeItem (function: [[guiComboBoxRemoveItem]])&lt;br /&gt;
 getSelected (function: [[guiComboBoxGetSelected]])&lt;br /&gt;
 getItemText (function: [[guiComboBoxGetItemText]])&lt;br /&gt;
 setItemText (function: [[guiComboBoxSetItemText]])&lt;br /&gt;
 setSelected (function: [[guiComboBoxSetSelected]])&lt;br /&gt;
==GuiCheckBox==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateCheckBox]])&lt;br /&gt;
 getSelected (function: [[guiCheckBoxGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiCheckBoxSetSelected]])&lt;br /&gt;
==GuiRadioButton==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateRadioButton]])&lt;br /&gt;
 getSelected (function: [[guiRadioButtonGetSelected]])&lt;br /&gt;
 setSelected (function: [[guiRadioButtonSetSelected]])&lt;br /&gt;
==GuiScrollPane==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollPane]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiScrollPaneGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiScrollPaneGetVerticalScrollPosition]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiScrollPaneSetHorizontalScrollPosition]])&lt;br /&gt;
 setScrollBars (function: [[guiScrollPaneSetScrollBars]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiScrollPaneSetVerticalScrollPosition]])&lt;br /&gt;
==GuiScrollBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateScrollBar]])&lt;br /&gt;
 getScrollPosition (function: [[guiScrollBarGetScrollPosition]])&lt;br /&gt;
 setScrollPosition (function: [[guiScrollBarSetScrollPosition]])&lt;br /&gt;
==GuiProgressBar==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateProgressBar]])&lt;br /&gt;
 getProgress (function: [[guiProgressBarGetProgress]])&lt;br /&gt;
 setProgress (function: [[guiProgressBarSetProgress]])&lt;br /&gt;
==GuiGridlist==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateGridList]])&lt;br /&gt;
 addColumn (function: [[guiGridListAddColumn]])&lt;br /&gt;
 addRow (function: [[guiGridListAddRow]])&lt;br /&gt;
 autoSizeColumn (function: [[guiGridListAutoSizeColumn]])&lt;br /&gt;
 clear (function: [[guiGridListClear]])&lt;br /&gt;
 insertRowAfter (function: [[guiGridListInsertRowAfter]])&lt;br /&gt;
 removeColumn (function: [[guiGridListRemoveColumn]])&lt;br /&gt;
 removeRow (function: [[guiGridListRemoveRow]])&lt;br /&gt;
 getItemData (function: [[guiGridListGetItemData]])&lt;br /&gt;
 getItemText (function: [[guiGridListGetItemText]])&lt;br /&gt;
 getRowCount (function: [[guiGridListGetRowCount]])&lt;br /&gt;
 getSelectedItem (function: [[guiGridListGetSelectedItem]])&lt;br /&gt;
 getItemColor (function: [[guiGridListGetItemColor]])&lt;br /&gt;
 getColumnTitle (function: [[guiGridListGetColumnTitle]])&lt;br /&gt;
 getHorizontalScrollPosition (function: [[guiGridListGetHorizontalScrollPosition]])&lt;br /&gt;
 getVerticalScrollPosition (function: [[guiGridListGetVerticalScrollPosition]])&lt;br /&gt;
 getSelectedCount (function: [[guiGridListGetSelectedCount]])&lt;br /&gt;
 getSelectedItems (function: [[guiGridListGetSelectedItems]])&lt;br /&gt;
 getColumnCount (function: [[guiGridListGetColumnCount]])&lt;br /&gt;
 setItemData (function: [[guiGridListSetItemData]])&lt;br /&gt;
 setItemText (function: [[guiGridListSetItemText]])&lt;br /&gt;
 setScrollBars (function: [[guiGridListSetScrollBars]])&lt;br /&gt;
 setSelectedItem (function: [[guiGridListSetSelectedItem]])&lt;br /&gt;
 setSelectionMode (function: [[guiGridListSetSelectionMode]])&lt;br /&gt;
 setSortingEnabled (function: [[guiGridListSetSortingEnabled]])&lt;br /&gt;
 setColumnWidth (function: [[guiGridListSetColumnWidth]])&lt;br /&gt;
 setItemColor (function: [[guiGridListSetItemColor]])&lt;br /&gt;
 setColumnTitle (function: [[guiGridListSetColumnTitle]])&lt;br /&gt;
 setHorizontalScrollPosition (function: [[guiGridListSetHorizontalScrollPosition]])&lt;br /&gt;
 setVerticalScrollPosition (function: [[guiGridListSetVerticalScrollPosition]])&lt;br /&gt;
==GuiTabPanel==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTabPanel]])&lt;br /&gt;
 getSelectedTab (function: [[guiGetSelectedTab]])&lt;br /&gt;
 setSelectedTab (function: [[guiSetSelectedTab]])&lt;br /&gt;
==GuiTab==&lt;br /&gt;
''Inherited from [[#GuiElement|GuiElement]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateTab]])&lt;br /&gt;
 delete (function: [[guiDeleteTab]])&lt;br /&gt;
==GuiFont==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[guiCreateFont]])&lt;br /&gt;
==Resource==&lt;br /&gt;
 create (function: [[getResourceFromName]])&lt;br /&gt;
 fromName (function: [[getResourceFromName]])&lt;br /&gt;
 getGuiElement (function: [[getResourceGUIElement]])&lt;br /&gt;
 getRootElement (function: [[getResourceRootElement]])&lt;br /&gt;
 getName (function: [[getResourceName]])&lt;br /&gt;
 getThis (function: [[getThisResource]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getConfig (function: [[getResourceConfig]])&lt;br /&gt;
 getDynamicElementRoot (function: [[getResourceDynamicElementRoot]])&lt;br /&gt;
 getExportedFunctions (function: [[getResourceExportedFunctions]])&lt;br /&gt;
 getState (function: [[getResourceState]])&lt;br /&gt;
==Timer==&lt;br /&gt;
 create (function: [[setTimer]])&lt;br /&gt;
 destroy (function: [[killTimer]])&lt;br /&gt;
 reset (function: [[resetTimer]])&lt;br /&gt;
 isValid (function: [[isTimer]])&lt;br /&gt;
 getDetails (function: [[getTimerDetails]])&lt;br /&gt;
==File==&lt;br /&gt;
 create (function: [[fileOpen]])&lt;br /&gt;
 destroy (function: [[fileClose]])&lt;br /&gt;
 close (function: [[fileClose]])&lt;br /&gt;
 new (function: [[fileCreate]])&lt;br /&gt;
 delete (function: [[fileDelete]])&lt;br /&gt;
 exists (function: [[fileExists]])&lt;br /&gt;
 flush (function: [[fileFlush]])&lt;br /&gt;
 getPos (function: [[fileGetPos]])&lt;br /&gt;
 getSize (function: [[fileGetSize]])&lt;br /&gt;
 isEOF (function: [[fileIsEOF]])&lt;br /&gt;
 read (function: [[fileRead]])&lt;br /&gt;
 rename (function: [[fileRename]])&lt;br /&gt;
 setPos (function: [[fileSetPos]])&lt;br /&gt;
 write (function: [[fileWrite]])&lt;br /&gt;
 copy (function: [[fileCopy]])&lt;br /&gt;
==XML==&lt;br /&gt;
 load (function: [[xmlLoadFile]])&lt;br /&gt;
 unload (function: [[xmlUnloadFile]])&lt;br /&gt;
 copy (function: [[xmlCopyFile]])&lt;br /&gt;
 create (function: [[xmlCreateFile]])&lt;br /&gt;
 destroy (function: [[xmlDestroyNode]])&lt;br /&gt;
 setValue (function: [[xmlNodeGetValue]])&lt;br /&gt;
 setAttribute (function: [[xmlNodeSetAttribute]])&lt;br /&gt;
 setValue (function: [[xmlNodeSetValue]])&lt;br /&gt;
 saveFile (function: [[xmlSaveFile]])&lt;br /&gt;
 createChild (function: [[xmlCreateChild]])&lt;br /&gt;
 findChild (function: [[xmlFindChild]])&lt;br /&gt;
 getAttributes (function: [[xmlNodeGetAttributes]])&lt;br /&gt;
 getChildren (function: [[xmlNodeGetChildren]])&lt;br /&gt;
 getName (function: [[xmlNodeGetName]])&lt;br /&gt;
 getParent (function: [[xmlNodeGetParent]])&lt;br /&gt;
 getAttribute (function: [[xmlNodeGetAttribute]])&lt;br /&gt;
 setName (function: [[xmlNodeSetName]])&lt;br /&gt;
==Camera==&lt;br /&gt;
 fade (function: [[fadeCamera]])&lt;br /&gt;
 getTarget (function: [[getCameraTarget]])&lt;br /&gt;
 getInterior (function: [[getCameraInterior]])&lt;br /&gt;
 getViewMode (function: [[getCameraViewMode]])&lt;br /&gt;
 getGoggleEffect (function: [[getCameraGoggleEffect]])&lt;br /&gt;
 setInterior (function: [[setCameraInterior]])&lt;br /&gt;
 setTarget (function: [[setCameraTarget]])&lt;br /&gt;
 setViewMode (function: [[setCameraViewMode]])&lt;br /&gt;
 setGoggleEffect (function: [[setCameraGoggleEffect]])&lt;br /&gt;
 setClip (function: [[setCameraClip]])&lt;br /&gt;
==Engine==&lt;br /&gt;
 restoreCOL (function: [[engineRestoreCOL]])&lt;br /&gt;
 restoreModel (function: [[engineRestoreModel]])&lt;br /&gt;
 setAsynchronousLoading (function: [[engineSetAsynchronousLoading]])&lt;br /&gt;
 setModelLODDistance (function: [[engineSetModelLODDistance]])&lt;br /&gt;
 getVisibleTextureName (function: [[engineGetVisibleTextureNames]])&lt;br /&gt;
 getModelLODDistance (function: [[engineGetModelLODDistance]])&lt;br /&gt;
 getModelTextureNames (function: [[engineGetModelTextureNames]])&lt;br /&gt;
 getModelIDFromName (function: [[engineGetModelIDFromName]])&lt;br /&gt;
 getModelNameFromID (function: [[engineGetModelNameFromID]])&lt;br /&gt;
==EngineCOL==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadCOL]])&lt;br /&gt;
 replace (function: [[engineReplaceCOL]])&lt;br /&gt;
==EngineTXD==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadTXD]])&lt;br /&gt;
 import (function: [[engineImportTXD]])&lt;br /&gt;
==EngineDFF==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[engineLoadDFF]])&lt;br /&gt;
 replace (function: [[engineReplaceModel]])&lt;br /&gt;
==DxMaterial==&lt;br /&gt;
''Inherited from [[#Element|Element]]''&lt;br /&gt;
&lt;br /&gt;
 getSize (function: [[dxGetMaterialSize]])&lt;br /&gt;
==DxTexture==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateTexture]])&lt;br /&gt;
 setEdge (function: [[dxSetTextureEdge]])&lt;br /&gt;
 setPixels (function: [[dxSetTexturePixels]])&lt;br /&gt;
 getPixels (function: [[dxGetTexturePixels]])&lt;br /&gt;
==DxFont==&lt;br /&gt;
 create (function: [[dxCreateFont]])&lt;br /&gt;
 getHeight (function: [[dxGetFontHeight]])&lt;br /&gt;
 getTextWidth (function: [[dxGetTextWidth]])&lt;br /&gt;
==DxShader==&lt;br /&gt;
''Inherited from [[#DxMaterial|DxMaterial]]''&lt;br /&gt;
&lt;br /&gt;
 create (function: [[dxCreateShader]])&lt;br /&gt;
 setValue (function: [[dxSetShaderValue]])&lt;br /&gt;
 setTessellation (function: [[dxSetShaderTessellation]])&lt;br /&gt;
 setTransform (function: [[dxSetShaderTransform]])&lt;br /&gt;
 value (function: [[dxGetFontHeight]])&lt;br /&gt;
==DxScreenSource==&lt;br /&gt;
 create (function: [[dxCreateScreenSource]])&lt;br /&gt;
 update (function: [[dxUpdateScreenSource]])&lt;br /&gt;
==DxRenderTarget==&lt;br /&gt;
 create (function: [[dxCreateRenderTarget]])&lt;br /&gt;
 setAsTarget (function: [[dxSetRenderTarget]])&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetElementDistanceFromCentreOfMassToBaseOfModel&amp;diff=43178</id>
		<title>GetElementDistanceFromCentreOfMassToBaseOfModel</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetElementDistanceFromCentreOfMassToBaseOfModel&amp;diff=43178"/>
		<updated>2014-12-05T20:40:28Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function is used to retrieve the distance between a [[element]]'s centre of mass to the base of the model. This can be used to calculate the position the [[element]] has to be set to, to have it on ground level.&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float getElementDistanceFromCentreOfMassToBaseOfModel ( element theElement )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP|This function is also a static function underneath the Element class.|[[element]]:getDistanceFromCentreOfMassToBaseOfModel||}}&lt;br /&gt;
&lt;br /&gt;
===Required Parameters===&lt;br /&gt;
'''theElement:''' The element you want to retrieve the value of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a ''float'' with the distance, or ''false'' if the element is invalid.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example outputs the value for the local player.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local localPlayer = getLocalPlayer()&lt;br /&gt;
local distance = getElementDistanceFromCentreOfMassToBaseOfModel(localPlayer)&lt;br /&gt;
outputChatBox(tostring(distance))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client element functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetElementVisibleTo&amp;diff=43177</id>
		<title>SetElementVisibleTo</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetElementVisibleTo&amp;diff=43177"/>
		<updated>2014-12-05T20:38:30Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server function}}&lt;br /&gt;
{{Needs_Checking|Can an element only be visible to one element (and its children) at a time? If so, do we need clearElementVisibleTo? If not, surely we need to remove the root element before using this function?|[[User:EAi|EAi]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This function can change an [[element]]'s [[visibility]]. This does not work with all entities - [[vehicle]]s, [[player]]s and [[object]]s are exempt. This is because these objects are required for accurate sync (they're physical objects that contribute to the physics engine). This function is particularly useful for changing the visibility of markers, radar blips and radar areas.&lt;br /&gt;
&lt;br /&gt;
Visibility settings of lower elements in the element tree override higher ones - if visibility for root is set to false and for a player is set to true, it will be visible to the player.&lt;br /&gt;
&lt;br /&gt;
If you want to clear all visibility settings of an object, try [[clearElementVisibleTo]]&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setElementVisibleTo ( element theElement, element visibleTo, bool visible )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|This function is also a static function underneath the Element class.|[[element]]:setVisibleTo}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theElement:''' The element you want to control the visibility of.&lt;br /&gt;
*'''visibleTo:''' The element you wish the element to be visible or invisible to. Any child elements that are players will also be able to see the element. See [[visibility]].&lt;br /&gt;
*'''visible:''' Whether you are making it visible or invisible to the player.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the element's visibility was changed successfully, ''false'' otherwise, for example if you are trying to change the visibility of a vehicle, player or object.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example creates a marker and makes it only visibile to the player called 'someguy'.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Find the player called someguy&lt;br /&gt;
local someguy = getPlayerFromName ( &amp;quot;someguy&amp;quot; )&lt;br /&gt;
-- If the player was found then&lt;br /&gt;
if ( someguy ) then&lt;br /&gt;
	-- Get the player's position into the variables x, y and z&lt;br /&gt;
	x, y, z = getElementPosition ( someguy )&lt;br /&gt;
	-- Create a marker at the player's position&lt;br /&gt;
	myMarker = createMarker ( x, y, z )&lt;br /&gt;
	-- Set marker visibility to true for someguy&lt;br /&gt;
	setElementVisibleTo ( myMarker, someguy, true )&lt;br /&gt;
	-- Then make the marker invisible to the whole dimension&lt;br /&gt;
	setElementVisibleTo ( myMarker, root, false )&lt;br /&gt;
	&lt;br /&gt;
	-- The order in which you do the visibility changes does not matter, but ideally trues should be set before falses in order to prevent a momentary flicker.&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example shows how to make the marker visible to everyone except anotherguy&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Find the player called someguy&lt;br /&gt;
local someguy = getPlayerFromName ( &amp;quot;someguy&amp;quot; )&lt;br /&gt;
local anotherguy = getPlayerFromName ( &amp;quot;anotherguy&amp;quot; )&lt;br /&gt;
-- If the player was found then&lt;br /&gt;
if ( someguy ) then&lt;br /&gt;
	-- Get the player's position into the variables x, y and z&lt;br /&gt;
	x, y, z = getElementPosition ( someguy )&lt;br /&gt;
	-- Create a marker at the player's position&lt;br /&gt;
	myMarker = createMarker ( x, y, z )&lt;br /&gt;
	attachElements(myMarker, someguy)&lt;br /&gt;
&lt;br /&gt;
	-- First make sure everyone is able to see the marker, this line is unnecessary in this case as root visibility is set to true by default behaviour&lt;br /&gt;
	setElementVisibleTo ( myMarker, root, true )&lt;br /&gt;
&lt;br /&gt;
	-- Then hide it from anotherguy&lt;br /&gt;
	setElementVisibleTo ( myMarker, anotherguy, false )&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Element_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetElementBoundingBox&amp;diff=43176</id>
		<title>GetElementBoundingBox</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetElementBoundingBox&amp;diff=43176"/>
		<updated>2014-12-05T20:37:13Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns the minimum and maximum coordinates of an element's bounding box.&lt;br /&gt;
&lt;br /&gt;
It should be noted that the values returned are relative to the position of the element, and as such if you wish to get world coordinates for drawing, et etcetera, you should retrieve the position of the element and add the returned values onto that.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The element must be streamed in for this function to work.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float float float float float float getElementBoundingBox ( element theElement )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|This function is also a static function underneath the Element class.|[[element]]:getBoundingBox}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
'''theElement:''' the element whose bounding box we want to get.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
*Returns ''min x, min y, min z, max x, max y, max z'' if the passed element is valid and streamed in, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example outputs to chatbox the minimum and the maximum coordinates of an element.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function minMaxOutput ( theElement )&lt;br /&gt;
    local x0, y0, z0, x1, y1, z1 = getElementBoundingBox ( theElement )&lt;br /&gt;
    if ( x0 ) then&lt;br /&gt;
        outputChatBox ( &amp;quot;The coords are: &amp;quot; .. x0 .. &amp;quot;, &amp;quot; .. y0 .. &amp;quot;, &amp;quot; .. z0 .. &amp;quot;, &amp;quot; .. x1 .. &amp;quot;, &amp;quot; .. y1 .. &amp;quot;, &amp;quot; .. z1 )&lt;br /&gt;
    else&lt;br /&gt;
        outputChatBox ( &amp;quot;Failed to retrieve bounding box&amp;quot; )&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client element functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetLowLODElement&amp;diff=43175</id>
		<title>SetLowLODElement</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetLowLODElement&amp;diff=43175"/>
		<updated>2014-12-05T20:30:37Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function assigns a low LOD element to an element. The low LOD element is displayed when its associated element is not fully visible. If a low LOD element is assigned to several elements, it will be displayed when any of these elements are not fully visible.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setLowLODElement ( element theElement, element lowLODElement )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP|This function is also a static function underneath the Element class.|[[element]]:setLowLOD}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theElement:''' The [[element]] whose low LOD version we want to change.&lt;br /&gt;
*'''lowLODElement :''' A low LOD element to display when the first element is not fully visible.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the assignment was successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
===Example 1===&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows how to create and link a normal and low LOD object:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
    -- Create an normal object&lt;br /&gt;
    objNormal = createObject ( 3620, x,y,z,0,0,0 )&lt;br /&gt;
&lt;br /&gt;
    -- Create a low LOD object&lt;br /&gt;
    objLowLOD = createObject ( 5154, x,y,z,0,0,0,true )&lt;br /&gt;
&lt;br /&gt;
    -- Set the normal object low LOD version&lt;br /&gt;
    setLowLODElement ( objNormal, objLowLOD )&lt;br /&gt;
&lt;br /&gt;
    -- Set the draw distance for the model we are using for low LOD to maximum&lt;br /&gt;
    engineSetModelLODDistance ( 5154, 300 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
===Example 2===&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example shows how to create and link a composite object&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
    -- Create composite object&lt;br /&gt;
    objMainBit = createObject ( 3620, x,y,z )&lt;br /&gt;
    objLeftBit = createObject ( 5158, x,y,z )&lt;br /&gt;
    objRightBit = createObject ( 5158, x,y,z )&lt;br /&gt;
    objDetailBit1 = createObject ( 1337, x,y,z )&lt;br /&gt;
    objDetailBit2 = createObject ( 1337, x,y,z )&lt;br /&gt;
    objInternalBit = createObject ( 1337, x,y,z )&lt;br /&gt;
    attachElements ( objLeftBit, objMainBit, -10, 0, 0 )&lt;br /&gt;
    attachElements ( objRightBit, objMainBit, 10, 0, 0 )&lt;br /&gt;
    attachElements ( objDetailBit1, objMainBit, 5, 0, 0 )&lt;br /&gt;
    attachElements ( objDetailBit2, objLeftBit, 5, 5, 0 )&lt;br /&gt;
    attachElements ( objInternalBit, objRightBit, 5, 7, 0 )&lt;br /&gt;
&lt;br /&gt;
    -- Create low LOD object (which represents the whole composite model)&lt;br /&gt;
    objlowLOD = createObject ( 5154, x,y,z, 0, 0, 0, true )&lt;br /&gt;
&lt;br /&gt;
    -- Attach low LOD object so it moves with the main model&lt;br /&gt;
    attachElements ( objlowLOD, objMainBit, 0, 0, 0 )&lt;br /&gt;
&lt;br /&gt;
    -- Set associations so the low LOD model is displayed when the main parts are not full visible&lt;br /&gt;
    setLowLODElement ( objMainBit, objlowLOD )&lt;br /&gt;
    setLowLODElement ( objLeftBit, objlowLOD )&lt;br /&gt;
    setLowLODElement ( objRightBit, objlowLOD )&lt;br /&gt;
&lt;br /&gt;
    -- Note that the detail and internal parts have not been associated to the low LOD object&lt;br /&gt;
&lt;br /&gt;
    -- Set the draw distance for the model we are using for low LOD to maximum&lt;br /&gt;
    triggerClientEvent(&amp;quot;onClientChangeModelLODDistance&amp;quot;, resourceRoot, 5154, 300 )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Changing the draw distance for a model has to done on the client:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEvent(&amp;quot;onClientChangeModelLODDistance&amp;quot;,true)&lt;br /&gt;
addEventHandler(&amp;quot;onClientChangeModelLODDistance&amp;quot;, resourceRoot,&lt;br /&gt;
    function(model,distance)&lt;br /&gt;
        engineSetModelLODDistance ( model, distance )&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|1.2|1.2}}&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Element_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43174</id>
		<title>PT-BR/Novidades na versão 1.4.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43174"/>
		<updated>2014-12-05T20:27:40Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Correções de bugs e mudanças */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PT-BR/Changelogs}}&lt;br /&gt;
&lt;br /&gt;
== Principais Mudanças ==&lt;br /&gt;
* Tradução para os menus do MTA&lt;br /&gt;
* Classes [[OOP]]&lt;br /&gt;
* [[Matrix|Matrizes]] e [[Vector|Vetores]]&lt;br /&gt;
* Melhorou muito a sincronização de trens&lt;br /&gt;
* As funções relacionadas a áudio agora são compatíveis com os elementos do tipo jogador&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Novas Funções ===&lt;br /&gt;
&lt;br /&gt;
====Cliente====&lt;br /&gt;
* [[createEffect]]&lt;br /&gt;
* [[setEffectSpeed]]&lt;br /&gt;
* [[getEffectSpeed]]&lt;br /&gt;
* [[setEffectDensity]]&lt;br /&gt;
* [[getEffectDensity]]&lt;br /&gt;
* [[getLocalization]]&lt;br /&gt;
* [[isChatVisible]]&lt;br /&gt;
* [[downloadFile]]&lt;br /&gt;
* [[isTrainChainEngine]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[isBan]]&lt;br /&gt;
* [[setBanAdmin]]&lt;br /&gt;
* [[setBanReason]]&lt;br /&gt;
* [[setUnbanTime]]&lt;br /&gt;
* [[getAccountsBySerial]]&lt;br /&gt;
* [[getAccountSerial]]&lt;br /&gt;
&lt;br /&gt;
==== Compartilhados (Cliente e Servidor) ====&lt;br /&gt;
* Adicionado um parâmetro bInstant para setPlayerMoney a fim de definir o montante de dinheiro instantaneamente, sem aparecer a contagem/descontagem no HUD&lt;br /&gt;
* toJSON/fromJSON agora lida melhor com dados binários&lt;br /&gt;
&lt;br /&gt;
=== Novos Eventos ===&lt;br /&gt;
&lt;br /&gt;
==== Cliente ====&lt;br /&gt;
* [[onClientFileDownloadComplete]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[onWeaponFire]]&lt;br /&gt;
&lt;br /&gt;
=== Mudanças, correções de bugs ===&lt;br /&gt;
* getResourceConfig() funciona para recursos adicionados posteriormente a inicialização do servidor&lt;br /&gt;
* Corrigido o bug do veiculo (ID: 570)&lt;br /&gt;
* attachTrailerToVehicle agora suporta trens&lt;br /&gt;
&lt;br /&gt;
== Cliente ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* Distinção entre Shift, Ctrl e Alt esquerdo/direito&lt;br /&gt;
* Adicionados os parâmetros SettingHUDMatchAspectRatio, SettingAspectRatio para [[dxGetStatus]]&lt;br /&gt;
* Suporte de arquivos de áudio usando o [https://en.wikipedia.org/wiki/Opus_codec Opus Codec] nas funções playSound e playSound3D&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Foram corrigidos as ocasiões:&lt;br /&gt;
** Corrigido o efeito do dinheiro &amp;quot;contagem regressiva&amp;quot; quando você muda de servidor.&lt;br /&gt;
** Os pedestres ficam invencíveis a tiros quando estão no banco de passageiro. &lt;br /&gt;
** O evento onClientPlayerDamage não ativar para a lata de spray.&lt;br /&gt;
** Satchels não são removidas com [[resetMapInfo]].&lt;br /&gt;
** getPedMoveState  retornar falso quando o jogador estiver se movendo agachado&lt;br /&gt;
** guiScrollPaneGetVerticalScrollPosition  retornar valores estranhos &lt;br /&gt;
** setPedCameraRotation não funcionar as vezes.&lt;br /&gt;
** Pedestres continuarem atirando depois de sua munição ter acabado.&lt;br /&gt;
** Títulos de rádio não aparecerem as vezes.&lt;br /&gt;
** As músicas da rádio serem puladas quando se estiver passando entre as estações.&lt;br /&gt;
** A função para pular uma faixa de áudio (F5) não funcionar.&lt;br /&gt;
** Veículos caírem de repente pelo mapa.&lt;br /&gt;
&lt;br /&gt;
== Servidor ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* [[setElementDimension]] deve agora fazer efeito para elementos subordinados&lt;br /&gt;
* Erros de módulo estão mais explicados nas mensagens&lt;br /&gt;
* Novos comandos: unloadmodule e reloadmodule&lt;br /&gt;
* Adicionadas armas customizadas para o lado do servidor.&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Agora há um limite de 128 caracteres para a função [[setAccountData]].&lt;br /&gt;
* Jogadores com nomes contendo caracteres especiais são verificados de forma correta ao conectar.&lt;br /&gt;
* Corrigidos os membros de times não serem enviados ao cliente se forem definidos pela função [[onResourceStart]].&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Informações Extras ==&lt;br /&gt;
''Informações mais detalhadas estão disponíveis em nosso Changelog do [https://bugs.multitheftauto.com/changelog_page.php Bug tracker] e no Google Code:&lt;br /&gt;
:* [https://code.google.com/p/mtasa-blue/source/list MTA: SA Blue]&lt;br /&gt;
:* [https://code.google.com/p/mtasa-resources/source/list MTA: SA Official Resources]&lt;br /&gt;
&lt;br /&gt;
[[en:Changes_in_1.4.0]]&lt;br /&gt;
[[pl:Changes_in_1.4]]&lt;br /&gt;
[[ru:Changes_in_1.4.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Changes_in_1.4]]&lt;br /&gt;
[[Category:Incomplete]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43173</id>
		<title>PT-BR/Novidades na versão 1.4.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43173"/>
		<updated>2014-12-05T20:20:08Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Mudanças, correções de bugs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PT-BR/Changelogs}}&lt;br /&gt;
&lt;br /&gt;
== Principais Mudanças ==&lt;br /&gt;
* Tradução para os menus do MTA&lt;br /&gt;
* Classes [[OOP]]&lt;br /&gt;
* [[Matrix|Matrizes]] e [[Vector|Vetores]]&lt;br /&gt;
* Melhorou muito a sincronização de trens&lt;br /&gt;
* As funções relacionadas a áudio agora são compatíveis com os elementos do tipo jogador&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Novas Funções ===&lt;br /&gt;
&lt;br /&gt;
====Cliente====&lt;br /&gt;
* [[createEffect]]&lt;br /&gt;
* [[setEffectSpeed]]&lt;br /&gt;
* [[getEffectSpeed]]&lt;br /&gt;
* [[setEffectDensity]]&lt;br /&gt;
* [[getEffectDensity]]&lt;br /&gt;
* [[getLocalization]]&lt;br /&gt;
* [[isChatVisible]]&lt;br /&gt;
* [[downloadFile]]&lt;br /&gt;
* [[isTrainChainEngine]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[isBan]]&lt;br /&gt;
* [[setBanAdmin]]&lt;br /&gt;
* [[setBanReason]]&lt;br /&gt;
* [[setUnbanTime]]&lt;br /&gt;
* [[getAccountsBySerial]]&lt;br /&gt;
* [[getAccountSerial]]&lt;br /&gt;
&lt;br /&gt;
==== Compartilhados (Cliente e Servidor) ====&lt;br /&gt;
* Adicionado um parâmetro bInstant para setPlayerMoney a fim de definir o montante de dinheiro instantaneamente, sem aparecer a contagem/descontagem no HUD&lt;br /&gt;
* toJSON/fromJSON agora lida melhor com dados binários&lt;br /&gt;
&lt;br /&gt;
=== Novos Eventos ===&lt;br /&gt;
&lt;br /&gt;
==== Cliente ====&lt;br /&gt;
* [[onClientFileDownloadComplete]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[onWeaponFire]]&lt;br /&gt;
&lt;br /&gt;
=== Mudanças, correções de bugs ===&lt;br /&gt;
* getResourceConfig() funciona para recursos adicionados posteriormente a inicialização do servidor&lt;br /&gt;
* Corrigido o bug do veiculo (ID: 570)&lt;br /&gt;
* attachTrailerToVehicle agora suporta trens&lt;br /&gt;
&lt;br /&gt;
== Cliente ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* Distinção entre Shift, Ctrl e Alt esquerdo/direito&lt;br /&gt;
* Adicionados os parâmetros SettingHUDMatchAspectRatio, SettingAspectRatio para [[dxGetStatus]]&lt;br /&gt;
* Suporte de arquivos de áudio usando o [https://en.wikipedia.org/wiki/Opus_codec Opus Codec] nas funções playSound e playSound3D&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Foram corrigidos as ocasiões:&lt;br /&gt;
** O dinheiro é &amp;quot;drenado&amp;quot; no GTA quando se muda de servidor.&lt;br /&gt;
** Os pedestres ficam invencíveis a tiros quando estão no banco de passageiro. &lt;br /&gt;
** O evento onClientPlayerDamage não ativar para a lata de spray.&lt;br /&gt;
** Satchels não são removidas com [[resetMapInfo]].&lt;br /&gt;
** getPedMoveState  retornar falso quando o jogador estiver se movendo agachado&lt;br /&gt;
** guiScrollPaneGetVerticalScrollPosition  retornar valores estranhos &lt;br /&gt;
** setPedCameraRotation não funcionar as vezes.&lt;br /&gt;
** Pedestres continuarem atirando depois de sua munição ter acabado.&lt;br /&gt;
** Títulos de rádio não aparecerem as vezes.&lt;br /&gt;
** As músicas da rádio serem puladas quando se estiver passando entre as estações.&lt;br /&gt;
** A função para pular uma faixa de áudio (F5) não funcionar.&lt;br /&gt;
** Veículos caírem de repente pelo mapa.&lt;br /&gt;
&lt;br /&gt;
== Servidor ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* [[setElementDimension]] deve agora fazer efeito para elementos subordinados&lt;br /&gt;
* Erros de módulo estão mais explicados nas mensagens&lt;br /&gt;
* Novos comandos: unloadmodule e reloadmodule&lt;br /&gt;
* Adicionadas armas customizadas para o lado do servidor.&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Agora há um limite de 128 caracteres para a função [[setAccountData]].&lt;br /&gt;
* Jogadores com nomes contendo caracteres especiais são verificados de forma correta ao conectar.&lt;br /&gt;
* Corrigidos os membros de times não serem enviados ao cliente se forem definidos pela função [[onResourceStart]].&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Informações Extras ==&lt;br /&gt;
''Informações mais detalhadas estão disponíveis em nosso Changelog do [https://bugs.multitheftauto.com/changelog_page.php Bug tracker] e no Google Code:&lt;br /&gt;
:* [https://code.google.com/p/mtasa-blue/source/list MTA: SA Blue]&lt;br /&gt;
:* [https://code.google.com/p/mtasa-resources/source/list MTA: SA Official Resources]&lt;br /&gt;
&lt;br /&gt;
[[en:Changes_in_1.4.0]]&lt;br /&gt;
[[pl:Changes_in_1.4]]&lt;br /&gt;
[[ru:Changes_in_1.4.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Changes_in_1.4]]&lt;br /&gt;
[[Category:Incomplete]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetPedTargetEnd&amp;diff=43170</id>
		<title>GetPedTargetEnd</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetPedTargetEnd&amp;diff=43170"/>
		<updated>2014-12-05T18:30:49Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function allows retrieval of the position where a ped's target range ends, when he is aiming with a weapon.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float float float getPedTargetEnd ( ped targetingPed )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[ped]]:getTargetEnd}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''targetingPed:''' the ped who is targeting whose target end you wish to retrieve&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns three floats, ''x'',''y'',''z'', representing the position where the ped's target ends according to his range, or ''false'' if it was unsuccessful.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This Example draws a line from where the Ped´s Target Starts to the Point where the Target Ends&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientPreRender&amp;quot;, root,  -- Adds the Handler&lt;br /&gt;
    function ()&lt;br /&gt;
        if getPedTargetStart(localPlayer) then --Checks if there is a Point to start From.&lt;br /&gt;
&lt;br /&gt;
        local x, y, z = getPedTargetStart(localPlayer) -- Gets the Point to start From&lt;br /&gt;
        local sx, sy, sz = getPedTargetEnd(localPlayer) -- Gets the Point where the Target Ends&lt;br /&gt;
&lt;br /&gt;
        dxDrawLine3D(x, y, z, sx, sy, sz) -- Draws the Line&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_ped_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetPedTargetEnd&amp;diff=43169</id>
		<title>GetPedTargetEnd</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetPedTargetEnd&amp;diff=43169"/>
		<updated>2014-12-05T18:29:51Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function allows retrieval of the position where a ped's target range ends, when he is aiming with a weapon.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float float float getPedTargetEnd ( ped targetingPed )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[ped]]:getTargetEnd|XeoNFeio}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''targetingPed:''' the ped who is targeting whose target end you wish to retrieve&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns three floats, ''x'',''y'',''z'', representing the position where the ped's target ends according to his range, or ''false'' if it was unsuccessful.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This Example draws a line from where the Ped´s Target Starts to the Point where the Target Ends&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientPreRender&amp;quot;, root,  -- Adds the Handler&lt;br /&gt;
    function ()&lt;br /&gt;
        if getPedTargetStart(localPlayer) then --Checks if there is a Point to start From.&lt;br /&gt;
&lt;br /&gt;
        local x, y, z = getPedTargetStart(localPlayer) -- Gets the Point to start From&lt;br /&gt;
        local sx, sy, sz = getPedTargetEnd(localPlayer) -- Gets the Point where the Target Ends&lt;br /&gt;
&lt;br /&gt;
        dxDrawLine3D(x, y, z, sx, sy, sz) -- Draws the Line&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_ped_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetPedTargetEnd&amp;diff=43168</id>
		<title>GetPedTargetEnd</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetPedTargetEnd&amp;diff=43168"/>
		<updated>2014-12-05T18:13:32Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function allows retrieval of the position where a ped's target range ends, when he is aiming with a weapon.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float float float getPedTargetEnd ( ped targetingPed )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[ped]]:getTargetEnd}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''targetingPed:''' the ped who is targeting whose target end you wish to retrieve&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns three floats, ''x'',''y'',''z'', representing the position where the ped's target ends according to his range, or ''false'' if it was unsuccessful.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This Example draws a line from where the Ped´s Target Starts to the Point where the Target Ends&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientPreRender&amp;quot;, root,  -- Adds the Handler&lt;br /&gt;
    function ()&lt;br /&gt;
        if getPedTargetStart(localPlayer) then --Checks if there is a Point to start From.&lt;br /&gt;
&lt;br /&gt;
        local x, y, z = getPedTargetStart(localPlayer) -- Gets the Point to start From&lt;br /&gt;
        local sx, sy, sz = getPedTargetEnd(localPlayer) -- Gets the Point where the Target Ends&lt;br /&gt;
&lt;br /&gt;
        dxDrawLine3D(x, y, z, sx, sy, sz) -- Draws the Line&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_ped_functions}}&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43167</id>
		<title>PT-BR/Novidades na versão 1.4.0</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PT-BR/Novidades_na_vers%C3%A3o_1.4.0&amp;diff=43167"/>
		<updated>2014-12-05T17:15:14Z</updated>

		<summary type="html">&lt;p&gt;Banex: /* Correções de bugs e mudanças */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{PT-BR/Changelogs}}&lt;br /&gt;
&lt;br /&gt;
== Principais Mudanças ==&lt;br /&gt;
* Tradução para os menus do MTA&lt;br /&gt;
* Classes [[OOP]]&lt;br /&gt;
* [[Matrix|Matrizes]] e [[Vector|Vetores]]&lt;br /&gt;
* Melhorou muito a sincronização de trens&lt;br /&gt;
* As funções relacionadas a áudio agora são compatíveis com os elementos do tipo jogador&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Novas Funções ===&lt;br /&gt;
&lt;br /&gt;
====Cliente====&lt;br /&gt;
* [[createEffect]]&lt;br /&gt;
* [[setEffectSpeed]]&lt;br /&gt;
* [[getEffectSpeed]]&lt;br /&gt;
* [[setEffectDensity]]&lt;br /&gt;
* [[getEffectDensity]]&lt;br /&gt;
* [[getLocalization]]&lt;br /&gt;
* [[isChatVisible]]&lt;br /&gt;
* [[downloadFile]]&lt;br /&gt;
* [[isTrainChainEngine]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[isBan]]&lt;br /&gt;
* [[setBanAdmin]]&lt;br /&gt;
* [[setBanReason]]&lt;br /&gt;
* [[setUnbanTime]]&lt;br /&gt;
* [[getAccountsBySerial]]&lt;br /&gt;
* [[getAccountSerial]]&lt;br /&gt;
&lt;br /&gt;
==== Compartilhados (Cliente e Servidor) ====&lt;br /&gt;
* Adicionado um parâmetro bInstant para setPlayerMoney a fim de definir o montante de dinheiro instantaneamente, sem aparecer a contagem/descontagem no HUD&lt;br /&gt;
* toJSON/fromJSON agora lida melhor com dados binários&lt;br /&gt;
&lt;br /&gt;
=== Novos Eventos ===&lt;br /&gt;
&lt;br /&gt;
==== Cliente ====&lt;br /&gt;
* [[onClientFileDownloadComplete]]&lt;br /&gt;
&lt;br /&gt;
==== Servidor ====&lt;br /&gt;
* [[onWeaponFire]]&lt;br /&gt;
&lt;br /&gt;
=== Mudanças, correções de bugs ===&lt;br /&gt;
* getResourceConfig() funciona para recursos adicionados posteriormente a inicialização do servidor&lt;br /&gt;
* Consertado o veículo de ID 570&lt;br /&gt;
* attachTrailerToVehicle agora suporta trens&lt;br /&gt;
&lt;br /&gt;
== Cliente ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* Distinção entre Shift, Ctrl e Alt esquerdo/direito&lt;br /&gt;
* Adicionados os parâmetros SettingHUDMatchAspectRatio, SettingAspectRatio para [[dxGetStatus]]&lt;br /&gt;
* Suporte de arquivos de áudio usando o [https://en.wikipedia.org/wiki/Opus_codec Opus Codec] nas funções playSound e playSound3D&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Foram corrigidos as ocasiões:&lt;br /&gt;
** O dinheiro é &amp;quot;drenado&amp;quot; no GTA quando se muda de servidor.&lt;br /&gt;
** Os pedestres ficam invencíveis a tiros quando estão no banco de passageiro. &lt;br /&gt;
** O evento onClientPlayerDamage não ativar para a lata de spray.&lt;br /&gt;
** Satchels não são removidas com [[resetMapInfo]].&lt;br /&gt;
** getPedMoveState  retornar falso quando o jogador estiver se movendo agachado&lt;br /&gt;
** guiScrollPaneGetVerticalScrollPosition  retornar valores estranhos &lt;br /&gt;
** setPedCameraRotation não funcionar as vezes.&lt;br /&gt;
** Pedestres continuarem atirando depois de sua munição ter acabado.&lt;br /&gt;
** Títulos de rádio não aparecerem as vezes.&lt;br /&gt;
** As músicas da rádio serem puladas quando se estiver passando entre as estações.&lt;br /&gt;
** A função para pular uma faixa de áudio (F5) não funcionar.&lt;br /&gt;
** Veículos caírem de repente pelo mapa.&lt;br /&gt;
&lt;br /&gt;
== Servidor ==&lt;br /&gt;
&lt;br /&gt;
=== Novidades ===&lt;br /&gt;
* [[setElementDimension]] deve agora fazer efeito para elementos subordinados&lt;br /&gt;
* Erros de módulo estão mais explicados nas mensagens&lt;br /&gt;
* Novos comandos: unloadmodule e reloadmodule&lt;br /&gt;
* Adicionadas armas customizadas para o lado do servidor.&lt;br /&gt;
&lt;br /&gt;
=== Correções de bugs e mudanças ===&lt;br /&gt;
* Agora há um limite de 128 caracteres para a função [[setAccountData]].&lt;br /&gt;
* Jogadores com nomes contendo caracteres especiais são verificados de forma correta ao conectar.&lt;br /&gt;
* Corrigidos os membros de times não serem enviados ao cliente se forem definidos pela função [[onResourceStart]].&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Nada até agora&lt;br /&gt;
&lt;br /&gt;
== Informações Extras ==&lt;br /&gt;
''Informações mais detalhadas estão disponíveis em nosso Changelog do [https://bugs.multitheftauto.com/changelog_page.php Bug tracker] e no Google Code:&lt;br /&gt;
:* [https://code.google.com/p/mtasa-blue/source/list MTA: SA Blue]&lt;br /&gt;
:* [https://code.google.com/p/mtasa-resources/source/list MTA: SA Official Resources]&lt;br /&gt;
&lt;br /&gt;
[[en:Changes_in_1.4.0]]&lt;br /&gt;
[[pl:Changes_in_1.4]]&lt;br /&gt;
[[ru:Changes_in_1.4.0]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Changes_in_1.4]]&lt;br /&gt;
[[Category:Incomplete]]&lt;/div&gt;</summary>
		<author><name>Banex</name></author>
	</entry>
</feed>