<?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=Samr46</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=Samr46"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Samr46"/>
	<updated>2026-04-22T07:42:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=82108</id>
		<title>SetWorldSpecialPropertyEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=82108"/>
		<updated>2025-06-05T10:38:58Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add new property (vehicle_engine_autostart)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22195|Added also as a server-side function. Previously only available as a client-side function.}}&lt;br /&gt;
&lt;br /&gt;
Enables or disables a special world property.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
It's recommended to use server-side function with appropriate [[mtaserver.conf#minclientversion|minclientversion]] for properties like &amp;quot;'''underworldwarp'''&amp;quot;, &amp;quot;'''burnflippedcars'''&amp;quot;, &amp;quot;'''extendedwatercannons'''&amp;quot;, &amp;quot;'''flyingcomponents'''&amp;quot;, &amp;quot;'''vehicle_engine_autostart'''&amp;quot; to avoid possible data desynchronization.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setWorldSpecialPropertyEnabled ( string propname, bool enable )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||isWorldSpecialPropertyEnabled}}&lt;br /&gt;
[[File:Randomfoliage.jpeg|frame|right|A photo demonstrating ''randomfoliage'' enabled and disabled.]]&lt;br /&gt;
[[File:Roadsignstext.png|frame|right|A photo demonstrating ''roadsignstext'' enabled and disabled.]]&lt;br /&gt;
[[File:Extendedwatercannons.png|frame|right|A photo demonstrating ''extendedwatercannons'' enabled and disabled.]]&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''propname:''' the name of the property to set. Possible values are:&lt;br /&gt;
**'''hovercars''' - equivalent of the JBGVNB cheat, and allows cars to drive on water. (default: false)&lt;br /&gt;
**'''aircars''' - equivalent of the RIPAZHA cheat, and allows cars to fly. (default: false)&lt;br /&gt;
**'''extrabunny''' - equivalent of the CJPHONEHOME or JHJOECW cheat, and allows you to bunny hop on bicycles much higher. (default: false)&lt;br /&gt;
**'''extrajump''' - equivalent of the KANGAROO cheat, and allows you to jump on foot much higher. (default: false)&lt;br /&gt;
**'''randomfoliage''' - toggle randomly generated foliage on the GTA:SA map (default: true)&lt;br /&gt;
**'''snipermoon''' - toggle the GTA:SA easter egg, which increases the size of the moon every time you shoot it with a sniper rifle (default: false)&lt;br /&gt;
**'''extraairresistance''' - toggle the vehicle speed limit on cross-country roads (default: true)&lt;br /&gt;
**{{New feature/item|3.0156|1.5.5|12286|'''underworldwarp''' - toggle warp of peds and vehicles when fall under map (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21125|'''vehiclesunglare''' - toggle the vehicle sun glare effect (default: false) }}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21313| '''coronaztest''' - disable big sun lensflare effect (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|21919| '''watercreatures''' - toggle randomly generated underwater creatures (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22195| '''burnflippedcars''' - toggle the vehicle to burn when upside down (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22199| '''fireballdestruct''' - toggle the aircraft model destruction on explosion ([[Media:FireballDestruct.jpg|preview]]) (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22430| '''roadsignstext''' - toggle the drawing of text on road signs. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22485| '''extendedwatercannons''' - Increases the default limit of water cannons used at the same time from 3 to 30. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22596| '''tunnelweatherblend''' - toggle the weather blending effect when the player is in the tunnel. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22815| '''ignorefirestate''' - Allows aiming when the player is on fire and entering burning vehicles. (default: false)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22909| '''flyingcomponents''' - This property determines whether the detached components such as doors, bumpers, etc., should respawn after a vehicle is recreated (change model or variant) or streamed in. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|23223| '''vehicleburnexplosions''' - This property toggles creation of additional explosions ([[Explosion_types|type 2 - rocket]]) when plane or helicopter is burning. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|23237| '''vehicle_engine_autostart''' - This property toggles automatic vehicle engine state behavior. (default: true)&amp;lt;br&amp;gt;If you set it to ''false'' then vehicle engine will not start on driver enter and will not stop on driver exit. To control the engine you need to use [[SetVehicleEngineState|setVehicleEngineState]]. Helicopter rotors will spin only if the engine is on (with or without driver inside).}}&lt;br /&gt;
*'''enable:''' whether or not to enable the property.&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;
&lt;br /&gt;
This code allows you to enable/disable certain property using '''true''' or '''false'''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientResourceStart()&lt;br /&gt;
	local worldSpecialProperties = {&lt;br /&gt;
		[&amp;quot;hovercars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;aircars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrabunny&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrajump&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;randomfoliage&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;snipermoon&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extraairresistance&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;underworldwarp&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;vehiclesunglare&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;coronaztest&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;watercreatures&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;burnflippedcars&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;fireballdestruct&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;roadsignstext&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;extendedwatercannons&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;tunnelweatherblend&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;ignorefirestate&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;flyingcomponents&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;vehicleburnexplosions&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;vehicle_engine_autostart&amp;quot;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for propertyName, propertyState in pairs(worldSpecialProperties) do&lt;br /&gt;
		setWorldSpecialPropertyEnabled(propertyName, propertyState)&lt;br /&gt;
	end&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;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.5-3.12286|Added &amp;quot;underworldwarp&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-1.21125|Added &amp;quot;vehiclesunglare&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-9.21313|Added &amp;quot;coronaztest&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.21919|Added &amp;quot;watercreatures&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22195|Added &amp;quot;burnflippedcars&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22199|Added &amp;quot;fireballdestruct&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22430|Added &amp;quot;roadsignstext&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22485|Added &amp;quot;extenedwatercannons&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22596|Added &amp;quot;tunnelweatherblend&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22815|Added &amp;quot;ignorefirestate&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22909|Added &amp;quot;flyingcomponents&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.23223|Added &amp;quot;vehicleburnexplosions&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.23237|Added &amp;quot;vehicle_engine_autostart&amp;quot; property}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{World functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=82018</id>
		<title>SetWorldSpecialPropertyEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=82018"/>
		<updated>2025-05-28T15:28:20Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add new property (vehicleburnexplosions)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22195|Added also as a server-side function. Previously only available as a client-side function.}}&lt;br /&gt;
&lt;br /&gt;
Enables or disables a special world property.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
It's recommended to use server-side function with appropriate [[mtaserver.conf#minclientversion|minclientversion]] for properties like &amp;quot;'''underworldwarp'''&amp;quot;, &amp;quot;'''burnflippedcars'''&amp;quot;, &amp;quot;'''extendedwatercannons'''&amp;quot;, &amp;quot;'''flyingcomponents'''&amp;quot; to avoid possible data desynchronization.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setWorldSpecialPropertyEnabled ( string propname, bool enable )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||isWorldSpecialPropertyEnabled}}&lt;br /&gt;
[[File:Randomfoliage.jpeg|frame|right|A photo demonstrating ''randomfoliage'' enabled and disabled.]]&lt;br /&gt;
[[File:Roadsignstext.png|frame|right|A photo demonstrating ''roadsignstext'' enabled and disabled.]]&lt;br /&gt;
[[File:Extendedwatercannons.png|frame|right|A photo demonstrating ''extendedwatercannons'' enabled and disabled.]]&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''propname:''' the name of the property to set. Possible values are:&lt;br /&gt;
**'''hovercars''' - equivalent of the JBGVNB cheat, and allows cars to drive on water. (default: false)&lt;br /&gt;
**'''aircars''' - equivalent of the RIPAZHA cheat, and allows cars to fly. (default: false)&lt;br /&gt;
**'''extrabunny''' - equivalent of the CJPHONEHOME or JHJOECW cheat, and allows you to bunny hop on bicycles much higher. (default: false)&lt;br /&gt;
**'''extrajump''' - equivalent of the KANGAROO cheat, and allows you to jump on foot much higher. (default: false)&lt;br /&gt;
**'''randomfoliage''' - toggle randomly generated foliage on the GTA:SA map (default: true)&lt;br /&gt;
**'''snipermoon''' - toggle the GTA:SA easter egg, which increases the size of the moon every time you shoot it with a sniper rifle (default: false)&lt;br /&gt;
**'''extraairresistance''' - toggle the vehicle speed limit on cross-country roads (default: true)&lt;br /&gt;
**{{New feature/item|3.0156|1.5.5|12286|'''underworldwarp''' - toggle warp of peds and vehicles when fall under map (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21125|'''vehiclesunglare''' - toggle the vehicle sun glare effect (default: false) }}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21313| '''coronaztest''' - disable big sun lensflare effect (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|21919| '''watercreatures''' - toggle randomly generated underwater creatures (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22195| '''burnflippedcars''' - toggle the vehicle to burn when upside down (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22199| '''fireballdestruct''' - toggle the aircraft model destruction on explosion ([[Media:FireballDestruct.jpg|preview]]) (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22430| '''roadsignstext''' - toggle the drawing of text on road signs. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22485| '''extendedwatercannons''' - Increases the default limit of water cannons used at the same time from 3 to 30. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22596| '''tunnelweatherblend''' - toggle the weather blending effect when the player is in the tunnel. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22815| '''ignorefirestate''' - Allows aiming when the player is on fire and entering burning vehicles. (default: false)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22909| '''flyingcomponents''' - This property determines whether the detached components such as doors, bumpers, etc., should respawn after a vehicle is recreated (change model or variant) or streamed in. (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|23223| '''vehicleburnexplosions''' - This property toggles creation of additional explosions ([[Explosion_types|type 2 - rocket]]) when plane or helicopter is burning. (default: true)}}&lt;br /&gt;
*'''enable:''' whether or not to enable the property.&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;
&lt;br /&gt;
This code allows you to enable/disable certain property using '''true''' or '''false'''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientResourceStart()&lt;br /&gt;
	local worldSpecialProperties = {&lt;br /&gt;
		[&amp;quot;hovercars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;aircars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrabunny&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrajump&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;randomfoliage&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;snipermoon&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extraairresistance&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;underworldwarp&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;vehiclesunglare&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;coronaztest&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;watercreatures&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;burnflippedcars&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;fireballdestruct&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;roadsignstext&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;extendedwatercannons&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;tunnelweatherblend&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;ignorefirestate&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;flyingcomponents&amp;quot;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for propertyName, propertyState in pairs(worldSpecialProperties) do&lt;br /&gt;
		setWorldSpecialPropertyEnabled(propertyName, propertyState)&lt;br /&gt;
	end&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;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.5-3.12286|Added &amp;quot;underworldwarp&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-1.21125|Added &amp;quot;vehiclesunglare&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-9.21313|Added &amp;quot;coronaztest&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.21919|Added &amp;quot;watercreatures&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22195|Added &amp;quot;burnflippedcars&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22199|Added &amp;quot;fireballdestruct&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22430|Added &amp;quot;roadsignstext&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22485|Added &amp;quot;extenedwatercannons&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22596|Added &amp;quot;tunnelweatherblend&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22815|Added &amp;quot;ignorefirestate&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22909|Added &amp;quot;flyingcomponents&amp;quot; property}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{World functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DecodeString&amp;diff=81995</id>
		<title>DecodeString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DecodeString&amp;diff=81995"/>
		<updated>2025-05-17T22:39:23Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add new zlib decoding feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{New feature/item|3.0156|1.5.5|11849|&lt;br /&gt;
This function decodes an encoded [[string]] using the specified algorithm. The counterpart of this function is [[encodeString]].&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;
string decodeString ( string algorithm, string input, [table options, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''algorithm:''' The algorithm to use.&lt;br /&gt;
*'''input:''' The input to decode.&lt;br /&gt;
*'''options:''' A [[table]] with options and other necessary data for the algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Options for each algorithm===&lt;br /&gt;
* ''tea'' ([https://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm Tiny Encryption Algorithm])&lt;br /&gt;
** '''key''': a key to decode the input with.&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20898|&lt;br /&gt;
* ''aes128'' ([https://en.wikipedia.org/wiki/Advanced_Encryption_Standard Advanced Encryption Standard] in CTR mode)&lt;br /&gt;
** '''key''': a key to decode the input with.&lt;br /&gt;
** '''iv''': the initialization vector that was generated by [[encodeString]] for this combination of data and encryption algorithm.&lt;br /&gt;
}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21055|&lt;br /&gt;
* ''rsa'' ([https://en.wikipedia.org/wiki/RSA_(cryptosystem) Rivest-Shamir-Adleman] in OAEP with SHA-1 mode)&lt;br /&gt;
** '''key''': a private key to decode the input.&lt;br /&gt;
|21055}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|22408|&lt;br /&gt;
* ''base64'' ([https://en.wikipedia.org/wiki/Base64 Base64 Encoding Algorithm])&lt;br /&gt;
** '''variant''': a string that defines the encoding variant. (Currently only &amp;quot;URL&amp;quot; is available)&lt;br /&gt;
|22408}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|22408|&lt;br /&gt;
* ''base32'' ([https://en.wikipedia.org/wiki/Base32 Base32 Encoding Algorithm])&lt;br /&gt;
** '''variant''': a string that defines the encoding variant. (Currently only &amp;quot;Hex&amp;quot; is available)&lt;br /&gt;
|22408}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|23219|&lt;br /&gt;
* ''zlib'' ([https://en.wikipedia.org/wiki/Zlib Zlib Compression Algorithm])&lt;br /&gt;
** '''format''': a string or number that defines compression format. (gzip, zlib, raw or [https://www.zlib.net/manual.html#Advanced window size number]) (default: auto) (please note that automatic determination of format may not be reliable in some cases due to the nature of compression algorithm)&lt;br /&gt;
|23219}}&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''callback:''' providing a callback will run this function asynchronously, the arguments to the callback are the same as the returned values below.&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the decoded string if successful, ''false'' otherwise. If a callback was provided, the decoded string is argument to the callback.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Adds an ''/decode'' command in which you can provide an algorithm, key and data to decode.&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;
addCommandHandler(&amp;quot;decode&amp;quot;, &lt;br /&gt;
    function(player, _, algorithm, key, ...)&lt;br /&gt;
        if algorithm and key then&lt;br /&gt;
            local text = table.concat({...}, &amp;quot; &amp;quot;)&lt;br /&gt;
            if type(text) == &amp;quot;string&amp;quot; and text ~= &amp;quot;&amp;quot; then&lt;br /&gt;
                local decoded = decodeString(algorithm, text, { key = key })&lt;br /&gt;
                if decoded then&lt;br /&gt;
                    outputChatBox(&amp;quot;The result of &amp;quot; .. algorithm .. &amp;quot; decoding is: &amp;quot; .. decoded, player)&lt;br /&gt;
                else&lt;br /&gt;
                    outputChatBox(&amp;quot;Failed to decode. Make sure that all arguments are valid.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
                end&lt;br /&gt;
            else&lt;br /&gt;
                outputChatBox(&amp;quot;Please specify text in the command.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
            end&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox(&amp;quot;Invalid algorithm and/or key.&amp;quot;, player, 255, 0, 0)&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;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EncodeString&amp;diff=81994</id>
		<title>EncodeString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EncodeString&amp;diff=81994"/>
		<updated>2025-05-17T22:32:30Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add new zlib encoding feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{New feature/item|3.0156|1.5.5|11849|&lt;br /&gt;
This function encodes a [[string]] using the specified algorithm. The counterpart of this function is [[decodeString]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|If it doesn't matter which algorithm you use for the encoding, keep in mind that ''aes128'' uses hardware acceleration so it may outperform the ''tea'' algorithm on most processors.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string encodeString ( string algorithm, string input, [table options, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''algorithm:''' The algorithm to use.&lt;br /&gt;
*'''input:''' The input to encode.&lt;br /&gt;
*'''options:''' A [[table]] with options and other necessary data for the algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Options for each algorithm===&lt;br /&gt;
* ''tea'' ([https://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm Tiny Encryption Algorithm])&lt;br /&gt;
** '''key''': a key to encode the input with.&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20898|&lt;br /&gt;
* ''aes128'' ([https://en.wikipedia.org/wiki/Advanced_Encryption_Standard Advanced Encryption Standard] in CTR mode)&lt;br /&gt;
** '''key''': a key to encode the input with (must be 16 characters long).&lt;br /&gt;
|20898}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21055|&lt;br /&gt;
* ''rsa'' ([https://en.wikipedia.org/wiki/RSA_(cryptosystem) Rivest-Shamir-Adleman] in OAEP with SHA-1 mode)&lt;br /&gt;
** '''key''': a public key to encode the input. (use [[generateKeyPair]] to create a new private and public key)&lt;br /&gt;
|21055}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|22408|&lt;br /&gt;
* ''base64'' ([https://en.wikipedia.org/wiki/Base64 Base64 Encoding Algorithm])&lt;br /&gt;
** '''variant''': a string that defines the encoding variant. (Currently only &amp;quot;URL&amp;quot; is available)&lt;br /&gt;
|22408}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|22408|&lt;br /&gt;
* ''base32'' ([https://en.wikipedia.org/wiki/Base32 Base32 Encoding Algorithm])&lt;br /&gt;
** '''variant''': a string that defines the encoding variant. (Currently only &amp;quot;Hex&amp;quot; is available)&lt;br /&gt;
|22408}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|23219|&lt;br /&gt;
* ''zlib'' ([https://en.wikipedia.org/wiki/Zlib Zlib Compression Algorithm])&lt;br /&gt;
** '''compression''': a number that defines compression level. (0-9) (9 - the best) (default: 9)&lt;br /&gt;
** '''format''': a string or number that defines compression format. (gzip, zlib, raw or [https://www.zlib.net/manual.html#Advanced window size number]) (default: gzip)&lt;br /&gt;
** '''strategy''': a string that defines compression strategy. (default, filtered, huffman, rle, fixed)&lt;br /&gt;
|23219}}&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''callback:''' providing a callback will run this function asynchronously, the arguments to the callback are the same as the returned values below.&lt;br /&gt;
===Returns for each algorithm===&lt;br /&gt;
{{New items|3.0159|1.5.8|&lt;br /&gt;
* ''aes128'' &lt;br /&gt;
** '''encodedString''': the encoded string if successful, ''false'' otherwise. If a callback was provided, ''true'' is returned immediately, and the encoded string is passed as an argument to the callback.&lt;br /&gt;
** '''iv''' ([https://en.wikipedia.org/wiki/Initialization_vector Initialization vector]): this is a string generated by the encryption algorithm that is needed to decrypt the message by [[decodeString]]. If a callback was provided, ''true'' is returned immediately, and the ''iv'' is passed as an argument to the callback.&lt;br /&gt;
|20898}}&lt;br /&gt;
{{New items|3.0159|1.6.1|&lt;br /&gt;
* ''tea'' &lt;br /&gt;
* ''rsa'' &lt;br /&gt;
* ''base64'' &lt;br /&gt;
* ''base32'' &lt;br /&gt;
* ''zlib'' &lt;br /&gt;
** '''encodedString''': the encoded string if successful, ''false'' otherwise. If a callback was provided, ''true'' is returned immediately, and the encoded string is passed as an argument to the callback.&lt;br /&gt;
|22408}}&lt;br /&gt;
&lt;br /&gt;
==Examples== &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;
Adds an ''/encode'' command in which you can provide an algorithm, key and data to encode. Below is the example provided as both server-side and client-side variations.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;encode&amp;quot;, function(player, _, algorithm, key, ...)&lt;br /&gt;
    if not algorithm or not key then&lt;br /&gt;
        outputChatBox(&amp;quot;Invalid algorithm and/or key.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
    local text = table.concat({...}, &amp;quot; &amp;quot;)&lt;br /&gt;
    if type(text) ~= &amp;quot;string&amp;quot; or text == &amp;quot;&amp;quot; then&lt;br /&gt;
        outputChatBox(&amp;quot;Please specify text in the command.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
    local encoded = encodeString(algorithm, text, { key = key })&lt;br /&gt;
    if not encoded then&lt;br /&gt;
        outputChatBox(&amp;quot;Failed to encode. Make sure that all arguments are valid.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    outputChatBox(&amp;quot;The result of &amp;quot; .. algorithm .. &amp;quot; encoding is: &amp;quot; .. encoded, player)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows you how to use the RSA encryption with a simple string message.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local private, public = generateKeyPair(&amp;quot;rsa&amp;quot;, { size = 2048 })&lt;br /&gt;
&lt;br /&gt;
local input = &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
local encrypted = encodeString(&amp;quot;rsa&amp;quot;, input, { key = public })&lt;br /&gt;
local decrypted = decodeString(&amp;quot;rsa&amp;quot;, encrypted, { key = private })&lt;br /&gt;
&lt;br /&gt;
outputServerLog(&amp;quot;RSA test: &amp;quot;.. tostring(input == decrypted))&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;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=EncodeString&amp;diff=81993</id>
		<title>EncodeString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=EncodeString&amp;diff=81993"/>
		<updated>2025-05-17T22:31:18Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add new zlib encoding feature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{New feature/item|3.0156|1.5.5|11849|&lt;br /&gt;
This function encodes a [[string]] using the specified algorithm. The counterpart of this function is [[decodeString]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|If it doesn't matter which algorithm you use for the encoding, keep in mind that ''aes128'' uses hardware acceleration so it may outperform the ''tea'' algorithm on most processors.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string encodeString ( string algorithm, string input, [table options, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''algorithm:''' The algorithm to use.&lt;br /&gt;
*'''input:''' The input to encode.&lt;br /&gt;
*'''options:''' A [[table]] with options and other necessary data for the algorithm, as detailed below.&lt;br /&gt;
&lt;br /&gt;
===Options for each algorithm===&lt;br /&gt;
* ''tea'' ([https://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm Tiny Encryption Algorithm])&lt;br /&gt;
** '''key''': a key to encode the input with.&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20898|&lt;br /&gt;
* ''aes128'' ([https://en.wikipedia.org/wiki/Advanced_Encryption_Standard Advanced Encryption Standard] in CTR mode)&lt;br /&gt;
** '''key''': a key to encode the input with (must be 16 characters long).&lt;br /&gt;
|20898}}&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21055|&lt;br /&gt;
* ''rsa'' ([https://en.wikipedia.org/wiki/RSA_(cryptosystem) Rivest-Shamir-Adleman] in OAEP with SHA-1 mode)&lt;br /&gt;
** '''key''': a public key to encode the input. (use [[generateKeyPair]] to create a new private and public key)&lt;br /&gt;
|21055}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|22408|&lt;br /&gt;
* ''base64'' ([https://en.wikipedia.org/wiki/Base64 Base64 Encoding Algorithm])&lt;br /&gt;
** '''variant''': a string that defines the encoding variant. (Currently only &amp;quot;URL&amp;quot; is available)&lt;br /&gt;
|22408}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|22408|&lt;br /&gt;
* ''base32'' ([https://en.wikipedia.org/wiki/Base32 Base32 Encoding Algorithm])&lt;br /&gt;
** '''variant''': a string that defines the encoding variant. (Currently only &amp;quot;Hex&amp;quot; is available)&lt;br /&gt;
|22408}}&lt;br /&gt;
{{Added feature/item|1.6.0|1.6.1|23219|&lt;br /&gt;
* ''zlib'' ([https://en.wikipedia.org/wiki/Zlib Zlib Compression Algorithm])&lt;br /&gt;
** '''compression''': a number that defines compression level. (0-9) (9 - the best) (default: 9)&lt;br /&gt;
** '''format''': a string or number that defines compression format. (gzip, zlib, raw or [https://www.zlib.net/manual.html#Advanced window size number]) (default: gzip)&lt;br /&gt;
** '''strategy''': a string that defines compression strategy. (default, filtered, huffman, rle, fixed)&lt;br /&gt;
|23219}}&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''callback:''' providing a callback will run this function asynchronously, the arguments to the callback are the same as the returned values below.&lt;br /&gt;
===Returns for each algorithm===&lt;br /&gt;
{{New items|3.0159|1.5.8|&lt;br /&gt;
* ''aes128'' &lt;br /&gt;
** '''encodedString''': the encoded string if successful, ''false'' otherwise. If a callback was provided, ''true'' is returned immediately, and the encoded string is passed as an argument to the callback.&lt;br /&gt;
** '''iv''' ([https://en.wikipedia.org/wiki/Initialization_vector Initialization vector]): this is a string generated by the encryption algorithm that is needed to decrypt the message by [[decodeString]]. If a callback was provided, ''true'' is returned immediately, and the ''iv'' is passed as an argument to the callback.&lt;br /&gt;
|20898}}&lt;br /&gt;
{{New items|3.0159|1.6.1|&lt;br /&gt;
* ''tea'' &lt;br /&gt;
* ''rsa'' &lt;br /&gt;
* ''base64'' &lt;br /&gt;
* ''base32'' &lt;br /&gt;
** '''encodedString''': the encoded string if successful, ''false'' otherwise. If a callback was provided, ''true'' is returned immediately, and the encoded string is passed as an argument to the callback.&lt;br /&gt;
|22408}}&lt;br /&gt;
&lt;br /&gt;
==Examples== &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;
Adds an ''/encode'' command in which you can provide an algorithm, key and data to encode. Below is the example provided as both server-side and client-side variations.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;encode&amp;quot;, function(player, _, algorithm, key, ...)&lt;br /&gt;
    if not algorithm or not key then&lt;br /&gt;
        outputChatBox(&amp;quot;Invalid algorithm and/or key.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
    local text = table.concat({...}, &amp;quot; &amp;quot;)&lt;br /&gt;
    if type(text) ~= &amp;quot;string&amp;quot; or text == &amp;quot;&amp;quot; then&lt;br /&gt;
        outputChatBox(&amp;quot;Please specify text in the command.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
    local encoded = encodeString(algorithm, text, { key = key })&lt;br /&gt;
    if not encoded then&lt;br /&gt;
        outputChatBox(&amp;quot;Failed to encode. Make sure that all arguments are valid.&amp;quot;, player, 255, 0, 0)&lt;br /&gt;
        return&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    outputChatBox(&amp;quot;The result of &amp;quot; .. algorithm .. &amp;quot; encoding is: &amp;quot; .. encoded, player)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows you how to use the RSA encryption with a simple string message.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local private, public = generateKeyPair(&amp;quot;rsa&amp;quot;, { size = 2048 })&lt;br /&gt;
&lt;br /&gt;
local input = &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
local encrypted = encodeString(&amp;quot;rsa&amp;quot;, input, { key = public })&lt;br /&gt;
local decrypted = decodeString(&amp;quot;rsa&amp;quot;, encrypted, { key = private })&lt;br /&gt;
&lt;br /&gt;
outputServerLog(&amp;quot;RSA test: &amp;quot;.. tostring(input == decrypted))&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;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetWorldProperty&amp;diff=79737</id>
		<title>GetWorldProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetWorldProperty&amp;diff=79737"/>
		<updated>2024-07-01T17:21:49Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Use Client world functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|This function is used to get the values of time cycle and weather related properties.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
mixed getWorldProperty ( string property )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||setWorldProperty}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''property:''' The property you wish to retrieve.&lt;br /&gt;
{{World Properties}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the value of property represented by either 1 or 3 numbers (RGB, FLOAT, INT) if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example prints the value of AmbientColor:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local r, g, b = getWorldProperty(&amp;quot;AmbientColor&amp;quot;)&lt;br /&gt;
outputChatBox(&amp;quot;Ambient Color: &amp;quot;..table.concat({r, g, b}, &amp;quot;, &amp;quot;))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.6.0-9.22592|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client world functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ResetWorldProperty&amp;diff=79736</id>
		<title>ResetWorldProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ResetWorldProperty&amp;diff=79736"/>
		<updated>2024-07-01T17:21:34Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Use Client world functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|This function is used to reset the values of time cycle and weather related properties.}}&lt;br /&gt;
{{Note|Some properties (like '''RainFog''' and '''Sandstorm''') are not reset immediately. The game resets it smoothly over small period of time.}}&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 resetWorldProperty ( string property )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''property:''' The property you wish to retrieve.&lt;br /&gt;
{{World Properties}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.6.0-9.22592|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client world functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWorldProperty&amp;diff=79735</id>
		<title>SetWorldProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWorldProperty&amp;diff=79735"/>
		<updated>2024-07-01T17:21:03Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Use Client world functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|This function is used to override time cycle and weather related properties. Preview (album): https://imgur.com/a/jeUxx7L}}&lt;br /&gt;
{{Note|This function only adds remaining time cycle properties. You need to use existing world functions to override other properties (like sun color).}}&lt;br /&gt;
{{Tip|This function can be used to implement custom time cycles and other advanced weather features. It allows you to override values set by the game for weathers (timecyc.dat).&lt;br /&gt;
The downside of overriding is the need to implement custom blending (to change weather properties over time creating night / day cycle).}}&lt;br /&gt;
{{Tip|Test resource: [https://github.com/multitheftauto/mtasa-blue/files/11375576/worldprops.zip worldprops.zip]}}&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 setWorldProperty ( string property, var value [, var value, var value] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||getWorldProperty}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''property:''' The property you wish to override.&lt;br /&gt;
{{World Properties}}&lt;br /&gt;
*'''value:''' At least one value has to be provided.&lt;br /&gt;
&lt;br /&gt;
 Example arguments for&amp;lt;/br&amp;gt;RGB: 255, 255, 255&amp;lt;/br&amp;gt;FLOAT: 0.5&amp;lt;/br&amp;gt;INT: 100&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 makes volumetric shadows darker:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
setWorldProperty(&amp;quot;ShadowStrength&amp;quot;, 500)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This example turns off street lights:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
setWorldProperty(&amp;quot;SpriteBrightness&amp;quot;, 0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.6.0-9.22592|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client world functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:World_functions&amp;diff=79729</id>
		<title>Template:World functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:World_functions&amp;diff=79729"/>
		<updated>2024-06-30T16:00:24Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add new world property functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Server-side'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getJetpackWeaponEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setJetpackWeaponEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Client-side'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWorldProperty]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWorldProperty]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldProperty]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Shared'''&lt;br /&gt;
{{Shared_world_functions}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Client_world_functions&amp;diff=79728</id>
		<title>Template:Client world functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Client_world_functions&amp;diff=79728"/>
		<updated>2024-06-30T15:51:10Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add new world property functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[createSWATRope]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getBirdsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22188|&lt;br /&gt;
&amp;lt;li&amp;gt;[[getColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[getCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGarageBoundingBox]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGaragePosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGarageSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGroundPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getInteriorFurnitureEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20675|&lt;br /&gt;
&amp;lt;li&amp;gt;[[getRoofPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[getScreenFromWorldPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWorldFromScreenPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWorldProperty]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[isAmbientSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isLineOfSightClear]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isWorldSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22219|&lt;br /&gt;
&amp;lt;li&amp;gt;[[processLineAgainstMesh]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[processLineOfSight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetAmbientSounds]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetBlurLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWorldProperty]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWorldSounds]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAmbientSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setBirdsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorFurnitureEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorSoundsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldProperty]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|21902|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGrainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|21902|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGrainMultiplier]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[testLineAgainstWater]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Shared'''&lt;br /&gt;
{{Shared_world_functions}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ResetWorldProperty&amp;diff=79727</id>
		<title>ResetWorldProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ResetWorldProperty&amp;diff=79727"/>
		<updated>2024-06-30T15:46:50Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add resetWorldProperty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|This function is used to reset the values of time cycle and weather related properties.}}&lt;br /&gt;
{{Note|Some properties (like '''RainFog''' and '''Sandstorm''') are not reset immediately. The game resets it smoothly over small period of time.}}&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 resetWorldProperty ( string property )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''property:''' The property you wish to retrieve.&lt;br /&gt;
{{World Properties}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.6.0-9.22592|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{World functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetWorldProperty&amp;diff=79726</id>
		<title>GetWorldProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetWorldProperty&amp;diff=79726"/>
		<updated>2024-06-30T15:46:01Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add getWorldProperty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|This function is used to get the values of time cycle and weather related properties.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
mixed getWorldProperty ( string property )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||setWorldProperty}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''property:''' The property you wish to retrieve.&lt;br /&gt;
{{World Properties}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the value of property represented by either 1 or 3 numbers (RGB, FLOAT, INT) if successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example prints the value of AmbientColor:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local r, g, b = getWorldProperty(&amp;quot;AmbientColor&amp;quot;)&lt;br /&gt;
outputChatBox(&amp;quot;Ambient Color: &amp;quot;..table.concat({r, g, b}, &amp;quot;, &amp;quot;))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.6.0-9.22592|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{World functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWorldProperty&amp;diff=79725</id>
		<title>SetWorldProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWorldProperty&amp;diff=79725"/>
		<updated>2024-06-30T15:44:54Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add setWorldProperty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22592|This function is used to override time cycle and weather related properties. Preview (album): https://imgur.com/a/jeUxx7L}}&lt;br /&gt;
{{Note|This function only adds remaining time cycle properties. You need to use existing world functions to override other properties (like sun color).}}&lt;br /&gt;
{{Tip|This function can be used to implement custom time cycles and other advanced weather features. It allows you to override values set by the game for weathers (timecyc.dat).&lt;br /&gt;
The downside of overriding is the need to implement custom blending (to change weather properties over time creating night / day cycle).}}&lt;br /&gt;
{{Tip|Test resource: [https://github.com/multitheftauto/mtasa-blue/files/11375576/worldprops.zip worldprops.zip]}}&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 setWorldProperty ( string property, var value [, var value, var value] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||getWorldProperty}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''property:''' The property you wish to override.&lt;br /&gt;
{{World Properties}}&lt;br /&gt;
*'''value:''' At least one value has to be provided.&lt;br /&gt;
&lt;br /&gt;
 Example arguments for&amp;lt;/br&amp;gt;RGB: 255, 255, 255&amp;lt;/br&amp;gt;FLOAT: 0.5&amp;lt;/br&amp;gt;INT: 100&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 makes volumetric shadows darker:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
setWorldProperty(&amp;quot;ShadowStrength&amp;quot;, 500)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This example turns off street lights:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
setWorldProperty(&amp;quot;SpriteBrightness&amp;quot;, 0)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.6.0-9.22592|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{World functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:World_Properties&amp;diff=79724</id>
		<title>Template:World Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:World_Properties&amp;diff=79724"/>
		<updated>2024-06-30T13:36:13Z</updated>

		<summary type="html">&lt;p&gt;Samr46: World Properties Table (initial release)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot; cellspacing=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;background:#afafaf;&amp;quot;|Property&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;background:#afafaf;&amp;quot;|Type&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;background:#afafaf;&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''AmbientColor'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|RGB&lt;br /&gt;
| |The color of ambient light on map objects (including custom objects)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''AmbientObjColor'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|RGB&lt;br /&gt;
| |The color of ambient light on dynamically created elements (peds, vehicles)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''DirectionalColor'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|RGB&lt;br /&gt;
| |The color of direct light on dynamically created elements (peds, vehicles)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''Illumination'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Multiplier for the directional light (DirectionalColor)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''SpriteSize'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Point lights corona size (traffic lights)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''SpriteBrightness'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Point lights corona brightness (also affects light on ground for light poles)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''LightsOnGround'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Point lights ground reflection brightness (traffic lights)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''PoleShadowStrength'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|INT&lt;br /&gt;
| |Pole shadows alpha (used if volumetric shadows are disabled)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''ShadowStrength'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|INT&lt;br /&gt;
| |Shadows alpha (all shadows)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''ShadowsOffset'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Shadows height&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''BottomCloudsColor'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|RGB&lt;br /&gt;
| |Bottom (normal) clouds color&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''CloudsAlpha'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|INT&lt;br /&gt;
| |Bottom (normal) clouds alpha&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''LowCloudsColor'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|RGB&lt;br /&gt;
| |Low (skyline) clouds color (dependent on game hours)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''WetRoads'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Wet roads weather effect (noticeable during driving)&amp;lt;/br&amp;gt;Turns on lights on ground during daytime&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''Foggyness'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Adds light fog effect for headlights and turns on lights on ground during daytime&amp;lt;/br&amp;gt;Also affects skyline clouds and shadows visibility&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''Fog'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Fog weather effect alpha&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''RainFog'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Rain fog weather effect alpha (different fog; used in rain weathers) (reset is smooth)&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''WaterFog'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Water fog alpha&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''Rainbow'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Rainbow alpha&lt;br /&gt;
|-&lt;br /&gt;
| scope=&amp;quot;row&amp;quot;|'''Sandstorm'''&lt;br /&gt;
| align=&amp;quot;center&amp;quot;|FLOAT&lt;br /&gt;
| |Sandstorm sound volume (reset is smooth)&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=77624</id>
		<title>SetWorldSpecialPropertyEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=77624"/>
		<updated>2023-09-10T17:40:45Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Added &amp;quot;fireballdestruct&amp;quot; property&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22195|Added also as a server-side function. Previously only available as a client-side function.}}&lt;br /&gt;
&lt;br /&gt;
Enables or disables a special world property.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
It's recommended to use server-side function with appropriate [[mtaserver.conf#minclientversion|minclientversion]] for properties like &amp;quot;'''underworldwarp'''&amp;quot;, &amp;quot;'''burnflippedcars'''&amp;quot; to avoid possible data desynchronization.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setWorldSpecialPropertyEnabled ( string propname, bool enable )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||isWorldSpecialPropertyEnabled}}&lt;br /&gt;
[[File:Randomfoliage.jpeg|frame|right|A photo demonstrating ''randomfoliage'' enabled and disabled.]]&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''propname:''' the name of the property to set. Possible values are:&lt;br /&gt;
**'''hovercars''' - equivalent of the JBGVNB cheat, and allows cars to drive on water. (default: false)&lt;br /&gt;
**'''aircars''' - equivalent of the RIPAZHA cheat, and allows cars to fly. (default: false)&lt;br /&gt;
**'''extrabunny''' - equivalent of the CJPHONEHOME or JHJOECW cheat, and allows you to bunny hop on bicycles much higher. (default: false)&lt;br /&gt;
**'''extrajump''' - equivalent of the KANGAROO cheat, and allows you to jump on foot much higher. (default: false)&lt;br /&gt;
**'''randomfoliage''' - toggle randomly generated foliage on the GTA:SA map (default: true)&lt;br /&gt;
**'''snipermoon''' - toggle the GTA:SA easter egg, which increases the size of the moon every time you shoot it with a sniper rifle (default: false)&lt;br /&gt;
**'''extraairresistance''' - toggle the vehicle speed limit on cross-country roads (default: true)&lt;br /&gt;
**{{New feature/item|3.0156|1.5.5|12286|'''underworldwarp''' - toggle warp of peds and vehicles when fall under map (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21125|'''vehiclesunglare''' - toggle the vehicle sun glare effect (default: false) }}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21313| '''coronaztest''' - disable big sun lensflare effect (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|21919| '''watercreatures''' - toggle randomly generated underwater creatures (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22195| '''burnflippedcars''' - toggle the vehicle to burn when upside down (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22199| '''fireballdestruct''' - toggle the aircraft model destruction on explosion ([[Media:FireballDestruct.jpg|preview]]) (default: true) }}&lt;br /&gt;
*'''enable:''' whether or not to enable the property.&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;
&lt;br /&gt;
This code allows you to enable/disable certain property using '''true''' or '''false'''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientResourceStart()&lt;br /&gt;
	local worldSpecialProperties = {&lt;br /&gt;
		[&amp;quot;hovercars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;aircars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrabunny&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrajump&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;randomfoliage&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;snipermoon&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extraairresistance&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;underworldwarp&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;vehiclesunglare&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;coronaztest&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;watercreatures&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;burnflippedcars&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;fireballdestruct&amp;quot;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for propertyName, propertyState in pairs(worldSpecialProperties) do&lt;br /&gt;
		setWorldSpecialPropertyEnabled(propertyName, propertyState)&lt;br /&gt;
	end&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;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.5-3.12286|Added &amp;quot;underworldwarp&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-1.21125|Added &amp;quot;vehiclesunglare&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-9.21313|Added &amp;quot;coronaztest&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.21919|Added &amp;quot;watercreatures&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22195|Added &amp;quot;burnflippedcars&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22199|Added &amp;quot;fireballdestruct&amp;quot; property}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Shared world functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:FireballDestruct.jpg&amp;diff=77623</id>
		<title>File:FireballDestruct.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:FireballDestruct.jpg&amp;diff=77623"/>
		<updated>2023-09-10T17:36:10Z</updated>

		<summary type="html">&lt;p&gt;Samr46: fireballdestruct&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
fireballdestruct&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Client_world_functions&amp;diff=77621</id>
		<title>Template:Client world functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Client_world_functions&amp;diff=77621"/>
		<updated>2023-09-09T08:48:16Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Undo revision 77620 by Samr46 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[areTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[createSWATRope]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getAircraftMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getBirdsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22188|&lt;br /&gt;
&amp;lt;li&amp;gt;[[getColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[getCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGarageBoundingBox]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGaragePosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGarageSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGroundPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getInteriorFurnitureEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getInteriorSoundsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getJetpackMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getPlayerBlurLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20675|&lt;br /&gt;
&amp;lt;li&amp;gt;[[getRoofPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[getScreenFromWorldPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWorldFromScreenPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getZoneName]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isAmbientSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isLineOfSightClear]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isWorldSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isWorldSpecialPropertyEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[processLineOfSight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[removeWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetAmbientSounds]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetBlurLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWorldSounds]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreAllWorldModels]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAircraftMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAmbientSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setBirdsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorFurnitureEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorSoundsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setJetpackMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setPlayerBlurLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeatherBlended]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldSpecialPropertyEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|21902|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGrainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|21902|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGrainMultiplier]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[testLineAgainstWater]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Client_world_functions&amp;diff=77620</id>
		<title>Template:Client world functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Client_world_functions&amp;diff=77620"/>
		<updated>2023-09-09T08:46:21Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Remove is/setWorldSpecialPropertyEnabled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[areTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[createSWATRope]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getAircraftMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getBirdsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22188|&lt;br /&gt;
&amp;lt;li&amp;gt;[[getColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[getCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGarageBoundingBox]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGaragePosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGarageSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGroundPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getInteriorFurnitureEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getInteriorSoundsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getJetpackMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getPlayerBlurLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20675|&lt;br /&gt;
&amp;lt;li&amp;gt;[[getRoofPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[getScreenFromWorldPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWorldFromScreenPosition]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getZoneName]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isAmbientSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isLineOfSightClear]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isWorldSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[processLineOfSight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[removeWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetAmbientSounds]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetBlurLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWorldSounds]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreAllWorldModels]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAircraftMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAmbientSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setBirdsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setCoronaReflectionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorFurnitureEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorSoundsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setJetpackMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setNearClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setPedsLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setPlayerBlurLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setVehiclesLODDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeatherBlended]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldSoundEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|21902|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGrainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|21902|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGrainMultiplier]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[testLineAgainstWater]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:World_functions&amp;diff=77619</id>
		<title>Template:World functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:World_functions&amp;diff=77619"/>
		<updated>2023-09-09T08:44:17Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add is/setWorldSpecialPropertyEnabled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[areTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getJetpackMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getJetpackWeaponEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New items|3.0161|1.6.0|&lt;br /&gt;
&amp;lt;li&amp;gt;[[isWorldSpecialPropertyEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
|22195}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[getZoneName]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[removeWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20718|&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreAllWorldModels]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20718|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setColorFilter]]&amp;lt;/li&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorSoundsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setJetpackWeaponEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeatherBlended]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
{{New items|3.0161|1.6.0|&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldSpecialPropertyEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
|22195}}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Shared_world_functions&amp;diff=77618</id>
		<title>Template:Shared world functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Shared_world_functions&amp;diff=77618"/>
		<updated>2023-09-09T08:42:05Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add is/setWorldSpecialPropertyEnabled&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[areTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getJetpackMaxHeight]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isWorldSpecialPropertyEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[getZoneName]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[isGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[removeWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[resetWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreAllWorldModels]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[restoreWorldModel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setAircraftMaxVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setCloudsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFarClipDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setFogDistance]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGameSpeed]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGarageOpen]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setGravity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setHeatHaze]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setInteriorSoundsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMinuteDuration]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setMoonSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setOcclusionsEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setRainLevel]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSkyGradient]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunColor]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setSunSize]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTime]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightState]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setTrafficLightsLocked]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeather]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWeatherBlended]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWindVelocity]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[setWorldSpecialPropertyEnabled]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsWorldSpecialPropertyEnabled&amp;diff=77617</id>
		<title>IsWorldSpecialPropertyEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsWorldSpecialPropertyEnabled&amp;diff=77617"/>
		<updated>2023-09-09T08:34:51Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Added to server-side&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22195|Added also as a server-side function. Previously only available as a client-side function.}}&lt;br /&gt;
&lt;br /&gt;
Checks if a special world property (cheat) is enabled or not.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isWorldSpecialPropertyEnabled ( string propname )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||setWorldSpecialPropertyEnabled}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''propname:''' the name of the property to retrieve. Possible values are listed on [[SetWorldSpecialPropertyEnabled]].&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the property is enabled, ''false'' if it is disabled or the specified property name is invalid.&lt;br /&gt;
&lt;br /&gt;
==Example==&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;
This example detects any cheaters using these cheats on your server and sends them to hell, or you could kick them if you trigger a server event which does that.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function clientCheatScan()&lt;br /&gt;
        glp = getLocalPlayer()&lt;br /&gt;
	if isWorldSpecialPropertyEnabled(&amp;quot;aircars&amp;quot;) then&lt;br /&gt;
		clientCheat()&lt;br /&gt;
	end&lt;br /&gt;
	if isWorldSpecialPropertyEnabled(&amp;quot;hovercars&amp;quot;) then&lt;br /&gt;
		clientCheat()&lt;br /&gt;
	end&lt;br /&gt;
	if isWorldSpecialPropertyEnabled(&amp;quot;extrabunny&amp;quot;) then&lt;br /&gt;
		clientCheat()&lt;br /&gt;
	end&lt;br /&gt;
	if isWorldSpecialPropertyEnabled(&amp;quot;extrajump&amp;quot;) then&lt;br /&gt;
		clientCheat()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
setTimer(clientCheatScan, 15000, 0)&lt;br /&gt;
&lt;br /&gt;
function clientCheat() -- This function will send them to hell.&lt;br /&gt;
	fadeCamera(false, 1, 255, 0, 0)&lt;br /&gt;
	x,y,z = getElementPosition(glp)&lt;br /&gt;
	createExplosion(x,y,z, 1)&lt;br /&gt;
	toggleAllControls(false, true, true)&lt;br /&gt;
	createMarker(x,y,z, &amp;quot;cylinder&amp;quot;, 1, 1, 1, 1)&lt;br /&gt;
	setTimer(clientCheat, 200, 1)&lt;br /&gt;
	outputChatBox(&amp;quot;WELCOME TO CHEATERS HELL LMAO!&amp;quot;)&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;
{{Shared world functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=77616</id>
		<title>SetWorldSpecialPropertyEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=77616"/>
		<updated>2023-09-09T08:32:51Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Added to server-side + &amp;quot;burnflippedcars&amp;quot; property&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22195|Added also as a server-side function. Previously only available as a client-side function.}}&lt;br /&gt;
&lt;br /&gt;
Enables or disables a special world property.&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
It's recommended to use server-side function with appropriate [[mtaserver.conf#minclientversion|minclientversion]] for properties like &amp;quot;'''underworldwarp'''&amp;quot;, &amp;quot;'''burnflippedcars'''&amp;quot; to avoid possible data desynchronization.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setWorldSpecialPropertyEnabled ( string propname, bool enable )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||isWorldSpecialPropertyEnabled}}&lt;br /&gt;
[[File:Randomfoliage.jpeg|frame|right|A photo demonstrating ''randomfoliage'' enabled and disabled.]]&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''propname:''' the name of the property to set. Possible values are:&lt;br /&gt;
**'''hovercars''' - equivalent of the JBGVNB cheat, and allows cars to drive on water. (default: false)&lt;br /&gt;
**'''aircars''' - equivalent of the RIPAZHA cheat, and allows cars to fly. (default: false)&lt;br /&gt;
**'''extrabunny''' - equivalent of the CJPHONEHOME or JHJOECW cheat, and allows you to bunny hop on bicycles much higher. (default: false)&lt;br /&gt;
**'''extrajump''' - equivalent of the KANGAROO cheat, and allows you to jump on foot much higher. (default: false)&lt;br /&gt;
**'''randomfoliage''' - toggle randomly generated foliage on the GTA:SA map (default: true)&lt;br /&gt;
**'''snipermoon''' - toggle the GTA:SA easter egg, which increases the size of the moon every time you shoot it with a sniper rifle (default: false)&lt;br /&gt;
**'''extraairresistance''' - toggle the vehicle speed limit on cross-country roads (default: true)&lt;br /&gt;
**{{New feature/item|3.0156|1.5.5|12286|'''underworldwarp''' - toggle warp of peds and vehicles when fall under map (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21125|'''vehiclesunglare''' - toggle the vehicle sun glare effect (default: false) }}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21313| '''coronaztest''' - disable big sun lensflare effect (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|21919| '''watercreatures''' - toggle randomly generated underwater creatures (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|22195| '''burnflippedcars''' - toggle the vehicle to burn when upside down (default: true) }}&lt;br /&gt;
*'''enable:''' whether or not to enable the property.&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;
&lt;br /&gt;
This code allows you to enable/disable certain property using '''true''' or '''false'''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientResourceStart()&lt;br /&gt;
	local worldSpecialProperties = {&lt;br /&gt;
		[&amp;quot;hovercars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;aircars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrabunny&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrajump&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;randomfoliage&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;snipermoon&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extraairresistance&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;underworldwarp&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;vehiclesunglare&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;coronaztest&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;watercreatures&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;burnflippedcars&amp;quot;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for propertyName, propertyState in pairs(worldSpecialProperties) do&lt;br /&gt;
		setWorldSpecialPropertyEnabled(propertyName, propertyState)&lt;br /&gt;
	end&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;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.5-3.12286|Added &amp;quot;underworldwarp&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-1.21125|Added &amp;quot;vehiclesunglare&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-9.21313|Added &amp;quot;coronaztest&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.21919|Added &amp;quot;watercreatures&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22195|Added &amp;quot;burnflippedcars&amp;quot; property}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Shared world functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxGetTexturePixels&amp;diff=77535</id>
		<title>DxGetTexturePixels</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxGetTexturePixels&amp;diff=77535"/>
		<updated>2023-08-29T14:47:19Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function fetches the [[Texture_pixels|pixels]] from a [[texture]] element. It can be used with a standard texture, render target or screen source.&lt;br /&gt;
{{Important Note|dxGetTexturePixels will not work on a screen source or render target if the player has disabled screen upload.}}&lt;br /&gt;
{{Note|&lt;br /&gt;
*This function is slow and not something you want to be doing once a frame.&lt;br /&gt;
*It is slower when reading pixels from a render target or screen source.&lt;br /&gt;
*And is very slow indeed if the texture format is not ''' 'argb' ''' (unless the native ''''dds'''' format is used with correct options).&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;
string dxGetTexturePixels ( [ int surfaceIndex = 0, ] element texture [, string pixelsFormat = &amp;quot;plain&amp;quot; [, string textureFormat = &amp;quot;unknown&amp;quot;] [, bool mipmaps = true] ] [, int x = 0, int y = 0, int width = 0, int height = 0 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[texture]]:getPixels}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''texture :''' The texture element to get the pixels from&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''surfaceIndex:''' Desired slice to get if the texture is a volume texture, or desired face to get if the texture is a cube map. &amp;lt;nowiki&amp;gt;(Cube map faces: 0=+X 1=-X 2=+Y 3=-Y 4=+Z 5=-Z)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22185|&lt;br /&gt;
*'''pixelsFormat:''' &amp;quot;plain&amp;quot;, &amp;quot;dds&amp;quot;&lt;br /&gt;
*'''textureFormat:''' A string representing the desired texture format for &amp;quot;'''dds'''&amp;quot; pixels, which can be one of:&lt;br /&gt;
**'''&amp;quot;unknown&amp;quot;''': Determined automatically based on texture format (default).&lt;br /&gt;
**'''&amp;quot;argb&amp;quot;''': ARGB uncompressed 32 bit color.&lt;br /&gt;
**'''&amp;quot;dxt1&amp;quot;''': DXT1 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT1). Uses 8 times less video memory than ARGB and ''can speed up drawing''. Quality not as good as ARGB. ''It supports alpha blending, but it can only be on or off, that is: either 0 or 255.''&lt;br /&gt;
**'''&amp;quot;dxt3&amp;quot;''': DXT3 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT3). Uses 4 times less video memory than ARGB and ''can speed up drawing''. Quality slightly better than DXT1 and supports crisp alpha blending.&lt;br /&gt;
**'''&amp;quot;dxt5&amp;quot;''': DXT5 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT5). Uses 4 times less video memory than ARGB and ''can speed up drawing''. Quality slightly better than DXT1 and supports smooth alpha blending.&lt;br /&gt;
*'''mipmaps:''' True to create a mip-map chain for &amp;quot;'''dds'''&amp;quot; pixels so the texture looks good when drawn at various sizes.&lt;br /&gt;
}}&lt;br /&gt;
By default the pixels from the whole texture is returned. To get only a portion of the texture, define a rectangular area using all four of these optional arguments:&lt;br /&gt;
*'''x:''' Rectangle left position&lt;br /&gt;
*'''y:''' Rectangle top position&lt;br /&gt;
*'''width:''' Rectangle width&lt;br /&gt;
*'''height :''' Rectangle height&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns pixels string if successful, ''false'' if invalid arguments were passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local mtaLogo = dxCreateTexture(&amp;quot;mta-logo.png&amp;quot;)&lt;br /&gt;
outputChatBox(&amp;quot;MTA logo pixels is: &amp;quot;..dxGetTexturePixels(mtaLogo))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3|}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.3.0-9.04021|Added surfaceIndex argument}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22185|Added dds pixels format}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;br /&gt;
&lt;br /&gt;
[[hu:dxGetTexturePixels]]&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxGetTexturePixels&amp;diff=77534</id>
		<title>DxGetTexturePixels</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxGetTexturePixels&amp;diff=77534"/>
		<updated>2023-08-29T14:35:45Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Move dds pixels arguments to proper position&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function fetches the [[Texture_pixels|pixels]] from a [[texture]] element. It can be used with a standard texture, render target or screen source.&lt;br /&gt;
{{Important Note|dxGetTexturePixels will not work on a screen source or render target if the player has disabled screen upload.}}&lt;br /&gt;
{{Note|&lt;br /&gt;
*This function is slow and not something you want to be doing once a frame.&lt;br /&gt;
*It is slower when reading pixels from a render target or screen source.&lt;br /&gt;
*And is very slow indeed if the texture format is not ''' 'argb' '''.&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;
string dxGetTexturePixels ( [ int surfaceIndex = 0, ] element texture [, string pixelsFormat = &amp;quot;plain&amp;quot; [, string textureFormat = &amp;quot;unknown&amp;quot;] [, bool mipmaps = true] ] [, int x = 0, int y = 0, int width = 0, int height = 0 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[texture]]:getPixels}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''texture :''' The texture element to get the pixels from&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''surfaceIndex:''' Desired slice to get if the texture is a volume texture, or desired face to get if the texture is a cube map. &amp;lt;nowiki&amp;gt;(Cube map faces: 0=+X 1=-X 2=+Y 3=-Y 4=+Z 5=-Z)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22185|&lt;br /&gt;
*'''pixelsFormat:''' &amp;quot;plain&amp;quot;, &amp;quot;dds&amp;quot;&lt;br /&gt;
*'''textureFormat:''' A string representing the desired texture format for &amp;quot;'''dds'''&amp;quot; pixels, which can be one of:&lt;br /&gt;
**'''&amp;quot;unknown&amp;quot;''': Determined automatically based on texture format (default).&lt;br /&gt;
**'''&amp;quot;argb&amp;quot;''': ARGB uncompressed 32 bit color.&lt;br /&gt;
**'''&amp;quot;dxt1&amp;quot;''': DXT1 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT1). Uses 8 times less video memory than ARGB and ''can speed up drawing''. Quality not as good as ARGB. ''It supports alpha blending, but it can only be on or off, that is: either 0 or 255.''&lt;br /&gt;
**'''&amp;quot;dxt3&amp;quot;''': DXT3 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT3). Uses 4 times less video memory than ARGB and ''can speed up drawing''. Quality slightly better than DXT1 and supports crisp alpha blending.&lt;br /&gt;
**'''&amp;quot;dxt5&amp;quot;''': DXT5 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT5). Uses 4 times less video memory than ARGB and ''can speed up drawing''. Quality slightly better than DXT1 and supports smooth alpha blending.&lt;br /&gt;
*'''mipmaps:''' True to create a mip-map chain for &amp;quot;'''dds'''&amp;quot; pixels so the texture looks good when drawn at various sizes.&lt;br /&gt;
}}&lt;br /&gt;
By default the pixels from the whole texture is returned. To get only a portion of the texture, define a rectangular area using all four of these optional arguments:&lt;br /&gt;
*'''x:''' Rectangle left position&lt;br /&gt;
*'''y:''' Rectangle top position&lt;br /&gt;
*'''width:''' Rectangle width&lt;br /&gt;
*'''height :''' Rectangle height&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns pixels string if successful, ''false'' if invalid arguments were passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local mtaLogo = dxCreateTexture(&amp;quot;mta-logo.png&amp;quot;)&lt;br /&gt;
outputChatBox(&amp;quot;MTA logo pixels is: &amp;quot;..dxGetTexturePixels(mtaLogo))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3|}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.3.0-9.04021|Added surfaceIndex argument}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22185|Added dds pixels format}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;br /&gt;
&lt;br /&gt;
[[hu:dxGetTexturePixels]]&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxGetTexturePixels&amp;diff=77533</id>
		<title>DxGetTexturePixels</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxGetTexturePixels&amp;diff=77533"/>
		<updated>2023-08-29T14:32:03Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add dds pixels format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function fetches the [[Texture_pixels|pixels]] from a [[texture]] element. It can be used with a standard texture, render target or screen source.&lt;br /&gt;
{{Important Note|dxGetTexturePixels will not work on a screen source or render target if the player has disabled screen upload.}}&lt;br /&gt;
{{Note|&lt;br /&gt;
*This function is slow and not something you want to be doing once a frame.&lt;br /&gt;
*It is slower when reading pixels from a render target or screen source.&lt;br /&gt;
*And is very slow indeed if the texture format is not ''' 'argb' '''.&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;
string dxGetTexturePixels ( [ int surfaceIndex = 0, ] element texture [, string pixelsFormat = &amp;quot;plain&amp;quot; [, string textureFormat = &amp;quot;unknown&amp;quot;] [, bool mipmaps = true] ] [, int x = 0, int y = 0, int width = 0, int height = 0 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[texture]]:getPixels}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''texture :''' The texture element to get the pixels from&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{New feature/item|3.0161|1.6.0|22185|&lt;br /&gt;
*'''pixelsFormat:''' &amp;quot;plain&amp;quot;, &amp;quot;dds&amp;quot;&lt;br /&gt;
*'''textureFormat:''' A string representing the desired texture format for &amp;quot;'''dds'''&amp;quot; pixels, which can be one of:&lt;br /&gt;
**'''&amp;quot;unknown&amp;quot;''': Determined automatically based on texture format (default).&lt;br /&gt;
**'''&amp;quot;argb&amp;quot;''': ARGB uncompressed 32 bit color.&lt;br /&gt;
**'''&amp;quot;dxt1&amp;quot;''': DXT1 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT1). Uses 8 times less video memory than ARGB and ''can speed up drawing''. Quality not as good as ARGB. ''It supports alpha blending, but it can only be on or off, that is: either 0 or 255.''&lt;br /&gt;
**'''&amp;quot;dxt3&amp;quot;''': DXT3 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT3). Uses 4 times less video memory than ARGB and ''can speed up drawing''. Quality slightly better than DXT1 and supports crisp alpha blending.&lt;br /&gt;
**'''&amp;quot;dxt5&amp;quot;''': DXT5 compressed - Can take a fraction of a second longer to create (unless the texture is already in DXT5). Uses 4 times less video memory than ARGB and ''can speed up drawing''. Quality slightly better than DXT1 and supports smooth alpha blending.&lt;br /&gt;
*'''mipmaps:''' True to create a mip-map chain for &amp;quot;'''dds'''&amp;quot; pixels so the texture looks good when drawn at various sizes.&lt;br /&gt;
}}&lt;br /&gt;
*'''surfaceIndex:''' Desired slice to get if the texture is a volume texture, or desired face to get if the texture is a cube map. &amp;lt;nowiki&amp;gt;(Cube map faces: 0=+X 1=-X 2=+Y 3=-Y 4=+Z 5=-Z)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
By default the pixels from the whole texture is returned. To get only a portion of the texture, define a rectangular area using all four of these optional arguments:&lt;br /&gt;
*'''x:''' Rectangle left position&lt;br /&gt;
*'''y:''' Rectangle top position&lt;br /&gt;
*'''width:''' Rectangle width&lt;br /&gt;
*'''height :''' Rectangle height&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns pixels string if successful, ''false'' if invalid arguments were passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local mtaLogo = dxCreateTexture(&amp;quot;mta-logo.png&amp;quot;)&lt;br /&gt;
outputChatBox(&amp;quot;MTA logo pixels is: &amp;quot;..dxGetTexturePixels(mtaLogo))&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3|}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.3.0-9.04021|Added surfaceIndex argument}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.22185|Added dds pixels format}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;br /&gt;
&lt;br /&gt;
[[hu:dxGetTexturePixels]]&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Texture_pixels&amp;diff=77532</id>
		<title>Texture pixels</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Texture_pixels&amp;diff=77532"/>
		<updated>2023-08-29T14:22:02Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add dds pixels format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__====Pixels====&lt;br /&gt;
-----------------&lt;br /&gt;
'''*''' MTA refers to the raw information that a [[texture]] contains as 'pixels'.&lt;br /&gt;
&lt;br /&gt;
'''*''' Pixels can be retrieved from any [[texture]] type including [[dxCreateRenderTarget|render targets]] and [[dxCreateScreenSource|screen sources]] by using the function [[dxGetTexturePixels]].&lt;br /&gt;
&lt;br /&gt;
'''*''' Pixels are just a string to Lua, so they can be saved to a file or even sent over the 'internet'.&lt;br /&gt;
&lt;br /&gt;
====Pixels properties====&lt;br /&gt;
-----------------&lt;br /&gt;
Pixels have two properties:&lt;br /&gt;
*'''dimensions''' (width and height) which is retrieved by using the function [[dxGetPixelsSize]]&lt;br /&gt;
*'''format''' (plain,jpeg,png,dds) which is retrieved by using the function [[dxGetPixelsFormat]]&lt;br /&gt;
**''plain'' - Fastest and simplest - It's default format of the pixels returned by [[dxGetTexturePixels]] and the only one that can be used with [[dxSetTexturePixels]], [[dxGetPixelColor]] and [[dxSetPixelColor]]. But it also uses a lot of bytes, so internet transfers will be longer. Also can't be read by Photoshop or browsers etc.&lt;br /&gt;
**''png'' - A few less bytes, still quite big for net transfers. Can be saved to a file and read by Photoshop and browsers etc.&lt;br /&gt;
**''jpeg'' - A lot less bytes, so best for net transfers. Can be saved to a file and read by Photoshop and browsers etc.&lt;br /&gt;
**''dds'' - DirectDraw Surface. Game's native texture format with various compressed and uncompressed options. Used to store standard, cube or volume textures. Compressed pixels in this format can be loaded nearly instantly by [[dxCreateTexture]].&lt;br /&gt;
   &lt;br /&gt;
To convert between the 3 different formats, use the function [[dxConvertPixels]]&lt;br /&gt;
&lt;br /&gt;
====Pixels more====&lt;br /&gt;
-----------&lt;br /&gt;
Pixels can also be loaded from any png/jpeg file just like this:&lt;br /&gt;
    fh = fileOpen( &amp;quot;hello.jpg&amp;quot; )&lt;br /&gt;
    pixels = fileRead(fh,fileGetSize ( fh ))&lt;br /&gt;
    fileClose(fh)&lt;br /&gt;
&lt;br /&gt;
Pixels can be used to create textures just like this:&lt;br /&gt;
    myNewTexture = dxCreateTexture(pixels)&lt;br /&gt;
&lt;br /&gt;
Pixels can be used to save textures just like this:&lt;br /&gt;
    pixels = dxGetTexturePixels(myRenderTarget)&lt;br /&gt;
    pixels = dxConvertPixels(pixels, 'jpeg')&lt;br /&gt;
    fh = fileCreate( &amp;quot;piccy.jpg&amp;quot; )&lt;br /&gt;
    fileWrite(fh, pixels)&lt;br /&gt;
    fileClose(fh)&lt;br /&gt;
&lt;br /&gt;
====Pixels performance====&lt;br /&gt;
------------------&lt;br /&gt;
Getting/setting pixels from textures is not quick and not something you want to be doing every frame (in onClientRender for example).&lt;br /&gt;
Setting pixels to a render target is especially slow. Pixels are ideal however for transferring composite images built on a render target into a normal texture for later use. For example, making a custom radar map.&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxGetPixelsFormat&amp;diff=77531</id>
		<title>DxGetPixelsFormat</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxGetPixelsFormat&amp;diff=77531"/>
		<updated>2023-08-29T14:19:47Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add dds pixels format&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns the format of [[Texture_pixels|pixels]] contained in a string.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string dxGetPixelsFormat ( string pixels )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''pixels :''' The pixels to get the format of&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
Returns the format of the pixels if successful (''''plain'''' or ''''png'''' or ''''jpeg'''' or ''''dds''''), ''false'' if invalid arguments were passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
The example loads an image, gets its pixels, and outputs the pixels format. (You can use [http://i1325.photobucket.com/albums/u630/Tourmalinelisa2/128x128.jpg this] image to test.)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler('onClientResourceStart', resourceRoot, function()&lt;br /&gt;
  local img = fileOpen('img.jpg')&lt;br /&gt;
  local pixels = fileRead(img, fileGetSize(img))&lt;br /&gt;
  local pixelsFormat = dxGetPixelsFormat(pixels)&lt;br /&gt;
  outputChatBox('Pixels format is: ' .. pixelsFormat)&lt;br /&gt;
  fileClose(img)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;br /&gt;
&lt;br /&gt;
[[hu:dxGetPixelsFormat]]&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=77240</id>
		<title>SetWorldSpecialPropertyEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWorldSpecialPropertyEnabled&amp;diff=77240"/>
		<updated>2023-08-02T07:16:23Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Add &amp;quot;watercreatures&amp;quot; property&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
&lt;br /&gt;
Enables or disables a special world property.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setWorldSpecialPropertyEnabled ( string propname, bool enable )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||||isWorldSpecialPropertyEnabled}}&lt;br /&gt;
[[File:Randomfoliage.jpeg|frame|right|A photo demonstrating ''randomfoliage'' enabled and disabled.]]&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''propname:''' the name of the property to set. Possible values are:&lt;br /&gt;
**'''hovercars''' - equivalent of the JBGVNB cheat, and allows cars to drive on water. (default: false)&lt;br /&gt;
**'''aircars''' - equivalent of the RIPAZHA cheat, and allows cars to fly. (default: false)&lt;br /&gt;
**'''extrabunny''' - equivalent of the CJPHONEHOME or JHJOECW cheat, and allows you to bunny hop on bicycles much higher. (default: false)&lt;br /&gt;
**'''extrajump''' - equivalent of the KANGAROO cheat, and allows you to jump on foot much higher. (default: false)&lt;br /&gt;
**'''randomfoliage''' - toggle randomly generated foliage on the GTA:SA map (default: true)&lt;br /&gt;
**'''snipermoon''' - toggle the GTA:SA easter egg, which increases the size of the moon every time you shoot it with a sniper rifle (default: false)&lt;br /&gt;
**'''extraairresistance''' - toggle the vehicle speed limit on cross-country roads (default: true)&lt;br /&gt;
**{{New feature/item|3.0156|1.5.5|12286|'''underworldwarp''' - toggle warp of peds and vehicles when fall under map (default: true)}}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21125|'''vehiclesunglare''' - toggle the vehicle sun glare effect (default: false) }}&lt;br /&gt;
**{{New feature/item|3.0160|1.5.9|21313| '''coronaztest''' - disable big sun lensflare effect (default: true) }}&lt;br /&gt;
**{{New feature/item|3.0161|1.6.0|21919| '''watercreatures''' - toggle randomly generated underwater creatures (default: true) }}&lt;br /&gt;
*'''enable:''' whether or not to enable the property.&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;
&lt;br /&gt;
This code allows you to enable/disable certain property using '''true''' or '''false'''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function onClientResourceStart()&lt;br /&gt;
	local worldSpecialProperties = {&lt;br /&gt;
		[&amp;quot;hovercars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;aircars&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrabunny&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extrajump&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;randomfoliage&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;snipermoon&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;extraairresistance&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;underworldwarp&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;vehiclesunglare&amp;quot;] = false,&lt;br /&gt;
		[&amp;quot;coronaztest&amp;quot;] = true,&lt;br /&gt;
		[&amp;quot;watercreatures&amp;quot;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for propertyName, propertyState in pairs(worldSpecialProperties) do&lt;br /&gt;
		setWorldSpecialPropertyEnabled(propertyName, propertyState)&lt;br /&gt;
	end&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;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.5-3.12286|Added &amp;quot;underworldwarp&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-1.21125|Added &amp;quot;vehiclesunglare&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.5.9-9.21313|Added &amp;quot;coronaztest&amp;quot; property}}&lt;br /&gt;
{{ChangelogItem|1.6.0-9.21919|Added &amp;quot;watercreatures&amp;quot; property}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client world functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetGlitchEnabled&amp;diff=77206</id>
		<title>SetGlitchEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetGlitchEnabled&amp;diff=77206"/>
		<updated>2023-07-25T22:00:13Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Undo revision 77198 by Samr46 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server function}}&lt;br /&gt;
This function enables or disables glitches that are found in the original Single Player game that can be used to gain an advantage in multiplayer. &lt;br /&gt;
{{Note|By default all these glitches are disabled - use this function to '''enable''' them.}}&lt;br /&gt;
&lt;br /&gt;
Users of the '''fastmove''' glitch may additionally want to install [https://community.mtasa.com/index.php?p=resources&amp;amp;s=details&amp;amp;id=13368 this resource to disable crouchsliding]. &lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setGlitchEnabled ( string glitchName, bool enable )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''glitchName:''' the name of the property to set. Possible values are:&lt;br /&gt;
{{Glitches}}&lt;br /&gt;
*'''enable:''' whether or not to enable the glitch.&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 enables all glitches in the server once the resource is loaded.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local glitches = {&amp;quot;quickreload&amp;quot;, &amp;quot;fastmove&amp;quot;, &amp;quot;fastfire&amp;quot;, &amp;quot;crouchbug&amp;quot;, &amp;quot;highcloserangedamage&amp;quot;, &amp;quot;hitanim&amp;quot;, &amp;quot;fastsprint&amp;quot;, &amp;quot;baddrivebyhitbox&amp;quot;, &amp;quot;quickstand&amp;quot;, &amp;quot;kickoutofvehicle_onmodelreplace&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
function enableGlitches()&lt;br /&gt;
   for _, glitch in ipairs(glitches) do&lt;br /&gt;
      setGlitchEnabled(glitch, true)&lt;br /&gt;
   end &lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onResourceStart&amp;quot;, resourceRoot, enableGlitches)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Server functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Glitches&amp;diff=77205</id>
		<title>Template:Glitches</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Glitches&amp;diff=77205"/>
		<updated>2023-07-25T21:59:56Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Undo revision 77197 by Samr46 (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border:3px solid red;margin-bottom:3px;padding-left:5px;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;float:right;padding-right:5px;font-weight:bold;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''quickreload:''' This is the glitch where switching weapons auto-reloads your weapon, without actually performing the reload animation.&lt;br /&gt;
*'''fastmove:''' This is the glitch that can be achieved by a certain key combinations whilst standing up after crouching, which allows you to move quickly with slow weapons (e.g. deagle). Side effect: also enables the &amp;quot;crouchslide&amp;quot; bug - use [https://community.mtasa.com/index.php?p=resources&amp;amp;s=details&amp;amp;id=13368 the &amp;quot;NoCrouchSlide&amp;quot; resource] to remedy this.&lt;br /&gt;
*'''fastfire:''' This is the glitch that can be achieved by cancelling the full fire animation, allowing you to shoot with slow-fire weapons (e.g. deagle) much faster.&lt;br /&gt;
*'''crouchbug:''' This is the glitch where the post shooting animation can be aborted by using the crouch key.&lt;br /&gt;
*'''highcloserangedamage:''' Enabling this removes the extremely high damage guns inflict when fired at very close range.&lt;br /&gt;
*'''hitanim:''' Enabling this allows 'hit by bullet' animations to interrupt player aiming.&lt;br /&gt;
*{{New feature|3.0136|1.3.5-6277|'''fastsprint:''' Enabling fastsprint allows players to tap space with a macro to boost their speed beyond normal speeds of GTASA.}}&lt;br /&gt;
*{{New feature|3.0136|1.3.5-6419|'''baddrivebyhitbox:''' This glitch leaves players invulnerable to gun fire when performing certain driveby animations.}}&lt;br /&gt;
*{{New feature/item|3.0150|1.5|7345|'''quickstand:''' This glitch allows players to quickly stand up by pressing the crouch, sprint or jump controls just after realasing the aim weapon button while using one and being ducked.}}&lt;br /&gt;
*'''kickoutofvehicle_onmodelreplace:''' This glitch enables the old behavior where players get warped out of a vehicle when the model is replaced.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetGlitchEnabled&amp;diff=77198</id>
		<title>SetGlitchEnabled</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetGlitchEnabled&amp;diff=77198"/>
		<updated>2023-07-25T15:38:30Z</updated>

		<summary type="html">&lt;p&gt;Samr46: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server function}}&lt;br /&gt;
This function enables or disables glitches that are found in the original Single Player game that can be used to gain an advantage in multiplayer. &lt;br /&gt;
{{Note|By default all these glitches are disabled - use this function to '''enable''' them.}}&lt;br /&gt;
&lt;br /&gt;
Users of the '''fastmove''' glitch may additionally want to install [https://community.mtasa.com/index.php?p=resources&amp;amp;s=details&amp;amp;id=13368 this resource to disable crouchsliding]. &lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setGlitchEnabled ( string glitchName, bool enable )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''glitchName:''' the name of the property to set. Possible values are:&lt;br /&gt;
{{Glitches}}&lt;br /&gt;
*'''enable:''' whether or not to enable the glitch.&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 enables all glitches in the server once the resource is loaded.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local glitches = {&amp;quot;quickreload&amp;quot;, &amp;quot;fastmove&amp;quot;, &amp;quot;fastfire&amp;quot;, &amp;quot;crouchbug&amp;quot;, &amp;quot;highcloserangedamage&amp;quot;, &amp;quot;hitanim&amp;quot;, &amp;quot;fastsprint&amp;quot;, &amp;quot;baddrivebyhitbox&amp;quot;, &amp;quot;quickstand&amp;quot;, &amp;quot;kickoutofvehicle_onmodelreplace&amp;quot;, &amp;quot;dontburnflippedcars&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
function enableGlitches()&lt;br /&gt;
   for _, glitch in ipairs(glitches) do&lt;br /&gt;
      setGlitchEnabled(glitch, true)&lt;br /&gt;
   end &lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onResourceStart&amp;quot;, resourceRoot, enableGlitches)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Server functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Glitches&amp;diff=77197</id>
		<title>Template:Glitches</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Glitches&amp;diff=77197"/>
		<updated>2023-07-25T15:36:18Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border:3px solid red;margin-bottom:3px;padding-left:5px;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;float:right;padding-right:5px;font-weight:bold;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
*'''quickreload:''' This is the glitch where switching weapons auto-reloads your weapon, without actually performing the reload animation.&lt;br /&gt;
*'''fastmove:''' This is the glitch that can be achieved by a certain key combinations whilst standing up after crouching, which allows you to move quickly with slow weapons (e.g. deagle). Side effect: also enables the &amp;quot;crouchslide&amp;quot; bug - use [https://community.mtasa.com/index.php?p=resources&amp;amp;s=details&amp;amp;id=13368 the &amp;quot;NoCrouchSlide&amp;quot; resource] to remedy this.&lt;br /&gt;
*'''fastfire:''' This is the glitch that can be achieved by cancelling the full fire animation, allowing you to shoot with slow-fire weapons (e.g. deagle) much faster.&lt;br /&gt;
*'''crouchbug:''' This is the glitch where the post shooting animation can be aborted by using the crouch key.&lt;br /&gt;
*'''highcloserangedamage:''' Enabling this removes the extremely high damage guns inflict when fired at very close range.&lt;br /&gt;
*'''hitanim:''' Enabling this allows 'hit by bullet' animations to interrupt player aiming.&lt;br /&gt;
*{{New feature|3.0136|1.3.5-6277|'''fastsprint:''' Enabling fastsprint allows players to tap space with a macro to boost their speed beyond normal speeds of GTASA.}}&lt;br /&gt;
*{{New feature|3.0136|1.3.5-6419|'''baddrivebyhitbox:''' This glitch leaves players invulnerable to gun fire when performing certain driveby animations.}}&lt;br /&gt;
*{{New feature/item|3.0150|1.5|7345|'''quickstand:''' This glitch allows players to quickly stand up by pressing the crouch, sprint or jump controls just after realasing the aim weapon button while using one and being ducked.}}&lt;br /&gt;
*'''kickoutofvehicle_onmodelreplace:''' This glitch enables the old behavior where players get warped out of a vehicle when the model is replaced.&lt;br /&gt;
*{{New feature/item|4|1.6.0|21897|'''dontburnflippedcars:''' This glitch prevents cars from burning when upside down.}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetElementLighting&amp;diff=75602</id>
		<title>GetElementLighting</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetElementLighting&amp;diff=75602"/>
		<updated>2022-10-22T13:50:56Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Fix &amp;quot;See Also&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.9|21367|This function returns the lighting value for the specified [[element]]. This can be a [[player]], [[ped]], [[vehicle]], [[object]].}}&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 getElementLighting ( element theElement )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[element]]:getLighting|lighting}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theElement:''' The [[element]] whose lighting you want to retrieve.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a float (0.0-0.5; 0 = dark; 0.5 = light) indicating the element's lighting, or ''false'' if invalid arguments were passed. This function will fail if called right after element creation.&lt;br /&gt;
&lt;br /&gt;
==Example==&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;
This example displays lighting values of streamed in players.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, root, function()&lt;br /&gt;
	for _, pl in ipairs(getElementsByType(&amp;quot;player&amp;quot;, root, true)) do&lt;br /&gt;
		local sX, sY = getScreenFromWorldPosition(getElementPosition(pl))&lt;br /&gt;
		if sX then&lt;br /&gt;
			dxDrawText(&amp;quot;Lighting: &amp;quot;..tostring(getElementLighting(pl)), sX, sY)&lt;br /&gt;
		end&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;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.9-9.21367|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client element functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Client_element_functions&amp;diff=75601</id>
		<title>Template:Client element functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Client_element_functions&amp;diff=75601"/>
		<updated>2022-10-22T13:48:15Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[attachElements]]&lt;br /&gt;
* [[createElement]]&lt;br /&gt;
* [[destroyElement]]&lt;br /&gt;
* [[detachElements]]&lt;br /&gt;
* [[getAttachedElements]]&lt;br /&gt;
* [[getElementAlpha]]&lt;br /&gt;
* [[getElementAngularVelocity]]&lt;br /&gt;
* [[getElementAttachedOffsets]]&lt;br /&gt;
* [[getElementAttachedTo]]&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20704|&lt;br /&gt;
* [[getElementBoneMatrix]]&lt;br /&gt;
* [[getElementBonePosition]]&lt;br /&gt;
* [[getElementBoneRotation]]&lt;br /&gt;
}}&lt;br /&gt;
* [[getElementBoundingBox]]&lt;br /&gt;
* [[getElementByID]]&lt;br /&gt;
* [[getElementChild]]&lt;br /&gt;
* [[getElementChildren]]&lt;br /&gt;
* [[getElementChildrenCount]]&lt;br /&gt;
* [[getElementCollisionsEnabled]]&lt;br /&gt;
* [[getElementColShape]]&lt;br /&gt;
* [[getElementData]]&lt;br /&gt;
* [[getElementDimension]]&lt;br /&gt;
* [[getElementDistanceFromCentreOfMassToBaseOfModel]]&lt;br /&gt;
* [[getElementHealth]]&lt;br /&gt;
* [[getElementID]]&lt;br /&gt;
* [[getElementInterior]]&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|21367|&lt;br /&gt;
* [[getElementLighting]]&lt;br /&gt;
}}&lt;br /&gt;
* [[getElementMatrix]]&lt;br /&gt;
* [[getElementModel]]&lt;br /&gt;
* [[getElementParent]]&lt;br /&gt;
* [[getElementPosition]]&lt;br /&gt;
* [[getElementRadius]]&lt;br /&gt;
* [[getElementRotation]]&lt;br /&gt;
* [[getElementsByType]]&lt;br /&gt;
* [[getElementsWithinColShape]]&lt;br /&gt;
* [[getElementsWithinRange]]&lt;br /&gt;
* [[getElementType]]&lt;br /&gt;
* [[getElementVelocity]]&lt;br /&gt;
* [[getLowLODElement]]&lt;br /&gt;
* [[getRootElement]]&lt;br /&gt;
* [[isElement]]&lt;br /&gt;
* [[isElementAttached]]&lt;br /&gt;
* [[isElementCallPropagationEnabled]]&lt;br /&gt;
* [[isElementCollidableWith]]&lt;br /&gt;
* [[isElementDoubleSided]]&lt;br /&gt;
* [[isElementFrozen]]&lt;br /&gt;
* [[isElementInWater]]&lt;br /&gt;
* [[isElementLocal]]&lt;br /&gt;
* [[isElementLowLOD]]&lt;br /&gt;
* [[isElementOnScreen]]&lt;br /&gt;
* [[isElementStreamable]]&lt;br /&gt;
* [[isElementStreamedIn]]&lt;br /&gt;
* [[isElementSyncer]]&lt;br /&gt;
* [[isElementWaitingForGroundToLoad]]&lt;br /&gt;
* [[isElementWithinColShape]]&lt;br /&gt;
* [[setElementAlpha]]&lt;br /&gt;
* [[setElementAngularVelocity]]&lt;br /&gt;
* [[setElementAttachedOffsets]]&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20704|&lt;br /&gt;
* [[setElementBoneMatrix]]&lt;br /&gt;
* [[setElementBonePosition]]&lt;br /&gt;
* [[setElementBoneRotation]]&lt;br /&gt;
}}&lt;br /&gt;
* [[setElementCallPropagationEnabled]]&lt;br /&gt;
* [[setElementCollidableWith]]&lt;br /&gt;
* [[setElementCollisionsEnabled]]&lt;br /&gt;
* [[setElementData]]&lt;br /&gt;
* [[setElementDimension]]&lt;br /&gt;
* [[setElementDoubleSided]]&lt;br /&gt;
* [[setElementFrozen]]&lt;br /&gt;
* [[setElementHealth]]&lt;br /&gt;
* [[setElementID]]&lt;br /&gt;
* [[setElementInterior]]&lt;br /&gt;
* [[setElementMatrix]]&lt;br /&gt;
* [[setElementModel]]&lt;br /&gt;
* [[setElementParent]]&lt;br /&gt;
* [[setElementPosition]]&lt;br /&gt;
* [[setElementRotation]]&lt;br /&gt;
* [[setElementStreamable]]&lt;br /&gt;
* [[setElementVelocity]]&lt;br /&gt;
* [[setLowLODElement]]&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.8|20704|&lt;br /&gt;
* [[updateElementRpHAnim]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.9&amp;diff=75600</id>
		<title>Changes in 1.5.9</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.9&amp;diff=75600"/>
		<updated>2022-10-22T13:45:00Z</updated>

		<summary type="html">&lt;p&gt;Samr46: New function getElementLighting()&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;#39dd57&amp;quot; subcaption=&amp;quot;Current release&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
1.5.9 was released on October 1, 2021.&lt;br /&gt;
&lt;br /&gt;
* GitHub commit log: https://github.com/multitheftauto/mtasa-blue/compare/1.5.8...1.5.9&lt;br /&gt;
* GitHub milestone: https://github.com/multitheftauto/mtasa-blue/milestone/7&lt;br /&gt;
* Resources GitHub commit log: https://github.com/multitheftauto/mtasa-resources/compare/1.5.8...1.5.9&lt;br /&gt;
* Release announcement on forums: https://forum.mtasa.com/topic/132708-multi-theft-auto-san-andreas-159-is-released/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notable Changes ==&lt;br /&gt;
&amp;lt;section show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
* You can now use the new [[onPlayerResourceStart]] server-side event to trigger when client is ready! Thanks to Lpsd.&lt;br /&gt;
* You can now detect element interior or dimension change through two new client and server-side events [[onElementInteriorChange]] and [[onElementDimensionChange]] – should reduce some of your code! Thanks to Patrick and Strix.&lt;br /&gt;
* You can now edit element bone behavior through 7 new bone manipulation functions! Great for some dynamic animations. Get started at [[setElementBonePosition]] and [[setElementBoneRotation]]. Thanks to Saml1er.&lt;br /&gt;
* More vehicle customisation options! You can now edit vehicle dummy positions per vehicle. See [[setVehicleDummyPosition]]. Thanks to botder.&lt;br /&gt;
* More audio customisation with sound effect parameters! See [[setSoundEffectParameter]]. Thanks to Strix and Sarrum.&lt;br /&gt;
* More client download transfer box customisation options! See for example [[onClientTransferBoxProgressChange]]. Thanks to botder and CrosRoad95.&lt;br /&gt;
* You can now allocate custom objects and vehicles through [[engineRequestModel]]. One of the most sought after features in a long time. Thanks to TheNormalnij.&lt;br /&gt;
* You can now use scalable vector graphics (SVG) in MTA! See [[svgCreate]] for more info. Thanks to Lpsd.&lt;br /&gt;
* You can now use peds and vehicles as the camera target. Thanks to TheNormalnij.&lt;br /&gt;
* A lot more features for scripters to build even more immersive experiences with!&lt;br /&gt;
* Many synchronization improvements!&lt;br /&gt;
* Many varying size fixes, quality of life improvements, updates and security enhancements!&lt;br /&gt;
* Many default resource fixes, refactors and upgrades, including ''webmap'' working once again! We have also improved the detection of world objects in map editor (''editor_main'' resource), so you can select many more objects that you couldn't before - such as bushes, fences and many more! You can now also remove world objects inside interiors. This should help mappers a lot.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Backwards Compatibility ==&lt;br /&gt;
&amp;lt;section show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
=== 5 Backwards Incompatible Changes ===&lt;br /&gt;
These changes will take effect in '''1.6.0''':&lt;br /&gt;
* [[callRemote]] callbacks currently set the error code to '''nil''' when there is no error. In 1.6.0, to be consistent with [[fetchRemote]], the error code reported will be '''0'''. See [https://github.com/multitheftauto/mtasa-blue/issues/294 GitHub #294].&lt;br /&gt;
* Since July 2016 if you provide an invalid string like '''&amp;quot;randomstring&amp;quot;''' when a function expects a number, the string will be treated as '''0''' and raise a script warning. In 1.6.0 this will be an error. You will still be able to provide strings containing numbers (e.g. '''&amp;quot;100&amp;quot;''' and '''&amp;quot;12.34&amp;quot;'''), this change only affects invalid strings. See [https://github.com/multitheftauto/mtasa-blue/issues/1043 GitHub #1043].&lt;br /&gt;
* When providing a width and height of (0, 0) to [[createBrowser]] or [[guiCreateBrowser]] you will encounter a script error instead of a warning. The warning was introduced Feb 2019. See [https://github.com/multitheftauto/mtasa-blue/issues/1069 GitHub #1069].&lt;br /&gt;
* Some functions expect only unsigned integers (positive numbers), and since Jan 2016 providing negative numbers would be a warning. This will now be an error. See [https://github.com/multitheftauto/mtasa-blue/issues/1070 GitHub #1070].&lt;br /&gt;
* Since Aug 2015, we replaced the custom '''mtalocal://''' URL scheme with '''http://mta/resourceName/blah.html'''. This '''mtalocal://''' URL scheme will now be removed. See [https://github.com/multitheftauto/mtasa-blue/issues/1071 GitHub #1071].&lt;br /&gt;
&lt;br /&gt;
This list is incomplete and we may introduce more changes later.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Statistics ==&lt;br /&gt;
&amp;lt;section show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
These are some statistics since the [[Changes in 1.5.8|previous release]].&lt;br /&gt;
* This is the '''26&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt;''' 1.x.x release&lt;br /&gt;
* '''{{date difference|2020|10|11|2021|10|1}}''' days&lt;br /&gt;
* '''49''' new functions&lt;br /&gt;
* '''16''' new events&lt;br /&gt;
* '''0''' deprecations&lt;br /&gt;
* '''77+''' bug fixes and changes&lt;br /&gt;
* '''334''' commits ([https://github.com/multitheftauto/mtasa-blue/compare/1.5.8...1.5.9 see comparison])&lt;br /&gt;
* '''189''' new open GitHub issues ([https://github.com/multitheftauto/mtasa-blue/issues?q=is%3Aopen+is%3Aissue+created%3A2020-10-11..2021-10-01 see list])&lt;br /&gt;
* '''81''' resolved GitHub issues ([https://github.com/multitheftauto/mtasa-blue/issues?q=is%3Aclosed+is%3Aissue+milestone%3A%22Next+Release+%281.5.9%29%22 see list])&lt;br /&gt;
* '''135''' closed GitHub issues ([https://github.com/multitheftauto/mtasa-blue/issues?q=is%3Aclosed+is%3Aissue+closed%3A2020-10-11..2021-10-01+no%3Amilestone see list])&lt;br /&gt;
* '''71''' new open GitHub pull requests ([https://github.com/multitheftauto/mtasa-blue/pulls?q=is%3Aopen+is%3Apr+created%3A2020-10-11..2021-10-01 see list])&lt;br /&gt;
* '''207''' merged GitHub pull requests ([https://github.com/multitheftauto/mtasa-blue/pulls?q=is%3Apr+is%3Amerged+milestone%3A%22Next+Release+%281.5.9%29%22 see list])&lt;br /&gt;
* '''53''' closed GitHub pull requests ([https://github.com/multitheftauto/mtasa-blue/pulls?q=is%3Apr+is%3Aunmerged+closed%3A2020-10-11..2021-10-01 see list])&lt;br /&gt;
* '''38''' contributors of which '''11''' are new ([https://github.com/multitheftauto/mtasa-blue/graphs/contributors?from=2020-10-11&amp;amp;to=2021-10-01&amp;amp;type=c see list])&lt;br /&gt;
* '''94+''' total contributors ([https://github.com/multitheftauto/mtasa-blue/graphs/contributors see list])&lt;br /&gt;
* '''13''' vendor updates&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sub&amp;gt;'''Note:''' Last update to these statistics was made {{date difference human friendly|2021|10|1}}.&amp;lt;/sub&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&amp;lt;section show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
=== 44 New Functions ===&lt;br /&gt;
* Added [[getRoofPosition]] ([https://github.com/multitheftauto/mtasa-blue/pull/1518 #1518] by '''Pirulax''')&lt;br /&gt;
* Added [[setVehicleVariant]] (previously available server-side only) ([https://github.com/multitheftauto/mtasa-blue/pull/1599 #1599] by '''StrixG''')&lt;br /&gt;
* Added [[engineRestreamWorld]] ([https://github.com/multitheftauto/mtasa-blue/pull/1735 #1735] by '''TheNormalnij''')&lt;br /&gt;
* Added functions to modify element bones behavior ([https://github.com/multitheftauto/mtasa-blue/pull/1673 #1673] by '''Saml1er''')&lt;br /&gt;
** [[setElementBonePosition]]&lt;br /&gt;
** [[setElementBoneRotation]]&lt;br /&gt;
** [[getElementBonePosition]]&lt;br /&gt;
** [[getElementBoneRotation]]&lt;br /&gt;
** [[setElementBoneMatrix]]&lt;br /&gt;
** [[getElementBoneMatrix]]&lt;br /&gt;
** [[updateElementRpHAnim]]&lt;br /&gt;
* Added [[engineSetModelVisibleTime]] and [[engineGetModelVisibleTime]] ([https://github.com/multitheftauto/mtasa-blue/pull/1766 #1766] by ''' TheNormalnij''')&lt;br /&gt;
* Added [[setColorFilter]] and [[resetColorFilter]] ([https://github.com/multitheftauto/mtasa-blue/pull/1611 #1611] by '''tederis''')&lt;br /&gt;
* Added [[getVehicleWheelFrictionState]] ([https://github.com/multitheftauto/mtasa-blue/pull/1839 #1839] by '''drop-club''')&lt;br /&gt;
* Added [[setPedEnterVehicle]] and [[setPedExitVehicle]] ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')&lt;br /&gt;
* Added [[setSoundLooped]] and [[isSoundLooped]] ([https://github.com/multitheftauto/mtasa-blue/pull/657 #657] by '''FileEX''')&lt;br /&gt;
* Added [[isTransferBoxAlwaysVisible]] ([https://github.com/multitheftauto/mtasa-blue/pull/1955 #1955] by '''botder''' and '''CrosRoad95''')&lt;br /&gt;
* Added vehicle dependent dummy positions with functions ([https://github.com/multitheftauto/mtasa-blue/pull/1982 #1982] by '''botder''')&lt;br /&gt;
** [[getVehicleDummyPosition]]&lt;br /&gt;
** [[getVehicleModelDummyDefaultPosition]]&lt;br /&gt;
** [[setVehicleDummyPosition]]&lt;br /&gt;
** [[resetVehicleDummyPositions]]&lt;br /&gt;
* Added [[isBrowserRenderingPaused]] ([https://github.com/multitheftauto/mtasa-blue/pull/1999 #1999] by '''cleoppa''')&lt;br /&gt;
* Added [[isObjectMoving]] ([https://github.com/multitheftauto/mtasa-blue/pull/2023 #2023] by '''cleoppa''')&lt;br /&gt;
* Added [[showCol]], [[isShowCollisionsEnabled]], [[showSound]] and [[isShowSoundEnabled]] ([https://github.com/multitheftauto/mtasa-blue/pull/2025 #2025] by '''cleoppa''')&lt;br /&gt;
* Added [[clearDebugBox]] ([https://github.com/multitheftauto/mtasa-blue/pull/2160 #2160] by '''cleoppa''')&lt;br /&gt;
* Added [[isChatInputBlocked]] ([https://github.com/multitheftauto/mtasa-blue/pull/2170 #2170] by '''Pieter-Dewachter''')&lt;br /&gt;
* Added [[engineStreamingGetUsedMemory]] ([https://github.com/multitheftauto/mtasa-blue/pull/2269 #2269] by '''Pirulax''')&lt;br /&gt;
* Added [[engineStreamingFreeUpMemory]] ([https://github.com/multitheftauto/mtasa-blue/pull/2268 #2268] by '''Pirulax''')&lt;br /&gt;
* Added [[setSoundEffectParameter]] and [[getSoundEffectParameters]] ([https://github.com/multitheftauto/mtasa-blue/commit/449c5c329732d77ea36ce0abc9595f1577dd1304 449c5c3] by '''StrixG''')&lt;br /&gt;
* Added [[setPedBleeding]] and [[isPedBleeding]] ([https://github.com/multitheftauto/mtasa-blue/pull/2308 #2308] and [https://github.com/multitheftauto/mtasa-blue/pull/2365 #2365] by '''StrixG''' and '''theSarrum''')&lt;br /&gt;
* Added [[getPlayerMapOpacity]] ([https://github.com/multitheftauto/mtasa-blue/pull/2315 #2315] by '''theSarrum''')&lt;br /&gt;
* Added new SVG functions ([https://github.com/multitheftauto/mtasa-blue/pull/2026 #2026] by '''Lpsd''')&lt;br /&gt;
** [[svgCreate]]&lt;br /&gt;
** [[svgGetDocumentXML]]&lt;br /&gt;
** [[svgSetDocumentXML]]&lt;br /&gt;
** [[svgGetSize]]&lt;br /&gt;
** [[svgSetSize]]&lt;br /&gt;
* Added [[getElementLighting]] ([https://github.com/multitheftauto/mtasa-blue/pull/2783 #2783] by '''samr46''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 10 New Events ===&lt;br /&gt;
* Added [[onClientPedsProcessed]] ([https://github.com/multitheftauto/mtasa-blue/pull/1673 #1673] by '''Saml1er''')&lt;br /&gt;
* Added [[onClientElementDimensionChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1553 #1553] by '''StrixG''')&lt;br /&gt;
* Added [[onClientPedVehicleEnter]] and [[onClientPedVehicleExit]] ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')&lt;br /&gt;
* Added [[onClientResourceFileDownload]], [[onClientTransferBoxProgressChange]] and [[onClientTransferBoxVisibilityChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1955 #1955] by '''botder''' and '''CrosRoad95''')&lt;br /&gt;
* Added [[onClientObjectMoveStart]] and [[onClientObjectMoveStop]] ([https://github.com/multitheftauto/mtasa-blue/pull/2023 #2023] by '''cleoppa''')&lt;br /&gt;
* Added [[onClientElementInteriorChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/2058 #2058] by '''Patrick2562''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 8 New Arguments &amp;amp; Parameters ===&lt;br /&gt;
* Added ''macros'' argument to [[dxCreateShader]] ([https://github.com/multitheftauto/mtasa-blue/pull/1573 #1573] by '''tederis''')&lt;br /&gt;
* Added ''forceOverrideNextFrame'' argument to [[setAnalogControlState]] ([https://github.com/multitheftauto/mtasa-blue/pull/1852 #1852] by '''LosFaul''')&lt;br /&gt;
* Added ''interior'' and ''dimension'' arguments to [[getElementsWithinRange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1915 #1915] by '''Pirulax''')&lt;br /&gt;
* Added ''pedCameraMode'' argument to [[setCameraViewMode]] ([https://github.com/multitheftauto/mtasa-blue/pull/1418 #1418] by '''TheNormalnij''')&lt;br /&gt;
* Added ''flipUV'' argument to [[dxDrawMaterialLine3D]] and [[dxDrawMaterialSectionLine3D]] ([https://github.com/multitheftauto/mtasa-blue/pull/2193 #2193] by '''tederis''')&lt;br /&gt;
* Added ''messageType'' parameter to [[onClientChatMessage]] ([https://github.com/multitheftauto/mtasa-blue/pull/1020 #1020] by '''Lpsd''')&lt;br /&gt;
* Added ''lineHeight'' argument to [[dxDrawText]] ([https://github.com/multitheftauto/mtasa-blue/pull/2355 #2355] by '''Allerek''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 40 Bug Fixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed crash when deleting a chatbox bind too early ([https://github.com/multitheftauto/mtasa-blue/commit/be577116f191526111e06487c8322c7799e03564 be57711] by '''sbx320''')&lt;br /&gt;
* Added minimum version check for [[resetBlurLevel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1755 #1755] by '''StrixG''')&lt;br /&gt;
* Included skins added through [[engineRequestModel]] in [[getValidPedModels]] ([https://github.com/multitheftauto/mtasa-blue/pull/1437 #1437] by '''Pirulax''')&lt;br /&gt;
* Allow allocating new object models using [[engineRequestModel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1684 #1684] by '''TheNormalnij''')&lt;br /&gt;
* Allow allocating new vehicle models using [[engineRequestModel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1701 #1701] by '''TheNormalnij''')&lt;br /&gt;
* Events [[onClientVehicleStartEnter]], [[onClientVehicleEnter]], [[onClientVehicleStartExit]] and [[onClientVehicleExit]] now return [[ped|peds]] as well ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')&lt;br /&gt;
* Fixed hectic bike rotation by filling CBikeSAInterface class ([https://github.com/multitheftauto/mtasa-blue/pull/1884 #1884] by '''TheNormalnij''')&lt;br /&gt;
* Fixed [[setSoundPanningEnabled|Sound.setPanningEnabled]] OOP-method not working due to typo in definition ([https://github.com/multitheftauto/mtasa-blue/pull/1923 #1923] by '''StrixG''')&lt;br /&gt;
* Fixed ped task bug when special fighting near to a vehicle causing abnormal behavior ([https://github.com/multitheftauto/mtasa-blue/pull/1943 #1943] by '''Zangomangu''')&lt;br /&gt;
* Fixed [[getKeyState]] not working with gamepad buttons ([https://github.com/multitheftauto/mtasa-blue/pull/1944 #1944] by '''botder''')&lt;br /&gt;
* Disable gamepad controls if disabled by [[showCursor]] ([https://github.com/multitheftauto/mtasa-blue/commit/c4b9a844c3dc8f8fd16776370dcdac12f189d32f c4b9a84] by '''botder''')&lt;br /&gt;
* Keep console position and size when changing locale ([https://github.com/multitheftauto/mtasa-blue/pull/1970 #1970] by '''xLuxy''')&lt;br /&gt;
* Fixed network trouble if falling into water while attempting to enter a vehicle ([https://github.com/multitheftauto/mtasa-blue/pull/1986 #1986] by '''Zangomangu''')&lt;br /&gt;
* Abort vehicle entering for incompatible vehicles if ped is in water ([https://github.com/multitheftauto/mtasa-blue/commit/b3ba15bad3a0943d83cefb90cddc6f9191667fa8 b3ba15b] by '''botder''')&lt;br /&gt;
* Lowered shadows and lights more towards ground level ([https://github.com/multitheftauto/mtasa-blue/pull/2018 #2018] by '''patrikjuvonen''' and '''botder''')&lt;br /&gt;
* Fixed objects not returning world model position in [[processLineOfSight]] ([https://github.com/multitheftauto/mtasa-blue/pull/2083 #2083] by '''STR6''')&lt;br /&gt;
* Added keybind queue to improve performance ([https://github.com/multitheftauto/mtasa-blue/pull/2123 #2123] by '''patrikjuvonen''')&lt;br /&gt;
* Added ped camera mode return value to [[getCameraViewMode]] ([https://github.com/multitheftauto/mtasa-blue/pull/1418 #1418] by '''TheNormalnij''')&lt;br /&gt;
* Fixed [[setMarkerType]] resetting marker position ([https://github.com/multitheftauto/mtasa-blue/commit/586d6d6fa202de43e633c20f757e2b1282529106 586d6d] by '''botder''')&lt;br /&gt;
* Fixed [[testLineAgainstWater]] working incorrectly outside of game boundaries ([https://github.com/multitheftauto/mtasa-blue/pull/2192 #2192] by '''Allerek''')&lt;br /&gt;
* Fixed client vehicles blocking entry to server vehicle ([https://github.com/multitheftauto/mtasa-blue/pull/2188 #2188] by '''Zangomangu''')&lt;br /&gt;
* Removed obsolete entry from forbodenList ([https://github.com/multitheftauto/mtasa-blue/commit/ff93fec93cb20c25577950c47bc22c0f9730a459 ff93fec] by '''Dutchman101''')&lt;br /&gt;
* Reset vehicle explosion timer in CVehicleSA::SetHealth ([https://github.com/multitheftauto/mtasa-blue/commit/8b30d7a4e43e6460a8203bb89b7133365a3e6a85 8b30d7a] and [https://github.com/multitheftauto/mtasa-blue/commit/546beabf70a896ccf87c3138f028e8ef34f84c7d 546beab] by '''botder''')&lt;br /&gt;
* Set game thread affinity to first CPU core ([https://github.com/multitheftauto/mtasa-blue/commit/dbc792b3d433378217c96b6b1418a21888ed1d5a dbc792b] by '''botder''')&lt;br /&gt;
* Added &amp;quot;TotalPhysicalMemory&amp;quot; to [[dxGetStatus]] ([https://github.com/multitheftauto/mtasa-blue/pull/2265 #2265] by '''Pirulax''')&lt;br /&gt;
* Added a UI button to delete servers from the &amp;quot;Recent&amp;quot; tab ([https://github.com/multitheftauto/mtasa-blue/pull/2253 #2253] by '''iDannz1''')&lt;br /&gt;
* Trim keybind whitespace to avoid duplicates ([https://github.com/multitheftauto/mtasa-blue/pull/2124 #2124] by '''patrikjuvonen''')&lt;br /&gt;
* Fixed a typo in the sa.dat file ([https://github.com/multitheftauto/mtasa-blue/commit/eff97c8ad3e725691d182c239997caeca51eba4d eff97c8] by '''ccw808''')&lt;br /&gt;
* Resolved remaining collisionless objects ([https://github.com/multitheftauto/mtasa-blue/pull/2296 #2296] by '''Saml1er''', '''TheNormalnij''', '''ccw808''', '''thisdp''' and '''botder''')&lt;br /&gt;
* Fixed attached players desync after reconnect ([https://github.com/multitheftauto/mtasa-blue/pull/2290 #2290] by '''theSarrum''')&lt;br /&gt;
* Check clothes type parameter in several cases ([https://github.com/multitheftauto/mtasa-blue/commit/ce9d3deab8ec7905264b3492bf11d3565ee5c149 ce9d3de] by '''Inder00''' and '''botder''')&lt;br /&gt;
* Updated some images ([https://github.com/multitheftauto/mtasa-blue/commit/f00c1a38934b28eff8201708dd4b956272d27f13 f00c1a3] by '''patrikjuvonen''')&lt;br /&gt;
* Set CEF cache path ([https://github.com/multitheftauto/mtasa-blue/commit/adff688e77c16d0c5a63e047b60da97529f2b111 adff688] by '''patrikjuvonen''')&lt;br /&gt;
* Fixed some capital letters not working in CEF ([https://github.com/multitheftauto/mtasa-blue/commit/6ed00b324a980d43c342d87916d1a78bfd352d86 6ed00b3] by '''patrikjuvonen''' and '''botder''')&lt;br /&gt;
* Fixed domain permission window labels overflowing in some languages ([https://github.com/multitheftauto/mtasa-blue/commit/f7dcd6f249a367ddb9b81b07bea35b4fcb6145ee f7dcd6f] by '''patrikjuvonen''')&lt;br /&gt;
* Updated client translations ([https://github.com/multitheftauto/mtasa-blue/commit/6db5ba4454a7f764871aae561b17898fd4e82318 6db5ba4] by '''patrikjuvonen''')&lt;br /&gt;
* Updated credits ([https://github.com/multitheftauto/mtasa-blue/pull/2125 #2125] by '''patrikjuvonen''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 7 Vendor Updates ===&lt;br /&gt;
* Updated and replaced CEGUI-integrated [https://www.freetype.org/ FreeType] by adding it as its own dependency ([https://github.com/multitheftauto/mtasa-blue/commit/def86d01971d84522803052f68374a92bd68fad4 def86d0] and [https://github.com/multitheftauto/mtasa-blue/commit/2b70f96da7e4fb07effc371929e7e8f6297b8105 2b70f96] by '''Jusonex''')&lt;br /&gt;
* Updated libjpeg from 9b to 9d ([https://github.com/multitheftauto/mtasa-blue/pull/1963 #1963] by '''patrikjuvonen''')&lt;br /&gt;
* Updated Unifont from 5.1 to 13.0.06 ([https://github.com/multitheftauto/mtasa-blue/commit/8eeac9a6465b2d6af7055cab01eb24beb72b8d2d 8eeac9a] by '''patrikjuvonen''')&lt;br /&gt;
* Updated BASS libraries ([https://github.com/multitheftauto/mtasa-blue/pull/2377 #2377] by '''Dutchman101''')&lt;br /&gt;
* Updated CEF from 85.3.12+g3e94ebf (Chromium 85.0.4183.121) to 94.4.2+g6a963ca ([https://chromereleases.googleblog.com/2021/09/stable-channel-update-for-desktop_24.html Chromium 94.0.4606.61]) (See commit [https://github.com/multitheftauto/mtasa-blue/commit/ae6caa92c81b37ca29c7af0fbb7dffb4c57b14b6 ae6caa9] by '''patrikjuvonen''')&lt;br /&gt;
* Added lunasvg 2.3.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2026 #2026] by '''Lpsd''')&lt;br /&gt;
* Updated unrar from 5.91 to 6.02 ([https://github.com/multitheftauto/mtasa-blue/pull/2384 #2384] by '''patrikjuvonen''')&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&amp;lt;section show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
=== 6 New Events ===&lt;br /&gt;
* Added [[onElementDimensionChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1553 #1553] by '''StrixG''')&lt;br /&gt;
* Added [[onPedVehicleEnter]] and [[onPedVehicleExit]] ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')&lt;br /&gt;
* Added [[onResourceLoadStateChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1651 #1651] by '''TeteX1''')&lt;br /&gt;
* Added [[onElementInteriorChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/2058 #2058] by '''Patrick2562''')&lt;br /&gt;
* Added [[onPlayerResourceStart]] ([https://github.com/multitheftauto/mtasa-blue/pull/2150 #2150] by '''Lpsd''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== New Arguments &amp;amp; Parameters ===&lt;br /&gt;
* Added ''exitCode'' to [[shutdown]] ([https://github.com/multitheftauto/mtasa-blue/pull/2298 #2298] by '''botder''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 16 Bug Fixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed wrong SQLite column in [[getAccountsByIP]] ([https://github.com/multitheftauto/mtasa-blue/pull/1734 #1734] by '''emre1702''')&lt;br /&gt;
* Improved ''help'' command in server console ([https://github.com/multitheftauto/mtasa-blue/pull/1639 #1639] by '''Unde-R''')&lt;br /&gt;
* Improved checksum error messages for internal HTTP servers ([https://github.com/multitheftauto/mtasa-blue/pull/1778 #1778] by '''qaisjp''')&lt;br /&gt;
* Events [[onVehicleStartEnter]], [[onVehicleEnter]], [[onVehicleStartExit]] and [[onVehicleExit]] now return [[ped|peds]] as well ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')&lt;br /&gt;
* Fixed CLuaArgument not comparing tables recursively, causing unnecessary [[setElementData]] resyncs even if values match ([https://github.com/multitheftauto/mtasa-blue/commit/76e52f820e4dadce75df6de0ea3378d02cc1bbb5 76e52f8] by '''botder''')&lt;br /&gt;
* Enforce existing username length limit in account code ([https://github.com/multitheftauto/mtasa-blue/pull/1995 #1995] by '''patrikjuvonen''')&lt;br /&gt;
* Refactored vehicle blowup code to fix [[onVehicleExplode]] triggering twice server-side ([https://github.com/multitheftauto/mtasa-blue/pull/1997 #1997] by '''botder''')&lt;br /&gt;
* Added source map compatibility in CResourceHTMLItem ([https://github.com/multitheftauto/mtasa-blue/pull/2207 #2207] by '''PauloKim1246''')&lt;br /&gt;
* Added missing [[GetElementsWithinColShape|ColShape.elementsWithin]] ([https://github.com/multitheftauto/mtasa-blue/pull/2186 #2186] by '''Pirulax''')&lt;br /&gt;
* Fixed info command displaying two statuses of a running resource ([https://github.com/multitheftauto/mtasa-blue/pull/2292 #2292] by '''theSarrum''')&lt;br /&gt;
* Fixed respawning of blown vehicles ([https://github.com/multitheftauto/mtasa-blue/commit/796399704b1e0a2147bb7ba52ea95c34245ceebe 7963997] by '''botder''')&lt;br /&gt;
* Don't allow dead peds to enter vehicles ([https://github.com/multitheftauto/mtasa-blue/pull/2344 #2344] by '''Zangomangu''')&lt;br /&gt;
* Fixed missing new lines when outputting long messages in server console ([https://github.com/multitheftauto/mtasa-blue/commit/6256bb05ea752d2e2f406c516448ae948f493c79 6256bb0] by '''patrikjuvonen''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 1 Vendor Update ===&lt;br /&gt;
* Updated sqlite from 3.32.3 to 3.36.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2284 #2284] by '''patrikjuvonen''')&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shared (''Client &amp;amp; Server'') ==&lt;br /&gt;
&amp;lt;section show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
=== 5 New Functions ===&lt;br /&gt;
* Added transfer box customization functions [[setTransferBoxVisible]] and [[isTransferBoxVisible]] ([https://github.com/multitheftauto/mtasa-blue/pull/1955 #1955] by '''botder''' and '''CrosRoad95''')&lt;br /&gt;
* Added [[setColPolygonHeight]] and [[getColPolygonHeight]] ([https://github.com/multitheftauto/mtasa-blue/pull/1908 #1908] by '''CrosRoad95''')&lt;br /&gt;
* Added ''intersectsSegmentTriangle'' method to [[Vector3]] ([https://github.com/multitheftauto/mtasa-blue/pull/1711 #1711] by '''Pirulax''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3 New Arguments &amp;amp; Parameters ===&lt;br /&gt;
* Added ''bIncludeWorldSeaLevel'' and ''bIncludeOutsideWorldLevel'' to [[setWaterLevel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1402 #1402] by '''TheNormalnij''')&lt;br /&gt;
* Added new optional ''inputBlocked'' argument for [[showChat]] ([https://github.com/multitheftauto/mtasa-blue/pull/2170 #2170] by '''Pieter-Dewachter''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 9 Bug Fixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed vehicle driver desynchronization after carjacker dies ([https://github.com/multitheftauto/mtasa-blue/pull/1907 #1907] by '''Zangomangu''')&lt;br /&gt;
* Disabled train track functions ([https://github.com/multitheftauto/mtasa-blue/pull/1920 #1920] by '''qaisjp''')&lt;br /&gt;
* Added request body and method to HTTP scripts ([https://github.com/multitheftauto/mtasa-blue/pull/2053 #2053] by '''Disinterpreter''')&lt;br /&gt;
* Added aes128 encryption support to [[encodeString]] and [[decodeString]] ([https://github.com/multitheftauto/mtasa-blue/pull/2235 #2235] by '''drop-club''')&lt;br /&gt;
* Fixed empty files returning an invalid checksum ([https://github.com/multitheftauto/mtasa-blue/commit/966de4e209b4ce6b3e4e6a7ea0f53650038a049c 966de4e] by '''botder''')&lt;br /&gt;
* Added extra checks in CXMLImpl::ParseString to avoid crash when invalid XML data supplied ([https://github.com/multitheftauto/mtasa-blue/pull/2282 #2282] by '''Lpsd''')&lt;br /&gt;
* Added ability to use peds and vehicles as a camera target using [[setCameraTarget]] ([https://github.com/multitheftauto/mtasa-blue/pull/1753 #1753] by '''TheNormalnij''')&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5 Vendor Updates ===&lt;br /&gt;
* Updated detours from 1.2 to 4.0.1 ([https://github.com/multitheftauto/mtasa-blue/pull/2022 #2022] by '''botder''')&lt;br /&gt;
* Updated mbedtls from 2.4.2 to 2.27.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2085 #2085] and [https://github.com/multitheftauto/mtasa-blue/commit/38e92079643779a0a1ef3b25ca5cfb4c99be2e52 38e9207] by '''botder''' and '''patrikjuvonen''')&lt;br /&gt;
* Updated curl from 7.72.0 to 7.79.1 ([https://github.com/multitheftauto/mtasa-blue/pull/2373 #2373] by '''patrikjuvonen''')&lt;br /&gt;
* Updated pcre from 8.39 to 8.45 ([https://github.com/multitheftauto/mtasa-blue/commit/7d517586c71a940f52cfa5ee1443b628882c9eed 7d51758] by '''patrikjuvonen''')&lt;br /&gt;
* Updated cryptopp from 8.2.0 to 8.6.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2385 #2385] by '''patrikjuvonen''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
=== 37+ Bug Fixes &amp;amp; Changes ===&lt;br /&gt;
&lt;br /&gt;
* [admin] added an option to hide sensitive data. (works like streamer mode in some apps) (thanks to iDannz)&lt;br /&gt;
* [admin] added an option make the camera collide while spectate. (thanks to iDannz)&lt;br /&gt;
* [admin] added a command to send messages in admin chat (/a message). (thanks to rickchesterhd123)&lt;br /&gt;
* [admin] added an option to teleport to the selected position on the map. (thanks to Patrick2562)&lt;br /&gt;
* [admin] added save to some infos, so you don't have to reselect some options after reconnecting. (thanks to iDannz)&lt;br /&gt;
* [admin] fixed error in output messages (case the player has a nickname with more than 1 hex color). (thanks to androksi)&lt;br /&gt;
* [admin] fixed a bug that occurred when trying to restart a resource that wasn't running. (thanks to Dante386)&lt;br /&gt;
* [admin] fixed an error that occurred when clicking on the &amp;quot;Maps&amp;quot; tab if the resource 'mapmanager' was not running. (thanks to cleoppa and iDannz)&lt;br /&gt;
* [admin] improved the lists of 'give vehicle', 'give weapon' and 'slap'. (thanks to iDannz)&lt;br /&gt;
* [admin] replace 'give admin' button with permissions selection widget. (thanks to iDannz)&lt;br /&gt;
* [admin] tweaks to the interface. (thanks to iDannz)&lt;br /&gt;
* [cdm] removed the cdm resource from the official resources package.&lt;br /&gt;
* [editor] added an option to 'lock' elements. (thanks to xLive)&lt;br /&gt;
* [editor] added an option to choose the output directory before saving new maps. (thanks to umithyo, xLive and iDannz)&lt;br /&gt;
* [editor] added option to select some objects that do not have collisions. (thanks to Zangomangu and Tut)&lt;br /&gt;
* [editor] fixed an issue that occurred when saving element's dimension. (thanks to FileEX)&lt;br /&gt;
* [editor] fixed bug that made the camera be locked after clicking some buttons too fast. (thanks to androksi and iDannz)&lt;br /&gt;
* [editor] interior world models are now removable. (thanks to Zangomango)&lt;br /&gt;
* [freeroam] fixed an error in the command '/addclothes'. (thanks to xLive)&lt;br /&gt;
* [freeroam] fixed error when using negative numbers in the command '/color'. (thanks to xLive)&lt;br /&gt;
* [freeroam] improved the map image quality. (thanks to patrikjuvonen)&lt;br /&gt;
* [hedit] resource added to the official resources package.&lt;br /&gt;
* [ipb] fixed filter input-box that did not work. (thanks to iDannz)&lt;br /&gt;
* [killmessages] rewritten resource. (now detects deaths caused by vehicles (eg hydra), and also detects deaths caused by vehicle explosions). (thanks to iDannz)&lt;br /&gt;
* [mapcycler] added an option to pause cycling while the server is empty. (thanks to jlillis)&lt;br /&gt;
* [race] added configuration of transparency level during the ghost mode. (thanks to AfuSensi)&lt;br /&gt;
* [race] added fade car addon. (thanks to AfuSensi)&lt;br /&gt;
* [race] fix bug in pickup respawn. (thanks to LosFaul)&lt;br /&gt;
* [race] finish the map when there are only spectators. (thanks to xLive)&lt;br /&gt;
* [race] added possibility to use rotation attributes. (thanks to xLive)&lt;br /&gt;
* [resourcemanager] fixed problems on the dates of some information. (thanks to Dezash)&lt;br /&gt;
* [runcode] fixed a problem that caused the 'srun' command show the results to everyone. (thanks to Yamsha75)&lt;br /&gt;
* [speedometer] resource added to the official resources package.&lt;br /&gt;
* [trainhorn] resource added to the official resources package.&lt;br /&gt;
* [webmap] fixed and updated. (thanks to patrikjuvonen)&lt;br /&gt;
* [webstats] updated. (thanks to patrikjuvonen)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on our GitHub repositories:&lt;br /&gt;
:* [https://github.com/multitheftauto/mtasa-blue MTA:SA Blue]&lt;br /&gt;
:* [https://github.com/multitheftauto/mtasa-resources MTA:SA Official Resources]&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelog]]&lt;br /&gt;
[[Category:Incomplete]]&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetElementLighting&amp;diff=75599</id>
		<title>GetElementLighting</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetElementLighting&amp;diff=75599"/>
		<updated>2022-10-22T13:35:06Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Created page with &amp;quot;{{Client function}} __NOTOC__ {{Added feature/item|1.5.9|1.5.9|21367|This function returns the lighting value for the specified element. This can be a player, ped, vehicle, object.}}  ==Syntax== &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt; float getElementLighting ( element theElement ) &amp;lt;/syntaxhighlight&amp;gt; {{OOP||element:getLighting|lighting}}  ===Required Arguments=== *'''theElement:''' The element whose lighting you want to retrieve.  ===Returns=== Returns a...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Added feature/item|1.5.9|1.5.9|21367|This function returns the lighting value for the specified [[element]]. This can be a [[player]], [[ped]], [[vehicle]], [[object]].}}&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 getElementLighting ( element theElement )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[element]]:getLighting|lighting}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theElement:''' The [[element]] whose lighting you want to retrieve.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a float (0.0-0.5; 0 = dark; 0.5 = light) indicating the element's lighting, or ''false'' if invalid arguments were passed. This function will fail if called right after element creation.&lt;br /&gt;
&lt;br /&gt;
==Example==&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;
This example displays lighting values of streamed in players.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;, root, function()&lt;br /&gt;
	for _, pl in ipairs(getElementsByType(&amp;quot;player&amp;quot;, root, true)) do&lt;br /&gt;
		local sX, sY = getScreenFromWorldPosition(getElementPosition(pl))&lt;br /&gt;
		if sX then&lt;br /&gt;
			dxDrawText(&amp;quot;Lighting: &amp;quot;..tostring(getElementLighting(pl)), sX, sY)&lt;br /&gt;
		end&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;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.5.9-9.21367|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Element functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CreateTrayNotification&amp;diff=62630</id>
		<title>CreateTrayNotification</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CreateTrayNotification&amp;diff=62630"/>
		<updated>2019-05-11T10:59:54Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
This functions creates a notification ballon on the desktop.&lt;br /&gt;
&lt;br /&gt;
{{Note|MTA won't show any tray notifications if the MTA window is focused, because there is no reason to show tray notifications if you are ingame. If you want to test this function you should use a Timer and switch to your desktop.}}&lt;br /&gt;
{{Note|You can only show a tray notification every 30 seconds.}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool createTrayNotification ( string notificationText, [ string iconType = &amp;quot;default&amp;quot;, bool useSound = true ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''notificationText:''' The text to send in the notification.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''iconType:''' The notification icon type. Possible values are: '''&amp;quot;default&amp;quot; (the MTA icon), &amp;quot;info&amp;quot;, &amp;quot;warning&amp;quot;, &amp;quot;error&amp;quot;'''&lt;br /&gt;
*'''useSound:''' A boolean value indicating whether or not to play a sound when receiving the notification.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the notification is correctly created, ''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;
-- Note: You have to wait 30 seconds before showing another tray notification, there is no queuing&lt;br /&gt;
&lt;br /&gt;
-- Show a 'Hello World' notification&lt;br /&gt;
createTrayNotification( &amp;quot;Hello World&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
-- Show a notification with a warning symbol&lt;br /&gt;
createTrayNotification( &amp;quot;Hello World&amp;quot;, &amp;quot;warning&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
-- Show a default notification without sound&lt;br /&gt;
createTrayNotification( &amp;quot;Hello World&amp;quot;, &amp;quot;default&amp;quot;, false )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example of notification on minimize MTA application==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function setTrayOnMinimize( )&lt;br /&gt;
     createTrayNotification( &amp;quot;We are waiting for you again...&amp;quot;, &amp;quot;warning&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
addEventHandler( &amp;quot;onClientMinimize&amp;quot;, getRootElement( ), setTrayOnMinimize )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.6-9.16925|Added support for Windows 10}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_utility_functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Client_object_functions&amp;diff=60257</id>
		<title>Template:Client object functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Client_object_functions&amp;diff=60257"/>
		<updated>2018-11-04T01:14:35Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[breakObject]]&lt;br /&gt;
*[[createObject]]&lt;br /&gt;
*[[getObjectMass]]&lt;br /&gt;
*[[getObjectScale]]&lt;br /&gt;
*[[isObjectBreakable]]&lt;br /&gt;
*[[moveObject]]&lt;br /&gt;
*[[respawnObject]]&lt;br /&gt;
*[[setObjectBreakable]]&lt;br /&gt;
*[[setObjectMass]]&lt;br /&gt;
*[[setObjectScale]]&lt;br /&gt;
*[[stopObject]]&lt;br /&gt;
*[[toggleObjectRespawn]]&lt;br /&gt;
{{New items|3.0157|1.5.6|&lt;br /&gt;
*[[getObjectProperty]]&lt;br /&gt;
*[[setObjectProperty]]&lt;br /&gt;
|14370}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetObjectProperty&amp;diff=60256</id>
		<title>GetObjectProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetObjectProperty&amp;diff=60256"/>
		<updated>2018-11-04T01:08:30Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Created page with &amp;quot;__NOTOC__  {{Client function}} {{New feature/item|3.0157|1.5.6|14370|This function gets a property of the specified object.}}  ==Syntax==  &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;mixe...&amp;quot;&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.6|14370|This function gets a property of the specified [[object]].}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;mixed getObjectProperty ( object theObject, string property )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[object]]:getProperty||setProperty}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theObject''': the [[object]] you wish to get a property of.&lt;br /&gt;
*'''property:''': the property you want to get the value of:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding-left:20px&amp;quot;&amp;gt;&lt;br /&gt;
* &amp;quot;all&amp;quot; - ''table'' with values of all properties below (OOP method: ''getProperties'')&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Object Properties}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
On success: [[table]] for '''all''', 3 [[float|floats]] for '''center_of_mass''' or [[float]] for other properties&lt;br /&gt;
&lt;br /&gt;
On failure: ''false''&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;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, function()&lt;br /&gt;
	local theObject = createObject(980, 0, 0, 0) -- create an object&lt;br /&gt;
	if theObject then&lt;br /&gt;
		setObjectProperty(theObject, &amp;quot;center_of_mass&amp;quot;, 0, -1, 0) -- set it's center of mass&lt;br /&gt;
&lt;br /&gt;
		local x, y, z = getObjectProperty(theObject, &amp;quot;center_of_mass&amp;quot;) -- get it's center of mass&lt;br /&gt;
		outputChatBox(&amp;quot;Object's center of mass: &amp;quot;..tostring(x)..&amp;quot;, &amp;quot;..tostring(y)..&amp;quot;, &amp;quot;..tostring(z))&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;
{{Client_object_functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetObjectProperty&amp;diff=60255</id>
		<title>SetObjectProperty</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetObjectProperty&amp;diff=60255"/>
		<updated>2018-11-04T01:08:14Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Created page with &amp;quot;__NOTOC__  {{Client function}} {{New feature/item|3.0157|1.5.6|14370|This function sets a property of the specified object.}}  ==Syntax==  &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool...&amp;quot;&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.6|14370|This function sets a property of the specified [[object]].}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setObjectProperty ( object theObject, string property, var value )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[object]]:setProperty||getProperty}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theObject''': the [[object]] you wish to change a property of.&lt;br /&gt;
*'''property:''': the property you want to set the value of:&lt;br /&gt;
{{Object Properties}}&lt;br /&gt;
*'''value:''': the new value for the property.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the property was set successfully, ''false'' otherwise.&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;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, function()&lt;br /&gt;
	local theObject = createObject(980, 0, 0, 0) -- create an object&lt;br /&gt;
	if theObject then&lt;br /&gt;
		setObjectProperty(theObject, &amp;quot;center_of_mass&amp;quot;, 0, -1, 0) -- set it's center of mass&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;
{{Client_object_functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Object_Properties&amp;diff=60254</id>
		<title>Template:Object Properties</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Object_Properties&amp;diff=60254"/>
		<updated>2018-11-04T01:06:40Z</updated>

		<summary type="html">&lt;p&gt;Samr46: Created page with &amp;quot;&amp;lt;div style=&amp;quot;padding-left:20px&amp;quot;&amp;gt; * &amp;quot;mass&amp;quot; - ''float'' * &amp;quot;turn_mass&amp;quot; - ''float'' * &amp;quot;accuracy&amp;quot; - ''float'' * &amp;quot;air_resistance&amp;quot; - ''float'' * &amp;quot;elasticity&amp;quot; - ''float'' * &amp;quot;center_of_...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;padding-left:20px&amp;quot;&amp;gt;&lt;br /&gt;
* &amp;quot;mass&amp;quot; - ''float''&lt;br /&gt;
* &amp;quot;turn_mass&amp;quot; - ''float''&lt;br /&gt;
* &amp;quot;accuracy&amp;quot; - ''float''&lt;br /&gt;
* &amp;quot;air_resistance&amp;quot; - ''float''&lt;br /&gt;
* &amp;quot;elasticity&amp;quot; - ''float''&lt;br /&gt;
* &amp;quot;center_of_mass&amp;quot; - ''Vector3D'' - '''(x, y, z)'''&lt;br /&gt;
* &amp;quot;buoyancy&amp;quot; - ''float''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxCreateShader&amp;diff=60226</id>
		<title>DxCreateShader</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxCreateShader&amp;diff=60226"/>
		<updated>2018-10-30T12:20:13Z</updated>

		<summary type="html">&lt;p&gt;Samr46: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function creates a [[shader]] element that can be used in the dxDraw functions. Successful shader creation is not guaranteed unless the [[shader|Effect File]] contains a fallback technique which will work on every PC in the universe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5&amp;gt;It is highly recommended that [[dxSetTestMode]] is used when writing and testing scripts using dxCreateShader.&amp;lt;/h5&amp;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;
element, string dxCreateShader ( string filepath / string raw_data [, float priority = 0, float maxDistance = 0, bool layered = false, string elementTypes = &amp;quot;world,vehicle,object,other&amp;quot; ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[Shader|DxShader]]}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''filepath / raw_data:''' The filepath of the [[shader|shader  Effect File]] (.fx) file or whole data buffer of the shader file&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
''All the following optional arguments are only relevant when the shader is used with [[engineApplyShaderToWorldTexture]]''&lt;br /&gt;
*'''priority:''' If more than one shader is matched to a world texture, the shader with the highest priority will be used. If there is more than one shader with the same highest priority, the most recently created shader is used.&lt;br /&gt;
*'''maxDistance:''' If non-zero, the shader will be applied to textures nearer than maxDistance only. This can speed up rendering, but (to look good) may require the shader to fade out it's own effect as the texture reaches maxDistance.&lt;br /&gt;
*'''layered:''' When set to true, the shader will be drawn in a separate render pass. Several layered shaders can be drawn on the same world texture. (To avoid [http://en.wikipedia.org/wiki/Z-fighting Z fighting] artifacts, you may have to add '''DepthBias&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;-0.0002;''' to the technique pass, but this might cause visual artifacts when applied on vehicles)&lt;br /&gt;
*'''elementTypes:''' A comma seperated list of element types to restrict this shader to. Valid element types are:&lt;br /&gt;
** world - Textures in the GTA world&lt;br /&gt;
** ped - Player and ped textures&lt;br /&gt;
** vehicle - Vehicles textures&lt;br /&gt;
** object - Objects textures&lt;br /&gt;
** other - Element textures which are not peds, vehicles or objects&lt;br /&gt;
** all - Everything&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
*'''element:''' A [[shader]] element if successful, ''false'' if invalid arguments were passed to the function. '''You should always check to see if this function has returned false.'''&lt;br /&gt;
*'''string:''' The name of the technique that will be used.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onClientRender&amp;quot;, root,&lt;br /&gt;
    function()&lt;br /&gt;
        if myShader then&lt;br /&gt;
            dxDrawImage( 100, 350, 300, 350, myShader )&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- Use 'toggle' command to switch shader on and off&lt;br /&gt;
addCommandHandler( &amp;quot;toggle&amp;quot;,&lt;br /&gt;
    function()&lt;br /&gt;
        if not myShader then&lt;br /&gt;
            myShader = dxCreateShader( &amp;quot;fancything.fx&amp;quot; )  -- Create shader&lt;br /&gt;
        else        &lt;br /&gt;
            destroyElement( myShader )                    -- Destroy shader&lt;br /&gt;
            myShader = nil&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{New items|5.0156|1.5.6-9.14403|&lt;br /&gt;
This example creates basic shader from raw data (without i/o) on resource start:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local myShader_raw_data = [[&lt;br /&gt;
	texture tex;&lt;br /&gt;
	technique replace {&lt;br /&gt;
		pass P0 {&lt;br /&gt;
			Texture[0] = tex;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot, function()&lt;br /&gt;
	local myShader = dxCreateShader(myShader_raw_data) -- create shader from raw data&lt;br /&gt;
	if isElement(myShader) then&lt;br /&gt;
		local myTexture = dxCreateTexture(&amp;quot;some_image.png&amp;quot;) -- create texture from image file&lt;br /&gt;
		if isElement(myTexture) then&lt;br /&gt;
			-- apply image to world texture via shader&lt;br /&gt;
			dxSetShaderValue(myShader, &amp;quot;tex&amp;quot;, myTexture)&lt;br /&gt;
			engineApplyShaderToWorldTexture(myShader, &amp;quot;shad_ped&amp;quot;)&lt;br /&gt;
		else&lt;br /&gt;
			outputDebugString(&amp;quot;Unable to load texture&amp;quot;, 1)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		outputDebugString(&amp;quot;Unable to create shader&amp;quot;, 1)&lt;br /&gt;
	end&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can pass raw data (shader code) directly into the function (example uses variable ''myShader_raw_data'').&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.3.0-9.04435|Added layered and elementTypes arguments}}&lt;br /&gt;
{{ChangelogItem|1.5.6-9.14403|Added option to use raw data instead of a file name}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;br /&gt;
&lt;br /&gt;
[[hu:dxCreateShader]]&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PregReplace&amp;diff=60224</id>
		<title>PregReplace</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PregReplace&amp;diff=60224"/>
		<updated>2018-10-30T02:17:48Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{New items|3.0135|1.3.5|&lt;br /&gt;
This function performs a regular expression search and replace and returns the replaced string.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|When declaring a pattern string in quotes, the backslash character should be doubled up. e.g. &amp;quot;\\(&amp;quot; will match a single bracket. This also applies to the replacement string.}} &lt;br /&gt;
{{Warning|Multiline flag does not work correctly}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string pregReplace ( string subject, string pattern, string replacement [, int/string flags ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''subject:''' The input [[string]].&lt;br /&gt;
*'''pattern:''' The pattern [[string]] to search for in the input [[string]].&lt;br /&gt;
*'''replacement:''' The replacement [[string]] to replace all matches within the input [[string]].&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''flags:''' Conjuncted value that contains flags ( 1 - ignorecase, 2 - multiline, 4 - dotall, 8 - extended, 16 - unicode ) or ( i - Ignore case, m - Multiline, d - Dotall, e - Extended, u - Unicode )&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the replaced ''[[string]]'', or [[bool]] ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Shared ( client and server )&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Some examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler('examples',&lt;br /&gt;
    function ()&lt;br /&gt;
        -- Replace doh with done&lt;br /&gt;
        outputDebugString( pregReplace( 'I doh this, guys.', 'doh', 'done' ) or 'not replaced' ) -- Result: I done this, guys&lt;br /&gt;
&lt;br /&gt;
        -- Remove all uppercase alphabetic characters&lt;br /&gt;
        outputDebugString( pregReplace( 'AaaBbbZzz', '[A-Z]{1,}', '' ) or 'not replaced' ) -- Result: aabbzz&lt;br /&gt;
&lt;br /&gt;
        -- Use simple backreference in replacement string&lt;br /&gt;
        outputDebugString( pregReplace( &amp;quot;I love Lua!&amp;quot;, &amp;quot;(Lua)&amp;quot;, &amp;quot;Moon\\1&amp;quot; ) ) -- Result: I love MoonLua!&lt;br /&gt;
&lt;br /&gt;
        -- Remove repeated characters&lt;br /&gt;
        outputDebugString( pregReplace( &amp;quot;Keeeeeep this shooooooort.&amp;quot;, &amp;quot;((.)\\2{2})\\2+&amp;quot;, &amp;quot;\\1&amp;quot; ) ) -- Result: Keeep this shooort.&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;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.5-9.06056|1.3.5-9.06056|}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.0-9.07315|Added flag &amp;quot;u&amp;quot; in regular expressions}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility_functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PregMatch&amp;diff=60223</id>
		<title>PregMatch</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PregMatch&amp;diff=60223"/>
		<updated>2018-10-30T02:17:44Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{New items|3.0135|1.3.5|&lt;br /&gt;
This function returns all matches.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|When declaring a pattern string in quotes, the backslash character should be doubled up. e.g. &amp;quot;\\(&amp;quot; will match a single bracket.}} &lt;br /&gt;
{{Warning|Multiline flag does not work correctly}}&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table pregMatch ( string base, string pattern [, int/string flags = 0, int maxResults = 100000 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''base:''' The base [[string]] for replace.&lt;br /&gt;
*'''pattern:''' The pattern for match in base string.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''flags:''' Conjuncted value that contains flags ( 1 - ignorecase, 2 - multiline, 4 - dotall, 8 - extended, 16 - unicode ) or ( i - Ignore case, m - Multiline, d - Dotall, e - Extended, u - Unicode )&lt;br /&gt;
*'''maxResults:''' Maximum number of results to return&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a ''[[table]]'' if one or more match is found, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Shared ( client and server )&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Some examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler( 'example',&lt;br /&gt;
	function( )&lt;br /&gt;
                --[[&lt;br /&gt;
                Will print:&lt;br /&gt;
                Match: 1, hello&lt;br /&gt;
                Match: 2, hello&lt;br /&gt;
                ]] &lt;br /&gt;
                for i, v in ipairs( pregMatch( &amp;quot;hello hello&amp;quot;, &amp;quot;(hello)&amp;quot;  ) ) do&lt;br /&gt;
	            outputDebugString( &amp;quot;Match: &amp;quot; .. i .. &amp;quot;, &amp;quot; .. v );&lt;br /&gt;
                end&lt;br /&gt;
	end&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
addCommandHandler( 'example2',&lt;br /&gt;
	function( )&lt;br /&gt;
                --[[&lt;br /&gt;
                Will print:&lt;br /&gt;
                Match: 1, somebodyWWw&lt;br /&gt;
                Match: 2, 228&lt;br /&gt;
                ]] &lt;br /&gt;
                for i, v in ipairs( pregMatch( &amp;quot;somebodyWWw\n228&amp;quot;, &amp;quot;([a-z0-9]+)&amp;quot;, &amp;quot;im&amp;quot; ) ) do&lt;br /&gt;
	            outputDebugString( &amp;quot;Match: &amp;quot; .. i .. &amp;quot;, &amp;quot; .. v );&lt;br /&gt;
                end&lt;br /&gt;
	end&lt;br /&gt;
);&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;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.5-9.06056|1.3.5-9.06056|}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.0-9.07315|Added flag &amp;quot;u&amp;quot; in regular expressions}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility_functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PregFind&amp;diff=60222</id>
		<title>PregFind</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PregFind&amp;diff=60222"/>
		<updated>2018-10-30T02:17:42Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{New items|3.0135|1.3.5|&lt;br /&gt;
This function stops at the first occurrence of the pattern in the input string and returns the result of the search.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|When declaring a pattern string in quotes, the backslash character should be doubled up. e.g. &amp;quot;\\(&amp;quot; will match a single bracket.}} &lt;br /&gt;
{{Warning|Multiline flag does not work correctly}}&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 pregFind ( string subject, string pattern [, int/string flags ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''subject:''' The input [[string]]&lt;br /&gt;
*'''pattern:''' The pattern [[string]] to search for in the input [[string]].&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''flags:''' Conjuncted value that contains flags ( 1 - ignorecase, 2 - multiline, 4 - dotall, 8 - extended, 16 - unicode ) or ( i - Ignore case, m - Multiline, d - Dotall, e - Extended, u - Unicode )&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the pattern was found in the input string, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Shared ( client and server )&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Some examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler( 'examples',&lt;br /&gt;
	function( )&lt;br /&gt;
                -- find the first occurrence of 'hello world' in a string&lt;br /&gt;
		outputDebugString( pregFind( 'hello world, hello world, hello world', 'hello world' ) and 'found' or 'not found' ) -- found &lt;br /&gt;
                -- find the first occurrence of an integer in a string&lt;br /&gt;
                outputDebugString( pregFind( '123', '^-{0,1}\\d+$' ) and 'found' or 'not found' ) -- found&lt;br /&gt;
                -- check if the input string consists of at least 3 letters from a to z (both uppercase and lowercase) and does not contain any whitespace characters&lt;br /&gt;
                outputDebugString( pregFind( 'Kenix', '^[a-zA-Z]{3,}$' ) and 'found' or 'not found' ) -- found&lt;br /&gt;
                -- check if the input string matches the format of a role-play name&lt;br /&gt;
                outputDebugString( pregFind( 'Garry_Newman', '([A-Z]{1,1})[a-z]{2,9}_([A-Z]{1,1})[a-z]{2,9}' ) and 'found' or 'not found' ) -- found&lt;br /&gt;
                -- example of a search for non-ASCII characters (i.e. cyrillic) - привет&lt;br /&gt;
                outputDebugString( pregFind( 'Всем привет парни, ещё раз привет :D', 'привет' ) and 'found' or 'not found' ) -- found&lt;br /&gt;
                -- example of a search for a specific sequence of numbers&lt;br /&gt;
                outputDebugString( pregFind( '5, 10', '^([1-9]{1}[0-9]{0,})+(((,\s|,)[1-9]{1}[0-9]{0,}){0,1}){1,1}' ) and 'found' or 'not found' ) -- found&lt;br /&gt;
&lt;br /&gt;
                &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;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.5-9.06056|1.3.5-9.06056|}}&lt;br /&gt;
&lt;br /&gt;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.5.0-9.07315|Added flag &amp;quot;u&amp;quot; in regular expressions}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility_functions}}&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxCreateShader&amp;diff=60138</id>
		<title>DxCreateShader</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxCreateShader&amp;diff=60138"/>
		<updated>2018-10-27T16:58:51Z</updated>

		<summary type="html">&lt;p&gt;Samr46: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function creates a [[shader]] element that can be used in the dxDraw functions. Successful shader creation is not guaranteed unless the [[shader|Effect File]] contains a fallback technique which will work on every PC in the universe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h5&amp;gt;It is highly recommended that [[dxSetTestMode]] is used when writing and testing scripts using dxCreateShader.&amp;lt;/h5&amp;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;
element, string dxCreateShader ( string filepath / string raw_data [, float priority = 0, float maxDistance = 0, bool layered = false, string elementTypes = &amp;quot;world,vehicle,object,other&amp;quot; ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[Shader|DxShader]]}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''filepath / raw_data:''' The filepath of the [[shader|shader  Effect File]] (.fx) file or whole data buffer of the shader file&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
''All the following optional arguments are only relevant when the shader is used with [[engineApplyShaderToWorldTexture]]''&lt;br /&gt;
*'''priority:''' If more than one shader is matched to a world texture, the shader with the highest priority will be used. If there is more than one shader with the same highest priority, the most recently created shader is used.&lt;br /&gt;
*'''maxDistance:''' If non-zero, the shader will be applied to textures nearer than maxDistance only. This can speed up rendering, but (to look good) may require the shader to fade out it's own effect as the texture reaches maxDistance.&lt;br /&gt;
*'''layered:''' When set to true, the shader will be drawn in a separate render pass. Several layered shaders can be drawn on the same world texture. (To avoid [http://en.wikipedia.org/wiki/Z-fighting Z fighting] artifacts, you may have to add '''DepthBias&amp;lt;nowiki&amp;gt;=&amp;lt;/nowiki&amp;gt;-0.0002;''' to the technique pass, but this might cause visual artifacts when applied on vehicles)&lt;br /&gt;
*'''elementTypes:''' A comma seperated list of element types to restrict this shader to. Valid element types are:&lt;br /&gt;
** world - Textures in the GTA world&lt;br /&gt;
** ped - Player and ped textures&lt;br /&gt;
** vehicle - Vehicles textures&lt;br /&gt;
** object - Objects textures&lt;br /&gt;
** other - Element textures which are not peds, vehicles or objects&lt;br /&gt;
** all - Everything&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
*'''element:''' A [[shader]] element if successful, ''false'' if invalid arguments were passed to the function. '''You should always check to see if this function has returned false.'''&lt;br /&gt;
*'''string:''' The name of the technique that will be used.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onClientRender&amp;quot;, root,&lt;br /&gt;
    function()&lt;br /&gt;
        if myShader then&lt;br /&gt;
            dxDrawImage( 100, 350, 300, 350, myShader )&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- Use 'toggle' command to switch shader on and off&lt;br /&gt;
addCommandHandler( &amp;quot;toggle&amp;quot;,&lt;br /&gt;
    function()&lt;br /&gt;
        if not myShader then&lt;br /&gt;
            myShader = dxCreateShader( &amp;quot;fancything.fx&amp;quot; )  -- Create shader&lt;br /&gt;
        else        &lt;br /&gt;
            destroyElement( myShader )                    -- Destroy shader&lt;br /&gt;
            myShader = nil&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;
==Changelog==&lt;br /&gt;
{{ChangelogHeader}}&lt;br /&gt;
{{ChangelogItem|1.3.0-9.04435|Added layered and elementTypes arguments}}&lt;br /&gt;
{{ChangelogItem|1.5.6-9.14403|Added option to use raw data instead of a file name}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Drawing_functions}}&lt;br /&gt;
&lt;br /&gt;
[[hu:dxCreateShader]]&lt;/div&gt;</summary>
		<author><name>Samr46</name></author>
	</entry>
</feed>