<?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=Jusonex</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=Jusonex"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Jusonex"/>
	<updated>2026-05-28T18:10:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetCameraMatrix&amp;diff=62228</id>
		<title>GetCameraMatrix</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetCameraMatrix&amp;diff=62228"/>
		<updated>2019-02-16T14:19:51Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function gets the position of the camera and the position of the point it is facing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Important Note|Server-side this functions returns false or the latest value set via [[setCameraMatrix]] (called from server or client).}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float float float float float float float float getCameraMatrix ( player thePlayer )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[player]]:getCameraMatrix|cameraMatrix|setCameraMatrix}}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''thePlayer:''' The player whose camera matrix is to be returned.&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float float float float float float float float getCameraMatrix ()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[Camera]].getMatrix|matrix|setCameraMatrix}}&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
This function returns 8 [[float|floats]] if the argument is valid (when applicable); the first three indicate the position of the camera, the next three indicate the position of the point it's facing, and the last two are the roll and field of view. Returns ''false'' if the argument is invalid.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local x, y, z, lx, ly, lz = getCameraMatrix ()&lt;br /&gt;
x, lx = x + 1, lx + 1&lt;br /&gt;
&lt;br /&gt;
setCameraMatrix (x, y, z, lx, ly, lz)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Camera functions}}&lt;br /&gt;
&lt;br /&gt;
[[hu:getCameraMatrix]]&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.6&amp;diff=58828</id>
		<title>Changes in 1.5.6</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.6&amp;diff=58828"/>
		<updated>2018-09-04T05:37:14Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: /* Shared (Client &amp;amp; Server side) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
CONCEPT CHANGELOG (release delayed)&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Custom IFP animation support ([[engineReplaceAnimation]], [[engineLoadIFP]])&lt;br /&gt;
* New drawing functions [[dxDrawCircle]]&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Return vectors for vehicle component functions (#9507)&lt;br /&gt;
* Add Team.getPlayers() and Team.players ([[getPlayersInTeam]]) to client-side (#9760)&lt;br /&gt;
* Add [[dxGetStatus]]().SettingFullScreenStyle&lt;br /&gt;
* Add function [[isVehicleWheelOnGround]] (#6132)&lt;br /&gt;
* Add [[setVehicleHandling]] for local vehicles (#9733)&lt;br /&gt;
* Add function [[isPedReloadingWeapon]] (#9664)&lt;br /&gt;
* Add parameter to [[setWorldSoundEnabled]] to stop sound immediately (#9490)&lt;br /&gt;
* Fix some issues with [[setCameraMatrix]] (recent change in behaviour)&lt;br /&gt;
* Add postGUI argument to [[dxDrawMaterialLine3D]]&lt;br /&gt;
* Fix [[unbindKey]] malfunctioning as soon you bind the same command (function) to another key again (#9178, needs more testing)&lt;br /&gt;
* Add &amp;quot;health&amp;quot; attribute to [[Element/Ped]] (#9817)&lt;br /&gt;
* Fix OOP [[getPedBonePosition|ped:getBonePosition]] returning multiple numbers instead of Vec3 (#9487)&lt;br /&gt;
* Fix OOP [[getVehicleMaxPassengers|vehicle:getMaxPassengers]] method&lt;br /&gt;
* Add [[extinguishFire]] function&lt;br /&gt;
* Fix incorrect name &amp;quot;Night_Strick&amp;quot; to &amp;quot;Night_Stick&amp;quot; when calling [[engineGetModelIDFromName]] or returning from [[engineGetModelNameFromID]] (backward compatible)&lt;br /&gt;
* Fix [[bindKey]] and [[unbindKey]] behaving incorrectly with commands under certain circumstances (#9178)&lt;br /&gt;
* Add custom IFP animations using [[engineLoadIFP]], [[engineReplaceAnimation]] and [[engineRestoreAnimation]] functions (#4571)&lt;br /&gt;
* Add &amp;quot;underworldwarp&amp;quot; [[setWorldSpecialPropertyEnabled|special world property]] (#9807)&lt;br /&gt;
* Add [[getVehicleModelFromName|getModelFromName]], [[getVehicleNameFromModel|getNameFromModel]], [[getOriginalHandling]], [[getVehicleUpgradeSlotName|getUpgradeSlotName]] client-side [[Vehicle]] class methods (#9849)&lt;br /&gt;
* Add missing compatible upgrades to [[getVehicleCompatibleUpgrades]] (and some other compatibility related checks) (#9433)&lt;br /&gt;
* Add [[guiMemoIsReadOnly]] and [[guiEditIsReadOnly]] (#6962)&lt;br /&gt;
* Add [[guiMemoGetVerticalScrollPosition]] and [[guiMemoSetVerticalScrollPosition]] (#8957)&lt;br /&gt;
* Add [[getVehicleModelExhaustFumesPosition]] and [[setVehicleModelExhaustFumesPosition]] OOP variants (#9898)&lt;br /&gt;
* Add [[getPedsLODDistance]], [[setPedsLODDistance]] and [[resetPedsLODDistance]]&lt;br /&gt;
* Add [[guiEditGetMaxLength]] and [[guiEditIsMasked]]&lt;br /&gt;
* Fix an integer overflow bug where cursor position got returned as high as 65535 for cursor events. Will now return a minus position instead.&lt;br /&gt;
* Add [[guiWindowIsMovable]] and [[guiWindowIsSizable]]&lt;br /&gt;
* Add new drawing functions [[dxDrawCircle]]&lt;br /&gt;
* Add ''noiseEnabled'' parameter to [[setCameraGoggleEffect]]&lt;br /&gt;
* Fix ''CVar'' parameter not working on [[getChatboxLayout]] (#9611)&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Add &amp;quot;targetResource&amp;quot; argument to [[refreshResources]] function to target a specific resource&lt;br /&gt;
* Fix vehicle.handling and add [[setVehicleHandling|setter]] to it&lt;br /&gt;
* Add new account functions: [[getAccountIP]], [[getAccountsByIP]], [[getAccountsByData]] and [[setAccountName]], [[getAccountID]] &amp;amp; [[getAccountByID]] (#9562)&lt;br /&gt;
* Remove incorrect &amp;quot;matchingDimension&amp;quot; argument from [[onPickupHit]] and [[onPlayerPickupHit]] events&lt;br /&gt;
* Add [[onPickupLeave]] &amp;amp; [[onPlayerPickupLeave]] events (#9770)&lt;br /&gt;
* Add &amp;quot;deleted&amp;quot; parameter to [[onResourceStop]]&lt;br /&gt;
* Increase reliability of weather blending functions and consistency of [[setWeatherBlended]] and [[getWeather]] (#5204)&lt;br /&gt;
* Deprecate [[givePedJetPack]] and [[removePedJetPack]] and introduce [[setPedWearingJetpack]]&lt;br /&gt;
* [[callRemote]] will now send a ''Content-Type: application/json'' header&lt;br /&gt;
* Add [[tocolor]] server-side as well (GitHub #291)&lt;br /&gt;
* Fix &amp;quot;bShallow&amp;quot; argument not working on [[createWater]] server-side (#9608)&lt;br /&gt;
* [[setPlayerName]] and [[redirectPlayer]] will now only accept a player element&lt;br /&gt;
* [[getPlayerName]], [[getPlayerIP]] and [[getPlayerAccount]] will now only accept a player or console element&lt;br /&gt;
* Add [[getVehicleRespawnPosition]] and [[getVehicleRespawnRotation]] functions ([https://github.com/multitheftauto/mtasa-blue/pull/334 #334] by l0nger)&lt;br /&gt;
* Extend ACL to allow ModifyOtherObjects only on a single resource ([[Access_Control_List#Grant_resources_access_to_other_resources|learn more here]]) ([https://github.com/multitheftauto/mtasa-blue/commit/6614d9ca56d7a9d64c486831715fd6342763ba2b 6614d])&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fix [[isInsideRadarArea]] not working with negative dimensions&lt;br /&gt;
* Fix argument naming in RadarArea *Position methods&lt;br /&gt;
* Add new encryption functions ([[encodeString]] &amp;amp; [[decodeString]])&lt;br /&gt;
* Add pre/postEventFunction arguments to [[addDebugHook]] (useful for code performance debugging)&lt;br /&gt;
* Fix client-side [[setElementData]] not updating the server when enabling synchronization on an existing key with the same value&lt;br /&gt;
* Add new [[isInsideColShape]] function&lt;br /&gt;
* Add elementsWithin OOP variable to [[getElementsWithinColShape]]&lt;br /&gt;
* Add new [[getColShapeType]] function&lt;br /&gt;
* Fix [[createColPolygon]] not handling [[Vector2]] arguments properly&lt;br /&gt;
* Fix blip ordering and visibleDistance arguments having integer overflow issues (#6455)&lt;br /&gt;
* Add [[getElementsWithinRange]]&lt;br /&gt;
* Deprecate [[doesPedHaveJetPack]] and introduce [[isPedWearingJetpack]]&lt;br /&gt;
* Clamp blip size properly between 0 and 25&lt;br /&gt;
* [[xmlLoadFile]] will now output errors found in the XML file if any (#9616)&lt;br /&gt;
* Add [[clearChatBox]]&lt;br /&gt;
* Add [[getElementAngularVelocity]] and [[setElementAngularVelocity]] and deprecate [[getVehicleTurnVelocity]] and [[setVehicleTurnVelocity]] ([https://github.com/multitheftauto/mtasa-blue/pull/73 #73] by lex128)&lt;br /&gt;
* Add [[setPedAnimationSpeed]]&lt;br /&gt;
* Added support for ''$2a$'' prefix to [[passwordVerify]]&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Updated &amp;amp; added translations for various languages&lt;br /&gt;
* Enable switching camera view mode for trains (#125)&lt;br /&gt;
* Added full axis option to joystick bindings&lt;br /&gt;
* Added master volume setting to audio settings (#9896)&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed problems when using a controller with more than 7 axes&lt;br /&gt;
* Restore default exhaust fumes position when disconnecting&lt;br /&gt;
* Fix vehicle radio sometimes won't play&lt;br /&gt;
* Fixed incorrect path in [[guiCreateStaticImage]] error message&lt;br /&gt;
* Fixed [[dxGetTextWidth]] returns wrong width of text (#9745)&lt;br /&gt;
* Updated CEF (Chromium Embedded Framework)&lt;br /&gt;
* Fixed some minor memory leaks&lt;br /&gt;
* Improved client [[fetchRemote]] reliability&lt;br /&gt;
* Fixed dxGetStatus().SettingWindowed sometimes being incorrect.&lt;br /&gt;
* Averted one type of igdumd32.dll crash&lt;br /&gt;
* Added help dialog for crash at offset 003C51A8 (Corrupt anim hierarchy)&lt;br /&gt;
* Fixed client crash caused by invalid blip icon&lt;br /&gt;
* Fix animation stuck after carjack&lt;br /&gt;
* Updated BASS and sound-related dependencies&lt;br /&gt;
* Restore console input focus after guiMoveToBack&lt;br /&gt;
* Fixed client crash caused by destroying markers during hit/leave events&lt;br /&gt;
* Fixed shaders sometimes losing default values&lt;br /&gt;
* Fixed console displays an error message when pressing the key of a disabled MTA control (#9166)&lt;br /&gt;
* Fixed error when loading certain jpeg files with unicode Windows username&lt;br /&gt;
* Fixed engineLoadDFF/TXD raw buffer not being deallocated after import&lt;br /&gt;
* Fixed 100% CPU usage while using /debugscript and having the 'chat text black/white outline' setting enabled&lt;br /&gt;
* Fixed crash caused by calling client-side [[setPlayerNametagShowing]] with a ped&lt;br /&gt;
* Fixed crash caused by passing empty string to [[requestBrowserDomains]] crashes client (#9844)&lt;br /&gt;
* Fixed several additional crashes&lt;br /&gt;
* Fixed issues with wearing a jetpack, choking or using animations at the same time (#9522)&lt;br /&gt;
* Freezing a ped wearing jetpack will no longer remove the jetpack automatically&lt;br /&gt;
* Port is now an optional parameter for the 'connect' command, defaults to 22003 (#7047)&lt;br /&gt;
* Typing the 'connect' command will no longer disconnect until all parameters have been checked (#7047)&lt;br /&gt;
* Update CEF to 3.3440.1805.gbe070f9 (Chromium 68.0.3440.84)&lt;br /&gt;
* Removed the built-in /whowas command (#6722)&lt;br /&gt;
* Update libpng to 1.6.35&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added Server SDK project&lt;br /&gt;
* Added server console arrow up/down command history (#9814) ([https://github.com/multitheftauto/mtasa-blue/pull/274 #274] by myonlake)&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fix for some cases of internal.db access errors&lt;br /&gt;
* Fix server crashing when using the 'upgrade' command (#9530)&lt;br /&gt;
* Fixed crash in account manager&lt;br /&gt;
* Fix [[callRemote]] call without queueName failing&lt;br /&gt;
* Excluded non-joined players from calls to [[getAlivePlayers]] and [[getDeadPlayers]]&lt;br /&gt;
* Fixed #9787 (Self-compiled server crash on [[callRemote]])&lt;br /&gt;
* Fix server crash on server-window resize&lt;br /&gt;
* Added reloadacl command (#9626)&lt;br /&gt;
* Server query fix for networks which block 1 byte UDP packets&lt;br /&gt;
* Removed fully deprecated functions from acl.xml and added new ones (#5701)&lt;br /&gt;
* Update SQLite to 3.24.0 (#9916)&lt;br /&gt;
* [[spawnPlayer]] wouldn't always set the rotation if an object was near the spawn point (#8540)&lt;br /&gt;
&lt;br /&gt;
== Shared ==&lt;br /&gt;
=== Shared: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed curl not requesting compressed datum&lt;br /&gt;
* Fix cloned elements not getting removed on resource stop&lt;br /&gt;
* Update curl to 7.61.0 (GitHub #270)&lt;br /&gt;
* Update json-c to 0.31.1 (GitHub #268)&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [admin] Added ban search feature to &amp;quot;Bans&amp;quot; tab&lt;br /&gt;
* [admin] 'Fixed' gridlist sorting bug (contents getting corrupted/mangled up)&lt;br /&gt;
* [admin] Improved logging of responsible admin (any type of change to ACL through panel, details on actions like unbanning)&lt;br /&gt;
* [admin] Miscellaneous fixes: resizing ban details window (and extended its size for longer serials), broken Anonymous admin kicks, updated flags&lt;br /&gt;
* [admin] Added &amp;quot;copy serial&amp;quot; to ban details tab in &amp;quot;Bans&amp;quot; and enabled doubleclicking on a row to open that view&lt;br /&gt;
* [freeroam] Added player nick search (filtering) to F1 warp window&lt;br /&gt;
* [freeroam] Fixed vehicle label/controls disappearing randomly while in a vehicle&lt;br /&gt;
* [freeroam] Fixed some recurring client debug warnings&lt;br /&gt;
* [scoreboard] Added countryflags to TAB&lt;br /&gt;
* [traffic] Removed the &amp;quot;traffic&amp;quot; resource from official resources package due to it's inefficiency, size and bloatedness&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Added 'sirens' option and fixed 'plate'&lt;br /&gt;
* Added a 'Favourites' category under 'All categories' in element browser.&lt;br /&gt;
* Added sirens state option for mapped vehicles and fixed plate text&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=58827</id>
		<title>PasswordVerify</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=58827"/>
		<updated>2018-09-04T05:35:59Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function verifies whether a password matches a password hash.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool passwordVerify ( string password, string hash[, table options, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to check.&lt;br /&gt;
*'''hash:''' A supported hash (see [[passwordHash]]). &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note that only the prefix ''$2y$'' is supported for type bcrypt (older prefixes can cause security issues).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{New feature/item|3.0156|1.5.6||&lt;br /&gt;
*'''options:''' addvanced options&lt;br /&gt;
**'''insecureBcrypt:''' If set to ''true'', you can use the ''$2a$'' prefix for bcrypt hashes as well. '''It is strongly not recommended to use it though, because the underlying implementation has a bug that leads to such hashes being relatively easy to crack.''' This bug was fixed for ''$2y$''.&lt;br /&gt;
}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns true if the password matches the hash. Returns false if the password does not match, or if an unknown hash was passed. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
See [[passwordHash]] example.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=58826</id>
		<title>PasswordVerify</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=58826"/>
		<updated>2018-09-04T05:35:20Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function verifies whether a password matches a password hash.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool passwordVerify ( string password, string hash[, table options, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to check.&lt;br /&gt;
*'''hash:''' A supported hash (see [[passwordHash]]). &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note that only the prefix ''$2y$'' is supported for type bcrypt (older prefixes can cause security issues).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{New feature/item|3.0156|1.5.6||&lt;br /&gt;
*'''options:''' addvanced options&lt;br /&gt;
**'''insecureBcrypt:''' If set to ''true'', you can use the ''$2a$'' prefix for bcrypt hashes as well. '''It is strongly not recommended to use it though, because the underlying implementation has a bug that leads to such hashes being relatively easy to crack.''' This bug was fixed for ''$2y''.&lt;br /&gt;
}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns true if the password matches the hash. Returns false if the password does not match, or if an unknown hash was passed. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
See [[passwordHash]] example.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=58740</id>
		<title>PasswordVerify</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=58740"/>
		<updated>2018-09-01T07:45:35Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function verifies whether a password matches a password hash.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool passwordVerify ( string password, string hash[, table options, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to check.&lt;br /&gt;
*'''hash:''' A supported hash (see [[passwordHash]]). &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note that only the prefix ''$2y$'' is supported for type bcrypt (older prefixes can cause security issues).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{New feature/item|3.0156|1.5.6||&lt;br /&gt;
*'''options:''' addvanced options&lt;br /&gt;
**'''insecureBcrypt:''' If set to ''true'', you can use the ''$2a$'' prefix for bcrypt hashes as well. &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;It is strongly not recommended to use it though, because the underlying implementation has a bug that leads to such hashes being relatively easy to crack.&amp;lt;/span&amp;gt; This bug was fixed for ''$2y''.&lt;br /&gt;
}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns true if the password matches the hash. Returns false if the password does not match, or if an unknown hash was passed. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
See [[passwordHash]] example.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetElementsWithinRange&amp;diff=57132</id>
		<title>GetElementsWithinRange</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetElementsWithinRange&amp;diff=57132"/>
		<updated>2018-07-29T08:55:22Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function is used to retrieve a list of all elements of specified type within a range of 3D coordinates.&lt;br /&gt;
{{Note|This function doesn't verify whether elements are in the same dimension and interior, additional checks could be implemented manually if they are needed}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table getElementsWithinRange ( float x, float y, float z, float range [, string elemType = &amp;quot;&amp;quot; ] ) &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP| |[[Element]].getWithinRange}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''x:''' the x coordinate at which to retrieve elements&lt;br /&gt;
*'''y:''' the y coordinate at which to retrieve elements&lt;br /&gt;
*'''z:''' the z coordinate at which to retrieve elements&lt;br /&gt;
*'''range:''' the range at the coordinates in which to retrieve elements&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
*'''elemType:''' The type of element you want a list of. This can be any element type, such as:&lt;br /&gt;
**'''&amp;quot;player&amp;quot;:''' A player connected to the server&lt;br /&gt;
**'''&amp;quot;ped&amp;quot;:''' A ped&lt;br /&gt;
**'''&amp;quot;vehicle&amp;quot;:''' A vehicle&lt;br /&gt;
**'''&amp;quot;object&amp;quot;:''' An object&lt;br /&gt;
**'''&amp;quot;pickup&amp;quot;:''' A pickup&lt;br /&gt;
**'''&amp;quot;marker&amp;quot;:''' A marker&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a [[table]] containing all the elements of the specified type within range. Returns an empty [[table]] if there are no elements within range. Returns ''false'' if the arguments are invalid.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example retrieves a table of players within range of the 3D coordinates and prints their name to the chat.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local players = getElementsWithinRange( 0, 0, 3, 20, &amp;quot;player&amp;quot; )    -- get all player elements within 20 units of 0, 0, 3&lt;br /&gt;
for _, player in pairs( players ) do                               -- use a generic for loop to step through each player&lt;br /&gt;
    outputChatBox( getPlayerName( player ) .. &amp;quot; is within range&amp;quot; ) -- print their name to the chat&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Element_functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetVehicleModelExhaustFumesPosition&amp;diff=52535</id>
		<title>GetVehicleModelExhaustFumesPosition</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetVehicleModelExhaustFumesPosition&amp;diff=52535"/>
		<updated>2017-10-05T16:47:42Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Created page with &amp;quot;{{Client function}} __NOTOC__ {{New feature/item|3.0155|1.5.5|| This function returns the position of the exhaust fumes the vehicle model emits. }}  ==Syntax==  &amp;lt;syntaxhighlig...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{New feature/item|3.0155|1.5.5||&lt;br /&gt;
This function returns the position of the exhaust fumes the vehicle model emits.&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;
float, float, float setVehicleModelExhaustFumesPosition(int modelID)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* '''modelID''': The vehicle model ID&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the position of the exhaust fumes if everything went fine or ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
{{Needs_example}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetVehicleModelExhaustFumesPosition&amp;diff=52534</id>
		<title>SetVehicleModelExhaustFumesPosition</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetVehicleModelExhaustFumesPosition&amp;diff=52534"/>
		<updated>2017-10-05T16:46:05Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{New feature/item|3.0155|1.5.5||&lt;br /&gt;
This function sets the position of the exhaust fumes the vehicle model emits. Use [[setVehicleComponentPosition]] to adjust the exhaust position.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setVehicleModelExhaustFumesPosition(int modelID, float posX, float posY, float posZ)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* '''modelID''': The model ID which you want to apply the change to&lt;br /&gt;
* '''posX''', '''posY''', '''posZ''': The desired position&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if everything went fine, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
{{Needs_example}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetVehicleModelExhaustFumesPosition&amp;diff=52533</id>
		<title>SetVehicleModelExhaustFumesPosition</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetVehicleModelExhaustFumesPosition&amp;diff=52533"/>
		<updated>2017-10-05T16:45:32Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Created page with &amp;quot;{{Client function}} __NOTOC__ {{New feature/item|3.0155|1.5.5|| This function sets the position of the exhaust fumes the vehicle model emits. Use setVehicleComponentPosition...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{New feature/item|3.0155|1.5.5||&lt;br /&gt;
This function sets the position of the exhaust fumes the vehicle model emits. Use [[setVehicleComponentPosition]] to adjust the exhaust position.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool setVehicleModelExhaustFumesPosition(float posX, float posY, float posZ)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Parameters===&lt;br /&gt;
* '''posX''', '''posY''', '''posZ''': The desired position&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if everything went fine, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
{{Needs_example}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Vehicle_functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52530</id>
		<title>Changes in 1.5.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52530"/>
		<updated>2017-10-05T09:12:22Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Fixed a couple of crashes&lt;br /&gt;
* Updated dependencies&lt;br /&gt;
* Upgraded build tools and migrated to a Docker-based environment (now, we have support for VS2017 and GCC-6)&lt;br /&gt;
* Code cleanups&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added [[guiGetCursorType]]&lt;br /&gt;
* Added ''player'' element to [[onClientChatMessage]]&lt;br /&gt;
* Added ''soundEnable'' parameter to [[createEffect]]&lt;br /&gt;
* Added [[setVehicleModelExhaustFumesPosition]] and [[getVehicleModelExhaustFumesPosition]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added [[getDevelopmentMode]], [[setDevelopmentMode]] (client-only before)&lt;br /&gt;
* Added [[isResourceArchived]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[debugSleep]]&lt;br /&gt;
* Limit range in [[setRainLevel]]&lt;br /&gt;
* Extended [[fetchRemote]] by request method, request headers, response headers, authentication, redirection and form fields&lt;br /&gt;
* Added RGB parameters to [[onClientDebugMessage]]/[[onDebugMessage]]&lt;br /&gt;
* Deprecated ''setControlState''/''getControlState'' in favour of [[setPedControlState]]/[[getPedControlState]]&lt;br /&gt;
* Added logging a warning when some functions are used on non-joined players (e.g. when called from [[onPlayerConnect]])&lt;br /&gt;
* Fixed [[coroutine.resume]] returning only the first argument&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Added 'localhost' to the hardcoded CEF whitelist&lt;br /&gt;
* Enabled [[setPedStat]] for client side peds&lt;br /&gt;
* Added black outline option for chat text&lt;br /&gt;
* Added support for more gta_sa.exe variants&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed [[getHeliBladeCollisionsEnabled]] accepting incorrect arguments&lt;br /&gt;
* Fixed effect sounds playing at the wrong position (thanks to '''ZRec''')&lt;br /&gt;
* Fixed swapped color channels in browsers on Intel integrated graphics&lt;br /&gt;
* Changed camera mode used for vehicle targets (for [[setCameraTarget]])&lt;br /&gt;
* Fixed [[setObjectBreakable]] not properly working with melee&lt;br /&gt;
* Tweaked layout of chatbox settings&lt;br /&gt;
* Added chatbox positioning settings&lt;br /&gt;
* Fixed warpPedIntoVehicle during freefall preserves falling animation (#9381)&lt;br /&gt;
* Fixed some tasks not being cleared if ped is warped to passenger seat&lt;br /&gt;
* Fixed water jump animation remaining after warp&lt;br /&gt;
* Fixed radio name not always showing&lt;br /&gt;
* Improved disconnect time duration text&lt;br /&gt;
* Improved client connecting through firewalls&lt;br /&gt;
* Improved netcode&lt;br /&gt;
* Fixed FOV setting not updating&lt;br /&gt;
* Fixed spectate camera movement malfunctioning with vehicles with adjustable property (#5306)&lt;br /&gt;
* Fixed crash when removing child elements during events&lt;br /&gt;
* Fixed famous crash at offset 0x003F18CF&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Fixed aircraft engine sounds being missing sometimes&lt;br /&gt;
* Fixed vehicle gear sounds being broken while sitting as passenger (#9681)&lt;br /&gt;
* Fixed memory leak and crash in password functions&lt;br /&gt;
* Fixed a new crouchbug variant&lt;br /&gt;
* Added some missing translations (thanks to '''Sergeanur''')&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added password append option to ''authserial'' command&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Hide account passwords from logs when using the /addaccount command&lt;br /&gt;
* Censored [[onClientConsole]] for login command&lt;br /&gt;
&lt;br /&gt;
== Shared ==&lt;br /&gt;
=== Shared: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Migrated from OpenSSL to mbedtls&lt;br /&gt;
* Initial work on macOS server support&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Updated ''ipb'' resource to 0.3 (includes code cleanups, tweaked GUI layout and client performance stats)&lt;br /&gt;
* Modernised ''play'' gamemode&lt;br /&gt;
* Fixed fast-flying glitch with hydra/hunter/jetpack on custom gravity (freeroam)&lt;br /&gt;
* Added support for hex colors to killmessages (thanks to '''AboShanab''')&lt;br /&gt;
* Tweaked realdriveby a lot (thanks to '''emre1702''')&lt;br /&gt;
* Tweaked admin report system (thanks to '''Dezash''')&lt;br /&gt;
* Fixed warping to interiors on foot (freeroam)&lt;br /&gt;
* Added support for hex colors to joinquit&lt;br /&gt;
* Added support for blowing off heads (headshot)&lt;br /&gt;
* Fixed admin bugs: spectating players in another int/dimension, 'Ban serial/IP' GUI polished (admin)&lt;br /&gt;
* Optimized the Freeroam codebase to improve performance and usage (freeroam)&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DE/MTA_Scripting_Grundlagen&amp;diff=52400</id>
		<title>DE/MTA Scripting Grundlagen</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DE/MTA_Scripting_Grundlagen&amp;diff=52400"/>
		<updated>2017-09-26T22:19:07Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Undo revision 52374 by N0pe (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Vorwort==&lt;br /&gt;
Nachdem ich bereits vor kurzer Zeit mein [[DE/Lua_Tutorial|Lua Tutorial]] fertiggestellt habe, folgt nun eine Einführung in die Grundlagen des MTA Scriptings, in der diesmal direkter Bezug auf MTA genommen wird.&lt;br /&gt;
&lt;br /&gt;
In Kürze wird es hier im Wiki einen blank Gamemode geben, den man sich herunterladen kann und als Basis für seinen eigenen verwenden kann. Die soll vor allem Anfängern den Einstieg in's MTA Scripting erleichtern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Grundlagen==&lt;br /&gt;
In diesem Tutorial wird häufig die Rede von Server und Client sein. Ein Client ist quasi ein Spieler, allgemein ist damit jedoch das Programm gemeint, was der Spieler auf dem Rechner installiert hat und mit dem er MTA spielen kann. Mit Server ist einfach der MTA Server gemeint.&lt;br /&gt;
Die Hauptaufgabe des Servers besteht darin, Daten von allen Clients bezüglich Position usw. einzusammeln und gleichzeitig an jeweils alle anderen Clients zu verteilen. Im Gegensatz zum Client ist der Server nicht in der Lage physikalische oder graphische Effekte zu berechnen, weswegen viele Funktionen von MTA, die eines dieser beiden Bereiche beeinflussen, clientseitig sind.&lt;br /&gt;
&lt;br /&gt;
MTA unterscheidet zwischen zwei verschiedenen Ausführungsorten. D.h., dass es Scripts gibt, die vom Server ausgeführt und mit allen Clients synchronisiert werden und welche, die von jedem Client selbst ausgeführt werden und '''nicht''' mit allen anderen Clients synchronisiert werden.&lt;br /&gt;
Clientseitig bedeutet, dass etwas nur vom Client ausgeführt wird/werden kann, serverseitig, dass es nur vom Server ausgeführt wird/werden kann. Die meisten Funktionen von MTA können jedoch auf beiden Seiten ausgeführt werden.&lt;br /&gt;
Ziel ist es, diese Gegebenheit zu nutzen und den Server somit so gut wie möglich zu entlasten, was nicht immer einfach ist.&lt;br /&gt;
&lt;br /&gt;
Bei MTA spricht man übrigens nicht von Scripts oder Gamemodes, sondern allgemein von Ressourcen. Eine Ressource ist ein Verzeichnis mit einem oder mehreren Scripts. &lt;br /&gt;
Beim Start des MTA Servers wird der ressources Ordner durchsucht und jedes Verzeichnis, dass eine gültige meta.xml enthält, der Liste der verfügbaren Ressourcen hinzugefügt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Meta.xml==&lt;br /&gt;
===Sinn und Zweck===&lt;br /&gt;
Die meta.xml ist eine wichtige Datei, die in jedem Ressourcenordner vorhanden sein muss, damit diese vom MTA Server erkannt wird und ausgeführt werden kann.&lt;br /&gt;
Sie definiert, aus welchen Dateien sich die Ressource zusammensetzt und unter anderem auch, welche dieser Dateien beim Connecten an den Client gesendet werden sollen.&lt;br /&gt;
&lt;br /&gt;
Alle Daten in der meta.xml sind im XML-Format. Ein sogenannter XML-Tag ist ein Datenset, was in etwa so aussieht:&lt;br /&gt;
&amp;lt;tagname attribut=&amp;quot;wert&amp;quot;&amp;gt;inhalt&amp;lt;/tagname&amp;gt; oder &amp;lt;tagname attribut=&amp;quot;wert&amp;quot; /&amp;gt;, wenn der Inhalt entfällt.&lt;br /&gt;
Ein XML-Tag kann beliebig viele Attribute enthalten.&lt;br /&gt;
&lt;br /&gt;
Nähere Informationen zum Thema XML entnehmt ihr aber bitte dem [http://de.wikipedia.org/wiki/Xml Wikipedia-Artikel] darüber.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Mögliche Tags===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;info author=&amp;quot;Autor&amp;quot; version=&amp;quot;Version&amp;quot; name=&amp;quot;Name&amp;quot; description=&amp;quot;Beschreibung&amp;quot; type=&amp;quot;Typ&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Jede Ressource sollte einen info-Tag in der meta.xml enthalten. Werte des info-Tags kann man übrigens mit [[getResourceInfo]] auslesen.&lt;br /&gt;
**'''author''': Das ist normalerweise der Name desjenigen, der die Ressource erstellt hat.&lt;br /&gt;
**'''version''': Die Version der vorliegenden Ressource. Für alle, die gerne mit wahllosen Versionsnummern um sich schmeißen.&lt;br /&gt;
**'''name''': Der Name der Ressource.&lt;br /&gt;
**'''description''': Eine kurze Beschreibung der Ressource.&lt;br /&gt;
**'''type''': Typ der Ressource. Kann den Wert &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot; oder &amp;quot;map&amp;quot; enthalten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;script src=&amp;quot;Dateipfad und -name&amp;quot; type=&amp;quot;Typ&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Mit dem script-Tag werden Lua-Scriptdateien in die Ressource eingebunden. Das sind die wohl wichtigsten Dateien der meisten Ressourcen.&lt;br /&gt;
**'''src''': Der Pfad zur Scriptdatei relativ zum Odner der jeweiligen Ressource mit dem Dateinamen natürlich.&lt;br /&gt;
**'''type''': Typ des Scripts. Kann entweder &amp;quot;server&amp;quot; oder &amp;quot;client&amp;quot; sein. Bei ersterem wird das Script serverseitig ausgeführt, bei letzterem jedem Client beim Verbindungsaufbau gesendet und clientseitig ausgeführt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;map src=&amp;quot;Dateipfad und -name&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Mit dem map-Tag werden Mapdateien eingebunden, die automatisch beim Ressourcenstart geladen werden. Mit den [[Server_Scripting_Functions#Map_functions|Mapfunktionen]] kann man nachträglich noch Maps laden. Eine Map ist übrigens eine Karte, genauer ein Set von ObjektIDs mit Koordinaten und Rotationsangaben.&lt;br /&gt;
**'''src''': Der Pfad zur Mapdatei relativ zum Odner der jeweiligen Ressource mit dem Dateinamen natürlich.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;file src=&amp;quot;Dateipfad und -name&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Der file-Tag zeichnet eine beliebige Datei als clientseitig aus. Während Scripts vom Typ &amp;quot;client&amp;quot; automatisch heruntergeladen werden, werden es die darin enthaltenen Bilder, Models oder Texturen nicht. Alle Dateien, die im clientseitigen Script verwendet werden, müssen mit dem file-Tag als clientseitig ausgezeichnet werden.&lt;br /&gt;
**'''src''': Der Pfad zur Datei relativ zum Odner der jeweiligen Ressource mit dem Dateinamen natürlich.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;include ressource=&amp;quot;Ressourcenname&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Manchmal möchte man, dass eine Ressource beim Start automatisch andere Ressourcen mit startet. Dies kann man mit dem include-Tag erreichen.&lt;br /&gt;
**'''ressource''': Der Name der Ressource, d.h. der Name des Ordners, in dem die Ressource sich befindet. (Muss sich im resources-Ordner befinden.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;config src=&amp;quot;Dateipfad und -name&amp;quot; type=&amp;quot;Typ&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Konfigurationsdateien sind XML-Dateien, in denen bestimmte Einstellungen für einen Ressource vorgenommen werden können, auf die per Script zugegriffen werden kann. Unter den [[Server_Scripting_Functions#Resource_functions|Ressourcenfunktionen]] finden sich solche zum Auslesen und Ändern der Konfiguration.&lt;br /&gt;
**'''src''': Der Pfad zur Konfigurationsdatei relativ zum Odner der jeweiligen Ressource mit dem Dateinamen natürlich.&lt;br /&gt;
**'''type''': Typ der Konfiguration. Kann entweder &amp;quot;server&amp;quot; oder &amp;quot;client&amp;quot; sein. Bei ersterem wird die Konfigurationsdatei serverseitig eingebunden, bei letzterem jedem Client beim Verbindungsaufbau gesendet und clientseitig eingebunden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;export function=&amp;quot;Funktionsname&amp;quot; type=&amp;quot;Typ&amp;quot; http=&amp;quot;true/false&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Den export-Tag kann man benutzen, um eine Funktion aus der aktuellen Ressource in anderen laufenden Ressourcen verfügbar zu machen.&lt;br /&gt;
**'''function''': Der Name der Funktion.&lt;br /&gt;
**'''type''': Typ des Exports. Kann entweder &amp;quot;server&amp;quot; oder &amp;quot;client&amp;quot; sein. Bei ersterem wird die Funktion serverseitig exportiert, bei letzterem clientseitig.&lt;br /&gt;
**'''http''': Legt fest, ob die exportierte Funktion auch via HTTP aufgerufen werden kann. Kann demnach entweder &amp;quot;true&amp;quot; (ja) oder &amp;quot;false&amp;quot; (nein) sein.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;html src=&amp;quot;Dateipfad und -name&amp;quot; default=&amp;quot;true/false&amp;quot; raw=&amp;quot;true/false&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*Wenn über MTAs eingebauten HTTP-Server Zugang zu einer im Ressourcenordner liegenden Datei ermöglichen will, so muss man diese mit dem html-Tag in der meta.xml einbinden.&lt;br /&gt;
**'''src''': Der Pfad zur Datei relativ zum Odner der jeweiligen Ressource mit dem Dateinamen natürlich.&lt;br /&gt;
**'''default''': Wenn das HTML-Dokument standardmäßig angezeigt werden soll, wenn über den Browser auf den Ressourcenordner zugegriffen wird, dann muss default=&amp;quot;true&amp;quot; sein, ansonsten &amp;quot;false&amp;quot;.&lt;br /&gt;
**'''raw''': Wenn es sich um eine Datei im binären Format handelt, z.B. einem Bild, dann sollte raw auf &amp;quot;true&amp;quot; gesetzt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;settings /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Beispiel===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
     &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- round length in minutes --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 for team protection off, 1 for team protection on --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  difference limit of amount of players between teams --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- ammo amounts --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Elemente==&lt;br /&gt;
===Was sind Elemente?===&lt;br /&gt;
Ein Element in MTA kann alles sein. Sei es ein Spieler, ein Fahrzeug, ein Objekt, ein Marker, ein GUI-Element oder aber auch eine Ressource. Und das waren nicht mal alle möglichen Elementtypen.&lt;br /&gt;
&lt;br /&gt;
Im Script sind Elemente durch Userdata-Pointer vertreten. Man kann mit ihnen eigentlich nichts anderes machen, als sie speichern oder an MTA-Funktionen übergeben und sie haben auch keinen darstellbaren Wert.&lt;br /&gt;
Wendet man tostring auf einen Userdata-Pointer an, so erhält man einen String in der Form &amp;quot;userdata: 0x090A34D&amp;quot;. Die type-Funktion gibt &amp;quot;userdata&amp;quot; zurück, wenn man ihr ein Element übergibt.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Der Elementbaum===&lt;br /&gt;
Den Elementbaum kann man sich wie einen Stammbaum vorstellen, nur dass der Ursprung bekannt ist.&lt;br /&gt;
Der Ursprung des Elementbaumes ist die sogenannte root (engl. für Wurzel). Aus ihr entspringen alle Elemente des ganzen Servers.&lt;br /&gt;
&lt;br /&gt;
Bevor ich nun versuche, ein Bild zu beschreiben, wie man sich das vorstellen soll, zeige ich lieber ein Beispiel für einen MTA Elementbaum im XML-Format. Dieser ist jedoch an einigen Stellen stark vereinfacht, da er sonst den Rahmen sprengen würde, jedoch verschlechtert das die Verbildlichung nicht.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;root&amp;gt;&lt;br /&gt;
    &amp;lt;console/&amp;gt;&lt;br /&gt;
    &amp;lt;player dontRespawn=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;player dontRespawn=&amp;quot;false&amp;quot; lastSpawnarea=&amp;quot;&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;resourcebrowser&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;ajax&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;resourcemanager&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;spawnmanager&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;mapmanager&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;runcode&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;fr&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;map id=&amp;quot;dynamic&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;vehicle/&amp;gt;&lt;br /&gt;
        &amp;lt;/map&amp;gt;&lt;br /&gt;
    &amp;lt;/resource&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;elementbrowser&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;assault&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;map id=&amp;quot;dynamic&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;team/&amp;gt;&lt;br /&gt;
            &amp;lt;team/&amp;gt;&lt;br /&gt;
            &amp;lt;blip/&amp;gt;&lt;br /&gt;
            &amp;lt;marker/&amp;gt;&lt;br /&gt;
            &amp;lt;colshape/&amp;gt;&lt;br /&gt;
            &amp;lt;blip/&amp;gt;&lt;br /&gt;
            &amp;lt;blip/&amp;gt;&lt;br /&gt;
        &amp;lt;/map&amp;gt;&lt;br /&gt;
    &amp;lt;/resource&amp;gt;&lt;br /&gt;
    &amp;lt;resource id=&amp;quot;as-farm&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;map id=&amp;quot;dynamic&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;map id=&amp;quot;as-farm.map&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;meta&amp;gt;&lt;br /&gt;
                &amp;lt;author/&amp;gt;&lt;br /&gt;
                &amp;lt;version/&amp;gt;&lt;br /&gt;
                &amp;lt;name/&amp;gt;&lt;br /&gt;
                &amp;lt;description/&amp;gt;&lt;br /&gt;
            &amp;lt;/meta&amp;gt;&lt;br /&gt;
            &amp;lt;spawngroup req=&amp;quot;&amp;quot; type=&amp;quot;attacker&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;spawnarea posY=&amp;quot;-8.3976354598999&amp;quot; posX=&amp;quot;20.182683944702&amp;quot; skins=&amp;quot;9&amp;quot; ... /&amp;gt;&lt;br /&gt;
            &amp;lt;/spawngroup&amp;gt;&lt;br /&gt;
            &amp;lt;spawngroup req=&amp;quot;&amp;quot; type=&amp;quot;attacker&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;spawnarea posY=&amp;quot;32.166355133057&amp;quot; posX=&amp;quot;-46.90763092041&amp;quot; skins=&amp;quot;9&amp;quot; ... /&amp;gt;&lt;br /&gt;
            &amp;lt;/spawngroup&amp;gt;&lt;br /&gt;
            &amp;lt;spawngroup req=&amp;quot;&amp;quot; type=&amp;quot;attacker&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;spawnarea posY=&amp;quot;35.214984893799&amp;quot; posX=&amp;quot;-33.486911773682&amp;quot; skins=&amp;quot;9&amp;quot; ... /&amp;gt;&lt;br /&gt;
            &amp;lt;/spawngroup&amp;gt;&lt;br /&gt;
            &amp;lt;spawngroup req=&amp;quot;&amp;quot; type=&amp;quot;attacker&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;spawnarea posY=&amp;quot;35.214984893799&amp;quot; posX=&amp;quot;-33.486911773682&amp;quot; skins=&amp;quot;9&amp;quot; ... /&amp;gt;&lt;br /&gt;
            &amp;lt;/spawngroup&amp;gt;&lt;br /&gt;
            &amp;lt;objective id=&amp;quot;first&amp;quot; type=&amp;quot;checkpoint&amp;quot; description=&amp;quot;Breach into the farm&amp;quot; ... /&amp;gt;&lt;br /&gt;
            &amp;lt;pickup type=&amp;quot;weapon&amp;quot; ... /&amp;gt;&lt;br /&gt;
        &amp;lt;/map&amp;gt;&lt;br /&gt;
    &amp;lt;/resource&amp;gt;&lt;br /&gt;
&amp;lt;/root&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie man in diesem Beispiel sehr schön sehen kann, sind alle Spieler, Ressourcen und die Konsole (das schwarze Serverfenster) direkte Kindelemente vom root-Element. Letzteres könnt ihr im Script übrigens mit [[getRootElement]] bekommen.&lt;br /&gt;
Maps und Fahrzeuge wiederrum sind Kindelemente der jeweiligen Ressourcen und so weiter.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Elemente in MTA-Funktionen===&lt;br /&gt;
Die meisten MTA-Funktionen verlangen ein oder mehrere Elemente als Parameter oder geben eines zurück. Wenn man ein Element übergibt, was Kindelemente enthält, z.B. das root-Element, dann wendet MTA die Funktion auf alle Kindelemente des übergebenen Elements an, die dem Elementtypen entsprechen, der von der Funktion erwartet wird.&lt;br /&gt;
Der Typ eines Elements lässt sich mit [[getElementType]] herausfinden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Ein Event ist ein Ereignis. Das kann z.B. der Tod eines Spielers sein, aber auch das Beenden einer Ressource oder das Klicken auf einen Button.&lt;br /&gt;
&lt;br /&gt;
Ein Eventhandler ist eine Funktion, in unserem Fall eine Lua-Funktion, die aufgerufen wird, wenn ein bestimmtes Event stattfindet. Generell ist alles in MTA eventgesteuert und was nicht eventgesteuert ist, ist zeitgesteuert.&lt;br /&gt;
&lt;br /&gt;
Mit der Funktion [[addEventHandler]] kann man in MTA eine Eventhandlerfunktion hinzufügen. Im Wiki finden sich Listen mit vorhandenen [[Server_Scripting_Events|serverseitigen Events]] und auch [[Client_Scripting_Events|clientseitigen Events]].&lt;br /&gt;
&lt;br /&gt;
Wenn ein Event eintritt, dann werden alle dazugehörigen Eventhandlerfunktionen in einer Umgebung aufgerufen, die die Variable source definiert als den Pointer zu dem Element, welches das Event hervorgerufen hat.&lt;br /&gt;
Das heißt im Klartext, dass in jeder Eventhandlerfunktion die Variable source das Element enthält, was das Ereignis herbeigeführt hat.&lt;br /&gt;
&lt;br /&gt;
Die Variablen root und resourceRoot sind in jeder Ressource vordefiniert, wobei root dem Rückgabewert von [[getRootElement]] und resourceRoot dem von [[getResourceRootElement]] entsprechen.&lt;br /&gt;
&lt;br /&gt;
===Serverseitiges Beispiel===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;local gSpawnPosition = { 0, 0, 3 } -- Spawnposition&lt;br /&gt;
&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    spawnPlayer(source, unpack(gSpawnPosition)) -- spawne den Spieler&lt;br /&gt;
    setCameraTarget(source) -- setze das Ziel seiner Kamera auf sich selbst&lt;br /&gt;
    fadeCamera(source, true) -- blende die Umgebung ein&lt;br /&gt;
    &lt;br /&gt;
    outputChatBox(getPlayerNametagText(source)..&amp;quot; hat den Server betreten.&amp;quot;) -- sende Nachricht an alle Spieler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function onPlayerQuit(quitType)&lt;br /&gt;
    outputChatBox(getPlayerNametagText(source)..&amp;quot; hat den Server verlassen. (Grund: &amp;quot;..quitType..&amp;quot;)&amp;quot;) -- sende Nachricht an alle Spieler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function onPlayerWasted()&lt;br /&gt;
    spawnPlayer(source, getElementPosition(source)) -- respawne den Spieler&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function onResourceStart()&lt;br /&gt;
    for _, player in next, getElementsByType(&amp;quot;player&amp;quot;) do -- für jedes Spielerelement...&lt;br /&gt;
        spawnPlayer(player, unpack(gSpawnPosition)) -- ...spawne den Spieler&lt;br /&gt;
        fadeCamera(player, true) -- ...blende die Umgebung ein&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function onResourceStop()&lt;br /&gt;
    for _, player in next, getElementsByType(&amp;quot;player&amp;quot;) do-- für jedes Spielerelement...&lt;br /&gt;
        fadeCamera(player, false) -- ...blende die Umgebung aus&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- füge die Eventhandler hinzu&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerQuit&amp;quot;, root, onPlayerQuit)&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerWasted&amp;quot;, root, onPlayerWasted)&lt;br /&gt;
addEventHandler(&amp;quot;onResourceStart&amp;quot;, resourceRoot, onResourceStart)&lt;br /&gt;
addEventHandler(&amp;quot;onResourceStop&amp;quot;, resourceRoot, onResourceStop)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Man sollte immer bedenken, dass Spielerelemente auf dem gleichen Level sind wie Ressourcenelemente, d.h., dass Spieler auch ohne dass Ressourcen laufen auf dem Server sein können, also auch schon, wenn eine Ressource startet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
===Beschreibung===&lt;br /&gt;
Commands sind Befehle, die der Spieler beginnend mit einem Schrägstrich (/) im Chat benutzen kann, um bestimmte Funktionen auszuführen.&lt;br /&gt;
Aufgrund der großen Bandbreite von alternativen Eingabemethoden wie Klicken auf Elemente in der Spielwelt oder GUI-Elemente zählen Commands eher zu den veralteten und unbequemen Eingabemethoden.&lt;br /&gt;
&lt;br /&gt;
Der Ablauf ist ganz einfach: Der Spieler gibt einen Command ein, eventuell mit einem oder mehreren Parametern und MTA ruft eine Lua Funktion auf, der das Element des Spielers, der eingegebene Command sowie die übergebenen Parameter übermittelt werden.&lt;br /&gt;
Bei der Eingabe werden die Parameter einfach durch Leerzeichen getrennt. Beispiel: /command param1 param2 param3&lt;br /&gt;
&lt;br /&gt;
Commandhandlerfunktionen werden in MTA mit der Funktion [[addCommandHandler]] hinzugefügt. Dazu nun einfach mal ein Beispiel für ein einfaches PM-System.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Serverseitiges Beispiel===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function cmdPrivateMessage(source, cmd, targetname, ...)&lt;br /&gt;
    --[[ da auch die eigentliche Nachricht an den Leerzeichen gespalten und als einzelne Parameter übergeben wird,&lt;br /&gt;
         muss man mit dem ...-Parameter eine nicht festgelegte Anzahl Parameter (jeder in diesem Fall ein Wort)&lt;br /&gt;
         entgegennehmen und diese wieder zusammenfügen ]]&lt;br /&gt;
    local message = table.concat({...}, &amp;quot; &amp;quot;)&lt;br /&gt;
    &lt;br /&gt;
    if (message == &amp;quot;&amp;quot;) then -- wenn die Nachricht leer ist, wenn also kein Spielername und/oder keine Nachricht übergeben wurde&lt;br /&gt;
        outputChatBox(&amp;quot;Syntax: /pm [str:Spielername] [str:Nachricht]&amp;quot;, source, 240, 0, 0) -- Ausgabe der korrekten Syntax&lt;br /&gt;
        return -- Abbruch der Funktion&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    local target = getPlayerFromNick(targetname) -- suche nach einem Spielerelement mit dem gegebenen Namen&lt;br /&gt;
    if (not target) then -- wenn kein Spielerelement gefunden wurde&lt;br /&gt;
        outputChatBox(targetname..&amp;quot; existiert nicht oder ist offline.&amp;quot;, source, 240, 0 , 0) -- Ausgabe einer Fehlermeldung&lt;br /&gt;
        return -- Abbruch der Funktion&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    -- ab hier ist gewährleistet, dass alle benötigten Daten vorhanden und gültig sind&lt;br /&gt;
    outputChatBox(&amp;quot;PM an &amp;quot;..targetname..&amp;quot;: &amp;quot;..message, source, 200, 60, 0) -- Ausgabe einer Nachricht an den Sender&lt;br /&gt;
    outputChatBox(&amp;quot;PM von &amp;quot;..getPlayerNametagText(source)..&amp;quot;: &amp;quot;..message, target, 240, 100, 0) -- Ausgabe einer Nachricht an den Empfänger&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Hinzufügen des Commandhandlers&lt;br /&gt;
addCommandHandler(&amp;quot;pm&amp;quot;, cmdPrivateMessage, false, false)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Commandparameter werden immer als strings übergeben.&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52344</id>
		<title>Changes in 1.5.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52344"/>
		<updated>2017-09-23T13:27:56Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Fixed a couple of crashes&lt;br /&gt;
* Updated dependencies&lt;br /&gt;
* Upgraded build tools and migrated to a Docker-based environment (now, we have support for VS2017 and GCC-6)&lt;br /&gt;
* Code cleanups&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added [[guiGetCursorType]]&lt;br /&gt;
* Added ''player'' element to [[onClientChatMessage]]&lt;br /&gt;
* Added ''soundEnable'' parameter to [[createEffect]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added [[getDevelopmentMode]], [[setDevelopmentMode]] (client-only before)&lt;br /&gt;
* Added [[isResourceArchived]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[debugSleep]]&lt;br /&gt;
* Limit range in [[setRainLevel]]&lt;br /&gt;
* Extended [[fetchRemote]] by request method, request headers, response headers, authentication, redirection and form fields&lt;br /&gt;
* Added RGB parameters to [[onClientDebugMessage]]/[[onDebugMessage]]&lt;br /&gt;
* Deprecated ''setControlState''/''getControlState'' in favour of [[setPedControlState]]/[[getPedControlState]]&lt;br /&gt;
* Added logging a warning when some functions are used on non-joined players (e.g. when called from [[onPlayerConnect]])&lt;br /&gt;
* Fixed [[coroutine.resume]] returning only the first argument&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Added 'localhost' to the hardcoded CEF whitelist&lt;br /&gt;
* Enabled [[setPedStat]] for client side peds&lt;br /&gt;
* Added black outline option for chat text&lt;br /&gt;
* Added support for more gta_sa.exe variants&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed [[getHeliBladeCollisionsEnabled]] accepting incorrect arguments&lt;br /&gt;
* Fixed effect sounds playing at the wrong position (thanks to '''ZRec''')&lt;br /&gt;
* Fixed swapped color channels in browsers on Intel integrated graphics&lt;br /&gt;
* Changed camera mode used for vehicle targets (for [[setCameraTarget]])&lt;br /&gt;
* Fixed [[setObjectBreakable]] not properly working with melee&lt;br /&gt;
* Tweaked layout of chatbox settings&lt;br /&gt;
* Added chatbox positioning settings&lt;br /&gt;
* Fixed warpPedIntoVehicle during freefall preserves falling animation (#9381)&lt;br /&gt;
* Fixed some tasks not being cleared if ped is warped to passenger seat&lt;br /&gt;
* Fixed water jump animation remaining after warp&lt;br /&gt;
* Fixed radio name not always showing&lt;br /&gt;
* Improved disconnect time duration text&lt;br /&gt;
* Improved client connecting through firewalls&lt;br /&gt;
* Improved netcode&lt;br /&gt;
* Fixed FOV setting not updating&lt;br /&gt;
* Fixed spectate camera movement malfunctioning with vehicles with adjustable property (#5306)&lt;br /&gt;
* Fixed crash when removing child elements during events&lt;br /&gt;
* Fixed famous crash at offset 0x003F18CF&lt;br /&gt;
&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Fixed helicopter/planes engine sounds being missing sometimes&lt;br /&gt;
* Fixed memory leak and crash in password functions&lt;br /&gt;
* Fixed a new crouchbug variant&lt;br /&gt;
* Added some missing translations (thanks to '''Sergeanur''')&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added password append option to ''authserial'' command&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Hide account passwords from logs when using the /addaccount command&lt;br /&gt;
* Censored [[onClientConsole]] for login command&lt;br /&gt;
&lt;br /&gt;
== Shared ==&lt;br /&gt;
=== Shared: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Migrated from OpenSSL to mbedtls&lt;br /&gt;
* Initial work on macOS server support&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Updated ''ipb'' resource to 0.3 (includes code cleanups, tweaked GUI layout and client performance stats)&lt;br /&gt;
* Modernised ''play'' gamemode&lt;br /&gt;
* Fixed fast-flying glitch with hydra/hunter/jetpack on custom gravity (freeroam)&lt;br /&gt;
* Added support for hex colors to killmessages (thanks to '''AboShanab''')&lt;br /&gt;
* Tweaked realdriveby a lot (thanks to '''emre1702''')&lt;br /&gt;
* Tweaked admin report system (thanks to '''Dezash''')&lt;br /&gt;
* Fixed warping to interiors on foot (freeroam)&lt;br /&gt;
* Added support for hex colors to joinquit&lt;br /&gt;
* Added support for blowing off heads (headshot)&lt;br /&gt;
* Fixed admin bugs: spectating players in another int/dimension, 'Ban serial/IP' GUI polished (admin)&lt;br /&gt;
* Optimized the Freeroam codebase to improve performance and usage (freeroam)&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=52333</id>
		<title>Changes in 1.5.4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=52333"/>
		<updated>2017-09-21T15:09:16Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Security tweaks for both server and client&lt;br /&gt;
* Enabled ''Authorized Serial Protection'' by default&lt;br /&gt;
* Code refactoring and improvements to our build system (also added Clang support)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added &amp;quot;sniper moon&amp;quot;, &amp;quot;random foliage&amp;quot; and &amp;quot;extra air resistance&amp;quot; properties to [[setWorldSpecialPropertyEnabled]] (thanks to '''ZReC''')&lt;br /&gt;
* Added [[getVehiclesLODDistance]], [[setVehiclesLODDistance]] and [[resetVehiclesLODDistance]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[setDebugViewActive]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[passwordHash]] and [[passwordVerify]]&lt;br /&gt;
* Added ''queue'' name parameter to [[fetchRemote]] to support parallel downloads&lt;br /&gt;
* [[setElementDimension]] now supports element omnipresence, which means that an element can be in all dimensions at once (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Corona markers should now have a correct attach offset position (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed very lage radar areas not being visible (thanks to '''ZReC''')&lt;br /&gt;
* Disabled CEF sandbox due to problems (might be re-enabled soon)&lt;br /&gt;
* Updated CEF and other 3rd party dependencies&lt;br /&gt;
* Fixes for some crashes and improvements for error handling for installation and startup issues&lt;br /&gt;
* Removed max password length limit for server account passwords (thanks to '''4O4''')&lt;br /&gt;
* Improved multi-monitor support in windowed fullscreen mode&lt;br /&gt;
* Improved performance of [[dxGetPixelsSize]]&lt;br /&gt;
* Tweaked joystick support&lt;br /&gt;
* Fixed [[playSound]] not supporting unicode in URLs&lt;br /&gt;
* Increased default max streaming memory&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added ''fakelag'' command&lt;br /&gt;
* Added option to allow locally modified (gta3.img) vehicles &lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Enabled ''Authorized Serial Account Protection'' by default&lt;br /&gt;
* Enabled ''Database Credentials Protection'' by default&lt;br /&gt;
* Fixes for weapons/fists desync&lt;br /&gt;
* SQLite or MySQL no longer makes the server freeze if the connection is lost&lt;br /&gt;
* Goggles no longer stay after player was killed (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed console input via pipe on Windows&lt;br /&gt;
* Added option &amp;quot;-u&amp;quot; to server command line to disable stdout buffering (useful for screenlog)&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Added new special detections to ''acpanel''&lt;br /&gt;
* Added anti-command spam to ''freeroam'' (thanks to '''dutchman101''')&lt;br /&gt;
* Fixed vehicle kills not being displayed properly (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed abusable glitch in /anim command in ''freeroam'' (thanks to '''dutchman101''')&lt;br /&gt;
* Added graceful exitting to ''webbrowser''&lt;br /&gt;
* Fixed run commands overwritng 'results' global variable in ''runcode''&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Disabled breathing sounds&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Changelogs&amp;diff=52332</id>
		<title>Template:Changelogs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Changelogs&amp;diff=52332"/>
		<updated>2017-09-21T11:56:33Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #FFF; float:right;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!width=140 style=&amp;quot;background-color: #D6DCFF; border-style: solid; border-width: 1px; border-color: #FFF; color:#00000;&amp;quot;| MTA:SA Version&lt;br /&gt;
!width=400 style=&amp;quot;white-space: nowrap; background-color: #D6DCFF; border-style: solid; border-width: 1px; border-color: #FFF;&amp;quot;| Changelogs&lt;br /&gt;
{{Changelogsrow|1.0|[[Changes in 1.0|1.0.0]] &amp;amp;bull; 1.0.1 &amp;amp;bull; 1.0.2 &amp;amp;bull; 1.0.3 &amp;amp;bull; 1.0.4}}&lt;br /&gt;
{{Changelogsrow|1.1|[[Changes in 1.1|1.1.0]] &amp;amp;bull; 1.1.1}}&lt;br /&gt;
{{Changelogsrow|1.2|[[Changes in 1.2|1.2.0]]}}&lt;br /&gt;
{{Changelogsrow|1.3|[[Changes in 1.3|1.3.0]] &amp;amp;bull; [[Changes in 1.3.1|1.3.1]] &amp;amp;bull; [[Changes in 1.3.2|1.3.2]] &amp;amp;bull; [[Changes in 1.3.3|1.3.3]] &amp;amp;bull; [[Changes in 1.3.4|1.3.4]] &amp;amp;bull; [[Changes in 1.3.5|1.3.5]]}}&lt;br /&gt;
{{Changelogsrow|1.4|[[Changes in 1.4|1.4.0]] &amp;amp;bull; [[Changes in 1.4.1|1.4.1]]}}&lt;br /&gt;
{{Changelogsrow|1.5|[[Changes in 1.5|1.5.0]] &amp;amp;bull; [[Changes in 1.5.1|1.5.1]] &amp;amp;bull; [[Changes in 1.5.2|1.5.2]] &amp;amp;bull; [[Changes in 1.5.3|1.5.3]] &amp;amp;bull; [[Changes in 1.5.4|1.5.4]] &amp;amp;bull; [[Changes in 1.5.5|1.5.5]]}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=52331</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=52331"/>
		<updated>2017-09-21T11:55:53Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* Major code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Updated many dependencies&lt;br /&gt;
* Added support for German Steam version of GTASA (thanks to Lakota, Mario and @Sh4dowReturns)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
* Added [[createTrayNotification]] and [[isTrayNotificationEnabled]] (thanks to '''Necktrox''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
* Added ''readOnly'' option to [[xmlLoadFile]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed [[fileRead]] crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* [[setVehiclePlateText]] now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for [[setPedAnimation]] (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
* Added masking of certain function arguments when using [[addDebugHook]]&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed [[setBrowserAjaxHandler]] breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to '''lopezloo''')&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed [[setBrowserVolume]] not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed [[setCameraTarget]] calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed team members not fully synced until re-set by [[setPlayerTeam]] or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed [[redirectPlayer]] with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of [[attachElements]]&lt;br /&gt;
* Changed [[setElementFrozen]] to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Fixed CEF popups (e.g. &amp;lt;select&amp;gt; boxes) not being rendered correctly&lt;br /&gt;
* Fixed MTA slowly updating position of attached elements&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for [[redirectPlayer]]&lt;br /&gt;
* Added 8 byte integer support for varargs database queries&lt;br /&gt;
* Added option to block server admins who login with an unrecognized serial&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed [[dbPoll]] returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during [[onDebugMessage]] event&lt;br /&gt;
* Fixed [[onElementStopSync]] not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering [[onPedWasted]]&lt;br /&gt;
* Fixed [[getMarkerIcon]] returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Race: Fixed parameters in 'onGamemodeMapStop' event (thanks to '''PhrozenByte''')&lt;br /&gt;
* Adminpanel: Added unban dates to bans and allowed defining custom ban times for offline bans (thanks to '''Dutchman101''')&lt;br /&gt;
* Runcode: Improved support for return statements&lt;br /&gt;
* Runcode: Added hidden ''me'' variable&lt;br /&gt;
* Missiontimer: Fixed events triggering when client is not ready (thanks to '''Einheit-101''')&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Added map backups&lt;br /&gt;
* Enabled OOP support in [[EDF]] scripreader (thanks to '''PhrozenByte''')&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52330</id>
		<title>Changes in 1.5.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52330"/>
		<updated>2017-09-21T11:55:32Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Fixed a couple of crashes&lt;br /&gt;
* Updated dependencies&lt;br /&gt;
* Upgraded build tools and migrated to a Docker-based environment (now, we have support for VS2017 and GCC-6)&lt;br /&gt;
* Code cleanups&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added [[guiGetCursorType]]&lt;br /&gt;
* Added ''player'' element to [[onClientChatMessage]]&lt;br /&gt;
* Added ''soundEnable'' parameter to [[createEffect]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added [[getDevelopmentMode]], [[setDevelopmentMode]] (client-only before)&lt;br /&gt;
* Added [[isResourceArchived]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[debugSleep]]&lt;br /&gt;
* Limit range in [[setRainLevel]]&lt;br /&gt;
* Extended [[fetchRemote]] by request method, request headers, response headers, authentication, redirection and form fields&lt;br /&gt;
* Added RGB parameters to [[onClientDebugMessage]]/[[onDebugMessage]]&lt;br /&gt;
* Deprecated ''setControlState''/''getControlState'' in favour of [[setPedControlState]]/[[getPedControlState]]&lt;br /&gt;
* Added logging a warning when some functions are used on non-joined players (e.g. when called from [[onPlayerConnect]])&lt;br /&gt;
* Fixed [[coroutine.resume]] returning only the first argument&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Added 'localhost' to the hardcoded CEF whitelist&lt;br /&gt;
* Enabled [[setPedStat]] for client side peds&lt;br /&gt;
* Added black outline option for chat text&lt;br /&gt;
* Added support for more gta_sa.exe variants&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed [[getHeliBladeCollisionsEnabled]] accepting incorrect arguments&lt;br /&gt;
* Fixed effect sounds playing at the wrong position (thanks to '''ZRec''')&lt;br /&gt;
* Fixed swapped color channels in browsers on Intel integrated graphics&lt;br /&gt;
* Changed camera mode used for vehicle targets (for [[setCameraTarget]])&lt;br /&gt;
* Fixed [[setObjectBreakable]] not properly working with melee&lt;br /&gt;
* Tweaked layout of chatbox settings&lt;br /&gt;
* Fixed radio name not always showing&lt;br /&gt;
* Improved disconnect time duration text&lt;br /&gt;
* Improved client connecting through firewalls&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Fixed helicopter/planes engine sounds being missing sometimes&lt;br /&gt;
* Fixed memory leak and crash in password functions&lt;br /&gt;
* Potentially fixed crouchbug&lt;br /&gt;
* Added some missing translations (thanks to '''Sergeanur''')&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added password append option to ''authserial'' command&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Hide account passwords from logs when using the /addaccount command&lt;br /&gt;
* Censored [[onClientConsole]] for login command&lt;br /&gt;
&lt;br /&gt;
== Shared ==&lt;br /&gt;
=== Shared: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Migrated from OpenSSL to mbedtls&lt;br /&gt;
* Initial work on macOS server support&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Updated ''ipb'' resource to 0.3 (includes code cleanups, tweaked GUI layout and client performance stats)&lt;br /&gt;
* Modernised ''play'' gamemode&lt;br /&gt;
* Fixed fast jetpack flying with gravity glitch (freeroam)&lt;br /&gt;
* Added support for hex colors to killmessages (thanks to '''AboShanab''')&lt;br /&gt;
* Tweaked realdriveby a lot (thanks to '''emre1702''')&lt;br /&gt;
* Tweaked admin report system (thanks to '''Dezash''')&lt;br /&gt;
* Fixed warping to interiors (freeroam)&lt;br /&gt;
* Fixed fast-flying glitch with hydra/hunter on custom gravity (freeroam)&lt;br /&gt;
* Added support for hex colors to joinquit&lt;br /&gt;
* Added support for blowing off heads (headshot)&lt;br /&gt;
* Added anti-spam and some sanity checks (freeroam)&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DebugSleep&amp;diff=52329</id>
		<title>DebugSleep</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DebugSleep&amp;diff=52329"/>
		<updated>2017-09-21T11:48:25Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
[[debugSleep]] freezes the client/server for the specified time. This means that all synchronization, rendering and script execution will stop except HTTP processing invoked by [[fetchRemote]]. This function only works, if development mode is enabled by [[setDevelopmentMode]] and can be utilised to build a debugger that communicates via HTTP requests with the editor/IDE.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Only use this function if you know what you are doing!|true}}&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 debugSleep ( int sleep )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''sleep ''': An integer value in milliseconds.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the development mode is enabled and arguments are correct, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|1.5.4-9.11306|1.5.4-9.11306|}}&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example would add the command to set the client's freeze time.&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; side=&amp;quot;client&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler ( &amp;quot;zzz&amp;quot;,&lt;br /&gt;
    function ( command, sleep )&lt;br /&gt;
        debugSleep ( sleep )&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_utility_functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DebugSleep&amp;diff=52328</id>
		<title>DebugSleep</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DebugSleep&amp;diff=52328"/>
		<updated>2017-09-21T11:48:06Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
_debugSleep_ freezes the client/server for the specified time. This means that all synchronization, rendering and script execution will stop except HTTP processing invoked by [[fetchRemote]]. This function only works, if development mode is enabled by [[setDevelopmentMode]] and can be utilised to build a debugger that communicates via HTTP requests with the editor/IDE.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Only use this function if you know what you are doing!|true}}&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 debugSleep ( int sleep )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''sleep ''': An integer value in milliseconds.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the development mode is enabled and arguments are correct, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|1.5.4-9.11306|1.5.4-9.11306|}}&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
'''Example 1:''' This example would add the command to set the client's freeze time.&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; side=&amp;quot;client&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler ( &amp;quot;zzz&amp;quot;,&lt;br /&gt;
    function ( command, sleep )&lt;br /&gt;
        debugSleep ( sleep )&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_utility_functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52327</id>
		<title>Changes in 1.5.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52327"/>
		<updated>2017-09-21T11:43:12Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Fixed a couple of crashes&lt;br /&gt;
* Updated dependencies&lt;br /&gt;
* Upgraded build tools and migrated to a Docker-based environment (now, we have support for VS2017 and GCC-6)&lt;br /&gt;
* Code cleanups&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added [[guiGetCursorType]]&lt;br /&gt;
* Added ''player'' element to [[onClientChatMessage]]&lt;br /&gt;
* Added ''soundEnable'' parameter to [[createEffect]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added [[getDevelopmentMode]], [[setDevelopmentMode]] (client-only before)&lt;br /&gt;
* Added [[isResourceArchived]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[debugSleep]]&lt;br /&gt;
* Limit range in [[setRainLevel]]&lt;br /&gt;
* Extended [[fetchRemote]] by request method, request headers, response headers, authentication, redirection and form fields&lt;br /&gt;
* Added RGB parameters to [[onClientDebugMessage]]/[[onDebugMessage]]&lt;br /&gt;
* Deprecated ''setControlState''/''getControlState'' in favour of [[setPedControlState]]/[[getPedControlState]]&lt;br /&gt;
* Added logging a warning when some functions are used on non-joined players (e.g. when called from [[onPlayerConnect]])&lt;br /&gt;
* Fixed [[coroutine.resume]] returning only the first argument&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Added 'localhost' to the hardcoded CEF whitelist&lt;br /&gt;
* Enabled [[setPedStat]] for client side peds&lt;br /&gt;
* Added black outline option for chat text&lt;br /&gt;
* Added support for more gta_sa.exe variants&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed [[getHeliBladeCollisionsEnabled]] accepting incorrect arguments&lt;br /&gt;
* Fixed effect sounds playing at the wrong position (thanks to '''ZRec''')&lt;br /&gt;
* Fixed swapped color channels in browsers on Intel integrated graphics&lt;br /&gt;
* Changed camera mode used for vehicle targets (for [[setCameraTarget]])&lt;br /&gt;
* Fixed [[setObjectBreakable]] not properly working with melee&lt;br /&gt;
* Tweaked layout of chatbox settings&lt;br /&gt;
* Fixed radio name not always showing&lt;br /&gt;
* Improved disconnect time duration text&lt;br /&gt;
* Improved client connecting through firewalls&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Fixed helicopter/planes engine sounds being missing sometimes&lt;br /&gt;
* Fixed memory leak and crash in password functions&lt;br /&gt;
* Potentially fixed crouchbug&lt;br /&gt;
* Added some missing translations (thanks to '''Sergeanur''')&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added password append option to ''authserial'' command&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Hide account passwords from logs when using the /addaccount command&lt;br /&gt;
* Censored [[onClientConsole]] for login command&lt;br /&gt;
&lt;br /&gt;
== Shared ==&lt;br /&gt;
=== Shared: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Migrated from OpenSSL to mbedtls&lt;br /&gt;
* Initial work on macOS server support&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52326</id>
		<title>Changes in 1.5.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52326"/>
		<updated>2017-09-21T11:38:17Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Fixed a couple of crashes&lt;br /&gt;
* Updated dependencies&lt;br /&gt;
* Upgraded build tools and migrated to a Docker-based environment (now, we have support for VS2017 and GCC-6)&lt;br /&gt;
* Code cleanups&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added [[guiGetCursorType]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added [[getDevelopmentMode]], [[setDevelopmentMode]] (client-only before)&lt;br /&gt;
* Added [[isResourceArchived]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[debugSleep]]&lt;br /&gt;
* Limit range in [[setRainLevel]]&lt;br /&gt;
* Extended [[fetchRemote]] by request method, request headers, response headers, authentication, redirection and form fields&lt;br /&gt;
* Added RGB parameters to [[onClientDebugMessage]]/[[onDebugMessage]]&lt;br /&gt;
* Deprecated ''setControlState''/''getControlState'' in favour of [[setPedControlState]]/[[getPedControlState]]&lt;br /&gt;
* Added logging a warning when some functions are used on non-joined players (e.g. when called from [[onPlayerConnect]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Added 'localhost' to the hardcoded CEF whitelist&lt;br /&gt;
* Enabled [[setPedStat]] for client side peds&lt;br /&gt;
* Added black outline option for chat text&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed [[getHeliBladeCollisionsEnabled]] accepting incorrect arguments&lt;br /&gt;
* Fixed effect sounds playing at the wrong position (thanks to '''ZRec''')&lt;br /&gt;
* Fixed swapped color channels in browsers on Intel integrated graphics&lt;br /&gt;
* Changed camera mode used for vehicle targets (for [[setCameraTarget]])&lt;br /&gt;
* Fixed [[setObjectBreakable]] not properly working with melee&lt;br /&gt;
* Tweaked layout of chatbox settings&lt;br /&gt;
* Fixed radio name not always showing&lt;br /&gt;
* Improved disconnect time duration text&lt;br /&gt;
* Improved client connecting through firewalls&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Fixed helicopter/planes engine sounds being missing sometimes &lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added password append option to ''authserial'' command&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Hide account passwords from logs when using the /addaccount command&lt;br /&gt;
* Censored [[onClientConsole]] for login command&lt;br /&gt;
&lt;br /&gt;
== Shared ==&lt;br /&gt;
=== Shared: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Migrated from OpenSSL to mbedtls&lt;br /&gt;
* Initial work on macOS server support&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52325</id>
		<title>Changes in 1.5.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.5&amp;diff=52325"/>
		<updated>2017-09-21T11:26:20Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Created page with &amp;quot;{{Changelogs}} __NOTOC__ * Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php * Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added [[getDevelopmentMode]], [[setDevelopmentMode]] (client-only before)&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[debugSleep]]&lt;br /&gt;
* Limit range in [[setRainLevel]]&lt;br /&gt;
* Extended [[fetchRemote]] by request method, request headers and response headers, authentication, redirection&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Added 'localhost' to the hardcoded CEF whitelist&lt;br /&gt;
* Enabled [[setPedStat]] for client side peds&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed [[getHeliBladeCollisionsEnabled]] accepting incorrect arguments&lt;br /&gt;
* Fixed effect sounds playing at the wrong position (thanks to '''ZRec''')&lt;br /&gt;
* Fixed swapped color channels in browsers on Intel integrated graphics&lt;br /&gt;
* Changed camera mode used for vehicle targets (for [[setCameraTarget]])&lt;br /&gt;
* Fixed [[setObjectBreakable]] not properly working with melee&lt;br /&gt;
* Tweaked layout of chatbox settings&lt;br /&gt;
* Fixed radio name not always showing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added password append option to ''authserial'' command&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Hide account passwords from logs when using the /addaccount command&lt;br /&gt;
* Censored [[onClientConsole]] for login command&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=51006</id>
		<title>PasswordVerify</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=51006"/>
		<updated>2017-05-14T15:19:59Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function verifies whether a password matches a password hash.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool passwordVerify ( string password, string hash[, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to check.&lt;br /&gt;
*'''hash:''' A supported hash (see [[passwordHash]]). &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note that only the prefix ''$2y$'' is supported for type bcrypt (older prefixes can cause security issues).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns true if the password matches the hash. Returns false if the password does not match, or if an unknown hash was passed. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
See [[passwordHash]] example.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=51005</id>
		<title>PasswordVerify</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=51005"/>
		<updated>2017-05-14T15:19:33Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function verifies whether a password matches a password hash.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool passwordVerify ( string password, string hash[, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to check.&lt;br /&gt;
*'''hash:''' A supported hash (see [[passwordHash]]). &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note that only the prefix ''$2y$'' is supported (older prefixes can cause security issues).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns true if the password matches the hash. Returns false if the password does not match, or if an unknown hash was passed. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
See [[passwordHash]] example.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordHash&amp;diff=51004</id>
		<title>PasswordHash</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordHash&amp;diff=51004"/>
		<updated>2017-05-14T15:19:02Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function creates a new password hash using a specified hashing algorithm.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string passwordHash ( string password, string algorithm [, table options = {} ][, function callback ])  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to hash.&lt;br /&gt;
*'''algorithm:''' The algorithm to use:&lt;br /&gt;
** ''bcrypt'': use the bcrypt hashing algorithm. Hash length: 60 characters. &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Note that only the prefix ''$2y$'' is supported (older prefixes can cause security issues).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''options:''' table with options for the hashing algorithm, as detailed below&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Options for each hashing algorithm===&lt;br /&gt;
* ''bcrypt'':&lt;br /&gt;
** ''cost'' (int), default: 10.  Visit [http://security.stackexchange.com/questions/17207/recommended-of-rounds-for-bcrypt this link] to determine the number of rounds appropriate for your server.&lt;br /&gt;
** ''salt'' (string), default: automatically generate salt &lt;br /&gt;
*** an empty string will automatically generate a salt with the ''cost'' provided&lt;br /&gt;
*** if a string is provided, the given salt is used (do not do this!)&lt;br /&gt;
*** the provided string should be longer or equal than 22 characters&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the hash as a string if hashing was successful, ''false'' otherwise. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
{{Warning|If you will be using &amp;quot;Example 1&amp;quot; then you will have to save account data &amp;quot;hash_password&amp;quot; after server restart, otherwise this script will no longer work.}}&lt;br /&gt;
This example makes use of [https://wiki.multitheftauto.com/wiki/PasswordHash passwordHash] and [https://wiki.multitheftauto.com/wiki/PasswordVerify passwordVerify] in account creation and account login to boost up security.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
* Use '''&amp;lt;/accountCreate [username] [password]&amp;gt;''' to create an account.&lt;br /&gt;
* Use '''&amp;lt;/accountLogin [username] [password]&amp;gt;''' to login in account.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- lets add command handler that will handle the account creation&lt;br /&gt;
addCommandHandler(&amp;quot;accountCreate&amp;quot;,function(source,cmd,username,password)&lt;br /&gt;
	if (username and password) then&lt;br /&gt;
		local hashedPassword = passwordHash(password,&amp;quot;bcrypt&amp;quot;) -- create new hash for password&lt;br /&gt;
		if (hashedPassword) then -- check if hash has been generated&lt;br /&gt;
			local account = addAccount(username,hashedPassword) -- now lets add account with new hash what we got when we made it for password.&lt;br /&gt;
			if (account) then&lt;br /&gt;
				setAccountData(account,&amp;quot;hash_password&amp;quot;,hashedPassword) -- store accounts password hash in order to verify it when it's needed.&lt;br /&gt;
				outputChatBox(&amp;quot;Account successfuly created! Now please login. Syntax &amp;lt;/accountLogin [username] [password]&amp;gt;&amp;quot;,source,20,160,20)&lt;br /&gt;
			else&lt;br /&gt;
				outputChatBox(&amp;quot;Account already exists! Please try again with different username.&amp;quot;,source,20,160,20)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			outputChatBox(&amp;quot;Securing your password failed! Please try again or contact an administrator.&amp;quot;,source,160,20,20)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		outputChatBox(&amp;quot;Wrong parameters! Correct Syntax &amp;lt;/accountCreate [username] [password]&amp;gt;&amp;quot;,source,160,20,20)&lt;br /&gt;
	end&lt;br /&gt;
end);&lt;br /&gt;
&lt;br /&gt;
-- lets add command handler that will handle the account login&lt;br /&gt;
addCommandHandler(&amp;quot;accountLogin&amp;quot;,function(source,cmd,username,password)&lt;br /&gt;
	if (username and password) then&lt;br /&gt;
		local account = getAccount(username) -- get entered account&lt;br /&gt;
		if (account) then -- check if entered account exists&lt;br /&gt;
			local hashedPassword = getAccountData(account,&amp;quot;hash_password&amp;quot;) -- lets get hashed password&lt;br /&gt;
			if (passwordVerify(password,hashedPassword)) then -- check if hash and entered password matches&lt;br /&gt;
				if logIn(source,account,hashedPassword) then -- now lets login player into account&lt;br /&gt;
					outputChatBox(&amp;quot;Login successfull. Welcome, &amp;quot;..getAccountName(account)..&amp;quot;!&amp;quot;,source,20,160,20)&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				outputChatBox(&amp;quot;Password is incorrect!&amp;quot;,source,160,20,20)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			outputChatBox(&amp;quot;Account doesn't exist! Please try again with different account.&amp;quot;,source,160,20,20)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		outputChatBox(&amp;quot;Wrong parameters! Correct Syntax &amp;lt;/accountCreate [username] [password]&amp;gt;&amp;quot;,source,160,20,20)&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;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=50789</id>
		<title>PasswordVerify</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordVerify&amp;diff=50789"/>
		<updated>2017-04-24T19:34:44Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function verifies whether a password matches a password hash.&lt;br /&gt;
}}&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool passwordVerify ( string password, string hash[, function callback] )  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to check.&lt;br /&gt;
*'''hash:''' A supported hash (see [[passwordHash]])&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns true if the password matches the hash. Returns false if the password does not match, or if an unknown hash was passed. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
See [[passwordHash]] example.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PasswordHash&amp;diff=50788</id>
		<title>PasswordHash</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PasswordHash&amp;diff=50788"/>
		<updated>2017-04-24T19:34:25Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Shared function}}&lt;br /&gt;
{{Note box|Using '''passwordHash''' is the recommended way of storing passwords.}}&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11277|&lt;br /&gt;
This function creates a new password hash using a specified hashing algorithm.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Warning|It is strongly recommended to use the async version of the function (i.e. provide a callback function). Otherwise, you will experience short freezes due to the slow nature of the bcrypt algorithm}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string passwordHash ( string password, string algorithm [, table options = {} ][, function callback ])  &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''password:''' The password to hash.&lt;br /&gt;
*'''algorithm:''' The algorithm to use:&lt;br /&gt;
** ''bcrypt'': use the bcrypt hashing algorithm&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
*'''options:''' table with options for the hashing algorithm, as detailed below&lt;br /&gt;
{{New feature/item|3.0154|1.5.4|11281|&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;
}}&lt;br /&gt;
===Options for each hashing algorithm===&lt;br /&gt;
* ''bcrypt'':&lt;br /&gt;
** ''cost'' (int), default: 10.  Visit [http://security.stackexchange.com/questions/17207/recommended-of-rounds-for-bcrypt this link] to determine the number of rounds appropriate for your server.&lt;br /&gt;
** ''salt'' (string), default: automatically generate salt &lt;br /&gt;
*** an empty string will automatically generate a salt with the ''cost'' provided&lt;br /&gt;
*** if a string is provided, the given salt is used (do not do this!)&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the hash as a string if hashing was successful, ''false'' otherwise. If a callback was provided, the aforementioned values are arguments to the callback, and this function will always return ''true''.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
{{Warning|If you will be using &amp;quot;Example 1&amp;quot; then you will have to save account data &amp;quot;hash_password&amp;quot; after server restart, otherwise this script will no longer work.}}&lt;br /&gt;
This example makes use of [https://wiki.multitheftauto.com/wiki/PasswordHash passwordHash] and [https://wiki.multitheftauto.com/wiki/PasswordVerify passwordVerify] in account creation and account login to boost up security.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
* Use '''&amp;lt;/accountCreate [username] [password]&amp;gt;''' to create an account.&lt;br /&gt;
* Use '''&amp;lt;/accountLogin [username] [password]&amp;gt;''' to login in account.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- lets add command handler that will handle the account creation&lt;br /&gt;
addCommandHandler(&amp;quot;accountCreate&amp;quot;,function(source,cmd,username,password)&lt;br /&gt;
	if (username and password) then&lt;br /&gt;
		local hashedPassword = passwordHash(password,&amp;quot;bcrypt&amp;quot;) -- create new hash for password&lt;br /&gt;
		if (hashedPassword) then -- check if hash has been generated&lt;br /&gt;
			local account = addAccount(username,hashedPassword) -- now lets add account with new hash what we got when we made it for password.&lt;br /&gt;
			if (account) then&lt;br /&gt;
				setAccountData(account,&amp;quot;hash_password&amp;quot;,hashedPassword) -- store accounts password hash in order to verify it when it's needed.&lt;br /&gt;
				outputChatBox(&amp;quot;Account successfuly created! Now please login. Syntax &amp;lt;/accountLogin [username] [password]&amp;gt;&amp;quot;,source,20,160,20)&lt;br /&gt;
			else&lt;br /&gt;
				outputChatBox(&amp;quot;Account already exists! Please try again with different username.&amp;quot;,source,20,160,20)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			outputChatBox(&amp;quot;Securing your password failed! Please try again or contact an administrator.&amp;quot;,source,160,20,20)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		outputChatBox(&amp;quot;Wrong parameters! Correct Syntax &amp;lt;/accountCreate [username] [password]&amp;gt;&amp;quot;,source,160,20,20)&lt;br /&gt;
	end&lt;br /&gt;
end);&lt;br /&gt;
&lt;br /&gt;
-- lets add command handler that will handle the account login&lt;br /&gt;
addCommandHandler(&amp;quot;accountLogin&amp;quot;,function(source,cmd,username,password)&lt;br /&gt;
	if (username and password) then&lt;br /&gt;
		local account = getAccount(username) -- get entered account&lt;br /&gt;
		if (account) then -- check if entered account exists&lt;br /&gt;
			local hashedPassword = getAccountData(account,&amp;quot;hash_password&amp;quot;) -- lets get hashed password&lt;br /&gt;
			if (passwordVerify(password,hashedPassword)) then -- check if hash and entered password matches&lt;br /&gt;
				if logIn(source,account,hashedPassword) then -- now lets login player into account&lt;br /&gt;
					outputChatBox(&amp;quot;Login successfull. Welcome, &amp;quot;..getAccountName(account)..&amp;quot;!&amp;quot;,source,20,160,20)&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				outputChatBox(&amp;quot;Password is incorrect!&amp;quot;,source,160,20,20)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			outputChatBox(&amp;quot;Account doesn't exist! Please try again with different account.&amp;quot;,source,160,20,20)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		outputChatBox(&amp;quot;Wrong parameters! Correct Syntax &amp;lt;/accountCreate [username] [password]&amp;gt;&amp;quot;,source,160,20,20)&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;
{{Utility functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetResourceOrganizationalPath&amp;diff=50765</id>
		<title>GetResourceOrganizationalPath</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetResourceOrganizationalPath&amp;diff=50765"/>
		<updated>2017-04-22T13:17:34Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Created page with &amp;quot;{{Server function}} __NOTOC__ This function returns the organizational file path (e.g. ''[admin]'') of a resource.  ==Syntax==  &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt; string getResource...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns the organizational file path (e.g. ''[admin]'') of a resource.&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 getResourceOrganizationalPath ( resource theResource )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[resource]]:getOrganizationalPath }}&lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theResource:''' the [[resource]] of which you want to know the organizational path&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the organizational path of the [[resource]].&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
{{Missing_example}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Resource_functions}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Resource_functions&amp;diff=50764</id>
		<title>Template:Resource functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Resource_functions&amp;diff=50764"/>
		<updated>2017-04-22T13:12:41Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Added getResourceOrganizationalPath&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[addResourceConfig]]&lt;br /&gt;
*[[addResourceMap]]&lt;br /&gt;
*[[call]]&lt;br /&gt;
*[[callRemote]]&lt;br /&gt;
*[[fetchRemote]]&lt;br /&gt;
*[[copyResource]]&lt;br /&gt;
*[[createResource]]&lt;br /&gt;
*[[getResourceConfig]]&lt;br /&gt;
*[[getResourceDynamicElementRoot]]&lt;br /&gt;
*[[getResourceExportedFunctions]]&lt;br /&gt;
*[[getResourceFromName]]&lt;br /&gt;
*[[getResourceInfo]]&lt;br /&gt;
*[[getResourceLastStartTime]]&lt;br /&gt;
*[[getResourceLoadFailureReason]]&lt;br /&gt;
*[[getResourceLoadTime]]&lt;br /&gt;
*[[getResourceMapRootElement]]&lt;br /&gt;
*[[getResourceName]]&lt;br /&gt;
*[[getResourceRootElement]]&lt;br /&gt;
*[[getResources]]&lt;br /&gt;
*[[getResourceState]]&lt;br /&gt;
*[[getThisResource]]&lt;br /&gt;
*[[refreshResources]]&lt;br /&gt;
*[[removeResourceFile]]&lt;br /&gt;
*[[restartResource]]&lt;br /&gt;
*[[startResource]]&lt;br /&gt;
*[[stopResource]]&lt;br /&gt;
*[[setResourceInfo]]&lt;br /&gt;
*[[renameResource]]&lt;br /&gt;
*[[deleteResource]]&lt;br /&gt;
*[[getResourceACLRequests]]&lt;br /&gt;
*[[updateResourceACLRequest]]&lt;br /&gt;
*[[getResourceOrganizationalPath]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Functions templates]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=50752</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=50752"/>
		<updated>2017-04-20T21:13:12Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* Major code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Updated many dependencies&lt;br /&gt;
* Added support for German Steam version of GTASA (thanks to Lakota, Mario and @Sh4dowReturns)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
* Added [[createTrayNotification]] and [[isTrayNotificationEnabled]] (thanks to '''Necktrox''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
* Added ''readOnly'' option to [[xmlLoadFile]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed [[fileRead]] crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* [[setVehiclePlateText]] now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for [[setPedAnimation]] (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
* Added masking of certain function arguments when using [[addDebugHook]]&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed [[setBrowserAjaxHandler]] breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to '''lopezloo''')&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed [[setBrowserVolume]] not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed [[setCameraTarget]] calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed team members not fully synced until re-set by [[setPlayerTeam]] or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed [[redirectPlayer]] with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of [[attachElements]]&lt;br /&gt;
* Changed [[setElementFrozen]] to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Fixed CEF popups (e.g. &amp;lt;select&amp;gt; boxes) not being rendered correctly&lt;br /&gt;
* Fixed MTA slowly updating position of attached elements&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for [[redirectPlayer]]&lt;br /&gt;
* Added 8 byte integer support for varargs database queries&lt;br /&gt;
* Added option to block server admins who login with an unrecognized serial&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed [[dbPoll]] returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during [[onDebugMessage]] event&lt;br /&gt;
* Fixed [[onElementStopSync]] not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering [[onPedWasted]]&lt;br /&gt;
* Fixed [[getMarkerIcon]] returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Race: Fixed parameters in 'onGamemodeMapStop' event (thanks to '''PhrozenByte''')&lt;br /&gt;
* Adminpanel: Added unban dates to bans and allowed defining custom ban times for offline bans (thanks to '''Dutchman101''')&lt;br /&gt;
* Runcode: Improved support for return statements&lt;br /&gt;
* Runcode: Added hidden ''me'' variable&lt;br /&gt;
* Missiontimer: Fixed events triggering when client is not ready (thanks to '''Einheit-101''')&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Added map backups&lt;br /&gt;
* Enabled OOP support in [[EDF]] scripreader (thanks to '''PhrozenByte''')&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50751</id>
		<title>Changes in 1.5.4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50751"/>
		<updated>2017-04-20T21:12:47Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Security tweaks for both server and client&lt;br /&gt;
* Enabled ''Authorized Serial Protection'' by default&lt;br /&gt;
* Code refactoring and improvements to our build system (also added Clang support)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added &amp;quot;sniper moon&amp;quot;, &amp;quot;random foliage&amp;quot; and &amp;quot;extra air resistance&amp;quot; properties to [[setWorldSpecialPropertyEnabled]] (thanks to '''ZReC''')&lt;br /&gt;
* Added [[getVehicleLODDistance]] and [[setVehicleLODDistance]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[setDebugViewActive]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[passwordHash]] and [[passwordVerify]]&lt;br /&gt;
* Added ''queue'' name parameter to [[fetchRemote]] to support parallel downloads&lt;br /&gt;
* [[setElementDimension]] now supports element omnipresence, which means that an element can be in all dimensions at once (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Corona markers should now have a correct attach offset position (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed very lage radar areas not being visible (thanks to '''ZReC''')&lt;br /&gt;
* Disabled CEF sandbox due to problems (might be re-enabled soon)&lt;br /&gt;
* Updated CEF and other 3rd party dependencies&lt;br /&gt;
* Fixes for some crashes and improvements for error handling for installation and startup issues&lt;br /&gt;
* Removed max password length limit for server account passwords (thanks to '''4O4''')&lt;br /&gt;
* Improved multi-monitor support in windowed fullscreen mode&lt;br /&gt;
* Improved performance of [[dxGetPixelsSize]]&lt;br /&gt;
* Tweaked joystick support&lt;br /&gt;
* Fixed [[playSound]] not supporting unicode in URLs&lt;br /&gt;
* Increased default max streaming memory&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added ''fakelag'' command&lt;br /&gt;
* Added option to allow locally modified (gta3.img) vehicles &lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Enabled ''Authorized Serial Account Protection'' by default&lt;br /&gt;
* Enabled ''Database Credentials Protection'' by default&lt;br /&gt;
* Fixes for weapons/fists desync&lt;br /&gt;
* SQLite or MySQL no longer makes the server freeze if the connection is lost&lt;br /&gt;
* Goggles no longer stay after player was killed (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed console input via pipe on Windows&lt;br /&gt;
* Added option &amp;quot;-u&amp;quot; to server command line to disable stdout buffering (useful for screenlog)&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Added new special detections to ''acpanel''&lt;br /&gt;
* Added anti-command spam to ''freeroam'' (thanks to '''dutchman101''')&lt;br /&gt;
* Fixed vehicle kills not being displayed properly (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed abusable glitch in /anim command in ''freeroam'' (thanks to '''dutchman101''')&lt;br /&gt;
* Added graceful exitting to ''webbrowser''&lt;br /&gt;
* Fixed run commands overwritng 'results' global variable in ''runcode''&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Disabled breathing sounds&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50750</id>
		<title>Changes in 1.5.4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50750"/>
		<updated>2017-04-20T21:11:06Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Security tweaks for both server and client&lt;br /&gt;
* Enabled ''Authorized Serial Protection'' by default&lt;br /&gt;
* Code refactoring and improvements to our build system (also added Clang support)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added &amp;quot;sniper moon&amp;quot;, &amp;quot;random foliage&amp;quot; and &amp;quot;extra air resistance&amp;quot; properties to [[setWorldSpecialPropertyEnabled]] (thanks to '''ZReC''')&lt;br /&gt;
* Added [[getVehicleLODDistance]] and [[setVehicleLODDistance]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[setDebugViewActive]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[passwordHash]] and [[passwordVerify]]&lt;br /&gt;
* Added ''queue'' name parameter to [[fetchRemote]] to support parallel downloads&lt;br /&gt;
* [[setElementDimension]] now supports element omnipresence, which means that an element can be in all dimensions at once (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Corona markers should now have a correct attach offset position (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed very lage radar areas not being visible (thanks to '''ZReC''')&lt;br /&gt;
* Disabled CEF sandbox due to problems (might be re-enabled soon)&lt;br /&gt;
* Updated CEF and other 3rd party dependencies&lt;br /&gt;
* Fixes for some crashes and improvements for error handling for installation and startup issues&lt;br /&gt;
* Removed max password length limit for server account passwords (thanks to '''4O4''')&lt;br /&gt;
* Improved multi-monitor support in windowed fullscreen mode&lt;br /&gt;
* Improved performance of [[dxGetPixelsSize]]&lt;br /&gt;
* Tweaked joystick support&lt;br /&gt;
* Fixed [[playSound]] not supporting unicode in URLs&lt;br /&gt;
* Increased default max streaming memory&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added ''fakelag'' command&lt;br /&gt;
* Added option to allow locally modified (gta3.img) vehicles &lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Enabled ''Authorized Serial Account Protection'' by default&lt;br /&gt;
* Enabled ''Database Credentials Protection'' by default&lt;br /&gt;
* Fixes for weapons/fists desync&lt;br /&gt;
* SQLite or MySQL no longer makes the server freeze if the connection is lost&lt;br /&gt;
* Goggles no longer stay after player was killed (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed console input via pipe on Windows&lt;br /&gt;
* Added option &amp;quot;-u&amp;quot; to server command line to disable stdout buffering (useful for screenlog)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Added new special detections to ''acpanel''&lt;br /&gt;
* Added anti-command spam to ''freeroam'' (thanks to '''dutchman101''')&lt;br /&gt;
* Fixed vehicle kills not being displayed properly (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed abusable glitch in /anim command in ''freeroam'' (thanks to '''dutchman101''')&lt;br /&gt;
* Added graceful exitting to ''webbrowser''&lt;br /&gt;
* Fixed run commands overwritng 'results' global variable in ''runcode''&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Disabled breathing sounds&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50749</id>
		<title>Changes in 1.5.4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50749"/>
		<updated>2017-04-20T21:07:15Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Security tweaks for both server and client&lt;br /&gt;
* Enabled ''Authorized Serial Protection'' by default&lt;br /&gt;
* Code refactoring and improvements to our build system (also added Clang support)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added &amp;quot;sniper moon&amp;quot;, &amp;quot;random foliage&amp;quot; and &amp;quot;extra air resistance&amp;quot; properties to [[setWorldSpecialPropertyEnabled]] (thanks to '''ZReC''')&lt;br /&gt;
* Added [[getVehicleLODDistance]] and [[setVehicleLODDistance]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[setDebugViewActive]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[passwordHash]] and [[passwordVerify]]&lt;br /&gt;
* Added ''queue'' name parameter to [[fetchRemote]] to support parallel downloads&lt;br /&gt;
* [[setElementDimension]] now supports element omnipresence, which means that an element can be in all dimensions at once (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Corona markers should now have a correct attach offset position (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed very lage radar areas not being visible (thanks to '''ZReC''')&lt;br /&gt;
* Disabled CEF sandbox due to problems (might be re-enabled soon)&lt;br /&gt;
* Updated CEF and other 3rd party dependencies&lt;br /&gt;
* Fixes for some crashes and improvements for error handling for installation and startup issues&lt;br /&gt;
* Removed max password length limit for server account passwords (thanks to '''4O4''')&lt;br /&gt;
* Improved multi-monitor support in windowed fullscreen mode&lt;br /&gt;
* Improved performance of [[dxGetPixelsSize]]&lt;br /&gt;
* Tweaked joystick support&lt;br /&gt;
* Fixed [[playSound]] not supporting unicode in URLs&lt;br /&gt;
* Increased default max streaming memory&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added ''fakelag'' command&lt;br /&gt;
* Added option to allow locally modified (gta3.img) vehicles &lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Enabled ''Authorized Serial Account Protection'' by default&lt;br /&gt;
* Enabled ''Database Credentials Protection'' by default&lt;br /&gt;
* Fixes for weapons/fists desync&lt;br /&gt;
* SQLite or MySQL no longer makes the server freeze if the connection is lost&lt;br /&gt;
* Goggles no longer stay after player was killed (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed console input via pipe on Windows&lt;br /&gt;
* Added option &amp;quot;-u&amp;quot; to server command line to disable stdout buffering (useful for screenlog)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* various changes in acpanel, editor, freeroam, killmessages, playerblips, race and webbrowser&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50748</id>
		<title>Changes in 1.5.4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.4&amp;diff=50748"/>
		<updated>2017-04-20T21:02:07Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Created page with &amp;quot;{{Changelogs}} __NOTOC__  * Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php * Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Security tweaks for both server and client&lt;br /&gt;
* Enabled ''Authorized Serial Protection'' by default&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
=== Client ===&lt;br /&gt;
* Added &amp;quot;sniper moon&amp;quot;, &amp;quot;random foliage&amp;quot; and &amp;quot;extra air resistance&amp;quot; properties to [[setWorldSpecialPropertyEnabled]] (thanks to '''ZReC''')&lt;br /&gt;
* Added [[getVehicleLODDistance]] and [[setVehicleLODDistance]] (thanks to '''lopezloo''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Added [[passwordHash]] and [[passwordVerify]]&lt;br /&gt;
* Added ''queue'' name parameter to [[fetchRemote]] to support parallel downloads&lt;br /&gt;
* [[setElementDimension]] now supports element omnipresence, which means that an element can be in all dimensions at once (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Corona markers should now have a correct attach offset position (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed very lage radar areas not being visible (thanks to '''ZReC''')&lt;br /&gt;
* Disabled CEF sandbox due to problems (might be re-enabled soon)&lt;br /&gt;
* Updated CEF and other 3rd party dependencies&lt;br /&gt;
* Fixes for some crashes and improvements for error handling for installation and startup issues&lt;br /&gt;
* Removed max password length limit for server account passwords (thanks to '''4O4''')&lt;br /&gt;
* Improved multi-monitor support in windowed fullscreen mode&lt;br /&gt;
* Improved performance of [[dxGetPixelsSize]]&lt;br /&gt;
* Tweaked joystick support&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added ''fakelag'' command&lt;br /&gt;
* Added option to allow locally modified (gta3.img) vehicles &lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Enabled ''Authorized Serial Account Protection'' by default&lt;br /&gt;
* Enabled ''Database Credentials Protection'' by default&lt;br /&gt;
* Fixes for weapons/fists desync&lt;br /&gt;
* SQLite or MySQL no longer makes the server freeze if the connection is lost&lt;br /&gt;
* Goggles no longer stay after player was killed (thanks to '''ArranTuna''')&lt;br /&gt;
* Fixed console input via pipe on Windows&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* various changes in acpanel, editor, freeroam, killmessages, playerblips, race and webbrowser&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Changelogs&amp;diff=50747</id>
		<title>Template:Changelogs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Changelogs&amp;diff=50747"/>
		<updated>2017-04-20T20:44:16Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Added 1.5.4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=&amp;quot;4&amp;quot; style=&amp;quot;border-collapse: collapse; border-width: 1px; border-style: solid; border-color: #FFF; float:right;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!width=140 style=&amp;quot;background-color: #D6DCFF; border-style: solid; border-width: 1px; border-color: #FFF; color:#00000;&amp;quot;| MTA:SA Version&lt;br /&gt;
!width=400 style=&amp;quot;white-space: nowrap; background-color: #D6DCFF; border-style: solid; border-width: 1px; border-color: #FFF;&amp;quot;| Changelogs&lt;br /&gt;
{{Changelogsrow|1.0|[[Changes in 1.0|1.0.0]] &amp;amp;bull; 1.0.1 &amp;amp;bull; 1.0.2 &amp;amp;bull; 1.0.3 &amp;amp;bull; 1.0.4}}&lt;br /&gt;
{{Changelogsrow|1.1|[[Changes in 1.1|1.1.0]] &amp;amp;bull; 1.1.1}}&lt;br /&gt;
{{Changelogsrow|1.2|[[Changes in 1.2|1.2.0]]}}&lt;br /&gt;
{{Changelogsrow|1.3|[[Changes in 1.3|1.3.0]] &amp;amp;bull; [[Changes in 1.3.1|1.3.1]] &amp;amp;bull; [[Changes in 1.3.2|1.3.2]] &amp;amp;bull; [[Changes in 1.3.3|1.3.3]] &amp;amp;bull; [[Changes in 1.3.4|1.3.4]] &amp;amp;bull; [[Changes in 1.3.5|1.3.5]]}}&lt;br /&gt;
{{Changelogsrow|1.4|[[Changes in 1.4|1.4.0]] &amp;amp;bull; [[Changes in 1.4.1|1.4.1]]}}&lt;br /&gt;
{{Changelogsrow|1.5|[[Changes in 1.5|1.5.0]] &amp;amp;bull; [[Changes in 1.5.1|1.5.1]] &amp;amp;bull; [[Changes in 1.5.2|1.5.2]] &amp;amp;bull; [[Changes in 1.5.3|1.5.3]] &amp;amp;bull; [[Changes in 1.5.4|1.5.4]]}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Useful_Classes&amp;diff=49514</id>
		<title>Template:Useful Classes</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Useful_Classes&amp;diff=49514"/>
		<updated>2016-10-13T12:10:15Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Useful Classes]]&lt;br /&gt;
*[[Singleton]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This class allows to restrict the instantiation of a specific class to one object.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[CThread]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia',sans-serif; font-size:smaller;&amp;quot;&amp;gt;» This class represents a simple coroutine manager which can be used to limit method calls / loop.&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Singleton&amp;diff=49513</id>
		<title>Singleton</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Singleton&amp;diff=49513"/>
		<updated>2016-10-13T12:09:43Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Class}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This class allows you to restrict the instantiation of a specific class to one object.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
sbx320's classLib, can be found Here[https://github.com/sbx320/lua_utils/blob/master/classlib.lua]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
Singleton = {}&lt;br /&gt;
&lt;br /&gt;
function Singleton:getSingleton(...)&lt;br /&gt;
	if not self.ms_Instance then&lt;br /&gt;
		self.ms_Instance = self:new(...)&lt;br /&gt;
	end&lt;br /&gt;
	return self.ms_Instance&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Singleton:new(...)&lt;br /&gt;
	self.new = function() end&lt;br /&gt;
	local inst = new(self, ...)&lt;br /&gt;
	self.ms_Instance = inst&lt;br /&gt;
	return inst&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Singleton:isInstantiated()&lt;br /&gt;
	return self.ms_Instance ~= nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Singleton:virtual_destructor()&lt;br /&gt;
	for k, v in pairs(super(self)) do&lt;br /&gt;
		v.ms_Instance = nil&lt;br /&gt;
		v.new = Singleton.new&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Call class methods by newest instance'''&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- DEFINE CLASS&lt;br /&gt;
TestClass = inherit(Singleton)&lt;br /&gt;
&lt;br /&gt;
function TestClass:run()&lt;br /&gt;
   -- DO SOMETHING&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
TestClass:getSingleton():run()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Classes}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CSingleton&amp;diff=49512</id>
		<title>CSingleton</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CSingleton&amp;diff=49512"/>
		<updated>2016-10-13T12:08:45Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Jusonex moved page CSingleton to Singleton&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Singleton]]&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Singleton&amp;diff=49511</id>
		<title>Singleton</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Singleton&amp;diff=49511"/>
		<updated>2016-10-13T12:08:45Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: Jusonex moved page CSingleton to Singleton&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Class}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This class allows you to restrict the instantiation of a specific class to one object.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
sbx320's classLib, can be found Here[https://github.com/sbx320/lua_utils/blob/master/classlib.lua]&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
Singleton = {}&lt;br /&gt;
&lt;br /&gt;
function Singleton:getSingleton(...)&lt;br /&gt;
	if not self.ms_Instance then&lt;br /&gt;
		self.ms_Instance = self:new(...)&lt;br /&gt;
	end&lt;br /&gt;
	return self.ms_Instance&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Singleton:new(...)&lt;br /&gt;
	self.new = function() end&lt;br /&gt;
	local inst = new(self, ...)&lt;br /&gt;
	self.ms_Instance = inst&lt;br /&gt;
	return inst&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Singleton:isInstantiated()&lt;br /&gt;
	return self.ms_Instance ~= nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Singleton:virtual_destructor()&lt;br /&gt;
	for k, v in pairs(super(self)) do&lt;br /&gt;
		v.ms_Instance = nil&lt;br /&gt;
		v.new = Singleton.new&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Original Author: Jusonex&lt;br /&gt;
&lt;br /&gt;
'''Call class methods by newest instance'''&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- DEFINE CLASS&lt;br /&gt;
cTestClass = inherit(Singleton)&lt;br /&gt;
&lt;br /&gt;
function cTestClass:run()&lt;br /&gt;
   -- DO SOMETHING&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
cTestClass:getSingleton():run()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Classes}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Utility_functions&amp;diff=49355</id>
		<title>Template:Utility functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Utility_functions&amp;diff=49355"/>
		<updated>2016-10-01T21:29:35Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{New items|3.0153|1.5.3|&lt;br /&gt;
*[[iprint]]&lt;br /&gt;
*[[inspect]]&lt;br /&gt;
|9768}}&lt;br /&gt;
*[[getColorFromString]]&lt;br /&gt;
*[[getDistanceBetweenPoints2D]]&lt;br /&gt;
*[[getDistanceBetweenPoints3D]]&lt;br /&gt;
*[[getEasingValue]]&lt;br /&gt;
*[[interpolateBetween]]&lt;br /&gt;
*[[getPerformanceStats]]&lt;br /&gt;
*[[getNetworkStats]]&lt;br /&gt;
*[[getNetworkUsageData]]&lt;br /&gt;
*[[getServerConfigSetting]]&lt;br /&gt;
*[[setServerConfigSetting]]&lt;br /&gt;
*[[getRealTime]]&lt;br /&gt;
*[[getTickCount]]&lt;br /&gt;
*[[getTimerDetails]]&lt;br /&gt;
*[[getTimers]]&lt;br /&gt;
*[[gettok]]&lt;br /&gt;
{{New items|3.0153|1.5.3|&lt;br /&gt;
*[[getUserdataType]]&lt;br /&gt;
|9768}}&lt;br /&gt;
{{New items|3.0140|1.4 r6791|&lt;br /&gt;
*[[hash]]&lt;br /&gt;
}}&lt;br /&gt;
*[[killTimer]]&lt;br /&gt;
*[[resetTimer]]&lt;br /&gt;
*[[setTimer]]&lt;br /&gt;
*[[split]]&lt;br /&gt;
{{New feature/item|3.0141|1.4.1|6855|&lt;br /&gt;
*[[isOOPEnabled]]&lt;br /&gt;
}}&lt;br /&gt;
*[[isTimer]]&lt;br /&gt;
*[[md5]]&lt;br /&gt;
*[[sha256]]&lt;br /&gt;
*[[teaEncode]]&lt;br /&gt;
*[[teaDecode]]&lt;br /&gt;
*[[base64Encode]]&lt;br /&gt;
*[[base64Decode]]&lt;br /&gt;
{{New items|3.0110|1.1|&lt;br /&gt;
* [[utfChar]]&lt;br /&gt;
* [[utfCode]]&lt;br /&gt;
* [[utfLen]]&lt;br /&gt;
* [[utfSeek]]&lt;br /&gt;
* [[utfSub]]&lt;br /&gt;
}}&lt;br /&gt;
{{New items|3.0135|1.3.5 r6056|&lt;br /&gt;
* [[pregFind]]&lt;br /&gt;
* [[pregReplace]]&lt;br /&gt;
* [[pregMatch]]&lt;br /&gt;
}}&lt;br /&gt;
{{Bit_functions}}&lt;br /&gt;
{{New items|3.0135|1.3.5 r6054|&lt;br /&gt;
* [[addDebugHook]]&lt;br /&gt;
* [[removeDebugHook]]&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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Iprint&amp;diff=49354</id>
		<title>Iprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Iprint&amp;diff=49354"/>
		<updated>2016-10-01T21:28:23Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Server client function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{New items|3.0153|1.5.3|&lt;br /&gt;
This function intelligently outputs debug messages into the Debug Console.  It is similar to [[outputDebugString]], but outputs useful information for '''any''' variable type, and does not require use of Lua's tostring.  This includes information about element types, and table structures.  It is especially useful for quick debug tasks.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool iprint ( mixed var1[, mixed var2, mixed var3...] )             &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''var1:''' A variable of any type to print intelligent information for.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''var2+:''' Another variable to be output.  An unlimited number of arguments can be supplied&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Always returns ''nil''.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example prints some sample debug messages, assuming the server is running a typical freeroam/play environment:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function resourceStartNotify ( resourcename )&lt;br /&gt;
	-- Example of outputting tables, and elements directly&lt;br /&gt;
	iprint(getElementsByType&amp;quot;player&amp;quot;)&lt;br /&gt;
	iprint(getElementsByType&amp;quot;vehicle&amp;quot;)&lt;br /&gt;
	-- Example of outputting multiple items at once&lt;br /&gt;
	iprint(&amp;quot;this resource:&amp;quot;,getThisResource(),&amp;quot;state:&amp;quot;,getResourceState(getThisResource()),&amp;quot;resource root:&amp;quot;,getResourceRootElement(getThisResource()))&lt;br /&gt;
end&lt;br /&gt;
addEventHandler( &amp;quot;onResourceStart&amp;quot;, getRootElement(), resourceStartNotify )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output from the server might look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[2016-10-01 21:25:43] INFO: { elem:player[MrPlayer] }&lt;br /&gt;
&lt;br /&gt;
[2016-10-01 21:25:43] INFO: { elem:vehicle[Monster 3]2ED3EF60, elem:vehicle[Monster 3]2ED3F620, elem:vehicle[Banshee]2ED3F548, elem:vehicle[Banshee]2ED3F590, elem:vehicle[Bullet]2ED3F5D8, elem:vehicle[BMX]2ED3FA58, elem:vehicle[BMX]2ED3FE00, elem:vehicle[Sparrow]2ED3F788, elem:vehicle[Sanchez]2ED3F6B0, elem:vehicle[Sanchez]2ED3F8A8, elem:vehicle[Sanchez]2ED3FE48, elem:vehicle[Jetmax]2ED3FC98, elem:vehicle[Dinghy]2ED3FA10, elem:vehicle[Marquis]2ED3FB78, elem:vehicle[Bandito]2ED3FAA0, elem:vehicle[Beagle]2ED3F980, elem:vehicle[Buffalo]2ED3FDB8, elem:vehicle[Sabre]2ED3F6F8, elem:vehicle[Caddy]2ED3F7D0, elem:vehicle[Sparrow]2ED3F938, elem:vehicle[Sanchez]2ED3FED8, elem:vehicle[Sanchez]2ED3FCE0, elem:vehicle[Sanchez]2ED3F860, elem:vehicle[Monster 3]2ED3F8F0, elem:vehicle[Monster 3]2ED3FC08, elem:vehicle[Buffalo]2ED3F9C8, elem:vehicle[Bandito]2ED3FAE8, elem:vehicle[Caddy]2ED3FB30, elem:vehicle[Sabre]2ED3F668, elem:vehicle[Bullet]2ED3FBC0, elem:vehicle[Banshee]2ED3FF20, elem:vehicle[Banshee]2ED3F818, elem:vehicle[Monster 3]2ED3FC50, elem:vehicle[Monster 3]2ED3FD28, elem:vehicle[Buffalo]2ED3FD70, elem:vehicle[Bandito]2ED3FE90, elem:vehicle[Caddy]2ED3F740, elem:vehicle[Sabre]2ED405E0, elem:vehicle[Bullet]2ED406B8, elem:vehicle[Banshee]2ED40748, elem:vehicle[Banshee]2ED401F0, elem:vehicle[Sanchez]2ED40508, elem:vehicle[Sanchez]2ED401A8, elem:vehicle[Sanchez]2ED40040, elem:vehicle[Sparrow]2ED40118, elem:vehicle[Sanchez]2ED40238, elem:vehicle[Sanchez]2ED3FFB0, elem:vehicle[Sanchez]2ED40598, elem:vehicle[Monster 3]2ED40550, elem:vehicle[Monster 3]2ED40700, elem:vehicle[Buffalo]2ED40280, elem:vehicle[Bandito]2ED403A0, elem:vehicle[Caddy]2ED400D0, elem:vehicle[Sabre]2ED402C8, elem:vehicle[Bullet]2ED40160, elem:vehicle[Banshee]2ED40790, elem:vehicle[Banshee]2ED40628, elem:vehicle[Sparrow]2ED3FFF8 }&lt;br /&gt;
&lt;br /&gt;
[2016-10-01 21:25:43] INFO: &amp;quot;this resource:&amp;quot;    resource[runcode]    &amp;quot;state:&amp;quot;    &amp;quot;running&amp;quot;    &amp;quot;resource root:&amp;quot;    elem:resource2B696440&lt;br /&gt;
&amp;lt;/pre&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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49340</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49340"/>
		<updated>2016-09-30T15:15:01Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* Major code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Provided a separate release branch for XP and Vista (new Chromium versions are no longer supported on XP and Vista)&lt;br /&gt;
* Updated many dependencies&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
* Added [[createTrayNotification]] and [[isTrayNotificationEnabled]] (thanks to '''Necktrox''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
* Added ''readOnly'' option to [[xmlLoadFile]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed fileRead crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for addDebugHook to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* setVehiclePlateText now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for setPedAnimation (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
* Added masking of certain function arguments when using addDebugHook&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
* Add support for German Steam version of GTASA&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed setBrowserAjaxHandler breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to '''lopezloo''')&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed setBrowserAudio not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed setCameraTarget calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed team members not fully synced until re-set by setPlayerTeam or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed redirectPlayer with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of attachElements&lt;br /&gt;
* Changed setElementFrozen to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Tweaked setElementFrozen (does not recreate the object anymore)&lt;br /&gt;
* Fixed CEF popups (e.g. &amp;lt;select&amp;gt; boxes) not being rendered correctly&lt;br /&gt;
* Fixed MTA slowly updating position of attached elements&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for redirectPlayer&lt;br /&gt;
* Added 8 byte integer support for varargs database queries&lt;br /&gt;
* Added option to block server admins who login with an unrecognized serial&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed dbPoll returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during onDebugMessage event&lt;br /&gt;
* Fixed onElementStopSync not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering onPedWasted&lt;br /&gt;
* Fixed getMarkerIcon returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Race: Fixed parameters in 'onGamemodeMapStop' event (thanks to '''PhrozenByte''')&lt;br /&gt;
* Adminpanel: Added unban dates to bans and allowed defining custom ban times for offline bans (thanks to '''Dutchman101''')&lt;br /&gt;
* Runcode: Improved support for return statements&lt;br /&gt;
* Runcode: Added hidden ''me'' variable&lt;br /&gt;
* Missiontimer: Fixed events triggering when client is not ready (thanks to '''Einheit-101''')&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Added map backups&lt;br /&gt;
* Enabled OOP support in EDF scripreader (thanks to '''PhrozenByte''')&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49339</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49339"/>
		<updated>2016-09-30T15:13:47Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* A lot code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Provided a separate release branch for XP and Vista (new Chromium versions are no longer supported on XP and Vista)&lt;br /&gt;
* Updated many dependencies&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
* Added [[createTrayNotification]] and [[isTrayNotificationEnabled]] (thanks to '''Necktrox''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
* Added ''readOnly'' option to [[xmlLoadFile]]&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed fileRead crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for addDebugHook to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* setVehiclePlateText now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for setPedAnimation (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
* Added masking of certain function arguments when using addDebugHook&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
* Add support for German Steam version of GTASA&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed setBrowserAjaxHandler breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to '''lopezloo''')&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed setBrowserAudio not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed setCameraTarget calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed team members not fully synced until re-set by setPlayerTeam or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed redirectPlayer with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of attachElements&lt;br /&gt;
* Changed setElementFrozen to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Tweaked setElementFrozen (does not recreate the object anymore)&lt;br /&gt;
* Fixed CEF popups (e.g. &amp;lt;select&amp;gt; boxes) not being rendered correctly&lt;br /&gt;
* Fixed MTA slowly updating position of attached elements&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for redirectPlayer&lt;br /&gt;
* Added 8 byte integer support for varargs database queries&lt;br /&gt;
* Added option to block server admins who login with an unrecognized serial&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed dbPoll returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during onDebugMessage event&lt;br /&gt;
* Fixed onElementStopSync not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering onPedWasted&lt;br /&gt;
* Fixed getMarkerIcon returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Race: Fixed parameters in 'onGamemodeMapStop' event (thanks to '''PhrozenByte''')&lt;br /&gt;
* Adminpanel: Added unban dates to bans and allowed defining custom ban times for offline bans (thanks to '''Dutchman101''')&lt;br /&gt;
* Runcode: Improved support for return statements&lt;br /&gt;
* Runcode: Added hidden ''me'' variable&lt;br /&gt;
* Missiontimer: Fixed events triggering when client is not ready (thanks to '''Einheit-101''')&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* Added map backups&lt;br /&gt;
* Enabled OOP support in EDF scripreader (thanks to '''PhrozenByte''')&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49338</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49338"/>
		<updated>2016-09-30T15:00:50Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* A lot code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Provided a separate release branch for XP and Vista (new Chromium versions are no longer supported on XP and Vista)&lt;br /&gt;
* Updated many dependencies&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
* Added [[createTrayNotification]] and [[isTrayNotificationEnabled]] (thanks to '''Necktrox''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed fileRead crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for addDebugHook to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* setVehiclePlateText now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for setPedAnimation (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
* Added masking of certain function arguments when using addDebugHook&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
* Add support for German Steam version of GTASA&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed setBrowserAjaxHandler breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to '''lopezloo''')&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed setBrowserAudio not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed setCameraTarget calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed team members not fully synced until re-set by setPlayerTeam or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed redirectPlayer with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of attachElements&lt;br /&gt;
* Changed setElementFrozen to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Tweaked setElementFrozen (does not recreate the object anymore)&lt;br /&gt;
* Fixed CEF popups (e.g. &amp;lt;select&amp;gt; boxes) not being rendered correctly&lt;br /&gt;
* Fixed MTA slowly updating position of attached elements&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for redirectPlayer&lt;br /&gt;
* Added 8 byte integer support for varargs database queries&lt;br /&gt;
* Added option to block server admins who login with an unrecognized serial&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed dbPoll returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during onDebugMessage event&lt;br /&gt;
* Fixed onElementStopSync not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering onPedWasted&lt;br /&gt;
* Fixed getMarkerIcon returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Elements&amp;diff=49327</id>
		<title>Template:Elements</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Elements&amp;diff=49327"/>
		<updated>2016-09-27T08:25:35Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Element/Player|Player]]&lt;br /&gt;
* [[Element/Ped|Ped]]&lt;br /&gt;
* [[Element/Vehicle|Vehicle]]&lt;br /&gt;
* [[Element/Object|Object]]&lt;br /&gt;
* [[Element/Pickup|Pickup]]&lt;br /&gt;
* [[Element/Marker|Marker]]&lt;br /&gt;
* [[Element/Collision shape|Collision shape]]&lt;br /&gt;
* [[Element/Blip|Blip]]&lt;br /&gt;
* [[Element/Radar area|Radar area]]&lt;br /&gt;
* [[Element/Projectile|Projectile]]&lt;br /&gt;
* [[Element/Team|Team]]&lt;br /&gt;
* [[Element/Console|Server console]]&lt;br /&gt;
* [[GUI widgets]]:&lt;br /&gt;
&amp;lt;ul&amp;gt;{{GUI_widgets}}&amp;lt;/ul&amp;gt;&lt;br /&gt;
* [[Element/TXD|TXD]]&lt;br /&gt;
* [[Element/DFF|DFF]]&lt;br /&gt;
* [[Element/COL|COL]]&lt;br /&gt;
&amp;lt;!--* [[Element/IFP|IFP]]--&amp;gt;&lt;br /&gt;
* [[Element/Sound|Sound]]&lt;br /&gt;
{{New items|3.0110|1.1|&lt;br /&gt;
* [[Element/Material|Material]]&lt;br /&gt;
** [[Element/Texture|Texture]]&lt;br /&gt;
** [[Element/Shader|Shader]]&lt;br /&gt;
* [[Element/DX font|DX font]]&lt;br /&gt;
* [[Element/GUI font|GUI font]]&lt;br /&gt;
* [[Element/Weapon|Weapon]]&lt;br /&gt;
{{New items|3.0135|1.3.5|&lt;br /&gt;
* [[Element/Camera|Camera]]&lt;br /&gt;
}}&lt;br /&gt;
{{New items|3.0140|1.4|&lt;br /&gt;
* [[Element/Effect|Effect]]&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
{{New items|3.0141|1.4.1|&lt;br /&gt;
* [[Element/Browser|Browser]]&lt;br /&gt;
}}&lt;br /&gt;
{{New items|3.0150|1.5.0|&lt;br /&gt;
* [[Element/Light|Light]]&lt;br /&gt;
|7048}}&lt;br /&gt;
* [[Element/Searchlight|Searchlight]]&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[ru:Template:Elements]]&lt;br /&gt;
[[es:Template:Elements]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49293</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49293"/>
		<updated>2016-09-26T18:35:29Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* A lot code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Provided a separate release branch for XP and Vista (new Chromium versions are no longer supported on XP and Vista)&lt;br /&gt;
* Updated many dependencies&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[getTrainTrack]] and [[setTrainTrack]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
* Added [[createTrayNotification]] and [[isTrayNotificationEnabled]] (thanks to '''Necktrox''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed fileRead crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for addDebugHook to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* setVehiclePlateText now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for setPedAnimation (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
* Added masking of certain function arguments when using addDebugHook&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
* Add support for German Steam version of GTASA&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed setBrowserAjaxHandler breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to '''lopezloo''')&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed setBrowserAudio not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed setCameraTarget calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed team members not fully synced until re-set by setPlayerTeam or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed redirectPlayer with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of attachElements&lt;br /&gt;
* Changed setElementFrozen to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Tweaked setElementFrozen (does not recreate the object anymore)&lt;br /&gt;
* Fixed CEF popups (e.g. &amp;lt;select&amp;gt; boxes) not being rendered correctly&lt;br /&gt;
* Fixed MTA slowly updating position of attached elements&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for redirectPlayer&lt;br /&gt;
* Added 8 byte integer support for varargs database queries&lt;br /&gt;
* Added option to block server admins who login with an unrecognized serial&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed dbPoll returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during onDebugMessage event&lt;br /&gt;
* Fixed onElementStopSync not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering onPedWasted&lt;br /&gt;
* Fixed getMarkerIcon returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Useful_Functions&amp;diff=49170</id>
		<title>Template:Useful Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Useful_Functions&amp;diff=49170"/>
		<updated>2016-09-17T19:17:09Z</updated>

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

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* A lot code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Provided a separate release branch for XP and Vista (new Chromium versions are no longer supported on XP and Vista)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[getTrainTrack]] and [[setTrainTrack]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
* Added [[createTrayNotification]] and [[isTrayNotificationEnabled]] (thanks to '''Necktrox''')&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed fileRead crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for addDebugHook to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* setVehiclePlateText now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for setPedAnimation (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed setBrowserAjaxHandler breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to '''lopezloo''')&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed setBrowserAudio not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed setCameraTarget calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed team members not fully synced until re-set by setPlayerTeam or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed redirectPlayer with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of attachElements&lt;br /&gt;
* Changed setElementFrozen to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Tweaked setElementFrozen (does not recreate the object anymore)&lt;br /&gt;
* Fixed CEF popups (e.g. &amp;lt;select&amp;gt; boxes) not being rendered correctly&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for redirectPlayer&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed dbPoll returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during onDebugMessage event&lt;br /&gt;
* Fixed onElementStopSync not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering onPedWasted&lt;br /&gt;
* Fixed getMarkerIcon returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49152</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49152"/>
		<updated>2016-09-16T09:03:09Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* A lot code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Provided a separate release branch for XP and Vista (new Chromium versions are no longer supported on XP and Vista)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[getTrainTrack]] and [[setTrainTrack]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
* Added ''browser'' parameter to [[getBrowserSource]] callback&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed fileRead crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for addDebugHook to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* setVehiclePlateText now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for setPedAnimation (thanks to '''lex128''')&lt;br /&gt;
* [[outputDebugString]] calls ''tostring'' on the passed value now&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed setBrowserAjaxHandler breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to lopezloo)&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed setBrowserAudio not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed setCameraTarget calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to lopezloo)&lt;br /&gt;
* Fixed team members not fully synced until re-set by setPlayerTeam or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed redirectPlayer with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of attachElements&lt;br /&gt;
* Changed setElementFrozen to not recreate the object&lt;br /&gt;
* Fixed desktop resolution when minimizing with fullscreen borderless window mode&lt;br /&gt;
* Disabled CEF plugins (e.g. Flash Player)&lt;br /&gt;
* Tweaked setElementFrozen (does not recreate the object anymore)&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for redirectPlayer&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed dbPoll returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during onDebugMessage event&lt;br /&gt;
* Fixed onElementStopSync not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering onPedWasted&lt;br /&gt;
* Fixed getMarkerIcon returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
* Fixed [[aclReload]] reverting recently scripted ACL changes&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnClientBrowserNavigate&amp;diff=49113</id>
		<title>OnClientBrowserNavigate</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnClientBrowserNavigate&amp;diff=49113"/>
		<updated>2016-09-13T09:04:39Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client event}}&lt;br /&gt;
{{New feature/item|3.0150|1.5||&lt;br /&gt;
The event is executed when the browser loads a new page. Do not use [[loadBrowserURL]] in the attached function.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Parameters== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
string targetURL, bool isBlocked, bool isMainFrame&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*'''targetURL:''' The page the browser loaded&lt;br /&gt;
*'''isBlocked:''' If the browser was created with '''isLocal''' set to '''true''', and the browser tried to load a remote page, this would be set to '''true''' (and vice-versa)&lt;br /&gt;
* {{New feature/item|3.0160|1.6|7888|'''isMainFrame:''' Whether the entire page (main frame) was loaded or an ''&amp;lt;iframe&amp;gt;'' inside the page was loaded}}&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The [[Element/Browser|browser]] element&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
{{Example}}&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
{{Issues|&lt;br /&gt;
{{Issue|9173|onClientBrowserNavigate is triggered for &amp;lt;iframe&amp;gt; elements}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[pl:onClientBrowserNavigate]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{CEF_events}}&lt;/div&gt;</summary>
		<author><name>Jusonex</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49111</id>
		<title>Changes in 1.5.3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.3&amp;diff=49111"/>
		<updated>2016-09-12T21:21:17Z</updated>

		<summary type="html">&lt;p&gt;Jusonex: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Changelogs}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
* Changelog on Mantis: https://bugs.mtasa.com/changelog_page.php&lt;br /&gt;
* Full changelog: https://github.com/multitheftauto/mtasa-blue/commits/master?page=1&lt;br /&gt;
&lt;br /&gt;
== Main Additions / Changes ==&lt;br /&gt;
* Significantly reorganized build system&lt;br /&gt;
* A lot code cleanups&lt;br /&gt;
* Fixed multiple popular crashes&lt;br /&gt;
* Improved streaming of low LOD objects and increased limits&lt;br /&gt;
* Provided a separate release branch for XP and Vista (new Chromium versions are no longer supported on XP and Vista)&lt;br /&gt;
&lt;br /&gt;
== Scripting ==&lt;br /&gt;
&lt;br /&gt;
===Client===&lt;br /&gt;
* Added [[canBrowserNavigateBack]], [[canBrowserNavigateForward]], [[navigateBrowserBack]], [[navigateBrowserForward]], [[reloadBrowserPage]] (thanks to '''mabako'''!)&lt;br /&gt;
* Added [[resizeBrowser]]&lt;br /&gt;
* Added [[getTrainTrack]] and [[setTrainTrack]]&lt;br /&gt;
* Added [[setVehicleWindowOpen]]&lt;br /&gt;
* Added alternative syntax to [[guiGridListAddRow]] and [[guiGridListInsertRowAfter]]&lt;br /&gt;
&lt;br /&gt;
=== Server ===&lt;br /&gt;
* Added support for multiple statements in [[dbQuery]]/[[dbExec]]&lt;br /&gt;
* Added manuallyChanged parameter to [[onPlayerChangeNick]]&lt;br /&gt;
* Added [[onPlayerWeaponFire]] (thanks to '''lopezloo''')&lt;br /&gt;
* Added [[getCommandHandlers]] (thanks to '''zneext''')&lt;br /&gt;
&lt;br /&gt;
=== Shared (''Client &amp;amp; Server side'') ===&lt;br /&gt;
* Fixed fileRead crashing when reading more than 10000 bytes&lt;br /&gt;
* Added [[fileGetPath]]&lt;br /&gt;
* Added option for addDebugHook to skip event/functions&lt;br /&gt;
* Added duplicate log line filter for script debugging&lt;br /&gt;
* Improved internal error logging&lt;br /&gt;
* Added [[inspect]], [[iprint]] and [[getUserdataType]]&lt;br /&gt;
* setVehiclePlateText now works with any kind of vehicle, including motorbikes (thanks to '''lopezloo''')&lt;br /&gt;
* Added blend parameter for setPedAnimation (thanks to '''lex128''')&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
&lt;br /&gt;
=== Client: Additions ===&lt;br /&gt;
* Enabled code signing for ''CEFLauncher.exe'' to improve anti virus software compatibility&lt;br /&gt;
* Added client resource files path info to Advanced tab &lt;br /&gt;
* MTA uses the native resolution by default now&lt;br /&gt;
* Security tweaks&lt;br /&gt;
* Added support for objects and weapons in ped damage events (thanks to lopezloo)&lt;br /&gt;
* Added 236 new ped skin ID's which allow servers to apply mods onto them: [[Character_Skins]]&lt;br /&gt;
* Added option for [[addDebugHook]] to skip event/functions&lt;br /&gt;
* [[onClientVehicleStartEnter]] is now cancellable if the local player is entering the vehicle&lt;br /&gt;
* Water elements are now limited to a specific dimension&lt;br /&gt;
* Made Lua clear loaded files automatically when dereferenced&lt;br /&gt;
* Tweaked CEF performance significantly&lt;br /&gt;
* Improve linux compatibility&lt;br /&gt;
&lt;br /&gt;
=== Client: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Removed VS2008 redistributable from installer as it is no longer required&lt;br /&gt;
* Fixed setBrowserAjaxHandler breaking JSON decoding (thanks to '''mabako''')&lt;br /&gt;
* Updated CEF&lt;br /&gt;
* Tweaked optimus detection&lt;br /&gt;
* Added missing model name for model 6458&lt;br /&gt;
* Fixed LOD object issues (see https://bugs.mtasa.com/view.php?id=9242)&lt;br /&gt;
* Fixed colshape related crashes (thanks to lopezloo)&lt;br /&gt;
* Tweaked logic of client resource file validation&lt;br /&gt;
* Fixed setBrowserAudio not muting the sound correctly on some websites e.g. YouTube&lt;br /&gt;
* Fixed client incorrectly handling 'no' answer to recommended update question&lt;br /&gt;
* Fixed self-created water becoming invisible sometimes (thanks to '''lopezloo''')&lt;br /&gt;
* Fixed setCameraTarget calculation (thanks to lex128)&lt;br /&gt;
* Fixed [[getCommandsBoundToKey]] incorrectly handling keys sometimes (thanks to Necktrox)&lt;br /&gt;
* Fixed sniper scope disappearing after killing a ped (thanks to lopezloo)&lt;br /&gt;
* Fixed team members not fully synced until re-set by setPlayerTeam or respawn&lt;br /&gt;
* Fixed MTA sometimes not loading custom textures&lt;br /&gt;
* Deprecated [[showPlayerHudComponent]]&lt;br /&gt;
* Fixed redirectPlayer with an empty host logging ambiguously&lt;br /&gt;
* Fixed a 1-frame lag of attachElements&lt;br /&gt;
* Changed setElementFrozen to not recreate the object&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== Server: Additions ===&lt;br /&gt;
* Added icon for the Windows server&lt;br /&gt;
* Added server logging for redirectPlayer&lt;br /&gt;
&lt;br /&gt;
=== Server: Bugfixes &amp;amp; Changes ===&lt;br /&gt;
* Fixed compatibility issues on older CPU architectures&lt;br /&gt;
* Fixed modules being broken for some revisions&lt;br /&gt;
* Removed warnings for .png files with JPEG contents&lt;br /&gt;
* Changed remaining &amp;lt;min_mta_version&amp;gt; errors to warnings&lt;br /&gt;
* Changed server private IP error to a warning&lt;br /&gt;
* Fixed dbPoll returning early when timeout is used&lt;br /&gt;
* Fixed a connecting player being able to block resources from starting&lt;br /&gt;
* Fixed server crash when using db* functions during onDebugMessage event&lt;br /&gt;
* Fixed onElementStopSync not being triggered when player disconnects&lt;br /&gt;
* Fixed Fire Extinguisher not triggering onPedWasted&lt;br /&gt;
* Fixed getMarkerIcon returning the marker type&lt;br /&gt;
* Fixed protected resources being stoppable&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Editor ==&lt;br /&gt;
* None yet&lt;br /&gt;
&lt;br /&gt;
== Extra information ==&lt;br /&gt;
''More detailed information available on [https://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and 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>Jusonex</name></author>
	</entry>
</feed>