<?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=Forkerer</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=Forkerer"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Forkerer"/>
	<updated>2026-04-22T21:32:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetObjectGroupPhysicalProperty&amp;diff=64805</id>
		<title>EngineSetObjectGroupPhysicalProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetObjectGroupPhysicalProperty&amp;diff=64805"/>
		<updated>2019-12-22T12:34:18Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0157|1.5.7|19626|This function sets physical property of given properties group.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool engineSetObjectGroupPhysicalProperty ( int groupID, objectgroup-modifiable property, var newValue )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''groupID''': the id of physical properties group which you wish to set a property of.&lt;br /&gt;
*'''objectgroup-modifiable''': the property which you wish to set, as per table below.&lt;br /&gt;
*'''newValue''': new value of the property, with proper type as specified in table below&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns '''true''' if everything went well, error is raised otherwise.&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
{{Physical_Properties}}&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;
-- Missing&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_object_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineRestoreObjectGroupPhysicalProperties&amp;diff=64804</id>
		<title>EngineRestoreObjectGroupPhysicalProperties</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineRestoreObjectGroupPhysicalProperties&amp;diff=64804"/>
		<updated>2019-12-22T12:31:00Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0157|1.5.7|19626|This function restores physical property of given properties group.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool engineRestoreObjectGroupPhysicalProperties ( int groupID, objectgroup-modifiable property )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''groupID''': the id of physical properties group which you wish to restore a property of.&lt;br /&gt;
*'''objectgroup-modifiable''': the property which you wish to restore, as per table below.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns '''true''' if everything went well, error is raised otherwise.&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
{{Physical_Properties}}&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 restoreProperty(_, group, property)&lt;br /&gt;
    engineRestoreObjectGroupPhysicalProperties(tonumber(group), property)&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;restoreProperty&amp;quot;, restoreProperty )&lt;br /&gt;
--restoreProperty(120, &amp;quot;special_col_response&amp;quot;)&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_object_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineGetObjectGroupPhysicalProperty&amp;diff=64803</id>
		<title>EngineGetObjectGroupPhysicalProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineGetObjectGroupPhysicalProperty&amp;diff=64803"/>
		<updated>2019-12-22T12:29:02Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0157|1.5.7|19626|This function gets physical property of given properties group.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;var engineGetObjectGroupPhysicalProperty ( int groupID, objectgroup-modifiable property )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''groupID''': the id of physical properties group which you wish to get a property from.&lt;br /&gt;
*'''objectgroup-modifiable''': the property which you wish to get, as per table below.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the value contained in given property if everything went well, error is raised otherwise.&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
{{Physical_Properties}}&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 getProperty(_, group, property)&lt;br /&gt;
    var prop = {engineGetObjectGroupPhysicalProperty(tonumber(group), property)}&lt;br /&gt;
    outputConsole(inspect(prop))&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;getProperty&amp;quot;, getProperty )&lt;br /&gt;
--getProperty(120, &amp;quot;special_col_response&amp;quot;)&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_object_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Physical_Properties&amp;diff=64802</id>
		<title>Physical Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Physical_Properties&amp;diff=64802"/>
		<updated>2019-12-22T12:25:16Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Physical Properties}}&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Physical_Properties&amp;diff=64801</id>
		<title>Template:Physical Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Physical_Properties&amp;diff=64801"/>
		<updated>2019-12-22T12:24:41Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Physical properties===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Property || Type || Description&lt;br /&gt;
|-&lt;br /&gt;
| mass || float || Mass of an object&lt;br /&gt;
|-&lt;br /&gt;
| air_resistance || float || Air resistance of an object&lt;br /&gt;
|-&lt;br /&gt;
| elasticity || float || Elasticity of an object&lt;br /&gt;
|-&lt;br /&gt;
| buoyancy || float || Buoyancy of an object&lt;br /&gt;
|-&lt;br /&gt;
| uproot_limit || float || How much force is needed to uproot the object&lt;br /&gt;
|-&lt;br /&gt;
| col_damage_multiplier || float || Force multiplier used when colliding with object&lt;br /&gt;
|-&lt;br /&gt;
| col_damage_effect || DamageEffect || Dictates which damage effect is applied to object on collision&lt;br /&gt;
|-&lt;br /&gt;
| special_col_response || CollisionResponse || Dictates how object responds to being collided with&lt;br /&gt;
|-&lt;br /&gt;
| avoid_camera || bool || Dictates whether camera passes throught the object&lt;br /&gt;
|-&lt;br /&gt;
| cause_explosion || bool || Dictates whether objects exploded upon collision&lt;br /&gt;
|-&lt;br /&gt;
| fx_type || FxType || Dictates when particles will be created when colliding with object&lt;br /&gt;
|-&lt;br /&gt;
| fx_offset || Vector3D || Offset from center of mass where particles will be created upon collision&lt;br /&gt;
|-&lt;br /&gt;
| fx_system || FxEffect(string) || Effect that will be used upon collision&lt;br /&gt;
|-&lt;br /&gt;
| smash_multiplier || float || Force multiplier when destroying object&lt;br /&gt;
|-&lt;br /&gt;
| break_velocity || Vector3D || Velocity and direction in which the object is destroyed&lt;br /&gt;
|-&lt;br /&gt;
| break_velocity_randomness || float || Randomness of velocity and direction in which the object is destroyed, 0 means that object uses break_velocity without any randomness&lt;br /&gt;
|-&lt;br /&gt;
| break_mode || BreakMode || Dictates how object can be damaged&lt;br /&gt;
|-&lt;br /&gt;
| sparks_on_impact || bool || Dictates whether object creates sparks upon impact&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Damage effect===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Effect || Description&lt;br /&gt;
|-&lt;br /&gt;
| none || Object doesn't change at all once it's damaged&lt;br /&gt;
|-&lt;br /&gt;
| change_model || Some of the objects change model on collision, those use this&lt;br /&gt;
|-&lt;br /&gt;
| smash || Object is smashed&lt;br /&gt;
|-&lt;br /&gt;
| change_smash || First CHANGE_MODEL, afterwards smash on collision&lt;br /&gt;
|-&lt;br /&gt;
| breakable || Object is breakable normally&lt;br /&gt;
|-&lt;br /&gt;
| breakable_remove || object.dat says: '(ie. never regenerated after destroyed)'&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Collision Response===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Response || Description&lt;br /&gt;
|-&lt;br /&gt;
| none || Object doesn't respond in any special way&lt;br /&gt;
|-&lt;br /&gt;
| lamppost || Objects acts like an lamp post&lt;br /&gt;
|-&lt;br /&gt;
| small_box || -&lt;br /&gt;
|-&lt;br /&gt;
| big_box || -&lt;br /&gt;
|-&lt;br /&gt;
| fence_part || -&lt;br /&gt;
|-&lt;br /&gt;
| grenade || -&lt;br /&gt;
|-&lt;br /&gt;
| swingdoor || -&lt;br /&gt;
|-&lt;br /&gt;
| lockdoor || -&lt;br /&gt;
|-&lt;br /&gt;
| hanging || -&lt;br /&gt;
|-&lt;br /&gt;
| poolball || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Fx Type===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Type || Description&lt;br /&gt;
|-&lt;br /&gt;
| none || No particles effect played on collision&lt;br /&gt;
|-&lt;br /&gt;
| play_on_hit || Particles effect is played on collision, even if object isn't destroyed&lt;br /&gt;
|-&lt;br /&gt;
| play_on_destroyed || Particles effect is played only once object is destroyed&lt;br /&gt;
|-&lt;br /&gt;
| play_on_hitdestroyed || Particles effect is played both when hit and destroyed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Break Mode===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Mode || Description&lt;br /&gt;
|-&lt;br /&gt;
| not_by_gun || not breakable by gun&lt;br /&gt;
|-&lt;br /&gt;
| by_gun || -&lt;br /&gt;
|-&lt;br /&gt;
| smashable || -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Fx Effect===&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! effect || Description&lt;br /&gt;
|-&lt;br /&gt;
| wallbust || -&lt;br /&gt;
|-&lt;br /&gt;
| shootlight || -&lt;br /&gt;
|-&lt;br /&gt;
| puke || Puke effect&lt;br /&gt;
|-&lt;br /&gt;
| explosion_door || -&lt;br /&gt;
|-&lt;br /&gt;
| explosion_crate || Crate break&lt;br /&gt;
|-&lt;br /&gt;
| explosion_barrel || Barrel explosion&lt;br /&gt;
|-&lt;br /&gt;
| blood_heli || Heli cutting peds&lt;br /&gt;
|-&lt;br /&gt;
| tree_hit_palm || -&lt;br /&gt;
|-&lt;br /&gt;
| tree_hit_fir || -&lt;br /&gt;
|-&lt;br /&gt;
| water_swim || Water ripples&lt;br /&gt;
|-&lt;br /&gt;
| water_splsh_sml || -&lt;br /&gt;
|-&lt;br /&gt;
| water_splash_big || -&lt;br /&gt;
|-&lt;br /&gt;
| water_splash || -&lt;br /&gt;
|-&lt;br /&gt;
| water_hydrant || -&lt;br /&gt;
|-&lt;br /&gt;
| tank_fire || -&lt;br /&gt;
|-&lt;br /&gt;
| riot_smoke || -&lt;br /&gt;
|-&lt;br /&gt;
| gunsmoke || Gun smoke when firing&lt;br /&gt;
|-&lt;br /&gt;
| gunflash || Gun flash when firing&lt;br /&gt;
|-&lt;br /&gt;
| explosion_tiny || -&lt;br /&gt;
|-&lt;br /&gt;
| explosion_small || -&lt;br /&gt;
|-&lt;br /&gt;
| explosion_molotov || Molotov explosion&lt;br /&gt;
|-&lt;br /&gt;
| explosion_medium || -&lt;br /&gt;
|-&lt;br /&gt;
| explosion_large || -&lt;br /&gt;
|-&lt;br /&gt;
| explosion_fuel_car || -&lt;br /&gt;
|-&lt;br /&gt;
| exhale || -&lt;br /&gt;
|-&lt;br /&gt;
| camflash || Camera photo flash&lt;br /&gt;
|-&lt;br /&gt;
| prt_wake || Wake on water behind boats&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineSetModelPhysicalPropertiesGroup&amp;diff=64800</id>
		<title>EngineSetModelPhysicalPropertiesGroup</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineSetModelPhysicalPropertiesGroup&amp;diff=64800"/>
		<updated>2019-12-22T11:56:32Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0157|1.5.7|19626|This function sets physical properties group id used by given model.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool engineSetModelPhysicalPropertiesGroup ( int modelID, int groupID )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''modelID''': the id of model which you wish to set physical properties group of.&lt;br /&gt;
*'''groupID''': the id of new physical properties group to be used by given model.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns '''true''' if there were no issues with group change, otherwise an error is raised&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 setID(_, id, group)&lt;br /&gt;
    engineSetModelPhysicalPropertiesGroup(tonumber(id), tonumber(group))&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;setID&amp;quot;, setID )&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_object_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineRestoreModelPhysicalPropertiesGroup&amp;diff=64799</id>
		<title>EngineRestoreModelPhysicalPropertiesGroup</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineRestoreModelPhysicalPropertiesGroup&amp;diff=64799"/>
		<updated>2019-12-22T11:51:33Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0157|1.5.7|19626|This function restores original physical properties group used by given model.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool engineRestoreModelPhysicalPropertiesGroup ( int modelID )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''modelID''': the id of model which you wish to restore original physical properties group of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns '''true''' if there were no issues, if passed arguments were invalid an error is raised.&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 restoreID(_, id)&lt;br /&gt;
    engineRestoreModelPhysicalPropertiesGroup(tonumber(id))&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;restoreID&amp;quot;, restoreID )&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_object_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EngineGetModelPhysicalPropertiesGroup&amp;diff=64798</id>
		<title>EngineGetModelPhysicalPropertiesGroup</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EngineGetModelPhysicalPropertiesGroup&amp;diff=64798"/>
		<updated>2019-12-22T11:48:08Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version (by SublimeText.Mediawiker)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0157|1.5.7|19626|This function gets physical properties group id used by given model.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int engineGetModelPhysicalPropertiesGroup ( int modelID )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''modelID''': the id of model which you wish to get physical properties group of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns '''id''' of physical properties group that requested model uses, in range of ''0-160'', if the object doesn't have a group assigned, ''-1'' is returned. If passed arguments were wrong, error is triggered.&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 checkID(_, id)&lt;br /&gt;
    outputConsole(engineGetModelPhysicalPropertiesGroup(tonumber(id)))&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;checkID&amp;quot;, checkID )&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_object_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Client_vehicle_functions&amp;diff=63119</id>
		<title>Template:Client vehicle functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Client_vehicle_functions&amp;diff=63119"/>
		<updated>2019-06-27T16:58:15Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[addVehicleUpgrade]]&lt;br /&gt;
*[[attachTrailerToVehicle]]&lt;br /&gt;
*[[blowVehicle]]&lt;br /&gt;
*[[createVehicle]]&lt;br /&gt;
*[[detachTrailerFromVehicle]]&lt;br /&gt;
*[[fixVehicle]]&lt;br /&gt;
*[[getHeliBladeCollisionsEnabled]]&lt;br /&gt;
*[[getHelicopterRotorSpeed]]&lt;br /&gt;
*[[getOriginalHandling]]&lt;br /&gt;
*[[getTrainDirection]]&lt;br /&gt;
*[[getTrainPosition]]&lt;br /&gt;
*[[getTrainSpeed]]&lt;br /&gt;
{{New items|3.0160|1.6|&lt;br /&gt;
*[[getTrainTrack]]&lt;br /&gt;
|7485}}&lt;br /&gt;
*[[getVehicleAdjustableProperty]]&lt;br /&gt;
*[[getVehicleColor]]&lt;br /&gt;
*[[getVehicleCompatibleUpgrades]]&lt;br /&gt;
*[[getVehicleComponentPosition]]&lt;br /&gt;
*[[getVehicleComponentRotation]]&lt;br /&gt;
*[[getVehicleComponentScale]]&lt;br /&gt;
*[[getVehicleComponentVisible]]&lt;br /&gt;
*[[getVehicleComponents]]&lt;br /&gt;
*[[getVehicleController]]&lt;br /&gt;
*[[getVehicleCurrentGear]]&lt;br /&gt;
*[[getVehicleDoorOpenRatio]]&lt;br /&gt;
*[[getVehicleDoorState]]&lt;br /&gt;
*[[getVehicleEngineState]]&lt;br /&gt;
*[[getVehicleGravity]]&lt;br /&gt;
*[[getVehicleHandling]]&lt;br /&gt;
*[[getVehicleHeadLightColor]]&lt;br /&gt;
*[[getVehicleLandingGearDown]]&lt;br /&gt;
*[[getVehicleLightState]]&lt;br /&gt;
*[[getVehicleMaxPassengers]]&lt;br /&gt;
{{New items|3.0157|1.5.6|&lt;br /&gt;
*[[getVehicleModelDummyPosition]]&lt;br /&gt;
|14403}}&lt;br /&gt;
*[[getVehicleModelExhaustFumesPosition]]&lt;br /&gt;
*[[getVehicleModelFromName]]&lt;br /&gt;
*[[getVehicleName]]&lt;br /&gt;
*[[getVehicleNameFromModel]]&lt;br /&gt;
*[[getVehicleNitroCount]]&lt;br /&gt;
*[[getVehicleNitroLevel]]&lt;br /&gt;
*[[getVehicleOccupant]]&lt;br /&gt;
*[[getVehicleOccupants]]&lt;br /&gt;
*[[getVehicleOverrideLights]]&lt;br /&gt;
*[[getVehiclePaintjob]]&lt;br /&gt;
*[[getVehiclePanelState]]&lt;br /&gt;
*[[getVehiclePlateText]]&lt;br /&gt;
*[[getVehicleSirens]]&lt;br /&gt;
*[[getVehicleSirensOn]]&lt;br /&gt;
*[[getVehicleSirenParams]]&lt;br /&gt;
*[[getVehicleTowedByVehicle]]&lt;br /&gt;
*[[getVehicleTowingVehicle]]&lt;br /&gt;
{{Deprecated items|3.0156|1.5.6|&lt;br /&gt;
*[[getVehicleTurnVelocity]]&lt;br /&gt;
}}&lt;br /&gt;
*[[getVehicleTurretPosition]]&lt;br /&gt;
*[[getVehicleType]]&lt;br /&gt;
*[[getVehicleUpgradeOnSlot]]&lt;br /&gt;
*[[getVehicleUpgradeSlotName]]&lt;br /&gt;
*[[getVehicleUpgrades]]&lt;br /&gt;
*[[getVehicleVariant]]&lt;br /&gt;
*[[getVehicleWheelStates]]&lt;br /&gt;
*[[isTrainChainEngine]]&lt;br /&gt;
*[[isTrainDerailable]]&lt;br /&gt;
*[[isTrainDerailed]]&lt;br /&gt;
*[[isVehicleBlown]]&lt;br /&gt;
*[[isVehicleDamageProof]]&lt;br /&gt;
*[[isVehicleFuelTankExplodable]]&lt;br /&gt;
*[[isVehicleLocked]]&lt;br /&gt;
*[[isVehicleNitroActivated]]&lt;br /&gt;
*[[isVehicleNitroRecharging]]&lt;br /&gt;
*[[isVehicleOnGround]]&lt;br /&gt;
*[[isVehicleTaxiLightOn]]&lt;br /&gt;
{{New items|3.0156|1.5.5|&lt;br /&gt;
*[[isVehicleWheelOnGround]]&lt;br /&gt;
|11854}}&lt;br /&gt;
*[[isVehicleWindowOpen]]&lt;br /&gt;
*[[removeVehicleUpgrade]]&lt;br /&gt;
*[[resetVehicleComponentPosition]]&lt;br /&gt;
*[[resetVehicleComponentRotation]]&lt;br /&gt;
*[[resetVehicleComponentScale]]&lt;br /&gt;
*[[setHeliBladeCollisionsEnabled]]&lt;br /&gt;
*[[setHelicopterRotorSpeed]]&lt;br /&gt;
*[[setTrainDerailable]]&lt;br /&gt;
*[[setTrainDerailed]]&lt;br /&gt;
*[[setTrainDirection]]&lt;br /&gt;
*[[setTrainPosition]]&lt;br /&gt;
*[[setTrainSpeed]]&lt;br /&gt;
{{New items|3.0160|1.6|&lt;br /&gt;
*[[setTrainTrack]]&lt;br /&gt;
|7485}}&lt;br /&gt;
*[[setVehicleAdjustableProperty]]&lt;br /&gt;
*[[setVehicleColor]]&lt;br /&gt;
*[[setVehicleComponentPosition]]&lt;br /&gt;
*[[setVehicleComponentRotation]]&lt;br /&gt;
*[[setVehicleComponentScale]]&lt;br /&gt;
*[[setVehicleComponentVisible]]&lt;br /&gt;
*[[setVehicleDamageProof]]&lt;br /&gt;
*[[setVehicleDirtLevel]]&lt;br /&gt;
*[[setVehicleDoorOpenRatio]]&lt;br /&gt;
*[[setVehicleDoorState]]&lt;br /&gt;
*[[setVehicleDoorsUndamageable]]&lt;br /&gt;
*[[setVehicleEngineState]]&lt;br /&gt;
*[[setVehicleFuelTankExplodable]]&lt;br /&gt;
*[[setVehicleGravity]]&lt;br /&gt;
{{New items|3.0156|1.5.5|&lt;br /&gt;
*[[setVehicleHandling]]&lt;br /&gt;
|12009}}&lt;br /&gt;
*[[setVehicleHeadLightColor]]&lt;br /&gt;
*[[setVehicleLandingGearDown]]&lt;br /&gt;
*[[setVehicleLightState]]&lt;br /&gt;
*[[setVehicleLocked]]&lt;br /&gt;
{{New items|3.0157|1.5.6|&lt;br /&gt;
*[[setVehicleModelDummyPosition]]&lt;br /&gt;
|14403}}&lt;br /&gt;
*[[setVehicleModelExhaustFumesPosition]]&lt;br /&gt;
*[[setVehicleNitroActivated]]&lt;br /&gt;
*[[setVehicleNitroCount]]&lt;br /&gt;
*[[setVehicleNitroLevel]]&lt;br /&gt;
*[[setVehicleOverrideLights]]&lt;br /&gt;
*[[setVehiclePaintjob]]&lt;br /&gt;
*[[setVehiclePanelState]]&lt;br /&gt;
*[[setVehiclePlateText]]&lt;br /&gt;
*[[setVehicleSirens]]&lt;br /&gt;
*[[setVehicleSirensOn]]&lt;br /&gt;
*[[setVehicleTaxiLightOn]]&lt;br /&gt;
{{Deprecated items|3.0156|1.5.6|&lt;br /&gt;
*[[setVehicleTurnVelocity]]&lt;br /&gt;
}}&lt;br /&gt;
*[[setVehicleTurretPosition]]&lt;br /&gt;
*[[setVehicleWheelStates]]&lt;br /&gt;
*[[setVehicleWindowOpen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[ru:Template:RU/Client_vehicle_functions]]&lt;br /&gt;
[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetVehicleComponentScale&amp;diff=63118</id>
		<title>GetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetVehicleComponentScale&amp;diff=63118"/>
		<updated>2019-06-27T16:43:42Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|4.0140|1.5.6|14489|&lt;br /&gt;
This function gets the component scale of a [[vehicle]].}}&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 getVehicleComponentScale ( vehicle theVehicle, string theComponent [, string base = &amp;quot;root&amp;quot; ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:getComponentScale||setVehicleComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to get component scale of.&lt;br /&gt;
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
*'''base:''' A string representing what the returned scale is relative to. It can be one of the following values:&lt;br /&gt;
**'''parent:''' The scale is relative to the parent component.&lt;br /&gt;
**'''root:''' The scale  is relative to the root component.&lt;br /&gt;
**'''world:''' The scale is a world scale.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns three ''floats'' indicating the scale of the component, ''x'', ''y'' and ''z'' respectively.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot; name=&amp;quot;This example gets the name and the scale of the components and outputs it in the chat.&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;vcs&amp;quot;, -- short for 'vehicle component scale'&lt;br /&gt;
    function()&lt;br /&gt;
        local theVeh = getPedOccupiedVehicle(localPlayer)&lt;br /&gt;
	local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle&lt;br /&gt;
        if (theVeh) then&lt;br /&gt;
            for k in pairs (getComponent) do&lt;br /&gt;
		local x, y, z = getVehicleComponentScale(theVeh, k)&lt;br /&gt;
                outputChatBox(&amp;quot;Scale of &amp;quot;..k..&amp;quot; is&amp;quot;..x..&amp;quot; &amp;quot;..y..&amp;quot; &amp;quot;..z)&lt;br /&gt;
            end&lt;br /&gt;
        end&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;
==See Also==&lt;br /&gt;
{{Client_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetVehicleComponentScale&amp;diff=63117</id>
		<title>SetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetVehicleComponentScale&amp;diff=63117"/>
		<updated>2019-06-27T16:42:16Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|4.0140|1.5.6|14489|&lt;br /&gt;
This function sets the component scale of a [[vehicle]].&lt;br /&gt;
}}&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 setVehicleComponentScale ( vehicle theVehicle, string theComponent, float scaleX, float scaleY, float scaleZ [, string base = &amp;quot;root&amp;quot;] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:setComponentScale||getVehicleComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to set component scale.&lt;br /&gt;
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
*'''scaleX:''' The new x scale of this component.&lt;br /&gt;
*'''scaleY:''' The new y scale of this component.&lt;br /&gt;
*'''scaleZ:''' The new z scale of this component.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
*'''base''': A string representing what the supplied scale (''scaleX'', ''scaleY'', ''scaleZ'') is relative to. It can be one of the following values:&lt;br /&gt;
**'''parent''': The scale is relative to the parent component.&lt;br /&gt;
**'''root''' (default if not specified): The scale is relative to the root component.&lt;br /&gt;
**'''world''': The scale is a world scale, relative to the world's center of coordinates.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns ''true'' if component scale was set successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example would set the scale of the component. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;scs&amp;quot;, -- short for 'set component scale'&lt;br /&gt;
    function()&lt;br /&gt;
        local theVeh = getPedOccupiedVehicle(localPlayer)&lt;br /&gt;
	local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle&lt;br /&gt;
        if (theVeh) then&lt;br /&gt;
            for k in pairs (getComponent) do&lt;br /&gt;
		local x, y, z = getVehicleComponentScale(theVeh, k) --get the scale of the component&lt;br /&gt;
                setVehicleComponentScale(theVeh, k, x*2, y*2, z*2) -- double the sizes&lt;br /&gt;
            end&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ResetVehicleComponentScale&amp;diff=63116</id>
		<title>ResetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ResetVehicleComponentScale&amp;diff=63116"/>
		<updated>2019-06-27T16:41:47Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|4.0140|1.5.6|14489|&lt;br /&gt;
This function reset to default component scale for [[vehicle]].&lt;br /&gt;
}}&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 resetVehicleComponentScale ( vehicle theVehicle, string theComponent )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:resetComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to reset component scale.&lt;br /&gt;
*'''theComponent:''' A vehicle component (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns ''true'' if the scale of the component was reset, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example would change the scale of the component when the player enters a vehicle and resets it when he exit.  &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onClientVehicleEnter&amp;quot;, getRootElement(),&lt;br /&gt;
 function(player,seat)&lt;br /&gt;
    local getComponent = getVehicleComponents(source) -- returns table with all the components of the vehicle&lt;br /&gt;
    for k in pairs (getComponent) do&lt;br /&gt;
       local x, y, z = getVehicleComponentScale(source, k) --get the scale of the component&lt;br /&gt;
       setVehicleComponentScale(source, k, x*2, y*2, z*2) -- double the sizes&lt;br /&gt;
    end&lt;br /&gt;
 end&lt;br /&gt;
)&lt;br /&gt;
 &lt;br /&gt;
addEventHandler(&amp;quot;onClientVehicleExit&amp;quot;, getRootElement(),&lt;br /&gt;
 function(player, seat)&lt;br /&gt;
    local getComponent = getVehicleComponents(source) -- returns table with all the components of the vehicle&lt;br /&gt;
    for k in pairs (getComponent) do&lt;br /&gt;
       resetVehicleComponentScale(source, k) -- resets the scale of the component&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetVehicleComponentScale&amp;diff=63115</id>
		<title>SetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetVehicleComponentScale&amp;diff=63115"/>
		<updated>2019-06-27T16:38:17Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: version fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0131|1.5.6|14489|&lt;br /&gt;
This function sets the component scale of a [[vehicle]].&lt;br /&gt;
}}&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 setVehicleComponentScale ( vehicle theVehicle, string theComponent, float scaleX, float scaleY, float scaleZ [, string base = &amp;quot;root&amp;quot;] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:setComponentScale||getVehicleComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to set component scale.&lt;br /&gt;
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
*'''scaleX:''' The new x scale of this component.&lt;br /&gt;
*'''scaleY:''' The new y scale of this component.&lt;br /&gt;
*'''scaleZ:''' The new z scale of this component.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
*'''base''': A string representing what the supplied scale (''scaleX'', ''scaleY'', ''scaleZ'') is relative to. It can be one of the following values:&lt;br /&gt;
**'''parent''': The scale is relative to the parent component.&lt;br /&gt;
**'''root''' (default if not specified): The scale is relative to the root component.&lt;br /&gt;
**'''world''': The scale is a world scale, relative to the world's center of coordinates.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns ''true'' if component scale was set successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example would set the scale of the component. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;scs&amp;quot;, -- short for 'set component scale'&lt;br /&gt;
    function()&lt;br /&gt;
        local theVeh = getPedOccupiedVehicle(localPlayer)&lt;br /&gt;
	local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle&lt;br /&gt;
        if (theVeh) then&lt;br /&gt;
            for k in pairs (getComponent) do&lt;br /&gt;
		local x, y, z = getVehicleComponentScale(theVeh, k) --get the scale of the component&lt;br /&gt;
                setVehicleComponentScale(theVeh, k, x*2, y*2, z*2) -- double the sizes&lt;br /&gt;
            end&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetVehicleComponentScale&amp;diff=63114</id>
		<title>GetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetVehicleComponentScale&amp;diff=63114"/>
		<updated>2019-06-27T16:37:51Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: version fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function gets the component scale of a [[vehicle]].&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 getVehicleComponentScale ( vehicle theVehicle, string theComponent [, string base = &amp;quot;root&amp;quot; ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:getComponentScale||setVehicleComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to get component scale of.&lt;br /&gt;
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{New feature/item|3.0141|1.5.6|14489|&lt;br /&gt;
*'''base:''' A string representing what the returned scale is relative to. It can be one of the following values:&lt;br /&gt;
**'''parent:''' The scale is relative to the parent component.&lt;br /&gt;
**'''root:''' The scale  is relative to the root component.&lt;br /&gt;
**'''world:''' The scale is a world scale.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns three ''floats'' indicating the scale of the component, ''x'', ''y'' and ''z'' respectively.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot; name=&amp;quot;This example gets the name and the scale of the components and outputs it in the chat.&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;vcs&amp;quot;, -- short for 'vehicle component scale'&lt;br /&gt;
    function()&lt;br /&gt;
        local theVeh = getPedOccupiedVehicle(localPlayer)&lt;br /&gt;
	local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle&lt;br /&gt;
        if (theVeh) then&lt;br /&gt;
            for k in pairs (getComponent) do&lt;br /&gt;
		local x, y, z = getVehicleComponentScale(theVeh, k)&lt;br /&gt;
                outputChatBox(&amp;quot;Scale of &amp;quot;..k..&amp;quot; is&amp;quot;..x..&amp;quot; &amp;quot;..y..&amp;quot; &amp;quot;..z)&lt;br /&gt;
            end&lt;br /&gt;
        end&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;
==See Also==&lt;br /&gt;
{{Client_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetVehicleComponentScale&amp;diff=63113</id>
		<title>SetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetVehicleComponentScale&amp;diff=63113"/>
		<updated>2019-06-27T16:36:45Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0131|1.6.6|14489|&lt;br /&gt;
This function sets the component scale of a [[vehicle]].&lt;br /&gt;
}}&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 setVehicleComponentScale ( vehicle theVehicle, string theComponent, float scaleX, float scaleY, float scaleZ [, string base = &amp;quot;root&amp;quot;] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:setComponentScale||getVehicleComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to set component scale.&lt;br /&gt;
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
*'''scaleX:''' The new x scale of this component.&lt;br /&gt;
*'''scaleY:''' The new y scale of this component.&lt;br /&gt;
*'''scaleZ:''' The new z scale of this component.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{New feature/item|3.0141|1.4.0|7013|&lt;br /&gt;
*'''base''': A string representing what the supplied scale (''scaleX'', ''scaleY'', ''scaleZ'') is relative to. It can be one of the following values:&lt;br /&gt;
**'''parent''': The scale is relative to the parent component.&lt;br /&gt;
**'''root''' (default if not specified): The scale is relative to the root component.&lt;br /&gt;
**'''world''': The scale is a world scale, relative to the world's center of coordinates.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns ''true'' if component scale was set successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example would set the scale of the component. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;scs&amp;quot;, -- short for 'set component scale'&lt;br /&gt;
    function()&lt;br /&gt;
        local theVeh = getPedOccupiedVehicle(localPlayer)&lt;br /&gt;
	local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle&lt;br /&gt;
        if (theVeh) then&lt;br /&gt;
            for k in pairs (getComponent) do&lt;br /&gt;
		local x, y, z = getVehicleComponentScale(theVeh, k) --get the scale of the component&lt;br /&gt;
                setVehicleComponentScale(theVeh, k, x*2, y*2, z*2) -- double the sizes&lt;br /&gt;
            end&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetVehicleComponentScale&amp;diff=63112</id>
		<title>GetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetVehicleComponentScale&amp;diff=63112"/>
		<updated>2019-06-27T16:36:06Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
This function gets the component scale of a [[vehicle]].&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 getVehicleComponentScale ( vehicle theVehicle, string theComponent [, string base = &amp;quot;root&amp;quot; ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:getComponentScale||setVehicleComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to get component scale of.&lt;br /&gt;
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{New feature/item|3.0141|1.6.6|14489|&lt;br /&gt;
*'''base:''' A string representing what the returned scale is relative to. It can be one of the following values:&lt;br /&gt;
**'''parent:''' The scale is relative to the parent component.&lt;br /&gt;
**'''root:''' The scale  is relative to the root component.&lt;br /&gt;
**'''world:''' The scale is a world scale.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns three ''floats'' indicating the scale of the component, ''x'', ''y'' and ''z'' respectively.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot; name=&amp;quot;This example gets the name and the scale of the components and outputs it in the chat.&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;vcs&amp;quot;, -- short for 'vehicle component scale'&lt;br /&gt;
    function()&lt;br /&gt;
        local theVeh = getPedOccupiedVehicle(localPlayer)&lt;br /&gt;
	local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle&lt;br /&gt;
        if (theVeh) then&lt;br /&gt;
            for k in pairs (getComponent) do&lt;br /&gt;
		local x, y, z = getVehicleComponentScale(theVeh, k)&lt;br /&gt;
                outputChatBox(&amp;quot;Scale of &amp;quot;..k..&amp;quot; is&amp;quot;..x..&amp;quot; &amp;quot;..y..&amp;quot; &amp;quot;..z)&lt;br /&gt;
            end&lt;br /&gt;
        end&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;
==See Also==&lt;br /&gt;
{{Client_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ResetVehicleComponentScale&amp;diff=63111</id>
		<title>ResetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ResetVehicleComponentScale&amp;diff=63111"/>
		<updated>2019-06-27T16:31:43Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Accidentally pasted wrong page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Needs Checking|Missing. r14489.}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ResetVehicleComponentScale&amp;diff=63110</id>
		<title>ResetVehicleComponentScale</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ResetVehicleComponentScale&amp;diff=63110"/>
		<updated>2019-06-27T16:31:16Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0131|1.6.6|14489|&lt;br /&gt;
This function sets the component scale of a [[vehicle]].&lt;br /&gt;
}}&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 setVehicleComponentScale ( vehicle theVehicle, string theComponent, float scaleX, float scaleY, float scaleZ [, string base = &amp;quot;root&amp;quot;] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:setComponentScale||getVehicleComponentScale}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The [[vehicle]] you wish to set component scale.&lt;br /&gt;
*'''theComponent:''' A [[Vehicle_Components|vehicle component]] (this is the frame name from the model file of the component you wish to modify)&lt;br /&gt;
*'''scaleX:''' The new x scale of this component.&lt;br /&gt;
*'''scaleY:''' The new y scale of this component.&lt;br /&gt;
*'''scaleZ:''' The new z scale of this component.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{New feature/item|3.0141|1.4.0|7013|&lt;br /&gt;
*'''base''': A string representing what the supplied scale (''scaleX'', ''scaleY'', ''scaleZ'') is relative to. It can be one of the following values:&lt;br /&gt;
**'''parent''': The scale is relative to the parent component.&lt;br /&gt;
**'''root''' (default if not specified): The scale is relative to the root component.&lt;br /&gt;
**'''world''': The scale is a world scale, relative to the world's center of coordinates.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns=== &lt;br /&gt;
Returns ''true'' if component scale was set successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example would set the scale of the component. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;scs&amp;quot;, -- short for 'set component scale'&lt;br /&gt;
    function()&lt;br /&gt;
        local theVeh = getPedOccupiedVehicle(localPlayer)&lt;br /&gt;
	local getComponent = getVehicleComponents(theVeh) -- returns table with all the components of the vehicle&lt;br /&gt;
        if (theVeh) then&lt;br /&gt;
            for k in pairs (getComponent) do&lt;br /&gt;
		local x, y, z = getVehicleComponentScale(theVeh, k) --get the scale of the component&lt;br /&gt;
                setVehicleComponentScale(theVeh, k, x*2, y*2, z*2) -- double the sizes&lt;br /&gt;
            end&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetVehicleModelDummyPosition&amp;diff=61915</id>
		<title>SetVehicleModelDummyPosition</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetVehicleModelDummyPosition&amp;diff=61915"/>
		<updated>2019-01-10T16:25:37Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Changed example function to one that was supposed to be here&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{New feature/item|3.0155|1.5.6|14406|&lt;br /&gt;
This function sets the position of the dummies contained in a vehicle model. Use [[setVehicleComponentPosition]] to adjust the vehicle component positions.&lt;br /&gt;
}}&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 setVehicleModelDummyPosition ( int modelID, vehicle-dummy dummy, float x, float y, float z )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[Vehicle]].setVehicleModelDummyPosition||getVehicleModelDummyPosition }}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
* '''modelID''': The model ID which you want to apply the change to&lt;br /&gt;
* '''dummy''': The dummy whose position you want to change&lt;br /&gt;
* '''posX''', '''posY''', '''posZ''': The desired position&lt;br /&gt;
&lt;br /&gt;
==Allowed dummies==&lt;br /&gt;
* '''light_front_main:''' Primary front lights position.&lt;br /&gt;
* '''light_rear_main:''' Primary rear lights position.&lt;br /&gt;
* '''light_front_second:''' Secondary front lights position.&lt;br /&gt;
* '''light_rear_second:''' Secondary rear lights position.&lt;br /&gt;
* '''seat_front:''' Front seat position.&lt;br /&gt;
* '''seat_rear:''' Rear seat position.&lt;br /&gt;
* '''exhaust:''' Exhaust fumes start position.&lt;br /&gt;
* '''engine:''' Engine smoke start position.&lt;br /&gt;
* '''gas_cap:''' Vehicle gas cap position (shooting it will explode vehicle)&lt;br /&gt;
* '''trailer_attach:''' Point at which trailers will be attached to vehicle.&lt;br /&gt;
* '''hand_rest:''' (?)Hand rest position.&lt;br /&gt;
* '''exhaust_second:''' Secondary exhaust position (for example in NRG-500)&lt;br /&gt;
* '''wing_airtrail:''' Point from which air trail will show in airplanes, visible while in sharp turns.&lt;br /&gt;
* '''veh_gun:''' Vehicle gun position (ex. Rustler)&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if everything went fine, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Given example will move all the dummies in vehicle that player is sitting in up and down, after he uses /move command.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local dummies = {&lt;br /&gt;
	&amp;quot;light_front_main&amp;quot;,&lt;br /&gt;
	&amp;quot;light_rear_main&amp;quot;,&lt;br /&gt;
	&amp;quot;light_front_second&amp;quot;,&lt;br /&gt;
	&amp;quot;light_rear_second&amp;quot;,&lt;br /&gt;
	&amp;quot;seat_front&amp;quot;,&lt;br /&gt;
	&amp;quot;seat_rear&amp;quot;,&lt;br /&gt;
	&amp;quot;exhaust&amp;quot;,&lt;br /&gt;
	&amp;quot;engine&amp;quot;,&lt;br /&gt;
	&amp;quot;gas_cap&amp;quot;,&lt;br /&gt;
	&amp;quot;trailer_attach&amp;quot;,&lt;br /&gt;
	&amp;quot;hand_rest&amp;quot;,&lt;br /&gt;
	&amp;quot;exhaust_second&amp;quot;,&lt;br /&gt;
	&amp;quot;wing_airtrail&amp;quot;,&lt;br /&gt;
	&amp;quot;veh_gun&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
local cache = {}&lt;br /&gt;
&lt;br /&gt;
function move()&lt;br /&gt;
	local veh = getPedOccupiedVehicle( localPlayer )&lt;br /&gt;
	if not veh then return end&lt;br /&gt;
&lt;br /&gt;
	local model = getElementModel(veh)&lt;br /&gt;
&lt;br /&gt;
	for i,dum in ipairs(dummies) do&lt;br /&gt;
		setVehicleModelDummyPosition(model, dum, cache[dum][1], cache[dum][2], cache[dum][3] + math.sin(getTickCount()/1500))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addCommandHandler( &amp;quot;move&amp;quot;, function()&lt;br /&gt;
	local veh = getPedOccupiedVehicle( localPlayer )&lt;br /&gt;
	if not veh then return end&lt;br /&gt;
	local model = getElementModel(veh)&lt;br /&gt;
&lt;br /&gt;
	for i,dum in ipairs(dummies) do&lt;br /&gt;
		local v = {getVehicleModelDummyPosition(model, dum)}&lt;br /&gt;
		cache[dum] = v&lt;br /&gt;
	end&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;, root, move)&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetVehicleModelDummyPosition&amp;diff=61914</id>
		<title>GetVehicleModelDummyPosition</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetVehicleModelDummyPosition&amp;diff=61914"/>
		<updated>2019-01-10T16:23:44Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{New feature/item|3.0155|1.5.6|14406|&lt;br /&gt;
This function gets position of the dummies contained in a vehicle model.&lt;br /&gt;
}}&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 getVehicleModelDummyPosition ( int modelID, vehicle-dummy dummy )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[Vehicle]].getVehicleModelDummyPosition||setVehicleModelDummyPosition }}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
* '''modelID''': The model ID which you want to apply the change to&lt;br /&gt;
* '''dummy''': The dummy whose position you want to get&lt;br /&gt;
&lt;br /&gt;
==Allowed dummies==&lt;br /&gt;
* '''light_front_main:''' Primary front lights position.&lt;br /&gt;
* '''light_rear_main:''' Primary rear lights position.&lt;br /&gt;
* '''light_front_second:''' Secondary front lights position.&lt;br /&gt;
* '''light_rear_second:''' Secondary rear lights position.&lt;br /&gt;
* '''seat_front:''' Front seat position.&lt;br /&gt;
* '''seat_rear:''' Rear seat position.&lt;br /&gt;
* '''exhaust:''' Exhaust fumes start position.&lt;br /&gt;
* '''engine:''' Engine smoke start position.&lt;br /&gt;
* '''gas_cap:''' Vehicle gas cap position (shooting it will explode vehicle)&lt;br /&gt;
* '''trailer_attach:''' Point at which trailers will be attached to vehicle.&lt;br /&gt;
* '''hand_rest:''' (?)Hand rest position.&lt;br /&gt;
* '''exhaust_second:''' Secondary exhaust position (for example in NRG-500)&lt;br /&gt;
* '''wing_airtrail:''' Point from which air trail will show in airplanes, visible while in sharp turns.&lt;br /&gt;
* '''veh_gun:''' Vehicle gun position (ex. Rustler)&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the position of given dummy if everything went fine, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Given example will draw rectangle over every dummy in vehicle player is currently sitting it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local dummies = {&lt;br /&gt;
	&amp;quot;light_front_main&amp;quot;,&lt;br /&gt;
	&amp;quot;light_rear_main&amp;quot;,&lt;br /&gt;
	&amp;quot;light_front_second&amp;quot;,&lt;br /&gt;
	&amp;quot;light_rear_second&amp;quot;,&lt;br /&gt;
	&amp;quot;seat_front&amp;quot;,&lt;br /&gt;
	&amp;quot;seat_rear&amp;quot;,&lt;br /&gt;
	&amp;quot;exhaust&amp;quot;,&lt;br /&gt;
	&amp;quot;engine&amp;quot;,&lt;br /&gt;
	&amp;quot;gas_cap&amp;quot;,&lt;br /&gt;
	&amp;quot;trailer_attach&amp;quot;,&lt;br /&gt;
	&amp;quot;hand_rest&amp;quot;,&lt;br /&gt;
	&amp;quot;exhaust_second&amp;quot;,&lt;br /&gt;
	&amp;quot;wing_airtrail&amp;quot;,&lt;br /&gt;
	&amp;quot;veh_gun&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function draw()&lt;br /&gt;
	local veh = getPedOccupiedVehicle( localPlayer )&lt;br /&gt;
	if not veh then return end&lt;br /&gt;
&lt;br /&gt;
	local mat = getElementMatrix(veh)&lt;br /&gt;
	local vx,vy,vz = getMatrixPosition(mat)&lt;br /&gt;
	local fx,fy,fz = getMatrixForward(mat)&lt;br /&gt;
	local lx,ly,lz = getMatrixLeft(mat)&lt;br /&gt;
	local ux,uy,uz = getMatrixUp(mat)&lt;br /&gt;
	local model = getElementModel(veh)&lt;br /&gt;
&lt;br /&gt;
	for i,dum in ipairs(dummies) do&lt;br /&gt;
		local v = {getVehicleModelDummyPosition(model, dum)}&lt;br /&gt;
		if v[1] ~= 0 or v[2] ~= 0 or v[3] ~= 0 then&lt;br /&gt;
			local px,py,pz = vx,vy,vz&lt;br /&gt;
			px = px+fx*v[2]+lx*v[1]+ux*v[3]&lt;br /&gt;
			py = py+fy*v[2]+ly*v[1]+uy*v[3]&lt;br /&gt;
			pz = pz+fz*v[2]+lz*v[1]+uz*v[3]&lt;br /&gt;
&lt;br /&gt;
			local sx,sy = getScreenFromWorldPosition( px,py,pz,0,false )&lt;br /&gt;
			if sx then&lt;br /&gt;
				dxDrawRectangle( sx-10, sy-10, 20, 20, v[4] )&lt;br /&gt;
				dxDrawText(i-1, sx-5,sy-5,20,20,tocolor( 0,0,0 ))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, root, draw)&lt;br /&gt;
&lt;br /&gt;
-- Utility functions, not related to main functionality&lt;br /&gt;
function getElementMatrix(element)&lt;br /&gt;
    local rx, ry, rz = getElementRotation(element, &amp;quot;ZXY&amp;quot;)&lt;br /&gt;
    rx, ry, rz = math.rad(rx), math.rad(ry), math.rad(rz)&lt;br /&gt;
    local matrix = {}&lt;br /&gt;
    matrix[1] = {}&lt;br /&gt;
    matrix[1][1] = math.cos(rz)*math.cos(ry) - math.sin(rz)*math.sin(rx)*math.sin(ry)&lt;br /&gt;
    matrix[1][2] = math.cos(ry)*math.sin(rz) + math.cos(rz)*math.sin(rx)*math.sin(ry)&lt;br /&gt;
    matrix[1][3] = -math.cos(rx)*math.sin(ry)&lt;br /&gt;
    matrix[1][4] = 1&lt;br /&gt;
&lt;br /&gt;
    matrix[2] = {}&lt;br /&gt;
    matrix[2][1] = -math.cos(rx)*math.sin(rz)&lt;br /&gt;
    matrix[2][2] = math.cos(rz)*math.cos(rx)&lt;br /&gt;
    matrix[2][3] = math.sin(rx)&lt;br /&gt;
    matrix[2][4] = 1&lt;br /&gt;
&lt;br /&gt;
    matrix[3] = {}&lt;br /&gt;
    matrix[3][1] = math.cos(rz)*math.sin(ry) + math.cos(ry)*math.sin(rz)*math.sin(rx)&lt;br /&gt;
    matrix[3][2] = math.sin(rz)*math.sin(ry) - math.cos(rz)*math.cos(ry)*math.sin(rx)&lt;br /&gt;
    matrix[3][3] = math.cos(rx)*math.cos(ry)&lt;br /&gt;
    matrix[3][4] = 1&lt;br /&gt;
&lt;br /&gt;
    matrix[4] = {}&lt;br /&gt;
    matrix[4][1], matrix[4][2], matrix[4][3] = getElementPosition(element)&lt;br /&gt;
    matrix[4][4] = 1&lt;br /&gt;
&lt;br /&gt;
    return matrix&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getMatrixLeft(m)&lt;br /&gt;
    return m[1][1], m[1][2], m[1][3]&lt;br /&gt;
end&lt;br /&gt;
function getMatrixForward(m)&lt;br /&gt;
    return m[2][1], m[2][2], m[2][3]&lt;br /&gt;
end&lt;br /&gt;
function getMatrixUp(m)&lt;br /&gt;
    return m[3][1], m[3][2], m[3][3]&lt;br /&gt;
end&lt;br /&gt;
function getMatrixPosition(m)&lt;br /&gt;
    return m[4][1], m[4][2], m[4][3]&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetVehicleModelDummyPosition&amp;diff=61913</id>
		<title>SetVehicleModelDummyPosition</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetVehicleModelDummyPosition&amp;diff=61913"/>
		<updated>2019-01-10T16:21:20Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{New feature/item|3.0155|1.5.6|14406|&lt;br /&gt;
This function sets the position of the dummies contained in a vehicle model. Use [[setVehicleComponentPosition]] to adjust the vehicle component positions.&lt;br /&gt;
}}&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 setVehicleModelDummyPosition ( int modelID, vehicle-dummy dummy, float x, float y, float z )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[Vehicle]].setVehicleModelDummyPosition||getVehicleModelDummyPosition }}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
* '''modelID''': The model ID which you want to apply the change to&lt;br /&gt;
* '''dummy''': The dummy whose position you want to change&lt;br /&gt;
* '''posX''', '''posY''', '''posZ''': The desired position&lt;br /&gt;
&lt;br /&gt;
==Allowed dummies==&lt;br /&gt;
* '''light_front_main:''' Primary front lights position.&lt;br /&gt;
* '''light_rear_main:''' Primary rear lights position.&lt;br /&gt;
* '''light_front_second:''' Secondary front lights position.&lt;br /&gt;
* '''light_rear_second:''' Secondary rear lights position.&lt;br /&gt;
* '''seat_front:''' Front seat position.&lt;br /&gt;
* '''seat_rear:''' Rear seat position.&lt;br /&gt;
* '''exhaust:''' Exhaust fumes start position.&lt;br /&gt;
* '''engine:''' Engine smoke start position.&lt;br /&gt;
* '''gas_cap:''' Vehicle gas cap position (shooting it will explode vehicle)&lt;br /&gt;
* '''trailer_attach:''' Point at which trailers will be attached to vehicle.&lt;br /&gt;
* '''hand_rest:''' (?)Hand rest position.&lt;br /&gt;
* '''exhaust_second:''' Secondary exhaust position (for example in NRG-500)&lt;br /&gt;
* '''wing_airtrail:''' Point from which air trail will show in airplanes, visible while in sharp turns.&lt;br /&gt;
* '''veh_gun:''' Vehicle gun position (ex. Rustler)&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if everything went fine, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Given example will draw rectangle over every dummy in vehicle player is currently sitting it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local dummies = {&lt;br /&gt;
	&amp;quot;light_front_main&amp;quot;,&lt;br /&gt;
	&amp;quot;light_rear_main&amp;quot;,&lt;br /&gt;
	&amp;quot;light_front_second&amp;quot;,&lt;br /&gt;
	&amp;quot;light_rear_second&amp;quot;,&lt;br /&gt;
	&amp;quot;seat_front&amp;quot;,&lt;br /&gt;
	&amp;quot;seat_rear&amp;quot;,&lt;br /&gt;
	&amp;quot;exhaust&amp;quot;,&lt;br /&gt;
	&amp;quot;engine&amp;quot;,&lt;br /&gt;
	&amp;quot;gas_cap&amp;quot;,&lt;br /&gt;
	&amp;quot;trailer_attach&amp;quot;,&lt;br /&gt;
	&amp;quot;hand_rest&amp;quot;,&lt;br /&gt;
	&amp;quot;exhaust_second&amp;quot;,&lt;br /&gt;
	&amp;quot;wing_airtrail&amp;quot;,&lt;br /&gt;
	&amp;quot;veh_gun&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function draw()&lt;br /&gt;
	local veh = getPedOccupiedVehicle( localPlayer )&lt;br /&gt;
	if not veh then return end&lt;br /&gt;
&lt;br /&gt;
	local mat = getElementMatrix(veh)&lt;br /&gt;
	local vx,vy,vz = getMatrixPosition(mat)&lt;br /&gt;
	local fx,fy,fz = getMatrixForward(mat)&lt;br /&gt;
	local lx,ly,lz = getMatrixLeft(mat)&lt;br /&gt;
	local ux,uy,uz = getMatrixUp(mat)&lt;br /&gt;
	local model = getElementModel(veh)&lt;br /&gt;
&lt;br /&gt;
	for i,dum in ipairs(dummies) do&lt;br /&gt;
		local v = {getVehicleModelDummyPosition(model, dum)}&lt;br /&gt;
		if v[1] ~= 0 or v[2] ~= 0 or v[3] ~= 0 then&lt;br /&gt;
			local px,py,pz = vx,vy,vz&lt;br /&gt;
			px = px+fx*v[2]+lx*v[1]+ux*v[3]&lt;br /&gt;
			py = py+fy*v[2]+ly*v[1]+uy*v[3]&lt;br /&gt;
			pz = pz+fz*v[2]+lz*v[1]+uz*v[3]&lt;br /&gt;
&lt;br /&gt;
			local sx,sy = getScreenFromWorldPosition( px,py,pz,0,false )&lt;br /&gt;
			if sx then&lt;br /&gt;
				dxDrawRectangle( sx-10, sy-10, 20, 20, v[4] )&lt;br /&gt;
				dxDrawText(i-1, sx-5,sy-5,20,20,tocolor( 0,0,0 ))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, root, draw)&lt;br /&gt;
&lt;br /&gt;
-- Utility functions, not related to main functionality&lt;br /&gt;
function getElementMatrix(element)&lt;br /&gt;
    local rx, ry, rz = getElementRotation(element, &amp;quot;ZXY&amp;quot;)&lt;br /&gt;
    rx, ry, rz = math.rad(rx), math.rad(ry), math.rad(rz)&lt;br /&gt;
    local matrix = {}&lt;br /&gt;
    matrix[1] = {}&lt;br /&gt;
    matrix[1][1] = math.cos(rz)*math.cos(ry) - math.sin(rz)*math.sin(rx)*math.sin(ry)&lt;br /&gt;
    matrix[1][2] = math.cos(ry)*math.sin(rz) + math.cos(rz)*math.sin(rx)*math.sin(ry)&lt;br /&gt;
    matrix[1][3] = -math.cos(rx)*math.sin(ry)&lt;br /&gt;
    matrix[1][4] = 1&lt;br /&gt;
&lt;br /&gt;
    matrix[2] = {}&lt;br /&gt;
    matrix[2][1] = -math.cos(rx)*math.sin(rz)&lt;br /&gt;
    matrix[2][2] = math.cos(rz)*math.cos(rx)&lt;br /&gt;
    matrix[2][3] = math.sin(rx)&lt;br /&gt;
    matrix[2][4] = 1&lt;br /&gt;
&lt;br /&gt;
    matrix[3] = {}&lt;br /&gt;
    matrix[3][1] = math.cos(rz)*math.sin(ry) + math.cos(ry)*math.sin(rz)*math.sin(rx)&lt;br /&gt;
    matrix[3][2] = math.sin(rz)*math.sin(ry) - math.cos(rz)*math.cos(ry)*math.sin(rx)&lt;br /&gt;
    matrix[3][3] = math.cos(rx)*math.cos(ry)&lt;br /&gt;
    matrix[3][4] = 1&lt;br /&gt;
&lt;br /&gt;
    matrix[4] = {}&lt;br /&gt;
    matrix[4][1], matrix[4][2], matrix[4][3] = getElementPosition(element)&lt;br /&gt;
    matrix[4][4] = 1&lt;br /&gt;
&lt;br /&gt;
    return matrix&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getMatrixLeft(m)&lt;br /&gt;
    return m[1][1], m[1][2], m[1][3]&lt;br /&gt;
end&lt;br /&gt;
function getMatrixForward(m)&lt;br /&gt;
    return m[2][1], m[2][2], m[2][3]&lt;br /&gt;
end&lt;br /&gt;
function getMatrixUp(m)&lt;br /&gt;
    return m[3][1], m[3][2], m[3][3]&lt;br /&gt;
end&lt;br /&gt;
function getMatrixPosition(m)&lt;br /&gt;
    return m[4][1], m[4][2], m[4][3]&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_vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawMaterialPrimitive&amp;diff=58701</id>
		<title>DxDrawMaterialPrimitive</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawMaterialPrimitive&amp;diff=58701"/>
		<updated>2018-08-31T13:03:47Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version of dxDrawMaterialPrimitive, needs an example to be added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}} &lt;br /&gt;
This function draws a 2D primitive shape with material applied to it across the screen - rendered for one frame. This should be used in conjunction with [[onClientRender]] in order to display continuously.&lt;br /&gt;
If image file is used, it should ideally have dimensions that are a power of two, to prevent possible blurring.&lt;br /&gt;
Power of two: 2px, 4px, 8px, 16px, 32px, 64px, 128px, 256px, 512px, 1024px...&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 dxDrawPrimitive ( primitiveType pType, mixed material, bool postGUI, table vertice1, [table vertice2, ...] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
* '''pType:''' Type of primitive to be drawn.&lt;br /&gt;
* '''image:''' Either a [[material]] element or a [[filepath]] of the image which is going to be drawn. (.dds images are also supported). Image files should ideally have dimensions that are a power of two, to prevent possible blurring. Use a texture created with [[dxCreateTexture]] to '''speed up drawing'''.&lt;br /&gt;
* '''postGUI:''' A bool representing whether the line should be drawn on top of or behind any ingame GUI (rendered by CEGUI).&lt;br /&gt;
* '''vertices:''' Tables representing each primitive vertice, required amount of them is determined by primitive type.&lt;br /&gt;
&lt;br /&gt;
==Allowed types==&lt;br /&gt;
[[Image:MTAsa_primitives.png|thumb|240px|Availible primitive types.]]&lt;br /&gt;
More info on primitives may be found on [https://msdn.microsoft.com/en-us/library/windows/desktop/bb147291(v=vs.85).aspx this MSDN site] &lt;br /&gt;
* '''pointlist:''' Renders the vertices as a collection of isolated points.&lt;br /&gt;
* '''linelist:''' Renders the vertices as a list of isolated straight line segments.&lt;br /&gt;
* '''linestrip:''' Renders the vertices as a single polyline.&lt;br /&gt;
* '''trianglelist:''' Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle.&lt;br /&gt;
* '''trianglestrip:''' Renders the vertices as a triangle strip.&lt;br /&gt;
* '''trianglefan:''' Renders the vertices as a triangle fan.&lt;br /&gt;
&lt;br /&gt;
==Vertices format==&lt;br /&gt;
* '''posX:''' An float representing the absolute X position of the vertice, represented by pixels on the screen.&lt;br /&gt;
* '''posY:''' An float representing the absolute Y position of the vertice, represented by pixels on the screen.&lt;br /&gt;
* '''color (optional):''' An integer of the hex color, produced using [[tocolor]] or 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue). If it's not specified, white color is used.&lt;br /&gt;
* '''u:''' An float representing  the relative X coordinate of the top left corner of the material which should be drawn from image&lt;br /&gt;
* '''v:''' An float representing  the relative Y coordinate of the top left corner of the material which should be drawn from image&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a ''true'' if the operation was successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawPrimitive&amp;diff=58700</id>
		<title>DxDrawPrimitive</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawPrimitive&amp;diff=58700"/>
		<updated>2018-08-31T12:38:02Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Initial version of dxDrawPrimitive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}} &lt;br /&gt;
This function draws a 2D primitive shape across the screen - rendered for one frame. This should be used in conjunction with [[onClientRender]] in order to display continuously.&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 dxDrawPrimitive ( primitiveType pType, bool postGUI, table vertice1, [table vertice2, ...] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
* '''pType:''' Type of primitive to be drawn.&lt;br /&gt;
* '''postGUI:''' A bool representing whether the line should be drawn on top of or behind any ingame GUI (rendered by CEGUI).&lt;br /&gt;
* '''vertices:''' Tables representing each primitive vertice, required amount of them is determined by primitive type.&lt;br /&gt;
&lt;br /&gt;
==Allowed types==&lt;br /&gt;
[[Image:MTAsa_primitives.png|thumb|240px|Availible primitive types.]]&lt;br /&gt;
More info on primitives may be found on [https://msdn.microsoft.com/en-us/library/windows/desktop/bb147291(v=vs.85).aspx this MSDN site] &lt;br /&gt;
* '''pointlist:''' Renders the vertices as a collection of isolated points.&lt;br /&gt;
* '''linelist:''' Renders the vertices as a list of isolated straight line segments.&lt;br /&gt;
* '''linestrip:''' Renders the vertices as a single polyline.&lt;br /&gt;
* '''trianglelist:''' Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle.&lt;br /&gt;
* '''trianglestrip:''' Renders the vertices as a triangle strip.&lt;br /&gt;
* '''trianglefan:''' Renders the vertices as a triangle fan.&lt;br /&gt;
&lt;br /&gt;
==Vertices format==&lt;br /&gt;
* '''posX:''' An float representing the absolute X position of the vertice, represented by pixels on the screen.&lt;br /&gt;
* '''posY:''' An float representing the absolute Y position of the vertice, represented by pixels on the screen.&lt;br /&gt;
* '''color (optional):''' An integer of the hex color, produced using [[tocolor]] or 0xAARRGGBB (AA = alpha, RR = red, GG = green, BB = blue). If it's not specified, white color is used.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a ''true'' if the operation was successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This is a small example that creates trianglefan primitive with vertices in places that user clicks. It assigns every vertice random color.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local vertices = {}&lt;br /&gt;
function onClick(btn,state,x,y)&lt;br /&gt;
	if btn ~= &amp;quot;left&amp;quot; then return end&lt;br /&gt;
	if state ~= &amp;quot;up&amp;quot; then return end&lt;br /&gt;
	local vertice = {x, y, tocolor(math.random(0,255), math.random(0,255), math.random(0,255))}&lt;br /&gt;
	table.insert(vertices, vertice)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientClick&amp;quot;, root, onClick)&lt;br /&gt;
&lt;br /&gt;
function draw()&lt;br /&gt;
	dxDrawPrimitive(&amp;quot;trianglefan&amp;quot;, true, unpack(vertices))&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientPreRender&amp;quot;, root, draw)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58699</id>
		<title>File:MTAsa primitives.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58699"/>
		<updated>2018-08-31T12:31:34Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Forkerer uploaded a new version of File:MTAsa primitives.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;primitive types availible for dxDrawPrimitive/dxDrawMaterialPrimitive&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58698</id>
		<title>File:MTAsa primitives.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58698"/>
		<updated>2018-08-31T12:29:41Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Forkerer uploaded a new version of File:MTAsa primitives.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;primitive types availible for dxDrawPrimitive/dxDrawMaterialPrimitive&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58697</id>
		<title>File:MTAsa primitives.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58697"/>
		<updated>2018-08-31T12:28:50Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Forkerer uploaded a new version of File:MTAsa primitives.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;primitive types availible for dxDrawPrimitive/dxDrawMaterialPrimitive&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58696</id>
		<title>File:MTAsa primitives.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:MTAsa_primitives.png&amp;diff=58696"/>
		<updated>2018-08-31T12:26:51Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: primitive types availible for dxDrawPrimitive/dxDrawMaterialPrimitive&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;primitive types availible for dxDrawPrimitive/dxDrawMaterialPrimitive&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetVehicleAdjustableProperty&amp;diff=54901</id>
		<title>GetVehicleAdjustableProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetVehicleAdjustableProperty&amp;diff=54901"/>
		<updated>2018-05-10T13:43:25Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Fixed wrong argument description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
Use this to get the value of a vehicles adjustable property. This property relates to movable parts of a model, for example hydra jets or dump truck tray.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int getVehicleAdjustableProperty ( vehicle theVehicle )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theVehicle:''' The vehicle you want to get the adjustable property of. &lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a value from 0 upwards representing adjustment. 0 is default position. Maximum varies per vehicle, for example hydra horizontal flight is 5000, while dump truck tray max tilt is 2500. Or returns ''false'' if the vehicle passed to the function is invalid.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example creates a command, so if the local player wants to know how much they tilt/adjusted a vehicle adjustable property&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;addCommandHandler(&amp;quot;getAdjust&amp;quot;,function()&lt;br /&gt;
      if isPedInVehicle(localPlayer) then&lt;br /&gt;
           local adjusted = getVehicleAdjustableProperty(getPedOccupiedVehicle(localPlayer))&lt;br /&gt;
           if adjusted then&lt;br /&gt;
                outputChatBox(adjusted)&lt;br /&gt;
           else&lt;br /&gt;
                outputChatBox(&amp;quot;Sorry, but your vehicle doesn't have any adjustable properties!&amp;quot;)&lt;br /&gt;
           end&lt;br /&gt;
      else&lt;br /&gt;
           outputChatBox(&amp;quot;Sorry, but you have to be in a vehicle to use this command!&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 vehicle functions}}&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetEffectDensity&amp;diff=52066</id>
		<title>SetEffectDensity</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetEffectDensity&amp;diff=52066"/>
		<updated>2017-08-22T20:43:10Z</updated>

		<summary type="html">&lt;p&gt;Forkerer: Added warning about variable upper limit.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0140|1.4|6208|&lt;br /&gt;
This function sets the density of a specified [[effect]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|Upper density limit of this function depends on client FX Quality setting.&lt;br /&gt;
The limit is 1 for Low, 1.5 for Medium, and 2 for High/Very high.|true}}&lt;br /&gt;
&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 setEffectDensity ( effect theEffect, float density )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[effect]]:setDensity|density|getEffectDensity}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theEffect:''' The [[effect]] to change the speed of.&lt;br /&gt;
*'''density:''' The level of density (from 0 to 2).&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the density was succesfully changed, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
This example adds command ''sed'' that creates spray effect at the player's position and sets its density to 2.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;sed&amp;quot;, &lt;br /&gt;
function (cmd)&lt;br /&gt;
   local x, y, z = getElementPosition(localPlayer)&lt;br /&gt;
   local effect = createEffect(&amp;quot;spraycan&amp;quot;, x, y, z)&lt;br /&gt;
   setEffectDensity(effect, 2)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Client_Effects_functions}}&lt;br /&gt;
[[ru:setEffectDensity]]&lt;/div&gt;</summary>
		<author><name>Forkerer</name></author>
	</entry>
</feed>