https://wiki.multitheftauto.com/api.php?action=feedcontributions&user=EAi&feedformat=atomMulti Theft Auto: Wiki - User contributions [en]2024-03-29T11:28:38ZUser contributionsMediaWiki 1.39.3https://wiki.multitheftauto.com/index.php?title=Changes_in_1.5.9&diff=72838Changes in 1.5.92021-10-01T17:58:29Z<p>EAi: Typo correction</p>
<hr />
<div><pageclass class="#39dd57" subcaption="Current release"></pageclass><br />
{{Changelogs}}<br />
__NOTOC__<br />
1.5.9 was released on October 1, 2021.<br />
<br />
* GitHub commit log: https://github.com/multitheftauto/mtasa-blue/compare/1.5.8...1.5.9<br />
* GitHub milestone: https://github.com/multitheftauto/mtasa-blue/milestone/7<br />
* Resources GitHub commit log: https://github.com/multitheftauto/mtasa-resources/compare/1.5.8...1.5.9<br />
* Release announcement on forums: https://forum.mtasa.com/topic/132708-multi-theft-auto-san-andreas-159-is-released/<br />
<br />
<br />
<br />
== Notable Changes ==<br />
<section show="true"><br />
* You can now use the new [[onPlayerResourceStart]] server-side event to trigger when client is ready! Thanks to Lpsd.<br />
* You can now detect element interior or dimension change through two new client and server-side events [[onElementInteriorChange]] and [[onElementDimensionChange]] – should reduce some of your code! Thanks to Patrick and Strix.<br />
* You can now edit element bone behavior through 7 new bone manipulation functions! Great for some dynamic animations. Get started at [[setElementBonePosition]] and [[setElementBoneRotation]]. Thanks to Saml1er.<br />
* More vehicle customisation options! You can now edit vehicle dummy positions per vehicle. See [[setVehicleDummyPosition]]. Thanks to botder.<br />
* More audio customisation with sound effect parameters! See [[setSoundEffectParameter]]. Thanks to Strix and Sarrum.<br />
* More client download transfer box customisation options! See for example [[onClientTransferBoxProgressChange]]. Thanks to botder and CrosRoad95.<br />
* You can now allocate custom objects and vehicles through [[engineRequestModel]]. One of the most sought after features in a long time. Thanks to TheNormalnij.<br />
* You can now use scalable vector graphics (SVG) in MTA! See [[svgCreate]] for more info. Thanks to Lpsd.<br />
* You can now use peds and vehicles as the camera target. Thanks to TheNormalnij.<br />
* A lot more features for scripters to build even more immersive experiences with!<br />
* Many synchronization improvements!<br />
* Many varying size fixes, quality of life improvements, updates and security enhancements!<br />
* Many default resource fixes, refactors and upgrades, including ''webmap'' working once again! We have also improved the detection of world objects in map editor (''editor_main'' resource), so you can select many more objects that you couldn't before - such as bushes, fences and many more! You can now also remove world objects inside interiors. This should help mappers a lot.<br />
</section><br />
<br />
<br />
== Backwards Compatibility ==<br />
<section show="true"><br />
=== 5 Backwards Incompatible Changes ===<br />
These changes will take effect in '''1.6.0''':<br />
* [[callRemote]] callbacks currently set the error code to '''nil''' when there is no error. In 1.6.0, to be consistent with [[fetchRemote]], the error code reported will be '''0'''. See [https://github.com/multitheftauto/mtasa-blue/issues/294 GitHub #294].<br />
* Since July 2016 if you provide an invalid string like '''"randomstring"''' when a function expects a number, the string will be treated as '''0''' and raise a script warning. In 1.6.0 this will be an error. You will still be able to provide strings containing numbers (e.g. '''"100"''' and '''"12.34"'''), this change only affects invalid strings. See [https://github.com/multitheftauto/mtasa-blue/issues/1043 GitHub #1043].<br />
* When providing a width and height of (0, 0) to [[createBrowser]] or [[guiCreateBrowser]] you will encounter a script error instead of a warning. The warning was introduced Feb 2019. See [https://github.com/multitheftauto/mtasa-blue/issues/1069 GitHub #1069].<br />
* Some functions expect only unsigned integers (positive numbers), and since Jan 2016 providing negative numbers would be a warning. This will now be an error. See [https://github.com/multitheftauto/mtasa-blue/issues/1070 GitHub #1070].<br />
* Since Aug 2015, we replaced the custom '''mtalocal://''' URL scheme with '''http://mta/resourceName/blah.html'''. This '''mtalocal://''' URL scheme will now be removed. See [https://github.com/multitheftauto/mtasa-blue/issues/1071 GitHub #1071].<br />
<br />
This list is incomplete and we may introduce more changes later.<br />
</section><br />
<br />
<br />
== Statistics ==<br />
<section show="true"><br />
These are some statistics since the [[Changes in 1.5.8|previous release]].<br />
* This is the '''26<sup>th</sup>''' 1.x.x release<br />
* '''{{date difference|2020|10|11|2021|10|1}}''' days<br />
* '''49''' new functions<br />
* '''16''' new events<br />
* '''0''' deprecations<br />
* '''77+''' bug fixes and changes<br />
* '''334''' commits ([https://github.com/multitheftauto/mtasa-blue/compare/1.5.8...1.5.9 see comparison])<br />
* '''189''' new open GitHub issues ([https://github.com/multitheftauto/mtasa-blue/issues?q=is%3Aopen+is%3Aissue+created%3A2020-10-11..2021-10-01 see list])<br />
* '''81''' resolved GitHub issues ([https://github.com/multitheftauto/mtasa-blue/issues?q=is%3Aclosed+is%3Aissue+milestone%3A%22Next+Release+%281.5.9%29%22 see list])<br />
* '''135''' closed GitHub issues ([https://github.com/multitheftauto/mtasa-blue/issues?q=is%3Aclosed+is%3Aissue+closed%3A2020-10-11..2021-10-01+no%3Amilestone see list])<br />
* '''71''' new open GitHub pull requests ([https://github.com/multitheftauto/mtasa-blue/pulls?q=is%3Aopen+is%3Apr+created%3A2020-10-11..2021-10-01 see list])<br />
* '''207''' merged GitHub pull requests ([https://github.com/multitheftauto/mtasa-blue/pulls?q=is%3Apr+is%3Amerged+milestone%3A%22Next+Release+%281.5.9%29%22 see list])<br />
* '''53''' closed GitHub pull requests ([https://github.com/multitheftauto/mtasa-blue/pulls?q=is%3Apr+is%3Aunmerged+closed%3A2020-10-11..2021-10-01 see list])<br />
* '''38''' contributors of which '''11''' are new ([https://github.com/multitheftauto/mtasa-blue/graphs/contributors?from=2020-10-11&to=2021-10-01&type=c see list])<br />
* '''94+''' total contributors ([https://github.com/multitheftauto/mtasa-blue/graphs/contributors see list])<br />
* '''13''' vendor updates<br />
<br />
<sub>'''Note:''' Last update to these statistics was made {{date difference human friendly|2021|10|1}}.</sub><br />
</section><br />
<br />
<br />
== Client ==<br />
<section show="true"><br />
=== 44 New Functions ===<br />
* Added [[getRoofPosition]] ([https://github.com/multitheftauto/mtasa-blue/pull/1518 #1518] by '''Pirulax''')<br />
* Added [[setVehicleVariant]] (previously available server-side only) ([https://github.com/multitheftauto/mtasa-blue/pull/1599 #1599] by '''StrixG''')<br />
* Added [[engineRestreamWorld]] ([https://github.com/multitheftauto/mtasa-blue/pull/1735 #1735] by '''TheNormalnij''')<br />
* Added functions to modify element bones behavior ([https://github.com/multitheftauto/mtasa-blue/pull/1673 #1673] by '''Saml1er''')<br />
** [[setElementBonePosition]]<br />
** [[setElementBoneRotation]]<br />
** [[getElementBonePosition]]<br />
** [[getElementBoneRotation]]<br />
** [[setElementBoneMatrix]]<br />
** [[getElementBoneMatrix]]<br />
** [[updateElementRpHAnim]]<br />
* Added [[engineSetModelVisibleTime]] and [[engineGetModelVisibleTime]] ([https://github.com/multitheftauto/mtasa-blue/pull/1766 #1766] by ''' TheNormalnij''')<br />
* Added [[setColorFilter]] and [[resetColorFilter]] ([https://github.com/multitheftauto/mtasa-blue/pull/1611 #1611] by '''tederis''')<br />
* Added [[getVehicleWheelFrictionState]] ([https://github.com/multitheftauto/mtasa-blue/pull/1839 #1839] by '''drop-club''')<br />
* Added [[setPedEnterVehicle]] and [[setPedExitVehicle]] ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')<br />
* Added [[setSoundLooped]] and [[isSoundLooped]] ([https://github.com/multitheftauto/mtasa-blue/pull/657 #657] by '''FileEX''')<br />
* Added [[isTransferBoxAlwaysVisible]] ([https://github.com/multitheftauto/mtasa-blue/pull/1955 #1955] by '''botder''' and '''CrosRoad95''')<br />
* Added vehicle dependent dummy positions with functions ([https://github.com/multitheftauto/mtasa-blue/pull/1982 #1982] by '''botder''')<br />
** [[getVehicleDummyPosition]]<br />
** [[getVehicleModelDummyDefaultPosition]]<br />
** [[setVehicleDummyPosition]]<br />
** [[resetVehicleDummyPositions]]<br />
* Added [[isBrowserRenderingPaused]] ([https://github.com/multitheftauto/mtasa-blue/pull/1999 #1999] by '''cleoppa''')<br />
* Added [[isObjectMoving]] ([https://github.com/multitheftauto/mtasa-blue/pull/2023 #2023] by '''cleoppa''')<br />
* Added [[showCol]], [[isShowCollisionsEnabled]], [[showSound]] and [[isShowSoundEnabled]] ([https://github.com/multitheftauto/mtasa-blue/pull/2025 #2025] by '''cleoppa''')<br />
* Added [[clearDebugBox]] ([https://github.com/multitheftauto/mtasa-blue/pull/2160 #2160] by '''cleoppa''')<br />
* Added [[isChatInputBlocked]] ([https://github.com/multitheftauto/mtasa-blue/pull/2170 #2170] by '''Pieter-Dewachter''')<br />
* Added [[engineStreamingGetUsedMemory]] ([https://github.com/multitheftauto/mtasa-blue/pull/2269 #2269] by '''Pirulax''')<br />
* Added [[engineStreamingFreeUpMemory]] ([https://github.com/multitheftauto/mtasa-blue/pull/2268 #2268] by '''Pirulax''')<br />
* Added [[setSoundEffectParameter]] and [[getSoundEffectParameters]] ([https://github.com/multitheftauto/mtasa-blue/commit/449c5c329732d77ea36ce0abc9595f1577dd1304 449c5c3] by '''StrixG''')<br />
* Added [[setPedBleeding]] and [[isPedBleeding]] ([https://github.com/multitheftauto/mtasa-blue/pull/2308 #2308] and [https://github.com/multitheftauto/mtasa-blue/pull/2365 #2365] by '''StrixG''' and '''theSarrum''')<br />
* Added [[getPlayerMapOpacity]] ([https://github.com/multitheftauto/mtasa-blue/pull/2315 #2315] by '''theSarrum''')<br />
* Added new SVG functions ([https://github.com/multitheftauto/mtasa-blue/pull/2026 #2026] by '''Lpsd''')<br />
** [[svgCreate]]<br />
** [[svgGetDocumentXML]]<br />
** [[svgSetDocumentXML]]<br />
** [[svgGetSize]]<br />
** [[svgSetSize]]<br />
<br />
<br />
=== 10 New Events ===<br />
* Added [[onClientPedsProcessed]] ([https://github.com/multitheftauto/mtasa-blue/pull/1673 #1673] by '''Saml1er''')<br />
* Added [[onClientElementDimensionChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1553 #1553] by '''StrixG''')<br />
* Added [[onClientPedVehicleEnter]] and [[onClientPedVehicleExit]] ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')<br />
* Added [[onClientResourceFileDownload]], [[onClientTransferBoxProgressChange]] and [[onClientTransferBoxVisibilityChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1955 #1955] by '''botder''' and '''CrosRoad95''')<br />
* Added [[onClientObjectMoveStart]] and [[onClientObjectMoveStop]] ([https://github.com/multitheftauto/mtasa-blue/pull/2023 #2023] by '''cleoppa''')<br />
* Added [[onClientElementInteriorChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/2058 #2058] by '''Patrick2562''')<br />
<br />
<br />
=== 8 New Arguments & Parameters ===<br />
* Added ''macros'' argument to [[dxCreateShader]] ([https://github.com/multitheftauto/mtasa-blue/pull/1573 #1573] by '''tederis''')<br />
* Added ''forceOverrideNextFrame'' argument to [[setAnalogControlState]] ([https://github.com/multitheftauto/mtasa-blue/pull/1852 #1852] by '''LosFaul''')<br />
* Added ''interior'' and ''dimension'' arguments to [[getElementsWithinRange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1915 #1915] by '''Pirulax''')<br />
* Added ''pedCameraMode'' argument to [[setCameraViewMode]] ([https://github.com/multitheftauto/mtasa-blue/pull/1418 #1418] by '''TheNormalnij''')<br />
* Added ''flipUV'' argument to [[dxDrawMaterialLine3D]] and [[dxDrawMaterialSectionLine3D]] ([https://github.com/multitheftauto/mtasa-blue/pull/2193 #2193] by '''tederis''')<br />
* Added ''messageType'' parameter to [[onClientChatMessage]] ([https://github.com/multitheftauto/mtasa-blue/pull/1020 #1020] by '''Lpsd''')<br />
* Added ''lineHeight'' argument to [[dxDrawText]] ([https://github.com/multitheftauto/mtasa-blue/pull/2355 #2355] by '''Allerek''')<br />
<br />
<br />
=== 40 Bug Fixes & Changes ===<br />
* Fixed crash when deleting a chatbox bind too early ([https://github.com/multitheftauto/mtasa-blue/commit/be577116f191526111e06487c8322c7799e03564 be57711] by '''sbx320''')<br />
* Added minimum version check for [[resetBlurLevel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1755 #1755] by '''StrixG''')<br />
* Included skins added through [[engineRequestModel]] in [[getValidPedModels]] ([https://github.com/multitheftauto/mtasa-blue/pull/1437 #1437] by '''Pirulax''')<br />
* Allow allocating new object models using [[engineRequestModel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1684 #1684] by '''TheNormalnij''')<br />
* Allow allocating new vehicle models using [[engineRequestModel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1701 #1701] by '''TheNormalnij''')<br />
* Events [[onClientVehicleStartEnter]], [[onClientVehicleEnter]], [[onClientVehicleStartExit]] and [[onClientVehicleExit]] now return [[ped|peds]] as well ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')<br />
* Fixed hectic bike rotation by filling CBikeSAInterface class ([https://github.com/multitheftauto/mtasa-blue/pull/1884 #1884] by '''TheNormalnij''')<br />
* Fixed [[setSoundPanningEnabled|Sound.setPanningEnabled]] OOP-method not working due to typo in definition ([https://github.com/multitheftauto/mtasa-blue/pull/1923 #1923] by '''StrixG''')<br />
* Fixed ped task bug when special fighting near to a vehicle causing abnormal behavior ([https://github.com/multitheftauto/mtasa-blue/pull/1943 #1943] by '''Zangomangu''')<br />
* Fixed [[getKeyState]] not working with gamepad buttons ([https://github.com/multitheftauto/mtasa-blue/pull/1944 #1944] by '''botder''')<br />
* Disable gamepad controls if disabled by [[showCursor]] ([https://github.com/multitheftauto/mtasa-blue/commit/c4b9a844c3dc8f8fd16776370dcdac12f189d32f c4b9a84] by '''botder''')<br />
* Keep console position and size when changing locale ([https://github.com/multitheftauto/mtasa-blue/pull/1970 #1970] by '''xLuxy''')<br />
* Fixed network trouble if falling into water while attempting to enter a vehicle ([https://github.com/multitheftauto/mtasa-blue/pull/1986 #1986] by '''Zangomangu''')<br />
* Abort vehicle entering for incompatible vehicles if ped is in water ([https://github.com/multitheftauto/mtasa-blue/commit/b3ba15bad3a0943d83cefb90cddc6f9191667fa8 b3ba15b] by '''botder''')<br />
* Lowered shadows and lights more towards ground level ([https://github.com/multitheftauto/mtasa-blue/pull/2018 #2018] by '''patrikjuvonen''' and '''botder''')<br />
* Fixed objects not returning world model position in [[processLineOfSight]] ([https://github.com/multitheftauto/mtasa-blue/pull/2083 #2083] by '''STR6''')<br />
* Added keybind queue to improve performance ([https://github.com/multitheftauto/mtasa-blue/pull/2123 #2123] by '''patrikjuvonen''')<br />
* Added ped camera mode return value to [[getCameraViewMode]] ([https://github.com/multitheftauto/mtasa-blue/pull/1418 #1418] by '''TheNormalnij''')<br />
* Fixed [[setMarkerType]] resetting marker position ([https://github.com/multitheftauto/mtasa-blue/commit/586d6d6fa202de43e633c20f757e2b1282529106 586d6d] by '''botder''')<br />
* Fixed [[testLineAgainstWater]] working incorrectly outside of game boundaries ([https://github.com/multitheftauto/mtasa-blue/pull/2192 #2192] by '''Allerek''')<br />
* Fixed client vehicles blocking entry to server vehicle ([https://github.com/multitheftauto/mtasa-blue/pull/2188 #2188] by '''Zangomangu''')<br />
* Removed obsolete entry from forbodenList ([https://github.com/multitheftauto/mtasa-blue/commit/ff93fec93cb20c25577950c47bc22c0f9730a459 ff93fec] by '''Dutchman101''')<br />
* Reset vehicle explosion timer in CVehicleSA::SetHealth ([https://github.com/multitheftauto/mtasa-blue/commit/8b30d7a4e43e6460a8203bb89b7133365a3e6a85 8b30d7a] and [https://github.com/multitheftauto/mtasa-blue/commit/546beabf70a896ccf87c3138f028e8ef34f84c7d 546beab] by '''botder''')<br />
* Set game thread affinity to first CPU core ([https://github.com/multitheftauto/mtasa-blue/commit/dbc792b3d433378217c96b6b1418a21888ed1d5a dbc792b] by '''botder''')<br />
* Added "TotalPhysicalMemory" to [[dxGetStatus]] ([https://github.com/multitheftauto/mtasa-blue/pull/2265 #2265] by '''Pirulax''')<br />
* Added a UI button to delete servers from the "Recent" tab ([https://github.com/multitheftauto/mtasa-blue/pull/2253 #2253] by '''iDannz1''')<br />
* Trim keybind whitespace to avoid duplicates ([https://github.com/multitheftauto/mtasa-blue/pull/2124 #2124] by '''patrikjuvonen''')<br />
* Fixed a typo in the sa.dat file ([https://github.com/multitheftauto/mtasa-blue/commit/eff97c8ad3e725691d182c239997caeca51eba4d eff97c8] by '''ccw808''')<br />
* Resolved remaining collisionless objects ([https://github.com/multitheftauto/mtasa-blue/pull/2296 #2296] by '''Saml1er''', '''TheNormalnij''', '''ccw808''', '''thisdp''' and '''botder''')<br />
* Fixed attached players desync after reconnect ([https://github.com/multitheftauto/mtasa-blue/pull/2290 #2290] by '''theSarrum''')<br />
* Check clothes type parameter in several cases ([https://github.com/multitheftauto/mtasa-blue/commit/ce9d3deab8ec7905264b3492bf11d3565ee5c149 ce9d3de] by '''Inder00''' and '''botder''')<br />
* Updated some images ([https://github.com/multitheftauto/mtasa-blue/commit/f00c1a38934b28eff8201708dd4b956272d27f13 f00c1a3] by '''patrikjuvonen''')<br />
* Set CEF cache path ([https://github.com/multitheftauto/mtasa-blue/commit/adff688e77c16d0c5a63e047b60da97529f2b111 adff688] by '''patrikjuvonen''')<br />
* Fixed some capital letters not working in CEF ([https://github.com/multitheftauto/mtasa-blue/commit/6ed00b324a980d43c342d87916d1a78bfd352d86 6ed00b3] by '''patrikjuvonen''' and '''botder''')<br />
* Fixed domain permission window labels overflowing in some languages ([https://github.com/multitheftauto/mtasa-blue/commit/f7dcd6f249a367ddb9b81b07bea35b4fcb6145ee f7dcd6f] by '''patrikjuvonen''')<br />
* Updated client translations ([https://github.com/multitheftauto/mtasa-blue/commit/6db5ba4454a7f764871aae561b17898fd4e82318 6db5ba4] by '''patrikjuvonen''')<br />
* Updated credits ([https://github.com/multitheftauto/mtasa-blue/pull/2125 #2125] by '''patrikjuvonen''')<br />
<br />
<br />
=== 7 Vendor Updates ===<br />
* Updated and replaced CEGUI-integrated [https://www.freetype.org/ FreeType] by adding it as its own dependency ([https://github.com/multitheftauto/mtasa-blue/commit/def86d01971d84522803052f68374a92bd68fad4 def86d0] and [https://github.com/multitheftauto/mtasa-blue/commit/2b70f96da7e4fb07effc371929e7e8f6297b8105 2b70f96] by '''Jusonex''')<br />
* Updated libjpeg from 9b to 9d ([https://github.com/multitheftauto/mtasa-blue/pull/1963 #1963] by '''patrikjuvonen''')<br />
* Updated Unifont from 5.1 to 13.0.06 ([https://github.com/multitheftauto/mtasa-blue/commit/8eeac9a6465b2d6af7055cab01eb24beb72b8d2d 8eeac9a] by '''patrikjuvonen''')<br />
* Updated BASS libraries ([https://github.com/multitheftauto/mtasa-blue/pull/2377 #2377] by '''Dutchman101''')<br />
* Updated CEF from 85.3.12+g3e94ebf (Chromium 85.0.4183.121) to 94.4.2+g6a963ca ([https://chromereleases.googleblog.com/2021/09/stable-channel-update-for-desktop_24.html Chromium 94.0.4606.61]) (See commit [https://github.com/multitheftauto/mtasa-blue/commit/ae6caa92c81b37ca29c7af0fbb7dffb4c57b14b6 ae6caa9] by '''patrikjuvonen''')<br />
* Added lunasvg 2.3.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2026 #2026] by '''Lpsd''')<br />
* Updated unrar from 5.91 to 6.02 ([https://github.com/multitheftauto/mtasa-blue/pull/2384 #2384] by '''patrikjuvonen''')<br />
<br />
</section><br />
<br />
== Server ==<br />
<section show="true"><br />
=== 6 New Events ===<br />
* Added [[onElementDimensionChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1553 #1553] by '''StrixG''')<br />
* Added [[onPedVehicleEnter]] and [[onPedVehicleExit]] ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')<br />
* Added [[onResourceLoadStateChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/1651 #1651] by '''TeteX1''')<br />
* Added [[onElementInteriorChange]] ([https://github.com/multitheftauto/mtasa-blue/pull/2058 #2058] by '''Patrick2562''')<br />
* Added [[onPlayerResourceStart]] ([https://github.com/multitheftauto/mtasa-blue/pull/2150 #2150] by '''Lpsd''')<br />
<br />
<br />
=== New Arguments & Parameters ===<br />
* Added ''exitCode'' to [[shutdown]] ([https://github.com/multitheftauto/mtasa-blue/pull/2298 #2298] by '''botder''')<br />
<br />
<br />
=== 16 Bug Fixes & Changes ===<br />
* Fixed wrong SQLite column in [[getAccountsByIP]] ([https://github.com/multitheftauto/mtasa-blue/pull/1734 #1734] by '''emre1702''')<br />
* Improved ''help'' command in server console ([https://github.com/multitheftauto/mtasa-blue/pull/1639 #1639] by '''Unde-R''')<br />
* Improved checksum error messages for internal HTTP servers ([https://github.com/multitheftauto/mtasa-blue/pull/1778 #1778] by '''qaisjp''')<br />
* Events [[onVehicleStartEnter]], [[onVehicleEnter]], [[onVehicleStartExit]] and [[onVehicleExit]] now return [[ped|peds]] as well ([https://github.com/multitheftauto/mtasa-blue/pull/1748 #1748] by '''Zangomangu''')<br />
* Fixed CLuaArgument not comparing tables recursively, causing unnecessary [[setElementData]] resyncs even if values match ([https://github.com/multitheftauto/mtasa-blue/commit/76e52f820e4dadce75df6de0ea3378d02cc1bbb5 76e52f8] by '''botder''')<br />
* Enforce existing username length limit in account code ([https://github.com/multitheftauto/mtasa-blue/pull/1995 #1995] by '''patrikjuvonen''')<br />
* Refactored vehicle blowup code to fix [[onVehicleExplode]] triggering twice server-side ([https://github.com/multitheftauto/mtasa-blue/pull/1997 #1997] by '''botder''')<br />
* Added source map compatibility in CResourceHTMLItem ([https://github.com/multitheftauto/mtasa-blue/pull/2207 #2207] by '''PauloKim1246''')<br />
* Added missing [[GetElementsWithinColShape|ColShape.elementsWithin]] ([https://github.com/multitheftauto/mtasa-blue/pull/2186 #2186] by '''Pirulax''')<br />
* Fixed info command displaying two statuses of a running resource ([https://github.com/multitheftauto/mtasa-blue/pull/2292 #2292] by '''theSarrum''')<br />
* Fixed respawning of blown vehicles ([https://github.com/multitheftauto/mtasa-blue/commit/796399704b1e0a2147bb7ba52ea95c34245ceebe 7963997] by '''botder''')<br />
* Don't allow dead peds to enter vehicles ([https://github.com/multitheftauto/mtasa-blue/pull/2344 #2344] by '''Zangomangu''')<br />
* Fixed missing new lines when outputting long messages in server console ([https://github.com/multitheftauto/mtasa-blue/commit/6256bb05ea752d2e2f406c516448ae948f493c79 6256bb0] by '''patrikjuvonen''')<br />
<br />
<br />
<br />
=== 1 Vendor Update ===<br />
* Updated sqlite from 3.32.3 to 3.36.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2284 #2284] by '''patrikjuvonen''')<br />
</section><br />
<br />
<br />
== Shared (''Client & Server'') ==<br />
<section show="true"><br />
=== 5 New Functions ===<br />
* Added transfer box customization functions [[setTransferBoxVisible]] and [[isTransferBoxVisible]] ([https://github.com/multitheftauto/mtasa-blue/pull/1955 #1955] by '''botder''' and '''CrosRoad95''')<br />
* Added [[setColPolygonHeight]] and [[getColPolygonHeight]] ([https://github.com/multitheftauto/mtasa-blue/pull/1908 #1908] by '''CrosRoad95''')<br />
* Added ''intersectsSegmentTriangle'' method to [[Vector3]] ([https://github.com/multitheftauto/mtasa-blue/pull/1711 #1711] by '''Pirulax''')<br />
<br />
<br />
=== 3 New Arguments & Parameters ===<br />
* Added ''bIncludeWorldSeaLevel'' and ''bIncludeOutsideWorldLevel'' to [[setWaterLevel]] ([https://github.com/multitheftauto/mtasa-blue/pull/1402 #1402] by '''TheNormalnij''')<br />
* Added new optional ''inputBlocked'' argument for [[showChat]] ([https://github.com/multitheftauto/mtasa-blue/pull/2170 #2170] by '''Pieter-Dewachter''')<br />
<br />
<br />
=== 9 Bug Fixes & Changes ===<br />
* Fixed vehicle driver desynchronization after carjacker dies ([https://github.com/multitheftauto/mtasa-blue/pull/1907 #1907] by '''Zangomangu''')<br />
* Disabled train track functions ([https://github.com/multitheftauto/mtasa-blue/pull/1920 #1920] by '''qaisjp''')<br />
* Added request body and method to HTTP scripts ([https://github.com/multitheftauto/mtasa-blue/pull/2053 #2053] by '''Disinterpreter''')<br />
* Added aes128 encryption support to [[encodeString]] and [[decodeString]] ([https://github.com/multitheftauto/mtasa-blue/pull/2235 #2235] by '''drop-club''')<br />
* Fixed empty files returning an invalid checksum ([https://github.com/multitheftauto/mtasa-blue/commit/966de4e209b4ce6b3e4e6a7ea0f53650038a049c 966de4e] by '''botder''')<br />
* Added extra checks in CXMLImpl::ParseString to avoid crash when invalid XML data supplied ([https://github.com/multitheftauto/mtasa-blue/pull/2282 #2282] by '''Lpsd''')<br />
* Added ability to use peds and vehicles as a camera target using [[setCameraTarget]] ([https://github.com/multitheftauto/mtasa-blue/pull/1753 #1753] by '''TheNormalnij''')<br />
</section><br />
<br />
<br />
=== 5 Vendor Updates ===<br />
* Updated detours from 1.2 to 4.0.1 ([https://github.com/multitheftauto/mtasa-blue/pull/2022 #2022] by '''botder''')<br />
* Updated mbedtls from 2.4.2 to 2.27.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2085 #2085] and [https://github.com/multitheftauto/mtasa-blue/commit/38e92079643779a0a1ef3b25ca5cfb4c99be2e52 38e9207] by '''botder''' and '''patrikjuvonen''')<br />
* Updated curl from 7.72.0 to 7.79.1 ([https://github.com/multitheftauto/mtasa-blue/pull/2373 #2373] by '''patrikjuvonen''')<br />
* Updated pcre from 8.39 to 8.45 ([https://github.com/multitheftauto/mtasa-blue/commit/7d517586c71a940f52cfa5ee1443b628882c9eed 7d51758] by '''patrikjuvonen''')<br />
* Updated cryptopp from 8.2.0 to 8.6.0 ([https://github.com/multitheftauto/mtasa-blue/pull/2385 #2385] by '''patrikjuvonen''')<br />
<br />
<br />
== Resources ==<br />
<br />
=== 37+ Bug Fixes & Changes ===<br />
<br />
* [admin] added an option to hide sensitive data. (works like streamer mode in some apps) (thanks to iDannz)<br />
* [admin] added an option make the camera collide while spectate. (thanks to iDannz)<br />
* [admin] added a command to send messages in admin chat (/a message). (thanks to rickchesterhd123)<br />
* [admin] added an option to teleport to the selected position on the map. (thanks to Patrick2562)<br />
* [admin] added save to some infos, so you don't have to reselect some options after reconnecting. (thanks to iDannz)<br />
* [admin] fixed error in output messages (case the player has a nickname with more than 1 hex color). (thanks to androksi)<br />
* [admin] fixed a bug that occurred when trying to restart a resource that wasn't running. (thanks to Dante386)<br />
* [admin] fixed an error that occurred when clicking on the "Maps" tab if the resource 'mapmanager' was not running. (thanks to cleoppa and iDannz)<br />
* [admin] improved the lists of 'give vehicle', 'give weapon' and 'slap'. (thanks to iDannz)<br />
* [admin] replace 'give admin' button with permissions selection widget. (thanks to iDannz)<br />
* [admin] tweaks to the interface. (thanks to iDannz)<br />
* [cdm] removed the cdm resource from the official resources package.<br />
* [editor] added an option to 'lock' elements. (thanks to xLive)<br />
* [editor] added an option to choose the output directory before saving new maps. (thanks to umithyo, xLive and iDannz)<br />
* [editor] added option to select some objects that do not have collisions. (thanks to Zangomangu and Tut)<br />
* [editor] fixed an issue that occurred when saving element's dimension. (thanks to FileEX)<br />
* [editor] fixed bug that made the camera be locked after clicking some buttons too fast. (thanks to androksi and iDannz)<br />
* [editor] interior world models are now removable. (thanks to Zangomango)<br />
* [freeroam] fixed an error in the command '/addclothes'. (thanks to xLive)<br />
* [freeroam] fixed error when using negative numbers in the command '/color'. (thanks to xLive)<br />
* [freeroam] improved the map image quality. (thanks to patrikjuvonen)<br />
* [hedit] resource added to the official resources package.<br />
* [ipb] fixed filter input-box that did not work. (thanks to iDannz)<br />
* [killmessages] rewritten resource. (now detects deaths caused by vehicles (eg hydra), and also detects deaths caused by vehicle explosions). (thanks to iDannz)<br />
* [mapcycler] added an option to pause cycling while the server is empty. (thanks to jlillis)<br />
* [race] added configuration of transparency level during the ghost mode. (thanks to AfuSensi)<br />
* [race] added fade car addon. (thanks to AfuSensi)<br />
* [race] fix bug in pickup respawn. (thanks to LosFaul)<br />
* [race] finish the map when there are only spectators. (thanks to xLive)<br />
* [race] added possibility to use rotation attributes. (thanks to xLive)<br />
* [resourcemanager] fixed problems on the dates of some information. (thanks to Dezash)<br />
* [runcode] fixed a problem that caused the 'srun' command show the results to everyone. (thanks to Yamsha75)<br />
* [speedometer] resource added to the official resources package.<br />
* [trainhorn] resource added to the official resources package.<br />
* [webmap] fixed and updated. (thanks to patrikjuvonen)<br />
* [webstats] updated. (thanks to patrikjuvonen)<br />
<br />
<br />
== Extra information ==<br />
''More detailed information available on our GitHub repositories:<br />
:* [https://github.com/multitheftauto/mtasa-blue MTA:SA Blue]<br />
:* [https://github.com/multitheftauto/mtasa-resources MTA:SA Official Resources]<br />
<br />
[[Category:Changelog]]<br />
[[Category:Incomplete]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=Version_History&diff=44767Version History2015-03-05T14:16:25Z<p>EAi: </p>
<hr />
<div>{{note|If you just want to download [[Multi Theft Auto]] go here:<br />
* [http://mtasa.com Download MTA: San Andreas {{Current Version|full}}]<br />
* [[Archive|Download Multi Theft Auto 0.5r2 (GTA3 and Vice City)]]<br />
}}<br />
An overview of the (released) MTA versions.<br />
<br />
== List of (released) versions ==<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ List of Multi Theft Auto Versions<br />
|-<br />
! Release<br />
! Version<br />
! Date<br />
! GTA: III<br />
! GTA: Vice City<br />
! GTA: San Andreas<br />
! License<br />
|-<br />
! GTA3:AM<br />
| 0.1<br />
| 2003-02-09<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
! rowspan="2" | GTA3:MTA<br />
| 0.2a<br />
| 2003-02-28<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.3b<br />
| 2003-05-29<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
! rowspan="4" | MTA:VC<br />
| 0.1<br />
| 2003-08-02<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.2<br />
| 2003-09-20<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.3<br />
| 2003-12-25<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.3r2<br />
| 2004-01-01<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
! rowspan="6" | MTA<br />
| 0.4<br />
| 2004-07-27<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.4.1<br />
| 2004-07-31<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.5<br />
| 2005-01-31<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| style="background: #FFD6BF;" | [http://files.mtasa.com/web/mta_0.5_launch/051.htm 0.5.1 (2005)]<br />
| {{n/a}}<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
|-<br />
| style="background: #FFEC99;" | [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336938 0.5r2]<br />
| 2011-01-31<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| style="background: #B2BDFF;" | [http://www.projectredivivus.com/ 0.5.1 (2013)]<br />
| {{n/a}}<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
|-<br />
! rowspan="1" | MTA:VC<br />
| style="background: #FFD6BF;" | [http://files.mtasa.com/web/mtablue.info/ Blue]<br />
| {{n/a}}<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
|-<br />
! rowspan="4" | MTA:SA Race<br />
| 1.0<br />
| 2006-01-22<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.1<br />
| 2006-03-16<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.1.1<br />
| 2006-03-18<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.1.2<br />
| 2008-05-18<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
! rowspan="5" | MTA:SA Deathmatch<br />
| 1.0 DP1.0<br />
| 2008-01-03<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.0<br />
| 2008-01-10<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.1<br />
| 2008-05-23<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.2<br />
| 2008-08-04<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.3<br />
| 2008-08-06<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
! rowspan="18" | MTA:SA<br />
| 1.0<br />
| 2009-08-21<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.1<br />
| 2009-10-02<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.2<br />
| 2009-10-24<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.3<br />
| 2009-12-18<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.4<br />
| 2010-06-09<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.5<br />
| 2011-03-28<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.1<br />
| 2011-08-25<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.1.1<br />
| 2011-09-19<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.2<br />
| 2011-12-17<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3<br />
| 2012-01-24<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.1<br />
| 2012-09-03<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.2<br />
| 2013-05-05<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.3<br />
| 2013-07-02<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.4<br />
| 2013-09-07<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.5<br />
| 2014-02-24<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.4<br />
| 2014-07-30<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| style="background: #99FF99;" | 1.4.1<br />
| 2015-01-31<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| style="background: #B2BDFF;" | 1.5<br />
| <br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|-<br />
| width="20px;" | &nbsp;<br />
| Previous Version, Unsupported<br />
|-<br />
| width="20px;" style="background: #99FF99;" | &nbsp;<br />
| Current Version, Supported<br />
|-<br />
| width="20px;" style="background: #B2BDFF;" | &nbsp;<br />
| In Development / Future Release<br />
|-<br />
| width="20px;" style="background: #FFEC99;" | &nbsp;<br />
| Released by Community<br />
|-<br />
| width="20px;" style="background: #FFD6BF;" | &nbsp;<br />
| Never Released<br />
|-<br />
|}<br />
* Date format: YYYY-MM-DD<br />
* AM = Alternative Multiplayer<br />
* DP = Developer Preview<br />
** MTA:San Andreas 1.0 was also known as Developer Preview 3.0, this was later dropped because the 'new' 1.0 was a major release.<br />
<br />
{{Comparison of Versions}}<br />
<br />
== MTA 0.5 ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto 0.5|<br />
image = [[File:Clientwelcome_nick.jpg|MTA 0.5 Client|center|230px]]|<br />
status = Supported by community|<br />
release = 2005-01-31|<br />
core = 0.3|<br />
license = Freeware|<br />
}}<br />
The latest stable release for GTA III and GTA: Vice City bundled in one client and server. This release was also the first version that had a server browser build in the client.<br />
[[File:800px-Robber.jpg|Spawnscreen in Vice City at Robbers spawn|right|thumb|230px]]<br />
<br />
=== Gamemodes ===<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|-<br />
! GTA<br />
! Gamemode Name<br />
! Uses Spawnscreen<br />
|-<br />
! rowspan="2" |GTA: Vice City<br />
| [[MTA:VC Deathmatch Gamemode|Deathmatch]]<br />
| {{Yes}}<br />
|-<br />
| [[MTA:VC Stunt Gamemode|Stunt]]<br />
| {{Yes}}<br />
|-<br />
! rowspan="3" |GTA III<br />
| [[GTA3 Portland|Portland]]<br />
| {{No}}<br />
|-<br />
|[[GTA3 SSV|Shoreside Vale]]<br />
| {{Yes}}<br />
|-<br />
|[[GTA3 Staunton|Staunton]]<br />
| {{No}}<br />
|}<br />
<br />
==== Spawns ====<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ MTA:Vice City Deathmatch<br />
|-<br />
! Team/Spawn Name/Mode<br />
! Spawn Location<br />
|-<br />
| Robbers<br />
| Phil's Place - Little Haiti<br />
|-<br />
| Mexicans<br />
| Escobar International Airport's terminal<br />
|-<br />
| Sailors<br />
| Vice City Docks - Vice Port<br />
|-<br />
| Vice City Crusader<br />
| Random Location in Vice City<br />
|-<br />
| Secret Service<br />
| Under a shelter - Ocean Beach<br />
|-<br />
| Cops<br />
| Police Stations in Vice City<br />
|-<br />
| &nbsp;<br />
| &nbsp;<br />
|-<br />
| Spectator<br />
| Allows to watch other players<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ colspan="2" | MTA:Vice City Stunt<br />
|-<br />
! Team/Spawn Name/Mode<br />
! Spawn Location<br />
|-<br />
| Yuppies<br />
| Spawn inside the multistory parking garage in Ocean Beach<br />
|-<br />
| Dirt Racers<br />
| Spawn outside of the Stadium<br />
|-<br />
| Bikers<br />
| Spawn in the parking lot behind the Malibu club<br />
|-<br />
| Speeders<br />
| Spawn at the parking lot near the Escobar International Airport<br />
|-<br />
| Packer Driver<br />
| Spawn at Downtown in the large parking lot near the Biker Bar<br />
|-<br />
| Fun House Dept.<br />
| Spawns at North Point Mall's multistory parking garage<br />
|-<br />
| Heli Pilot<br />
| Spawn at the Escobar International Airport runway<br />
|-<br />
| &nbsp;<br />
| &nbsp;<br />
|-<br />
| Spectator<br />
| Allows to watch other players<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ GTA3:MTA Shoreside Vale<br />
|-<br />
! Team/Spawn Name<br />
! Spawn Location<br />
|-<br />
| Yakuza<br />
| Pike Creek<br />
|-<br />
| Southside Hoods<br />
| Witchita Gardens<br />
|-<br />
| Columbians<br />
| Cedar Grove<br />
|-<br />
| Cops<br />
| Pike Creek<br />
|}<br />
<br />
=== Features ===<br />
* Huge increase in stability. Using the errors reported to us using the Error Report Tool, we've managed to fix a large number of the common crashes.<br />
* New Staunton Island map available for GTA3, which includes a race mode and deathmatch.<br />
* New Shoreside Vale map available for GTA3, which includes several gamemodes. <br />
* Lots of changes to the existing maps.<br />
* A server browser has been added to the client along with an area to store your favourites and a list of servers you've played on recently (History). <br />
* New Client design - The client has been redesigned to make it easier to use. Error messages are now more self explanatory and checks are added to help users ensure their game is set up correctly. <br />
* Added an in-client server that allows you to quickly configure and host a server straight from the MTA Client.<br />
* Integrated the MTA Protocol handler - now mta:// links will work for all MTA 0.5 users.<br />
* Redesigned MTA Admin Tool to make it easier and more logical to use. <br />
* In client global MOTD so that you can hear about news from MTA immediately.<br />
* A rich text welcome message that the server can show to players when they join. This can contain much more information than the normal Message of the Day and is visible in the client the entire time the user is on the server.<br />
* New installation and configuration scripts for easy setup for Linux dedicated servers. <br />
* More platforms supported for the dedicated server, including FreeBSD and OpenBSD. <br />
* Improved error report tool is now installed by default (though optionally).<br />
* Chat box in the client now scrolls properly, as most chat programs do (scroll up to stop auto-scroll). <br />
<br />
=== Minor Updates ===<br />
<br />
* '''Patch 1''': A server [http://forum.multitheftauto.com/viewtopic.php?f=31&t=13923#p198981 patch] was released; the Message of The Day feature could be exploited.<br />
* '''0.5.1 (2005)''': In February 2005 MTA 0.5.1 [http://files.mtasa.com/web/mta_0.5_launch/051.htm preview] was shown to the public, addressing known issues and adding new features. 0.5.1 was never released.<br />
* '''0.5r2''': Members of the MTA community released a minor update called 0.5r2 for 0.5, this also includes a new (external) server browser, the included server browser in 0.5 client is non-functional since 2008.<br />
** [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336938 Download]<br />
** [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336939 Changelog for 0.5r2]<br />
* '''0.5.1 (2013)''': In 2013 members of the MTA community called ''Project Redivivus'' are developing a minor update for 0.5 with major changes. This is likely to become open source. <br />
** [http://www.projectredivivus.com/ Website]<br />
<br />
=== Archived Wiki pages ===<br />
* [[MTA_0.5_EULA|EULA]]<br />
* [[MTA_0.5_Installation|Installation]]<br />
* [[MTA_0.5_Known_Issues|Known Issues]]<br />
* [[MTA:VC_0.5|0.5 Vice City]]<br />
* [[MTA:VC_Deathmatch_Gamemode|Vice City Deathmatch Gamemode]]<br />
* [[MTA:VC_Stunt_Gamemode|Vice City Stunt Gamemode]]<br />
* [[MTA:mA]]<br />
* [[Using_A_0.5_Server_With_Screen|Using the server with screen utility]]<br />
<br />
=== See Also ===<br />
*[[MTA Vault]]<br />
<br />
== MTA:San Andreas Race ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas Race|<br />
image = [[File:MTASA-Race-Mainmenu.png|Multi Theft Auto± San Andreas Race Main Menu|center|230px]]|<br />
status = Unsupported/Obsolete|<br />
release = 2008-05-18|<br />
core = Blue|<br />
license = Freeware|<br />
}}<br />
MTA:SA Race is the first release that was made with the blue framework, a new approach to control the game (GTA). The sync was also better over the previous releases and the client is in game not an external application. Notice the blue GUI in the screenshot.<br />
<br />
A new slogan was introduced: "Stop Playing With Yourself."<br />
[[File:Mtavcbluelaunching.png|MTA Loading screen with the new slogan: "Stop Playing With Yourself."|thumb|230px]]<br />
<br />
=== Gamemodes ===<br />
As the name suggests it is only race (you cannot get out of your vehicle).<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
!Gamemode<br />
!Notes<br />
|-<br />
|Race<br />
|-<br />
|Freeroam<br />
|-<br />
|Destruction Derby<br />
|The goal is to survive, last player that is still alive wins.<br />
|}<br />
<br />
=== Features ===<br />
[[File:MTASA-Race-Racing.jpg|Racing in MTA:SA|right|thumb|230px]]<br />
* In game client.<br />
* Map Editor to create a map in game.<br />
* Optimised netcode results in reduced lag.<br />
* Blue loads a DLL with the game instead of injecting code into its memory process. This improves stability and means that custom SCM files do not have to be moved to the game's directory when it is started. <br />
* Full integration means that Blue's server list is directly integrated into GTA's GUI.<br />
* Fewer glitches. This is achieved by synchronizing every animation, implementing a custom pause menu so that people can't pause to escape death, and forcing the frame limiter on so that everyone's game runs at the same maximum speed. <br />
* Greater synchronization, this means that MTA players can finally use boats.<br />
* Anti cheat. <br />
<br />
=== Minor Updates ===<br />
* '''1.1'''<br />
** New mappack<br />
** New map nomination voting system<br />
** Respawning during map<br />
** Map timelimit added in map files and server config<br />
** New player animation sync<br />
** Admins can PM players from remote admin<br />
** The 255 map limit has been fixed<br />
** Fixed various admin stability issues<br />
* '''1.1.1'''<br />
** Fixed: Freezes that occurred frequently for some users (and not at all for others)<br />
** Fixed: Nothing would happen after the splash screen appeared for some users<br />
** Fixed: All players getting kicked from a server with a "protocol error 92" message<br />
** Fixed: Players getting stuck in "You will respawn in 1 second" mode, if a race starts before they join completely<br />
** Fixed: Issue where error reporter would sometimes fail to find core dump<br />
** Fixed: Occasional crash when connecting to a server through the server browser<br />
** Fixes: Various other crashes<br />
** Added: An error message is now displayed if you try to use the ′order checkpoints′ option in the map editor if you have no checkpoints in your map<br />
** Added: DefaultMapDuration and DefaultRespawnTime to server config<br />
* '''1.1.2'''<br />
** All-Seeing Eye server-browser has been removed in favour of a more reliable and faster replacement<br />
** Removed redundant "MTA Center" references<br />
** Removed support for built-in error reporter<br />
<br />
No more releases for MTA:SA Race, the new MTA release made the race version obsolete, a new resource called 'race' which could read the race maps replaced it.<br />
<br />
=== Archived Wiki pages ===<br />
*[[MTA:SA Race FAQ]]<br />
*[[Blue]]<br />
*[[MTA:SA R1]]<br />
*[[MTA:SA Race-Windows Server Guide]]<br />
*[[MTA General FAQ]]<br />
*[[MTA R1 remote administration_protocol]]<br />
<br />
=== See Also ===<br />
* [[Upgrading from MTA:Race]]<br />
<br />
== MTA:San Andreas (Deathmatch) 1.0.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas (Deathmatch) 1.0.x|<br />
image = [[File:MTA_Main_Menu_1.0.x.png|Multi Theft Auto: San Andreas (Deathmatch) Main Menu|center|230px]]|<br />
status = Unsupported|<br />
release = 2011-03-28|<br />
core = Blue|<br />
license = Freeware (Until DP2.3) GPLv3 (since 1.0 (August 21, 2009))|<br />
}}<br />
MTA:San Andreas Deathmatch Developer Preview 1 was the first release that featured on-foot synchronization for San Andreas. The name deathmatch refers to the ability to shoot with weapons and get on-foot unlike the race version. The tag deathmatch has been dropped in later releases because this version allowed customized gamemodes with LUA scripting and confused players. While the first 5 releases were called 'Developer Preview' it was very popular. In August 21, 2009 version 1.0.x was released with the GPLv3 license this allowed to work with more people on the next release when it became open source.<br />
<br />
=== Gamemodes ===<br />
This was the first released that allowed to create customized gamemodes with the LUA scripting language. No static gamemodes. <br />
Scripted gamemodes and utilities packed together are called resources.<br />
<br />
=== Features ===<br />
* On-foot synchronization.<br />
* Improved vehicle synchronization.<br />
* LUA scripting.<br />
* New map editor with EDF (Editor Definition File) allowed to edit custom gamemodes created with LUA.<br />
* Included web server in server side for remote administration or statistics.<br />
* Client side scripting with LUA, allowing to transfer files to the client which can be used to create GUI on the client for example.<br />
* ...<br />
<br />
=== Minor Updates ===<br />
* 1.0.1<br />
* 1.0.2<br />
* 1.0.3<br />
* 1.0.4<br />
* 1.0.5<br />
<br />
=== See Also ===<br />
* [[Changes in 1.0]]<br />
* [http://code.google.com/p/mtasa-blue/ Subversion on Google Code]<br />
* [[Scripting Introduction]]<br />
* [http://www.lua.org/pil/index.html "Programming in Lua" Manual]<br />
<br />
== MTA:San Andreas 1.1.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas 1.1.x|<br />
image = [[File:MTA_Main_Menu_1.1.x.png|Multi Theft Auto: San Andreas 1.1.x Main Menu|center|230px]]|<br />
status = Unsupported|<br />
release = 2011-09-19|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
<br />
=== Features ===<br />
* Vehicle handling can be modified by servers<br />
* Custom fonts<br />
* Special skins<br />
* Improved server browser<br />
* Voice chat (on servers that support it)<br />
* Improved sound support, including streaming audio<br />
* Increased maximum player count<br />
* Custom shaders<br />
* Cars can now have any color you want, not just the ones GTA has normally<br />
* GUI Skin switching<br />
<br />
=== Minor Updates ===<br />
* 1.1.1<br />
<br />
=== See Also ===<br />
* [[Changes in 1.1]]<br />
<br />
== MTA:San Andreas 1.2.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.2.x|<br />
status = Unsupported|<br />
release = 2011-12-17|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
=== Features ===<br />
* Major bandwidth usage reductions<br />
* Ability to replace ped models<br />
* Ability to replace weapon models<br />
* Threaded database access functions<br />
* Custom weapon stats<br />
* Synced and controllable vehicle variants<br />
* Improved bullet accuracy synchronization<br />
<br />
=== Minor Updates ===<br />
* None<br />
<br />
=== See Also ===<br />
* [[Changes in 1.2]]<br />
<br />
== MTA:San Andreas 1.3.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.3.x|<br />
status = Stable|<br />
release = 2014-02-07|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
This version was released quickly because 1.2 had several network related issues, that were fixed in this release.<br />
<br />
=== Features ===<br />
* Fixes for various network problems which occured in 1.1 and 1.2 series. (including a fix for "Map download breaking often on large transfers" issue)<br />
* Added new scripting functions for removal of default GTASA map objects. (including breakable ones)<br />
* Introduced a new scripting event. - [[onClientVehicleCollision]]<br />
* Implemented a new scripting function. - [[takePlayerScreenShot]]<br />
* Fixes for various crashes and issues. (including "warp glitch", inaccurate heat seekers sync, createProjectile() velocity desync between clients, custom models texture crash, "white models" when using custom models and more)<br />
* Added functionality to protect client-side scripts which pre-compiles them before being sent and stops resources from being saved on disk. This is configurable in the resource's meta.xml.<br />
* Added pixel manipulation functionality.<br />
* Introduced new client-side scripting functions - [[setBirdsEnabled]] and [[getBirdsEnabled]]<br />
* Included a new gui skin - [http://forum.mtasa.com/viewtopic.php?f=139&t=36010#p371815 Lighter black] - contributed by Aibo<br />
<br />
=== Minor Updates ===<br />
* 1.3.1<br />
* 1.3.2<br />
* 1.3.3<br />
* 1.3.4<br />
* 1.3.5<br />
<br />
=== See Also ===<br />
* [[Changes in 1.3]]<br />
* [[Changes in 1.3.1]]<br />
* [[Changes in 1.3.2]]<br />
* [[Changes in 1.3.3]]<br />
* [[Changes in 1.3.4]]<br />
* [[Changes in 1.3.5]]<br />
<br />
== MTA:San Andreas 1.4 ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.4|<br />
status = Stable|<br />
release = 2014-07-30|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
<br />
=== Features ===<br />
* Localization of MTA's Menu<br />
* Introduced [[OOP]]<br />
* Introduced Matrices and Vectors<br />
<br />
=== See Also ===<br />
* [[Changes in 1.4]]<br />
* [[Changes in 1.4.1]]<br />
<br />
== See Also ==<br />
* [https://code.google.com/p/mtasa-blue/source/browse/trunk/CHANGELOG Changelog] - Overview of all the changes since MTA: San Andreas 1.0dp1.<br />
* [[MTA Vault]] - Overview of releases before MTA 0.5.<br />
* [[Archive]] - Multi Theft Auto Archive.<br />
<br />
[[Category: Historical]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=Version_History&diff=44766Version History2015-03-05T14:15:17Z<p>EAi: </p>
<hr />
<div>{{note|If you just want to download [[Multi Theft Auto]] go here:<br />
* [http://mtasa.com Download MTA: San Andreas {{Current Version|full}}]<br />
* [[Archive|Download Multi Theft Auto 0.5r2 (GTA3 and Vice City)]]<br />
}}<br />
An overview of the (released) MTA versions.<br />
<br />
== List of (released) versions ==<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ List of Multi Theft Auto Versions<br />
|-<br />
! Release<br />
! Version<br />
! Date<br />
! GTA: III<br />
! GTA: Vice City<br />
! GTA: San Andreas<br />
! License<br />
|-<br />
! GTA3:AM<br />
| 0.1<br />
| 2003-02-09<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
! rowspan="2" | GTA3:MTA<br />
| 0.2a<br />
| 2003-02-28<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.3b<br />
| 2003-05-29<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
! rowspan="4" | MTA:VC<br />
| 0.1<br />
| 2003-08-02<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.2<br />
| 2003-09-20<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.3<br />
| 2003-12-25<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.3r2<br />
| 2004-01-01<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
! rowspan="6" | MTA<br />
| 0.4<br />
| 2004-07-27<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.4.1<br />
| 2004-07-31<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| 0.5<br />
| 2005-01-31<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| style="background: #FFD6BF;" | [http://files.mtasa.com/web/mta_0.5_launch/051.htm 0.5.1 (2005)]<br />
| {{n/a}}<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
|-<br />
| style="background: #FFEC99;" | [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336938 0.5r2]<br />
| 2011-01-31<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
|-<br />
| style="background: #B2BDFF;" | [http://www.projectredivivus.com/ 0.5.1 (2013)]<br />
| {{n/a}}<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
|-<br />
! rowspan="1" | MTA:VC<br />
| style="background: #FFD6BF;" | [http://files.mtasa.com/web/mtablue.info/ Blue]<br />
| {{n/a}}<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
|-<br />
! rowspan="4" | MTA:SA Race<br />
| 1.0<br />
| 2006-01-22<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.1<br />
| 2006-03-16<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.1.1<br />
| 2006-03-18<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.1.2<br />
| 2008-05-18<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
! rowspan="5" | MTA:SA Deathmatch<br />
| 1.0 DP1.0<br />
| 2008-01-03<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.0<br />
| 2008-01-10<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.1<br />
| 2008-05-23<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.2<br />
| 2008-08-04<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
| 1.0 DP2.3<br />
| 2008-08-06<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
|-<br />
! rowspan="17" | MTA:SA<br />
| 1.0<br />
| 2009-08-21<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.1<br />
| 2009-10-02<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.2<br />
| 2009-10-24<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.3<br />
| 2009-12-18<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.4<br />
| 2010-06-09<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.0.5<br />
| 2011-03-28<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.1<br />
| 2011-08-25<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.1.1<br />
| 2011-09-19<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.2<br />
| 2011-12-17<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3<br />
| 2012-01-24<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.1<br />
| 2012-09-03<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.2<br />
| 2013-05-05<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.3<br />
| 2013-07-02<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.4<br />
| 2013-09-07<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| 1.3.5<br />
| 2014-02-24<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| style="background: #99FF99;" | 1.4<br />
| 2014-07-30<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| style="background: #99FF99;" | 1.4.1<br />
| 2015-01-31<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
| style="background: #B2BDFF;" | 1.5<br />
| <br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
|-<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|-<br />
| width="20px;" | &nbsp;<br />
| Previous Version, Unsupported<br />
|-<br />
| width="20px;" style="background: #99FF99;" | &nbsp;<br />
| Current Version, Supported<br />
|-<br />
| width="20px;" style="background: #B2BDFF;" | &nbsp;<br />
| In Development / Future Release<br />
|-<br />
| width="20px;" style="background: #FFEC99;" | &nbsp;<br />
| Released by Community<br />
|-<br />
| width="20px;" style="background: #FFD6BF;" | &nbsp;<br />
| Never Released<br />
|-<br />
|}<br />
* Date format: YYYY-MM-DD<br />
* AM = Alternative Multiplayer<br />
* DP = Developer Preview<br />
** MTA:San Andreas 1.0 was also known as Developer Preview 3.0, this was later dropped because the 'new' 1.0 was a major release.<br />
<br />
{{Comparison of Versions}}<br />
<br />
== MTA 0.5 ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto 0.5|<br />
image = [[File:Clientwelcome_nick.jpg|MTA 0.5 Client|center|230px]]|<br />
status = Supported by community|<br />
release = 2005-01-31|<br />
core = 0.3|<br />
license = Freeware|<br />
}}<br />
The latest stable release for GTA III and GTA: Vice City bundled in one client and server. This release was also the first version that had a server browser build in the client.<br />
[[File:800px-Robber.jpg|Spawnscreen in Vice City at Robbers spawn|right|thumb|230px]]<br />
<br />
=== Gamemodes ===<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|-<br />
! GTA<br />
! Gamemode Name<br />
! Uses Spawnscreen<br />
|-<br />
! rowspan="2" |GTA: Vice City<br />
| [[MTA:VC Deathmatch Gamemode|Deathmatch]]<br />
| {{Yes}}<br />
|-<br />
| [[MTA:VC Stunt Gamemode|Stunt]]<br />
| {{Yes}}<br />
|-<br />
! rowspan="3" |GTA III<br />
| [[GTA3 Portland|Portland]]<br />
| {{No}}<br />
|-<br />
|[[GTA3 SSV|Shoreside Vale]]<br />
| {{Yes}}<br />
|-<br />
|[[GTA3 Staunton|Staunton]]<br />
| {{No}}<br />
|}<br />
<br />
==== Spawns ====<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ MTA:Vice City Deathmatch<br />
|-<br />
! Team/Spawn Name/Mode<br />
! Spawn Location<br />
|-<br />
| Robbers<br />
| Phil's Place - Little Haiti<br />
|-<br />
| Mexicans<br />
| Escobar International Airport's terminal<br />
|-<br />
| Sailors<br />
| Vice City Docks - Vice Port<br />
|-<br />
| Vice City Crusader<br />
| Random Location in Vice City<br />
|-<br />
| Secret Service<br />
| Under a shelter - Ocean Beach<br />
|-<br />
| Cops<br />
| Police Stations in Vice City<br />
|-<br />
| &nbsp;<br />
| &nbsp;<br />
|-<br />
| Spectator<br />
| Allows to watch other players<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ colspan="2" | MTA:Vice City Stunt<br />
|-<br />
! Team/Spawn Name/Mode<br />
! Spawn Location<br />
|-<br />
| Yuppies<br />
| Spawn inside the multistory parking garage in Ocean Beach<br />
|-<br />
| Dirt Racers<br />
| Spawn outside of the Stadium<br />
|-<br />
| Bikers<br />
| Spawn in the parking lot behind the Malibu club<br />
|-<br />
| Speeders<br />
| Spawn at the parking lot near the Escobar International Airport<br />
|-<br />
| Packer Driver<br />
| Spawn at Downtown in the large parking lot near the Biker Bar<br />
|-<br />
| Fun House Dept.<br />
| Spawns at North Point Mall's multistory parking garage<br />
|-<br />
| Heli Pilot<br />
| Spawn at the Escobar International Airport runway<br />
|-<br />
| &nbsp;<br />
| &nbsp;<br />
|-<br />
| Spectator<br />
| Allows to watch other players<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ GTA3:MTA Shoreside Vale<br />
|-<br />
! Team/Spawn Name<br />
! Spawn Location<br />
|-<br />
| Yakuza<br />
| Pike Creek<br />
|-<br />
| Southside Hoods<br />
| Witchita Gardens<br />
|-<br />
| Columbians<br />
| Cedar Grove<br />
|-<br />
| Cops<br />
| Pike Creek<br />
|}<br />
<br />
=== Features ===<br />
* Huge increase in stability. Using the errors reported to us using the Error Report Tool, we've managed to fix a large number of the common crashes.<br />
* New Staunton Island map available for GTA3, which includes a race mode and deathmatch.<br />
* New Shoreside Vale map available for GTA3, which includes several gamemodes. <br />
* Lots of changes to the existing maps.<br />
* A server browser has been added to the client along with an area to store your favourites and a list of servers you've played on recently (History). <br />
* New Client design - The client has been redesigned to make it easier to use. Error messages are now more self explanatory and checks are added to help users ensure their game is set up correctly. <br />
* Added an in-client server that allows you to quickly configure and host a server straight from the MTA Client.<br />
* Integrated the MTA Protocol handler - now mta:// links will work for all MTA 0.5 users.<br />
* Redesigned MTA Admin Tool to make it easier and more logical to use. <br />
* In client global MOTD so that you can hear about news from MTA immediately.<br />
* A rich text welcome message that the server can show to players when they join. This can contain much more information than the normal Message of the Day and is visible in the client the entire time the user is on the server.<br />
* New installation and configuration scripts for easy setup for Linux dedicated servers. <br />
* More platforms supported for the dedicated server, including FreeBSD and OpenBSD. <br />
* Improved error report tool is now installed by default (though optionally).<br />
* Chat box in the client now scrolls properly, as most chat programs do (scroll up to stop auto-scroll). <br />
<br />
=== Minor Updates ===<br />
<br />
* '''Patch 1''': A server [http://forum.multitheftauto.com/viewtopic.php?f=31&t=13923#p198981 patch] was released; the Message of The Day feature could be exploited.<br />
* '''0.5.1 (2005)''': In February 2005 MTA 0.5.1 [http://files.mtasa.com/web/mta_0.5_launch/051.htm preview] was shown to the public, addressing known issues and adding new features. 0.5.1 was never released.<br />
* '''0.5r2''': Members of the MTA community released a minor update called 0.5r2 for 0.5, this also includes a new (external) server browser, the included server browser in 0.5 client is non-functional since 2008.<br />
** [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336938 Download]<br />
** [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336939 Changelog for 0.5r2]<br />
* '''0.5.1 (2013)''': In 2013 members of the MTA community called ''Project Redivivus'' are developing a minor update for 0.5 with major changes. This is likely to become open source. <br />
** [http://www.projectredivivus.com/ Website]<br />
<br />
=== Archived Wiki pages ===<br />
* [[MTA_0.5_EULA|EULA]]<br />
* [[MTA_0.5_Installation|Installation]]<br />
* [[MTA_0.5_Known_Issues|Known Issues]]<br />
* [[MTA:VC_0.5|0.5 Vice City]]<br />
* [[MTA:VC_Deathmatch_Gamemode|Vice City Deathmatch Gamemode]]<br />
* [[MTA:VC_Stunt_Gamemode|Vice City Stunt Gamemode]]<br />
* [[MTA:mA]]<br />
* [[Using_A_0.5_Server_With_Screen|Using the server with screen utility]]<br />
<br />
=== See Also ===<br />
*[[MTA Vault]]<br />
<br />
== MTA:San Andreas Race ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas Race|<br />
image = [[File:MTASA-Race-Mainmenu.png|Multi Theft Auto± San Andreas Race Main Menu|center|230px]]|<br />
status = Unsupported/Obsolete|<br />
release = 2008-05-18|<br />
core = Blue|<br />
license = Freeware|<br />
}}<br />
MTA:SA Race is the first release that was made with the blue framework, a new approach to control the game (GTA). The sync was also better over the previous releases and the client is in game not an external application. Notice the blue GUI in the screenshot.<br />
<br />
A new slogan was introduced: "Stop Playing With Yourself."<br />
[[File:Mtavcbluelaunching.png|MTA Loading screen with the new slogan: "Stop Playing With Yourself."|thumb|230px]]<br />
<br />
=== Gamemodes ===<br />
As the name suggests it is only race (you cannot get out of your vehicle).<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
!Gamemode<br />
!Notes<br />
|-<br />
|Race<br />
|-<br />
|Freeroam<br />
|-<br />
|Destruction Derby<br />
|The goal is to survive, last player that is still alive wins.<br />
|}<br />
<br />
=== Features ===<br />
[[File:MTASA-Race-Racing.jpg|Racing in MTA:SA|right|thumb|230px]]<br />
* In game client.<br />
* Map Editor to create a map in game.<br />
* Optimised netcode results in reduced lag.<br />
* Blue loads a DLL with the game instead of injecting code into its memory process. This improves stability and means that custom SCM files do not have to be moved to the game's directory when it is started. <br />
* Full integration means that Blue's server list is directly integrated into GTA's GUI.<br />
* Fewer glitches. This is achieved by synchronizing every animation, implementing a custom pause menu so that people can't pause to escape death, and forcing the frame limiter on so that everyone's game runs at the same maximum speed. <br />
* Greater synchronization, this means that MTA players can finally use boats.<br />
* Anti cheat. <br />
<br />
=== Minor Updates ===<br />
* '''1.1'''<br />
** New mappack<br />
** New map nomination voting system<br />
** Respawning during map<br />
** Map timelimit added in map files and server config<br />
** New player animation sync<br />
** Admins can PM players from remote admin<br />
** The 255 map limit has been fixed<br />
** Fixed various admin stability issues<br />
* '''1.1.1'''<br />
** Fixed: Freezes that occurred frequently for some users (and not at all for others)<br />
** Fixed: Nothing would happen after the splash screen appeared for some users<br />
** Fixed: All players getting kicked from a server with a "protocol error 92" message<br />
** Fixed: Players getting stuck in "You will respawn in 1 second" mode, if a race starts before they join completely<br />
** Fixed: Issue where error reporter would sometimes fail to find core dump<br />
** Fixed: Occasional crash when connecting to a server through the server browser<br />
** Fixes: Various other crashes<br />
** Added: An error message is now displayed if you try to use the ′order checkpoints′ option in the map editor if you have no checkpoints in your map<br />
** Added: DefaultMapDuration and DefaultRespawnTime to server config<br />
* '''1.1.2'''<br />
** All-Seeing Eye server-browser has been removed in favour of a more reliable and faster replacement<br />
** Removed redundant "MTA Center" references<br />
** Removed support for built-in error reporter<br />
<br />
No more releases for MTA:SA Race, the new MTA release made the race version obsolete, a new resource called 'race' which could read the race maps replaced it.<br />
<br />
=== Archived Wiki pages ===<br />
*[[MTA:SA Race FAQ]]<br />
*[[Blue]]<br />
*[[MTA:SA R1]]<br />
*[[MTA:SA Race-Windows Server Guide]]<br />
*[[MTA General FAQ]]<br />
*[[MTA R1 remote administration_protocol]]<br />
<br />
=== See Also ===<br />
* [[Upgrading from MTA:Race]]<br />
<br />
== MTA:San Andreas (Deathmatch) 1.0.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas (Deathmatch) 1.0.x|<br />
image = [[File:MTA_Main_Menu_1.0.x.png|Multi Theft Auto: San Andreas (Deathmatch) Main Menu|center|230px]]|<br />
status = Unsupported|<br />
release = 2011-03-28|<br />
core = Blue|<br />
license = Freeware (Until DP2.3) GPLv3 (since 1.0 (August 21, 2009))|<br />
}}<br />
MTA:San Andreas Deathmatch Developer Preview 1 was the first release that featured on-foot synchronization for San Andreas. The name deathmatch refers to the ability to shoot with weapons and get on-foot unlike the race version. The tag deathmatch has been dropped in later releases because this version allowed customized gamemodes with LUA scripting and confused players. While the first 5 releases were called 'Developer Preview' it was very popular. In August 21, 2009 version 1.0.x was released with the GPLv3 license this allowed to work with more people on the next release when it became open source.<br />
<br />
=== Gamemodes ===<br />
This was the first released that allowed to create customized gamemodes with the LUA scripting language. No static gamemodes. <br />
Scripted gamemodes and utilities packed together are called resources.<br />
<br />
=== Features ===<br />
* On-foot synchronization.<br />
* Improved vehicle synchronization.<br />
* LUA scripting.<br />
* New map editor with EDF (Editor Definition File) allowed to edit custom gamemodes created with LUA.<br />
* Included web server in server side for remote administration or statistics.<br />
* Client side scripting with LUA, allowing to transfer files to the client which can be used to create GUI on the client for example.<br />
* ...<br />
<br />
=== Minor Updates ===<br />
* 1.0.1<br />
* 1.0.2<br />
* 1.0.3<br />
* 1.0.4<br />
* 1.0.5<br />
<br />
=== See Also ===<br />
* [[Changes in 1.0]]<br />
* [http://code.google.com/p/mtasa-blue/ Subversion on Google Code]<br />
* [[Scripting Introduction]]<br />
* [http://www.lua.org/pil/index.html "Programming in Lua" Manual]<br />
<br />
== MTA:San Andreas 1.1.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas 1.1.x|<br />
image = [[File:MTA_Main_Menu_1.1.x.png|Multi Theft Auto: San Andreas 1.1.x Main Menu|center|230px]]|<br />
status = Unsupported|<br />
release = 2011-09-19|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
<br />
=== Features ===<br />
* Vehicle handling can be modified by servers<br />
* Custom fonts<br />
* Special skins<br />
* Improved server browser<br />
* Voice chat (on servers that support it)<br />
* Improved sound support, including streaming audio<br />
* Increased maximum player count<br />
* Custom shaders<br />
* Cars can now have any color you want, not just the ones GTA has normally<br />
* GUI Skin switching<br />
<br />
=== Minor Updates ===<br />
* 1.1.1<br />
<br />
=== See Also ===<br />
* [[Changes in 1.1]]<br />
<br />
== MTA:San Andreas 1.2.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.2.x|<br />
status = Unsupported|<br />
release = 2011-12-17|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
=== Features ===<br />
* Major bandwidth usage reductions<br />
* Ability to replace ped models<br />
* Ability to replace weapon models<br />
* Threaded database access functions<br />
* Custom weapon stats<br />
* Synced and controllable vehicle variants<br />
* Improved bullet accuracy synchronization<br />
<br />
=== Minor Updates ===<br />
* None<br />
<br />
=== See Also ===<br />
* [[Changes in 1.2]]<br />
<br />
== MTA:San Andreas 1.3.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.3.x|<br />
status = Stable|<br />
release = 2014-02-07|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
This version was released quickly because 1.2 had several network related issues, that were fixed in this release.<br />
<br />
=== Features ===<br />
* Fixes for various network problems which occured in 1.1 and 1.2 series. (including a fix for "Map download breaking often on large transfers" issue)<br />
* Added new scripting functions for removal of default GTASA map objects. (including breakable ones)<br />
* Introduced a new scripting event. - [[onClientVehicleCollision]]<br />
* Implemented a new scripting function. - [[takePlayerScreenShot]]<br />
* Fixes for various crashes and issues. (including "warp glitch", inaccurate heat seekers sync, createProjectile() velocity desync between clients, custom models texture crash, "white models" when using custom models and more)<br />
* Added functionality to protect client-side scripts which pre-compiles them before being sent and stops resources from being saved on disk. This is configurable in the resource's meta.xml.<br />
* Added pixel manipulation functionality.<br />
* Introduced new client-side scripting functions - [[setBirdsEnabled]] and [[getBirdsEnabled]]<br />
* Included a new gui skin - [http://forum.mtasa.com/viewtopic.php?f=139&t=36010#p371815 Lighter black] - contributed by Aibo<br />
<br />
=== Minor Updates ===<br />
* 1.3.1<br />
* 1.3.2<br />
* 1.3.3<br />
* 1.3.4<br />
* 1.3.5<br />
<br />
=== See Also ===<br />
* [[Changes in 1.3]]<br />
* [[Changes in 1.3.1]]<br />
* [[Changes in 1.3.2]]<br />
* [[Changes in 1.3.3]]<br />
* [[Changes in 1.3.4]]<br />
* [[Changes in 1.3.5]]<br />
<br />
== MTA:San Andreas 1.4 ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.4|<br />
status = Stable|<br />
release = 2014-07-30|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
<br />
=== Features ===<br />
* Localization of MTA's Menu<br />
* Introduced [[OOP]]<br />
* Introduced Matrices and Vectors<br />
<br />
=== See Also ===<br />
* [[Changes in 1.4]]<br />
* [[Changes in 1.4.1]]<br />
<br />
== See Also ==<br />
* [https://code.google.com/p/mtasa-blue/source/browse/trunk/CHANGELOG Changelog] - Overview of all the changes since MTA: San Andreas 1.0dp1.<br />
* [[MTA Vault]] - Overview of releases before MTA 0.5.<br />
* [[Archive]] - Multi Theft Auto Archive.<br />
<br />
[[Category: Historical]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=PHP_SDK&diff=34765PHP SDK2013-02-05T14:25:00Z<p>EAi: </p>
<hr />
<div>__NOTOC__<br />
You can access the MTA Web Interface from almost any programming language that can request web pages using HTTP POST and encode and decode [[JSON]]. PHP can do this very easily. <br />
<br />
This SDK provides one function ''call'' that will allow you to call any exported script functions on any server that you have access to.<br />
<br />
The download below includes two example pages - one that shows a simple scoreboard, the other that shows the automatic handling of element and resource objects.<br />
<br />
If you use this and make any improvements, feel free to send us a copy and we can host it for others to benefit from.<br />
<br />
==Functions==<br />
===call===<br />
This function calls an exported function in a specific resource.<br />
<br />
'''Syntax:'''<br />
<syntaxhighlight lang="lua" lang="php"><br />
$mtaServer = new mta( $hostname, $port, $username, $password );<br />
$resource = $mtaServer->getResource ( $resourceName );<br />
$returns[] = $resource->call ( "functionName" [,args...] );<br />
</syntaxhighlight><br />
<br />
===getInput===<br />
This function is for use with web pages that are called by [[callRemote]].<br />
<br />
'''Syntax:'''<br />
<syntaxhighlight lang="lua" lang="php"><br />
inputData[] = mta::getInput();<br />
</syntaxhighlight><br />
<br />
===doReturn===<br />
Use this function when you want to return data when a page is called with [[callRemote]]. You should '''NOT''' output any other data to the page, e.g. using ''echo'' as this will cause the return to fail.<br />
<br />
'''Syntax:'''<br />
<syntaxhighlight lang="lua" lang="php"><br />
mta::doReturn( argument1, argument2 ... argumentN );<br />
</syntaxhighlight><br />
<br />
==Examples==<br />
<syntaxhighlight lang="lua" lang="php"><br />
include( "mta_sdk.php" );<br />
$mtaServer = new mta("bastage.net", 33004);<br />
$resource = $mtaServer->getResource ( "echobot" );<br />
$retn = $resource->call ( "getThisResource" ); // $retn is an array containing the values the function returned<br />
$resourceElement = $retn[0]; // the first returned value is the resource<br />
$retn = $resource->call ( "getResourceName", $resourceElement ); <br />
$resourceName = $retn[0]; // contains the name of the resource 'echobot'<br />
</syntaxhighlight><br />
<br />
==Authentication==<br />
If the server you are accessing requires authentication, you must pass the ''http_username'' and ''http_password'' variables to your instantiated instance of the mta() class.<br />
<br />
'''Example:'''<br />
<syntaxhighlight lang="lua" lang="php"><br />
include( "mta_sdk.php" );<br />
$mtaServer = new mta("example.com", 33004, "myUsername", "myPassword" );<br />
$mtaServer->getResource("someResource")->call("someFunction");<br />
</syntaxhighlight><br />
<br />
==A page that can be called by [[callRemote]]==<br />
This example just adds two numbers passed to it by a lua script.<br />
<br />
'''PHP:''' (for the page that LUA expects to be at ''<nowiki>http://www.example.com/page.php</nowiki>'')<br />
<syntaxhighlight lang="lua" lang="php"><br />
include( "mta_sdk.php" );<br />
$input = mta::getInput();<br />
mta::doReturn($input[0] + $input[1]);<br />
</syntaxhighlight><br />
'''LUA:'''<br />
<syntaxhighlight lang="lua" lang="lua"><br />
-- result is called when the function returns<br />
function result(sum)<br />
outputChatBox(sum)<br />
end<br />
function addNumbers(number1, number2)<br />
callRemote ( "http://www.example.com/page.php", result, number1, number2 )<br />
end <br />
addNumbers ( 123, 456 ) -- call the function<br />
</syntaxhighlight><br />
<br />
==Caveats==<br />
* This only works with PHP 5.0 and above.<br />
* You cannot currently compare two Element instances that you expect to be identical - you need to do a "deep compare", comparing the "id" fields.<br />
<br />
==Download==<br />
=== Node for version 0.4 ===<br />
On line 80 in mta_sdk.php you will find the string:<br />
<syntaxhighlight lang="lua" lang="php"><br />
echo $json_output;<br />
</syntaxhighlight><br />
<br />
Replace that one with:<br />
<syntaxhighlight lang="lua" lang="php"><br />
//echo $json_output;<br />
</syntaxhighlight><br />
<br />
Or remove it completly!<br />
<br />
*[http://code.opencoding.net/mta/mtaphpsdk_0.4.zip Download Version 0.4] - Renamed ''public function mta(..)'' to ''public function __construct(..)''.<br />
*[http://code.opencoding.net/mta/mtaphpsdk_0.3_fix.zip Download Version 0.3] - Neater syntax, support functions for [[callRemote]] (fix version makes call work with args).<br />
*[http://misc.opencoding.net/mta/mtaphpsdk_0.2.zip Download Version 0.2] - ''Deprecated - Syntax differs from examples shown above.'' - Adds authentication support.<br />
*[http://misc.opencoding.net/mta/mtaphpsdk_0.1.zip Download Version 0.1] - ''Deprecated - Syntax differs from examples shown above.''</div>EAihttps://wiki.multitheftauto.com/index.php?title=CreateColPolygon&diff=34376CreateColPolygon2013-01-02T12:19:36Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server client function}}<br />
{{Note_box|For this function to work correctly, get/set your bound points in an anti-clockwise fashion.}}<br />
This function creates a collision polygon. See [http://en.wikipedia.org/wiki/Polygon Wikipedia] for a definition of a polygon. The first set of X Y of this shape is not part of the colshape bounds, so can set anywhere in the game world, however for performance, place it as close to the centre of the polygon as you can. It should be noted this shape is '''2D'''. There should be at least 3 bound points set. <br />
{{VisualizeColshape}}<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
colshape createColPolygon ( float fX, float fY, float fX1, float fY1, float fX2, float fY2, float fX3, float fY3, ... )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''fX:''' The X position of the collision polygon's position - the position that will be returned from [[getElementPosition]].<br />
*'''fY:''' The Y position of the collision polygon's position - the position that will be returned from [[getElementPosition]].<br />
*'''fX1:''' The 1st X position of the collision polygon's bound point<br />
*'''fY1:''' The 1st Y position of the collision polygon's bound point<br />
*'''fX2:''' The 2nd X position of the collision polygon's bound point<br />
*'''fY2:''' The 2nd Y position of the collision polygon's bound point<br />
*'''fX3:''' The 3rd X position of the collision polygon's bound point<br />
*'''fY3:''' The 3rd Y position of the collision polygon's bound point<br />
*'''...''' From the 3rd position you can have as many points as you require to create the colshape.<br />
<br />
===Returns===<br />
Returns a [[colshape]] element if successful, ''false'' if invalid arguments were passed to the function.<br />
<br />
==Example== <br />
<section name="Server" class="server" show="true"><br />
This example displays a chat message when a player enters the colshape and allows the colshape to be created using a console function ''set_zone''.<br />
<syntaxhighlight lang="lua"><br />
theZone = false<br />
<br />
function shapeHit ( thePlayer ) <br />
outputChatBox ( getPlayerName ( thePlayer ) .. " is in the zone!" ) -- display a message in everyone's chat box<br />
end<br />
<br />
function setZone ( playerSource, commandName, fX, fY, fX1, fY1, fX2, fY2, fX3, fY3 ) --Remember that after the 3rd position you <br />
--can have as many points as you require to <br />
--create the colshape.<br />
<br />
if ( fY and fX and fX1 and fY1 and fX2 and fX3 and fY3 ) then -- check we've got the 8 args we need<br />
local tempCol = createColPolygon ( fX, fY, fX1, fY1, fX2, fY2, fX3, fY3 ) -- create a col<br />
if ( tempCol == false ) then -- did the col get created successfully?<br />
outputConsole ("Syntax is: set_zone <X> <Y> <X1> <Y1> <X2> <Y2> <X3> <Y3>")-- inform the user what the valid syntax is<br />
else<br />
if ( theZone ~= false ) then -- did we already have a zone?<br />
destroyElement ( theZone ) -- if so, destroy it<br />
else<br />
addEventHandler ( "onColShapeHit", theZone, shapeHit ) -- add a handler for the onColShapeHit event<br />
end<br />
theZone = tempCol -- and store the new zone we've made<br />
outputChatBox ( "Zone has moved!" ) -- and tell everyone<br />
end<br />
end<br />
end<br />
addCommandHandler ( "set_zone", setZone ) -- add a console function called set_zone that will trigger the function setZone<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Collision shape functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=CreateColPolygon&diff=34375CreateColPolygon2013-01-02T12:10:55Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server client function}}<br />
{{Note_box|For this function to work correctly, get/set your bound points in an anti-clockwise fashion.}}<br />
This function creates a collision polygon. See [http://en.wikipedia.org/wiki/Polygon Wikipedia] for a definition of a polygon. The first set of X Y of this shape is not part of the colshape bounds, so can set anywhere in the game world, however for performance, place it somewhere within the polygon. It should be noted this shape is '''2D'''. There should be at least 3 bound points set. <br />
{{VisualizeColshape}}<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
colshape createColPolygon ( float fX, float fY, float fX1, float fY1, float fX2, float fY2, float fX3, float fY3, ... )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''fX:''' The X position of the collision polygon's position - the position that will be returned from [[getElementPosition]].<br />
*'''fY:''' The Y position of the collision polygon's position - the position that will be returned from [[getElementPosition]].<br />
*'''fX1:''' The 1st X position of the collision polygon's bound point<br />
*'''fY1:''' The 1st Y position of the collision polygon's bound point<br />
*'''fX2:''' The 2nd X position of the collision polygon's bound point<br />
*'''fY2:''' The 2nd Y position of the collision polygon's bound point<br />
*'''fX3:''' The 3rd X position of the collision polygon's bound point<br />
*'''fY3:''' The 3rd Y position of the collision polygon's bound point<br />
*'''...''' From the 3rd position you can have as many points as you require to create the colshape.<br />
<br />
===Returns===<br />
Returns a [[colshape]] element if successful, ''false'' if invalid arguments were passed to the function.<br />
<br />
==Example== <br />
<section name="Server" class="server" show="true"><br />
This example displays a chat message when a player enters the colshape and allows the colshape to be created using a console function ''set_zone''.<br />
<syntaxhighlight lang="lua"><br />
theZone = false<br />
<br />
function shapeHit ( thePlayer ) <br />
outputChatBox ( getPlayerName ( thePlayer ) .. " is in the zone!" ) -- display a message in everyone's chat box<br />
end<br />
<br />
function setZone ( playerSource, commandName, fX, fY, fX1, fY1, fX2, fY2, fX3, fY3 ) --Remember that after the 3rd position you <br />
--can have as many points as you require to <br />
--create the colshape.<br />
<br />
if ( fY and fX and fX1 and fY1 and fX2 and fX3 and fY3 ) then -- check we've got the 8 args we need<br />
local tempCol = createColPolygon ( fX, fY, fX1, fY1, fX2, fY2, fX3, fY3 ) -- create a col<br />
if ( tempCol == false ) then -- did the col get created successfully?<br />
outputConsole ("Syntax is: set_zone <X> <Y> <X1> <Y1> <X2> <Y2> <X3> <Y3>")-- inform the user what the valid syntax is<br />
else<br />
if ( theZone ~= false ) then -- did we already have a zone?<br />
destroyElement ( theZone ) -- if so, destroy it<br />
else<br />
addEventHandler ( "onColShapeHit", theZone, shapeHit ) -- add a handler for the onColShapeHit event<br />
end<br />
theZone = tempCol -- and store the new zone we've made<br />
outputChatBox ( "Zone has moved!" ) -- and tell everyone<br />
end<br />
end<br />
end<br />
addCommandHandler ( "set_zone", setZone ) -- add a console function called set_zone that will trigger the function setZone<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Collision shape functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=CreateColPolygon&diff=34374CreateColPolygon2013-01-02T12:10:33Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server client function}}<br />
{{Note_box|For this function to work correctly, get/set your bound points in an anti-clockwise fashion.}}<br />
This function creates a collision polygon. See [http://en.wikipedia.org/wiki/Polygon Wikipedia] for a definition of a polygon. The first set of X Y of this shape is not part of the colshape bounds, so can set anywhere in the game world, however for performance, place it somewhere within the polygon. It should be noted this shape is '''2D'''. There should be at least 3 bound points set. <br />
{{VisualizeColshape}}<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
colshape createColPolygon ( float fX, float fY, float fX1, float fY1, float fX2, float fY2, float fX3, float fY3, ... )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''fX:''' The X position of the collision polygon's position - the position that will be returned from [getElementPosition].<br />
*'''fY:''' The Y position of the collision polygon's position - the position that will be returned from [getElementPosition].<br />
*'''fX1:''' The 1st X position of the collision polygon's bound point<br />
*'''fY1:''' The 1st Y position of the collision polygon's bound point<br />
*'''fX2:''' The 2nd X position of the collision polygon's bound point<br />
*'''fY2:''' The 2nd Y position of the collision polygon's bound point<br />
*'''fX3:''' The 3rd X position of the collision polygon's bound point<br />
*'''fY3:''' The 3rd Y position of the collision polygon's bound point<br />
*'''...''' From the 3rd position you can have as many points as you require to create the colshape.<br />
<br />
===Returns===<br />
Returns a [[colshape]] element if successful, ''false'' if invalid arguments were passed to the function.<br />
<br />
==Example== <br />
<section name="Server" class="server" show="true"><br />
This example displays a chat message when a player enters the colshape and allows the colshape to be created using a console function ''set_zone''.<br />
<syntaxhighlight lang="lua"><br />
theZone = false<br />
<br />
function shapeHit ( thePlayer ) <br />
outputChatBox ( getPlayerName ( thePlayer ) .. " is in the zone!" ) -- display a message in everyone's chat box<br />
end<br />
<br />
function setZone ( playerSource, commandName, fX, fY, fX1, fY1, fX2, fY2, fX3, fY3 ) --Remember that after the 3rd position you <br />
--can have as many points as you require to <br />
--create the colshape.<br />
<br />
if ( fY and fX and fX1 and fY1 and fX2 and fX3 and fY3 ) then -- check we've got the 8 args we need<br />
local tempCol = createColPolygon ( fX, fY, fX1, fY1, fX2, fY2, fX3, fY3 ) -- create a col<br />
if ( tempCol == false ) then -- did the col get created successfully?<br />
outputConsole ("Syntax is: set_zone <X> <Y> <X1> <Y1> <X2> <Y2> <X3> <Y3>")-- inform the user what the valid syntax is<br />
else<br />
if ( theZone ~= false ) then -- did we already have a zone?<br />
destroyElement ( theZone ) -- if so, destroy it<br />
else<br />
addEventHandler ( "onColShapeHit", theZone, shapeHit ) -- add a handler for the onColShapeHit event<br />
end<br />
theZone = tempCol -- and store the new zone we've made<br />
outputChatBox ( "Zone has moved!" ) -- and tell everyone<br />
end<br />
end<br />
end<br />
addCommandHandler ( "set_zone", setZone ) -- add a console function called set_zone that will trigger the function setZone<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Collision shape functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=Version_History&diff=30907Version History2012-05-18T20:44:14Z<p>EAi: </p>
<hr />
<div><div class="page-notice">&nbsp;</div><br />
<div style="background: #FFEEAA; padding: 5px;">Latest stable version of '''Multi Theft Auto''' is '''Multi Theft Auto: San Andreas {{Current Version|full}}'''. Visit the [http://mtasa.com home page] to download it.</div><br />
<br />
An overview of the (released) MTA versions.<br />
<br />
<br />
== List of (released) versions ==<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ List of Multi Theft Auto Versions<br />
|-<br />
! Release<br />
! Version<br />
! Date<br />
! GTA: III<br />
! GTA: Vice City<br />
! GTA: San Andreas<br />
! License<br />
! Support Status<br />
|-<br />
! GTA3:AM<br />
| 0.1<br />
| February 9, 2003<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
! rowspan="2" | GTA3:MTA<br />
| 0.2a<br />
| February 28, 2003<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 0.3b<br />
| May 29, 2003<br />
| {{yes}}<br />
| {{No}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
! rowspan="4" | MTA:VC<br />
| 0.1<br />
| August 2, 2003<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 0.2<br />
| September 20, 2003<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 0.3<br />
| December 25, 2003<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 0.3r2<br />
| January 1, 2004<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
! rowspan="5" | MTA<br />
| 0.4<br />
| July 27, 2004<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 0.4.1<br />
| July 31, 2004<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 0.5<br />
| January 31, 2005<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| style="background: #FFEC99;" | [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336938 0.5r2]<br />
| January 31, 2011<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| Freeware<br />
| {{Yes}} (Community)<br />
|-<br />
| style="background: #FFE2D1;" | [http://files.mtasa.com/web/mta_0.5_launch/051.htm 0.5.1]<br />
| {{n/a}}<br />
| {{Yes}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
| {{n/a}}<br />
|-<br />
! rowspan="1" | MTA:VC<br />
| style="background: #FFE2D1;" | [http://files.mtasa.com/web/mtablue.info/ 0.5.5/0.6/Blue(?)]<br />
| {{n/a}}<br />
| {{No}}<br />
| {{Yes}}<br />
| {{No}}<br />
| {{n/a}}<br />
| {{n/a}}<br />
|-<br />
! rowspan="4" | MTA:SA Race<br />
| 1.0<br />
| January 22, 2006<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 1.1<br />
| March 16, 2006<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 1.1.1<br />
| March 18, 2006<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 1.1.2<br />
| May 18, 2008<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
! rowspan="5" | MTA:SA Deathmatch<br />
| 1.0 DP1.0<br />
| January 3, 2008<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 1.0 DP2.0<br />
| January 10, 2008<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 1.0 DP2.1<br />
| May 23, 2008<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 1.0 DP2.2<br />
| August 4, 2008<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
| 1.0 DP2.3<br />
| August 6, 2008<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| Freeware<br />
| {{No}}<br />
|-<br />
! rowspan="11" | MTA:SA<br />
| 1.0<br />
| August 21, 2009<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.0.1<br />
| October 2, 2009<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.0.2<br />
| October 24, 2009<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.0.3<br />
| December 17, 2009<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.0.4<br />
| June 10, 2010<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.0.5<br />
| March 28, 2011<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.1<br />
| August 25, 2011<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.1.1<br />
| September 19, 2011<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| 1.2<br />
| December 17, 2011<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{No}}<br />
|-<br />
| style="background: #99FF99;" | 1.3<br />
| January 24, 2012<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{Yes}}<br />
|-<br />
| style="background: #B2BDFF;" | 1.3.1<br />
| {{n/a}}<br />
| {{No}}<br />
| {{No}}<br />
| {{Yes}}<br />
| GPLv3<br />
| {{n/a}}<br />
|-<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|-<br />
| width="20px;" style="background: #99FF99;" | &nbsp;<br />
| Current Version<br />
|-<br />
| width="20px;" style="background: #B2BDFF;" | &nbsp;<br />
| In Development<br />
|-<br />
| width="20px;" style="background: #FFE2D1;" | &nbsp;<br />
| Never Released<br />
|-<br />
| width="20px;" style="background: #FFEC99;" | &nbsp;<br />
| Released by Community<br />
|-<br />
|}<br />
<br />
* AM = Alternative Multiplayer<br />
* DP = Developer Preview<br />
** MTA:San Andreas 1.0 was also known as Developer Preview 3.0, this was later dropped because the 'new' 1.0 was a major release.<br />
<br />
== MTA 0.5 ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto 0.5|<br />
image = [[File:Clientwelcome_nick.jpg|MTA 0.5 Client|center|230px]]|<br />
status = Supported by community|<br />
release = January 31, 2005|<br />
core = 0.3|<br />
license = Freeware|<br />
}}<br />
The latest stable release for GTA III and GTA: Vice City bundled in one client and server. This release was also the first version that had a server browser build in the client.<br />
[[File:800px-Robber.jpg|Spawnscreen in Vice City at Robbers spawn|right|thumb|230px]]<br />
<br />
=== Gamemodes ===<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|-<br />
! GTA<br />
! Gamemode Name<br />
! Uses Spawnscreen<br />
|-<br />
! rowspan="2" |GTA: Vice City<br />
| [[MTA:VC Deathmatch Gamemode|Deathmatch]]<br />
| {{Yes}}<br />
|-<br />
| [[MTA:VC Stunt Gamemode|Stunt]]<br />
| {{Yes}}<br />
|-<br />
! rowspan="3" |GTA III<br />
| [[GTA3 Portland|Portland]]<br />
| {{No}}<br />
|-<br />
|[[GTA3 SSV|Shoreside Vale]]<br />
| {{Yes}}<br />
|-<br />
|[[GTA3 Staunton|Staunton]]<br />
| {{No}}<br />
|}<br />
<br />
==== Spawns ====<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ MTA:Vice City Deathmatch<br />
|-<br />
! Team/Spawn Name/Mode<br />
! Spawn Location<br />
|-<br />
| Robbers<br />
| Phil's Place - Little Haiti<br />
|-<br />
| Mexicans<br />
| Escobar International Airport's terminal<br />
|-<br />
| Sailors<br />
| Vice City Docks - Vice Port<br />
|-<br />
| Vice City Crusader<br />
| Random Location in Vice City<br />
|-<br />
| Secret Service<br />
| Under a shelter - Ocean Beach<br />
|-<br />
| Cops<br />
| Police Stations in Vice City<br />
|-<br />
| &nbsp;<br />
| &nbsp;<br />
|-<br />
| Spectator<br />
| Allows to watch other players<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ colspan="2" | MTA:Vice City Stunt<br />
|-<br />
! Team/Spawn Name/Mode<br />
! Spawn Location<br />
|-<br />
| Yuppies<br />
| Spawn inside the multistory parking garage in Ocean Beach<br />
|-<br />
| Dirt Racers<br />
| Spawn outside of the Stadium<br />
|-<br />
| Bikers<br />
| Spawn in the parking lot behind the Malibu club<br />
|-<br />
| Speeders<br />
| Spawn at the parking lot near the Escobar International Airport<br />
|-<br />
| Packer Driver<br />
| Spawn at Downtown in the large parking lot near the Biker Bar<br />
|-<br />
| Fun House Dept.<br />
| Spawns at North Point Mall's multistory parking garage<br />
|-<br />
| Heli Pilot<br />
| Spawn at the Escobar International Airport runway<br />
|-<br />
| &nbsp;<br />
| &nbsp;<br />
|-<br />
| Spectator<br />
| Allows to watch other players<br />
|}<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
|+ GTA3:MTA Shoreside Vale<br />
|-<br />
! Team/Spawn Name<br />
! Spawn Location<br />
|-<br />
| Yakuza<br />
| Pike Creek<br />
|-<br />
| Southside Hoods<br />
| Witchita Gardens<br />
|-<br />
| Columbians<br />
| Cedar Grove<br />
|-<br />
| Cops<br />
| Pike Creek<br />
|}<br />
<br />
=== Features ===<br />
* Huge increase in stability. Using the errors reported to us using the Error Report Tool, we've managed to fix a large number of the common crashes.<br />
* New Staunton Island map available for GTA3, which includes a race mode and deathmatch.<br />
* New Shoreside Vale map available for GTA3, which includes several gamemodes. <br />
* Lots of changes to the existing maps.<br />
* A server browser has been added to the client along with an area to store your favourites and a list of servers you've played on recently (History). <br />
* New Client design - The client has been redesigned to make it easier to use. Error messages are now more self explanatory and checks are added to help users ensure their game is set up correctly. <br />
* Added an in-client server that allows you to quickly configure and host a server straight from the MTA Client.<br />
* Integrated the MTA Protocol handler - now mta:// links will work for all MTA 0.5 users.<br />
* Redesigned MTA Admin Tool to make it easier and more logical to use. <br />
* In client global MOTD so that you can hear about news from MTA immediately.<br />
* A rich text welcome message that the server can show to players when they join. This can contain much more information than the normal Message of the Day and is visible in the client the entire time the user is on the server.<br />
* New installation and configuration scripts for easy setup for Linux dedicated servers. <br />
* More platforms supported for the dedicated server, including FreeBSD and OpenBSD. <br />
* Improved error report tool is now installed by default (though optionally).<br />
* Chat box in the client now scrolls properly, as most chat programs do (scroll up to stop auto-scroll). <br />
<br />
=== Minor Updates ===<br />
<br />
A server patch was released since the Message of The Day feature could be exploited. [http://forum.multitheftauto.com/viewtopic.php?f=31&t=13923#p198981 Patch 1]<br />
<br />
Members of the MTA community released a minor update called 0.5r2 for 0.5, this also includes a new (external) server browser, the included server browser in 0.5 client is non-functional since 2008.<br />
* [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336938 Download]<br />
* [http://forum.mtasa.com/viewtopic.php?f=31&t=31692#p336939 Changelog for 0.5r2]<br />
<br />
=== Archived Wiki pages ===<br />
* [[MTA_0.5_EULA|EULA]]<br />
* [[MTA_0.5_Installation|Installation]]<br />
* [[MTA_0.5_Known_Issues|Known Issues]]<br />
* [[MTA:VC_0.5|0.5 Vice City]]<br />
* [[MTA:VC_Deathmatch_Gamemode|Vice City Deathmatch Gamemode]]<br />
* [[MTA:VC_Stunt_Gamemode|Vice City Stunt Gamemode]]<br />
* [[MTA:mA]]<br />
* [[Using_A_0.5_Server_With_Screen|Using the server with screen utility]]<br />
<br />
=== See Also ===<br />
*[[MTA Vault]]<br />
<br />
== MTA:San Andreas Race ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas Race|<br />
image = [[File:MTASA-Race-Mainmenu.png|Multi Theft Auto± San Andreas Race Main Menu|center|230px]]|<br />
status = Unsupported/Obsolete|<br />
release = May 18, 2008|<br />
core = Blue|<br />
license = Freeware|<br />
}}<br />
MTA:SA Race is the first release that was made with the blue framework, a new approach to control the game (GTA). The sync was also better over the previous releases and the client is in game not an external application. Notice the blue GUI in the screenshot.<br />
<br />
A new slogan was introduced: "Stop Playing With Yourself."<br />
[[File:Mtavcbluelaunching.png|MTA Loading screen with the new slogan: "Stop Playing With Yourself."|thumb|230px]]<br />
<br />
=== Gamemodes ===<br />
As the name suggests it is only race (you cannot get out of your vehicle).<br />
<br />
{| class="wikitable" style="width: auto; text-align: center; table-layout: fixed;"<br />
!Gamemode<br />
!Notes<br />
|-<br />
|Race<br />
|-<br />
|Freeroam<br />
|-<br />
|Destruction Derby<br />
|The goal is to survive, last player that is still alive wins.<br />
|}<br />
<br />
=== Features ===<br />
[[File:MTASA-Race-Racing.jpg|Racing in MTA:SA|right|thumb|230px]]<br />
* In game client.<br />
* Map Editor to create a map in game.<br />
* Optimised netcode results in reduced lag.<br />
* Blue loads a DLL with the game instead of injecting code into its memory process. This improves stability and means that custom SCM files do not have to be moved to the game's directory when it is started. <br />
* Full integration means that Blue's server list is directly integrated into GTA's GUI.<br />
* Fewer glitches. This is achieved by synchronizing every animation, implementing a custom pause menu so that people can't pause to escape death, and forcing the frame limiter on so that everyone's game runs at the same maximum speed. <br />
* Greater synchronization, this means that MTA players can finally use boats.<br />
* Anti cheat. <br />
<br />
=== Minor Updates ===<br />
* '''1.1'''<br />
** New mappack<br />
** New map nomination voting system<br />
** Respawning during map<br />
** Map timelimit added in map files and server config<br />
** New player animation sync<br />
** Admins can PM players from remote admin<br />
** The 255 map limit has been fixed<br />
** Fixed various admin stability issues<br />
* '''1.1.1'''<br />
** Fixed: Freezes that occurred frequently for some users (and not at all for others)<br />
** Fixed: Nothing would happen after the splash screen appeared for some users<br />
** Fixed: All players getting kicked from a server with a "protocol error 92" message<br />
** Fixed: Players getting stuck in "You will respawn in 1 second" mode, if a race starts before they join completely<br />
** Fixed: Issue where error reporter would sometimes fail to find core dump<br />
** Fixed: Occasional crash when connecting to a server through the server browser<br />
** Fixes: Various other crashes<br />
** Added: An error message is now displayed if you try to use the ′order checkpoints′ option in the map editor if you have no checkpoints in your map<br />
** Added: DefaultMapDuration and DefaultRespawnTime to server config<br />
* '''1.1.2'''<br />
** All-Seeing Eye server-browser has been removed in favour of a more reliable and faster replacement<br />
** Removed redundant "MTA Center" references<br />
** Removed support for built-in error reporter<br />
<br />
No more releases for MTA:SA Race, the new MTA release made the race version obsolete, a new resource called 'race' which could read the race maps replaced it.<br />
<br />
=== Archived Wiki pages ===<br />
*[[MTA:SA Race FAQ]]<br />
*[[Blue]]<br />
*[[MTA:SA R1]]<br />
*[[MTA:SA Race-Windows Server Guide]]<br />
*[[MTA General FAQ]]<br />
*[[MTA R1 remote administration_protocol]]<br />
<br />
=== See Also ===<br />
* [[Upgrading from MTA:Race]]<br />
<br />
== MTA:San Andreas (Deathmatch) 1.0.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas (Deathmatch) 1.0.x|<br />
image = [[File:MTA_Main_Menu_1.0.x.png|Multi Theft Auto: San Andreas Race Main Menu|center|230px]]|<br />
status = Unsupported|<br />
release = March 28, 2011|<br />
core = Blue|<br />
license = Freeware (Until DP2.3) GPLv3 (since 1.0 (August 21, 2009))|<br />
}}<br />
MTA:San Andreas Deathmatch Developer Preview 1 was the first release that featured on-foot synchronization for San Andreas. The name deathmatch refers to the ability to shoot with weapons and get on-foot unlike the race version. The tag deathmatch has been dropped in later releases because this version allowed customized gamemodes with LUA scripting and confused players. While the first 5 releases were called 'Developer Preview' it was very popular. In August 21, 2009 version 1.0.x was released with the GPLv3 license this allowed to work with more people on the next release when it became open source.<br />
<br />
=== Gamemodes ===<br />
This was the first released that allowed to create customized gamemodes with the LUA scripting language. No static gamemodes. <br />
Scripted gamemodes and utilities packed together are called resources.<br />
<br />
=== Features ===<br />
* On-foot synchronization.<br />
* Improved vehicle synchronization.<br />
* LUA scripting.<br />
* New map editor with EDF (Editor Definition File) allowed to edit custom gamemodes created with LUA.<br />
* Included web server in server side for remote administration or statistics.<br />
* Client side scripting with LUA, allowing to transfer files to the client which can be used to create GUI on the client for example.<br />
* ...<br />
<br />
=== Minor Updates ===<br />
* 1.0.1<br />
* 1.0.2<br />
* 1.0.3<br />
* 1.0.4<br />
* 1.0.5<br />
<br />
=== See Also ===<br />
* [[Changes in 1.0]]<br />
* [http://code.google.com/p/mtasa-blue/ Subversion on Google Code]<br />
* [[Scripting Introduction]]<br />
* [http://www.lua.org/pil/index.html "Programming in Lua" Manual]<br />
<br />
== MTA:San Andreas 1.1.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto: San Andreas 1.1.x|<br />
image = [[File:MTA_Main_Menu_1.1.x.png|Multi Theft Auto: San Andreas 1.1.x Main Menu|center|230px]]|<br />
status = Unsupported|<br />
release = September 19, 2011|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
<br />
=== Features ===<br />
* Vehicle handling can be modified by servers<br />
* Custom fonts<br />
* Special skins<br />
* Improved server browser<br />
* Voice chat (on servers that support it)<br />
* Improved sound support, including streaming audio<br />
* Increased maximum player count<br />
* Custom shaders<br />
* Cars can now have any color you want, not just the ones GTA has normally<br />
* GUI Skin switching<br />
<br />
=== Minor Updates ===<br />
* 1.1.1<br />
<br />
=== See Also ===<br />
* [[Changes in 1.1]]<br />
<br />
== MTA:San Andreas 1.2.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.2.x|<br />
status = Unsupported|<br />
release = December 17, 2011|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
=== Features ===<br />
* Major bandwidth usage reductions<br />
* Ability to replace ped models<br />
* Ability to replace weapon models<br />
* Threaded database access functions<br />
* Custom weapon stats<br />
* Synced and controllable vehicle variants<br />
* Improved bullet accuracy synchronization<br />
<br />
=== Minor Updates ===<br />
* None<br />
<br />
=== See Also ===<br />
* [[Changes in 1.2]]<br />
<br />
== MTA:San Andreas 1.3.x ==<br />
{{versionbox|<br />
versionname = Multi Theft Auto:San Andreas 1.3.x|<br />
status = Stable|<br />
release = January 24, 2012|<br />
core = Blue|<br />
license = GPLv3|<br />
}}<br />
This version was released quickly because 1.2 had several network related issues, that were fixed in this release.<br />
<br />
=== Features ===<br />
* Fixes for various network problems which occured in 1.1 and 1.2 series. (including a fix for "Map download breaking often on large transfers" issue)<br />
* Added new scripting functions for removal of default GTASA map objects. (including breakable ones)<br />
* Introduced a new scripting event. - [[onClientVehicleCollision]]<br />
* Implemented a new scripting function. - [[takePlayerScreenShot]]<br />
* Fixes for various crashes and issues. (including "warp glitch", inaccurate heat seekers sync, createProjectile() velocity desync between clients, custom models texture crash, "white models" when using custom models and more)<br />
* Added functionality to protect client-side scripts which pre-compiles them before being sent and stops resources from being saved on disk. This is configurable in the resource's meta.xml.<br />
* Added pixel manipulation functionality.<br />
* Introduced new client-side scripting functions - [[setBirdsEnabled]] and [[getBirdsEnabled]]<br />
* Included a new gui skin - [http://forum.mtasa.com/viewtopic.php?f=139&t=36010#p371815 Lighter black] - contributed by Aibo<br />
<br />
=== Minor Updates ===<br />
* None (yet)<br />
<br />
=== See Also ===<br />
* [[Changes in 1.3]]<br />
<br />
== See Also ==<br />
* [http://code.google.com/p/mtasa-blue/source/browse/trunk/CHANGELOG Changelog] - Overview of all the changes since MTA: San Andreas 1.0dp1.<br />
* [[MTA Vault]] - Overview of releases before MTA 0.5.<br />
* [[Archive]] - Multi Theft Auto Archive.<br />
<br />
[[Category: Historical]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=CreateSWATRope&diff=27276CreateSWATRope2011-10-01T22:30:17Z<p>EAi: Reverted edits by EAi (talk) to last revision by Cazomino05</p>
<hr />
<div>__NOTOC__<br />
{{New feature|3.0120|1.2|<br />
'''Available only in MTA SA 1.1.1 r3250 and onwards'''<br />
}}<br />
{{Client function}}<br />
Creates a SWAT rope like that of the rope in single player used by SWAT Teams abseiling from the Police Maverick.<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
bool createSWATRope ( float fx, float fy, float fZ, int duration )<br />
</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''fx, fy, fz:''' the world coordinates where the effect originates.<br />
*'''duration:''' the amount in miliseconds the rope will be there before falling to the ground.<br />
<!--<br />
==Example==<br />
No example here yet.<br />
<section name="Client" class="client" show="true"><br />
<br />
<syntaxhighlight lang="lua"><br />
</syntaxhighlight><br />
</section><br />
--><br />
<br />
==See Also==<br />
{{client world functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=CreateSWATRope&diff=27275CreateSWATRope2011-10-01T22:29:20Z<p>EAi: </p>
<hr />
<div>__NOTOC__<br />
{{New feature|3.0120|1.2|<br />
'''Available only in MTA SA 1.2 and nightly builds of 1.1.1 r3250 and onwards'''<br />
}}<br />
{{Client function}}<br />
Creates a SWAT rope like that of the rope in single player used by SWAT Teams abseiling from the Police Maverick.<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
bool createSWATRope ( float fx, float fy, float fZ, int duration )<br />
</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''fx, fy, fz:''' the world coordinates where the effect originates.<br />
*'''duration:''' the amount in miliseconds the rope will be there before falling to the ground.<br />
<!--<br />
==Example==<br />
No example here yet.<br />
<section name="Client" class="client" show="true"><br />
<br />
<syntaxhighlight lang="lua"><br />
</syntaxhighlight><br />
</section><br />
--><br />
<br />
==See Also==<br />
{{client world functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=CreateSWATRope&diff=27274CreateSWATRope2011-10-01T22:28:39Z<p>EAi: </p>
<hr />
<div>__NOTOC__<br />
{{New feature|3.0111|1.1.1|<br />
'''Available only in MTA SA 1.1.1 r3250 and onwards'''<br />
}}<br />
{{Client function}}<br />
Creates a SWAT rope like that of the rope in single player used by SWAT Teams abseiling from the Police Maverick.<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
bool createSWATRope ( float fx, float fy, float fZ, int duration )<br />
</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''fx, fy, fz:''' the world coordinates where the effect originates.<br />
*'''duration:''' the amount in miliseconds the rope will be there before falling to the ground.<br />
<!--<br />
==Example==<br />
No example here yet.<br />
<section name="Client" class="client" show="true"><br />
<br />
<syntaxhighlight lang="lua"><br />
</syntaxhighlight><br />
</section><br />
--><br />
<br />
==See Also==<br />
{{client world functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=Talk:GenerateString&diff=27232Talk:GenerateString2011-09-28T16:34:48Z<p>EAi: Created page with "Do we want code that isn't in English on here? ~~~~"</p>
<hr />
<div>Do we want code that isn't in English on here? [[User:EAi|eAi]] 18:34, 28 September 2011 (CEST)</div>EAihttps://wiki.multitheftauto.com/index.php?title=Changes_in_1.1&diff=26834Changes in 1.12011-08-24T23:38:54Z<p>EAi: /* End-user features */</p>
<hr />
<div>This page lists all changes which may be relevant to scripters and end users. Any changes which were back ported to 1.0.x have not been listed here. If you know of any changes that need mentioning feel free to update the list as the original author of this page does not understand every commit made (he isn't a developer)<br />
<br />
==End-user features==<br />
'''Very incomplete list'''<br />
* Vehicle handling can be modified by servers<br />
* Custom fonts<br />
* Special skins<br />
* Improved server browser<br />
* Voice chat (on servers that support it)<br />
* Improved sound support, including streaming audio<br />
* Increased maximum player count<br />
* Custom shaders<br />
* Cars can now have any color you want, not just the ones GTA has normally<br />
* GUI Skin switching<br />
<br />
==Client==<br />
<br />
===New Functions===<br />
* Added [[guiCreateComboBox]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxAddItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxRemoveItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[getPedMoveState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1842<br />
* Added [[getCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[setCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[resetTimer]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1876<br />
* Added [[getSoundMetaTags]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getSoundEffects]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[setSoundEffectEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[getTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[fileClose]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileCreate]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileDelete]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileExists]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileFlush]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileIsEOF]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileOpen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRead]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileSetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileWrite]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getResourceExportedFunctions]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1998<br />
* Added [[getCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[setCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[getPlayerSerial]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2052<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[guiSetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[guiGetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setElementID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2154<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setClipBoard]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2517<br />
* Added [[dxCreateTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateShader]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxSetShaderValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxSetRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxUpdateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxGetMaterialSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[guiCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[engineApplyShaderToModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineRemoveShaderFromModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineGetModelNameFromID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelIDFromName]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2848<br />
* Added [[detonateSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[engineApplyShaderToWorldTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2888<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2892<br />
* Added [[setAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[resetAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[setJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[dxGetStatus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
* Added [[dxSetTestMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
<br />
===New Events===<br />
* Added [[onClientDoubleClick]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1808<br />
* Added [[onClientGUIComboBoxAccepted]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1846<br />
* Added [[onClientSoundStream]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientSoundChangedMeta]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1898<br />
* Added [[onClientSoundFinishedDownload]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientVehicleExplode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1906<br />
* Added [[onClientGUIFocus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientGUIBlur]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onClientKey]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientCharacter]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientHUDRender]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2855<br />
* Added [[onClientMinimize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
* Added [[onClientRestore]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
<br />
===Changes===<br />
* Improved [[setPedAnimation]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1763<br />
* Added server join que Details: http://code.google.com/p/mtasa-blue/source/detail?r=1828<br />
* Made knife kills more balanced Details: http://code.google.com/p/mtasa-blue/source/detail?r=1839<br />
* Fixed water elements being affected by [[resetMapInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1863<br />
* Made [[onClientPlayerVehicleExit]] more reliable Details: http://code.google.com/p/mtasa-blue/source/detail?r=1877<br />
* Added BASS (allows stream files to be played) Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added synchronized traffic lights Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "crosshair" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2974<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added support for unicode text Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added RGB vehicle colors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2090<br />
* Synchronized vehicle doors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2110<br />
* Added localPlayer predefined variable Details: http://code.google.com/p/mtasa-blue/source/detail?r=2140<br />
* Made [[onClientPlayerWasted]] work for the local player Details: http://code.google.com/p/mtasa-blue/source/detail?r=2180<br />
* Added special skins to the game Details: http://wiki.multitheftauto.com/wiki/Special_Skins_Page<br />
* Added new main menu starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2280<br />
* Added GUI skin changer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2308<br />
* Added basic sync for objects Details: http://code.google.com/p/mtasa-blue/source/detail?r=2312<br />
* Made game loading when joining a server much quicker Details: http://code.google.com/p/mtasa-blue/source/detail?r=2325<br />
* Added new server browser starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2441<br />
* Renamed hud command to showhud Details: http://code.google.com/p/mtasa-blue/source/detail?r=2566<br />
* Added random name generator Details: http://code.google.com/p/mtasa-blue/source/detail?r=2582<br />
* Added custom handling to vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=2678<br />
* Increased the available streamer memory Details: http://code.google.com/p/mtasa-blue/source/detail?r=2740<br />
* Added shader element for [[dxDrawImage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2790<br />
* New message box images Details: http://code.google.com/p/mtasa-blue/source/detail?r=2793<br />
* split and gettok no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added world model info to [[processLineOfSight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2845<br />
* Added default buttons in settings Details: http://code.google.com/p/mtasa-blue/source/detail?r=2864<br />
* Disabled brown streak trailer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2880<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
* Added ability to add shaders to the game<br />
* Changed [[guiGridListSetItemData]] to support any datatype http://code.google.com/p/mtasa-blue/source/detail?r=2005<br />
* Added voice (microphone support) to the game http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
==Server==<br />
<br />
===New Functions===<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[areTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[refreshResources]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1994<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[getElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[setWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[getNetworkUsageData]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2322<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[detonatePlayerSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[setMaxPlayers]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2941<br />
* Added [[getServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[setServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[setPlayerVoiceIgnoreFrom]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3042<br />
* Added [[setPlayerVoiceBroadcastTo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
===New Events===<br />
* Added [[onPlayerMute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onPlayerUnmute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onSettingChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2097<br />
* Added [[onPlayerCommand]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2152<br />
* Added [[onAccountDataChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2516<br />
* Added [[onPlayerModInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2881<br />
<br />
===Changes===<br />
* Fixed [[isElementInWater]] with unoccupied vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=1803<br />
* Allowed responsible element of [[kickPlayer]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1979<br />
* Allowed responsible element of [[banPlayer]]/[[addBan]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1980<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added optional type to [[aclListRights]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2036<br />
* Updated [[setVehicleColor]] and [[getVehicleColor]] to support RGB vehicle colors<br />
* Raised max player count to 65535 Details: http://code.google.com/p/mtasa-blue/source/detail?r=2118<br />
* Made [[onPlayerWeaponSwitch]] work Details: http://code.google.com/p/mtasa-blue/source/detail?r=2137<br />
* Rotation parameter in [[createPed]] now works Details: http://code.google.com/p/mtasa-blue/source/detail?r=2246<br />
* Added resources cataloges ([likethis]) Starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2716<br />
* [[split]] and [[gettok]] no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added bandwidth stats to performance browser Details: http://code.google.com/p/mtasa-blue/source/detail?r=2901<br />
* Added bandwidth reduction options Details: http://code.google.com/p/mtasa-blue/source/detail?r=3028<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
<br />
==Resources==<br />
* Removed set blur from admin due to it causing conflicts with other gamemodes<br />
* Fixed a variety of debug warnings and errors in resources<br />
* Players can no longer capture the vehicle in an enemy base in CTV gamemode<br />
* Fixed a problem in the maplimits resource causing performance problems over time<br />
* Added HTTP runcode interface<br />
* Changed resources structure to use the [catalog] system<br />
* Added RGB vehicle colors and headlight colors to freeroam<br />
* Upgraded from newly deprecated functions setPedFrozen and setVehicleFrozen<br />
* Make play resource give out new special skins<br />
* Removed redundant localPlayer defines as already predefined in 1.1<br />
* Encoded all resources in UTF-8<br />
* Added special skins to freeroam<br />
* Improved reliability of admin flags<br />
* Fixed stats reset after a respawn with default stats<br />
* Improved reliability of parachutes<br />
* Sped up map ratings resource<br />
* Improvements to performancebrowser resource<br />
* Fixed resourcebrowser display problems in IE<br />
* Made it easier to close the freeroam spawn selector<br />
* Fixed lag during startup of admin<br />
* Added normal dates to resourcemanager<br />
* Fixed lag caused by country flags<br />
<br />
==Map Editor==<br />
* Added a loading bar when loading a map is taking a long time<br />
* Added basic test mode to allow single players to test their map without starting test<br />
* Fixed object position and rotation not saving if selected during the save<br />
* Added trains to the Map Editor<br />
* Fixed some element attributes not cloning with clone element<br />
* Made map settings function in test mode<br />
* Added trailers to the Map Editor<br />
* Added various safety checks to saving and loading<br />
* Added option to clone world buildings<br />
* Fixed a bug when not being able to open maps</div>EAihttps://wiki.multitheftauto.com/index.php?title=Changes_in_1.1&diff=26833Changes in 1.12011-08-24T23:34:40Z<p>EAi: /* End-user features */</p>
<hr />
<div>This page lists all changes which may be relevant to scripters and end users. Any changes which were back ported to 1.0.x have not been listed here. If you know of any changes that need mentioning feel free to update the list as the original author of this page does not understand every commit made (he isn't a developer)<br />
<br />
==End-user features==<br />
'''Very incomplete list'''<br />
* Vehicle handling can be modified by servers<br />
* Custom fonts<br />
* Special skins<br />
* Improved server browser<br />
* GUI Skin switching<br />
<br />
==Client==<br />
<br />
===New Functions===<br />
* Added [[guiCreateComboBox]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxAddItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxRemoveItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[getPedMoveState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1842<br />
* Added [[getCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[setCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[resetTimer]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1876<br />
* Added [[getSoundMetaTags]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getSoundEffects]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[setSoundEffectEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[getTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[fileClose]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileCreate]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileDelete]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileExists]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileFlush]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileIsEOF]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileOpen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRead]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileSetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileWrite]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getResourceExportedFunctions]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1998<br />
* Added [[getCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[setCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[getPlayerSerial]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2052<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[guiSetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[guiGetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setElementID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2154<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setClipBoard]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2517<br />
* Added [[dxCreateTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateShader]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxSetShaderValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxSetRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxUpdateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxGetMaterialSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[guiCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[engineApplyShaderToModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineRemoveShaderFromModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineGetModelNameFromID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelIDFromName]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2848<br />
* Added [[detonateSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[engineApplyShaderToWorldTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2888<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2892<br />
* Added [[setAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[resetAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[setJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[dxGetStatus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
* Added [[dxSetTestMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
<br />
===New Events===<br />
* Added [[onClientDoubleClick]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1808<br />
* Added [[onClientGUIComboBoxAccepted]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1846<br />
* Added [[onClientSoundStream]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientSoundChangedMeta]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1898<br />
* Added [[onClientSoundFinishedDownload]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientVehicleExplode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1906<br />
* Added [[onClientGUIFocus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientGUIBlur]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onClientKey]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientCharacter]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientHUDRender]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2855<br />
* Added [[onClientMinimize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
* Added [[onClientRestore]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
<br />
===Changes===<br />
* Improved [[setPedAnimation]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1763<br />
* Added server join que Details: http://code.google.com/p/mtasa-blue/source/detail?r=1828<br />
* Made knife kills more balanced Details: http://code.google.com/p/mtasa-blue/source/detail?r=1839<br />
* Fixed water elements being affected by [[resetMapInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1863<br />
* Made [[onClientPlayerVehicleExit]] more reliable Details: http://code.google.com/p/mtasa-blue/source/detail?r=1877<br />
* Added BASS (allows stream files to be played) Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added synchronized traffic lights Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "crosshair" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2974<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added support for unicode text Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added RGB vehicle colors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2090<br />
* Synchronized vehicle doors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2110<br />
* Added localPlayer predefined variable Details: http://code.google.com/p/mtasa-blue/source/detail?r=2140<br />
* Made [[onClientPlayerWasted]] work for the local player Details: http://code.google.com/p/mtasa-blue/source/detail?r=2180<br />
* Added special skins to the game Details: http://wiki.multitheftauto.com/wiki/Special_Skins_Page<br />
* Added new main menu starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2280<br />
* Added GUI skin changer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2308<br />
* Added basic sync for objects Details: http://code.google.com/p/mtasa-blue/source/detail?r=2312<br />
* Made game loading when joining a server much quicker Details: http://code.google.com/p/mtasa-blue/source/detail?r=2325<br />
* Added new server browser starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2441<br />
* Renamed hud command to showhud Details: http://code.google.com/p/mtasa-blue/source/detail?r=2566<br />
* Added random name generator Details: http://code.google.com/p/mtasa-blue/source/detail?r=2582<br />
* Added custom handling to vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=2678<br />
* Increased the available streamer memory Details: http://code.google.com/p/mtasa-blue/source/detail?r=2740<br />
* Added shader element for [[dxDrawImage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2790<br />
* New message box images Details: http://code.google.com/p/mtasa-blue/source/detail?r=2793<br />
* split and gettok no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added world model info to [[processLineOfSight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2845<br />
* Added default buttons in settings Details: http://code.google.com/p/mtasa-blue/source/detail?r=2864<br />
* Disabled brown streak trailer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2880<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
* Added ability to add shaders to the game<br />
* Changed [[guiGridListSetItemData]] to support any datatype http://code.google.com/p/mtasa-blue/source/detail?r=2005<br />
* Added voice (microphone support) to the game http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
==Server==<br />
<br />
===New Functions===<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[areTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[refreshResources]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1994<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[getElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[setWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[getNetworkUsageData]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2322<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[detonatePlayerSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[setMaxPlayers]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2941<br />
* Added [[getServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[setServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[setPlayerVoiceIgnoreFrom]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3042<br />
* Added [[setPlayerVoiceBroadcastTo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
===New Events===<br />
* Added [[onPlayerMute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onPlayerUnmute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onSettingChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2097<br />
* Added [[onPlayerCommand]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2152<br />
* Added [[onAccountDataChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2516<br />
* Added [[onPlayerModInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2881<br />
<br />
===Changes===<br />
* Fixed [[isElementInWater]] with unoccupied vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=1803<br />
* Allowed responsible element of [[kickPlayer]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1979<br />
* Allowed responsible element of [[banPlayer]]/[[addBan]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1980<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added optional type to [[aclListRights]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2036<br />
* Updated [[setVehicleColor]] and [[getVehicleColor]] to support RGB vehicle colors<br />
* Raised max player count to 65535 Details: http://code.google.com/p/mtasa-blue/source/detail?r=2118<br />
* Made [[onPlayerWeaponSwitch]] work Details: http://code.google.com/p/mtasa-blue/source/detail?r=2137<br />
* Rotation parameter in [[createPed]] now works Details: http://code.google.com/p/mtasa-blue/source/detail?r=2246<br />
* Added resources cataloges ([likethis]) Starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2716<br />
* [[split]] and [[gettok]] no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added bandwidth stats to performance browser Details: http://code.google.com/p/mtasa-blue/source/detail?r=2901<br />
* Added bandwidth reduction options Details: http://code.google.com/p/mtasa-blue/source/detail?r=3028<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
<br />
==Resources==<br />
* Removed set blur from admin due to it causing conflicts with other gamemodes<br />
* Fixed a variety of debug warnings and errors in resources<br />
* Players can no longer capture the vehicle in an enemy base in CTV gamemode<br />
* Fixed a problem in the maplimits resource causing performance problems over time<br />
* Added HTTP runcode interface<br />
* Changed resources structure to use the [catalog] system<br />
* Added RGB vehicle colors and headlight colors to freeroam<br />
* Upgraded from newly deprecated functions setPedFrozen and setVehicleFrozen<br />
* Make play resource give out new special skins<br />
* Removed redundant localPlayer defines as already predefined in 1.1<br />
* Encoded all resources in UTF-8<br />
* Added special skins to freeroam<br />
* Improved reliability of admin flags<br />
* Fixed stats reset after a respawn with default stats<br />
* Improved reliability of parachutes<br />
* Sped up map ratings resource<br />
* Improvements to performancebrowser resource<br />
* Fixed resourcebrowser display problems in IE<br />
* Made it easier to close the freeroam spawn selector<br />
* Fixed lag during startup of admin<br />
* Added normal dates to resourcemanager<br />
* Fixed lag caused by country flags<br />
<br />
==Map Editor==<br />
* Added a loading bar when loading a map is taking a long time<br />
* Added basic test mode to allow single players to test their map without starting test<br />
* Fixed object position and rotation not saving if selected during the save<br />
* Added trains to the Map Editor<br />
* Fixed some element attributes not cloning with clone element<br />
* Made map settings function in test mode<br />
* Added trailers to the Map Editor<br />
* Added various safety checks to saving and loading<br />
* Added option to clone world buildings<br />
* Fixed a bug when not being able to open maps</div>EAihttps://wiki.multitheftauto.com/index.php?title=Changes_in_1.1&diff=26832Changes in 1.12011-08-24T23:34:23Z<p>EAi: </p>
<hr />
<div>This page lists all changes which may be relevant to scripters and end users. Any changes which were back ported to 1.0.x have not been listed here. If you know of any changes that need mentioning feel free to update the list as the original author of this page does not understand every commit made (he isn't a developer)<br />
<br />
==End-user features==<br />
''Very incomplete list'''<br />
* Vehicle handling can be modified by servers<br />
* Custom fonts<br />
* Special skins<br />
* Improved server browser<br />
* GUI Skin switching<br />
<br />
==Client==<br />
<br />
===New Functions===<br />
* Added [[guiCreateComboBox]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxAddItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxRemoveItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[getPedMoveState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1842<br />
* Added [[getCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[setCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[resetTimer]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1876<br />
* Added [[getSoundMetaTags]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getSoundEffects]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[setSoundEffectEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[getTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[fileClose]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileCreate]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileDelete]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileExists]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileFlush]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileIsEOF]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileOpen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRead]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileSetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileWrite]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getResourceExportedFunctions]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1998<br />
* Added [[getCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[setCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[getPlayerSerial]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2052<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[guiSetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[guiGetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setElementID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2154<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setClipBoard]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2517<br />
* Added [[dxCreateTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateShader]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxSetShaderValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxSetRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxUpdateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxGetMaterialSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[guiCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[engineApplyShaderToModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineRemoveShaderFromModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineGetModelNameFromID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelIDFromName]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2848<br />
* Added [[detonateSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[engineApplyShaderToWorldTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2888<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2892<br />
* Added [[setAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[resetAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[setJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[dxGetStatus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
* Added [[dxSetTestMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
<br />
===New Events===<br />
* Added [[onClientDoubleClick]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1808<br />
* Added [[onClientGUIComboBoxAccepted]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1846<br />
* Added [[onClientSoundStream]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientSoundChangedMeta]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1898<br />
* Added [[onClientSoundFinishedDownload]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientVehicleExplode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1906<br />
* Added [[onClientGUIFocus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientGUIBlur]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onClientKey]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientCharacter]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientHUDRender]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2855<br />
* Added [[onClientMinimize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
* Added [[onClientRestore]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
<br />
===Changes===<br />
* Improved [[setPedAnimation]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1763<br />
* Added server join que Details: http://code.google.com/p/mtasa-blue/source/detail?r=1828<br />
* Made knife kills more balanced Details: http://code.google.com/p/mtasa-blue/source/detail?r=1839<br />
* Fixed water elements being affected by [[resetMapInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1863<br />
* Made [[onClientPlayerVehicleExit]] more reliable Details: http://code.google.com/p/mtasa-blue/source/detail?r=1877<br />
* Added BASS (allows stream files to be played) Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added synchronized traffic lights Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "crosshair" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2974<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added support for unicode text Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added RGB vehicle colors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2090<br />
* Synchronized vehicle doors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2110<br />
* Added localPlayer predefined variable Details: http://code.google.com/p/mtasa-blue/source/detail?r=2140<br />
* Made [[onClientPlayerWasted]] work for the local player Details: http://code.google.com/p/mtasa-blue/source/detail?r=2180<br />
* Added special skins to the game Details: http://wiki.multitheftauto.com/wiki/Special_Skins_Page<br />
* Added new main menu starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2280<br />
* Added GUI skin changer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2308<br />
* Added basic sync for objects Details: http://code.google.com/p/mtasa-blue/source/detail?r=2312<br />
* Made game loading when joining a server much quicker Details: http://code.google.com/p/mtasa-blue/source/detail?r=2325<br />
* Added new server browser starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2441<br />
* Renamed hud command to showhud Details: http://code.google.com/p/mtasa-blue/source/detail?r=2566<br />
* Added random name generator Details: http://code.google.com/p/mtasa-blue/source/detail?r=2582<br />
* Added custom handling to vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=2678<br />
* Increased the available streamer memory Details: http://code.google.com/p/mtasa-blue/source/detail?r=2740<br />
* Added shader element for [[dxDrawImage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2790<br />
* New message box images Details: http://code.google.com/p/mtasa-blue/source/detail?r=2793<br />
* split and gettok no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added world model info to [[processLineOfSight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2845<br />
* Added default buttons in settings Details: http://code.google.com/p/mtasa-blue/source/detail?r=2864<br />
* Disabled brown streak trailer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2880<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
* Added ability to add shaders to the game<br />
* Changed [[guiGridListSetItemData]] to support any datatype http://code.google.com/p/mtasa-blue/source/detail?r=2005<br />
* Added voice (microphone support) to the game http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
==Server==<br />
<br />
===New Functions===<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[areTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[refreshResources]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1994<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[getElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[setWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[getNetworkUsageData]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2322<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[detonatePlayerSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[setMaxPlayers]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2941<br />
* Added [[getServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[setServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[setPlayerVoiceIgnoreFrom]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3042<br />
* Added [[setPlayerVoiceBroadcastTo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
===New Events===<br />
* Added [[onPlayerMute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onPlayerUnmute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onSettingChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2097<br />
* Added [[onPlayerCommand]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2152<br />
* Added [[onAccountDataChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2516<br />
* Added [[onPlayerModInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2881<br />
<br />
===Changes===<br />
* Fixed [[isElementInWater]] with unoccupied vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=1803<br />
* Allowed responsible element of [[kickPlayer]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1979<br />
* Allowed responsible element of [[banPlayer]]/[[addBan]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1980<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added optional type to [[aclListRights]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2036<br />
* Updated [[setVehicleColor]] and [[getVehicleColor]] to support RGB vehicle colors<br />
* Raised max player count to 65535 Details: http://code.google.com/p/mtasa-blue/source/detail?r=2118<br />
* Made [[onPlayerWeaponSwitch]] work Details: http://code.google.com/p/mtasa-blue/source/detail?r=2137<br />
* Rotation parameter in [[createPed]] now works Details: http://code.google.com/p/mtasa-blue/source/detail?r=2246<br />
* Added resources cataloges ([likethis]) Starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2716<br />
* [[split]] and [[gettok]] no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added bandwidth stats to performance browser Details: http://code.google.com/p/mtasa-blue/source/detail?r=2901<br />
* Added bandwidth reduction options Details: http://code.google.com/p/mtasa-blue/source/detail?r=3028<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
<br />
==Resources==<br />
* Removed set blur from admin due to it causing conflicts with other gamemodes<br />
* Fixed a variety of debug warnings and errors in resources<br />
* Players can no longer capture the vehicle in an enemy base in CTV gamemode<br />
* Fixed a problem in the maplimits resource causing performance problems over time<br />
* Added HTTP runcode interface<br />
* Changed resources structure to use the [catalog] system<br />
* Added RGB vehicle colors and headlight colors to freeroam<br />
* Upgraded from newly deprecated functions setPedFrozen and setVehicleFrozen<br />
* Make play resource give out new special skins<br />
* Removed redundant localPlayer defines as already predefined in 1.1<br />
* Encoded all resources in UTF-8<br />
* Added special skins to freeroam<br />
* Improved reliability of admin flags<br />
* Fixed stats reset after a respawn with default stats<br />
* Improved reliability of parachutes<br />
* Sped up map ratings resource<br />
* Improvements to performancebrowser resource<br />
* Fixed resourcebrowser display problems in IE<br />
* Made it easier to close the freeroam spawn selector<br />
* Fixed lag during startup of admin<br />
* Added normal dates to resourcemanager<br />
* Fixed lag caused by country flags<br />
<br />
==Map Editor==<br />
* Added a loading bar when loading a map is taking a long time<br />
* Added basic test mode to allow single players to test their map without starting test<br />
* Fixed object position and rotation not saving if selected during the save<br />
* Added trains to the Map Editor<br />
* Fixed some element attributes not cloning with clone element<br />
* Made map settings function in test mode<br />
* Added trailers to the Map Editor<br />
* Added various safety checks to saving and loading<br />
* Added option to clone world buildings<br />
* Fixed a bug when not being able to open maps</div>EAihttps://wiki.multitheftauto.com/index.php?title=Changes_in_1.1&diff=26831Changes in 1.12011-08-24T23:33:54Z<p>EAi: </p>
<hr />
<div>This page lists all changes which may be relevant to scripters and end users. Any changes which were back ported to 1.0.x have not been listed here. If you know of any changes that need mentioning feel free to update the list as the original author of this page does not understand every commit made (he isn't a developer)<br />
<br />
==End-user features==<br />
**Very incomplete list!**<br />
* Vehicle handling can be modified by servers<br />
* Custom fonts<br />
* Special skins<br />
* Improved server browser<br />
* GUI Skin switching<br />
<br />
==Client==<br />
<br />
===New Functions===<br />
* Added [[guiCreateComboBox]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxAddItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetItemText]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxRemoveItem]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxGetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[guiComboBoxSetSelected]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1815<br />
* Added [[getPedMoveState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1842<br />
* Added [[getCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[setCameraViewMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1861<br />
* Added [[resetTimer]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1876<br />
* Added [[getSoundMetaTags]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getSoundEffects]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[setSoundEffectEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[getTrafficLightState]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[fileClose]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileCreate]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileDelete]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileExists]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileFlush]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileGetSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileIsEOF]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileOpen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRead]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileSetPos]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileWrite]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1975<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getResourceExportedFunctions]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1998<br />
* Added [[getCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[setCameraGoggleEffect]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2032<br />
* Added [[getPlayerSerial]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2052<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2072<br />
* Added [[guiSetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[guiGetInputMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2100<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2103<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2104<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2134<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2135<br />
* Added [[setElementID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2154<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setClipBoard]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2517<br />
* Added [[dxCreateTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateShader]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxSetShaderValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2796<br />
* Added [[dxCreateRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxSetRenderTarget]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxUpdateScreenSource]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxGetMaterialSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2797<br />
* Added [[dxCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[guiCreateFont]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2814<br />
* Added [[engineApplyShaderToModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineRemoveShaderFromModel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2828<br />
* Added [[engineGetModelNameFromID]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelIDFromName]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2843<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2848<br />
* Added [[detonateSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[engineApplyShaderToWorldTexture]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2888<br />
* Added [[engineGetModelTextureNames]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2892<br />
* Added [[setAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[resetAmbientSoundEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2905<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[setJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[dxGetStatus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
* Added [[dxSetTestMode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3041<br />
<br />
===New Events===<br />
* Added [[onClientDoubleClick]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1808<br />
* Added [[onClientGUIComboBoxAccepted]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1846<br />
* Added [[onClientSoundStream]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientSoundChangedMeta]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1898<br />
* Added [[onClientSoundFinishedDownload]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added [[onClientVehicleExplode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1906<br />
* Added [[onClientGUIFocus]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientGUIBlur]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2075<br />
* Added [[onClientDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onClientKey]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientCharacter]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2480<br />
* Added [[onClientHUDRender]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2855<br />
* Added [[onClientMinimize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
* Added [[onClientRestore]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2945<br />
<br />
===Changes===<br />
* Improved [[setPedAnimation]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1763<br />
* Added server join que Details: http://code.google.com/p/mtasa-blue/source/detail?r=1828<br />
* Made knife kills more balanced Details: http://code.google.com/p/mtasa-blue/source/detail?r=1839<br />
* Fixed water elements being affected by [[resetMapInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1863<br />
* Made [[onClientPlayerVehicleExit]] more reliable Details: http://code.google.com/p/mtasa-blue/source/detail?r=1877<br />
* Added BASS (allows stream files to be played) Details: http://code.google.com/p/mtasa-blue/source/detail?r=1755<br />
* Added synchronized traffic lights Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "crosshair" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2974<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added support for unicode text Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added RGB vehicle colors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2090<br />
* Synchronized vehicle doors Details: http://code.google.com/p/mtasa-blue/source/detail?r=2110<br />
* Added localPlayer predefined variable Details: http://code.google.com/p/mtasa-blue/source/detail?r=2140<br />
* Made [[onClientPlayerWasted]] work for the local player Details: http://code.google.com/p/mtasa-blue/source/detail?r=2180<br />
* Added special skins to the game Details: http://wiki.multitheftauto.com/wiki/Special_Skins_Page<br />
* Added new main menu starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2280<br />
* Added GUI skin changer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2308<br />
* Added basic sync for objects Details: http://code.google.com/p/mtasa-blue/source/detail?r=2312<br />
* Made game loading when joining a server much quicker Details: http://code.google.com/p/mtasa-blue/source/detail?r=2325<br />
* Added new server browser starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2441<br />
* Renamed hud command to showhud Details: http://code.google.com/p/mtasa-blue/source/detail?r=2566<br />
* Added random name generator Details: http://code.google.com/p/mtasa-blue/source/detail?r=2582<br />
* Added custom handling to vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=2678<br />
* Increased the available streamer memory Details: http://code.google.com/p/mtasa-blue/source/detail?r=2740<br />
* Added shader element for [[dxDrawImage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2790<br />
* New message box images Details: http://code.google.com/p/mtasa-blue/source/detail?r=2793<br />
* split and gettok no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added world model info to [[processLineOfSight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2845<br />
* Added default buttons in settings Details: http://code.google.com/p/mtasa-blue/source/detail?r=2864<br />
* Disabled brown streak trailer Details: http://code.google.com/p/mtasa-blue/source/detail?r=2880<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
* Added ability to add shaders to the game<br />
* Changed [[guiGridListSetItemData]] to support any datatype http://code.google.com/p/mtasa-blue/source/detail?r=2005<br />
* Added voice (microphone support) to the game http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
==Server==<br />
<br />
===New Functions===<br />
* Added [[getElementAttachedOffsets]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1899<br />
* Added [[setTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[areTrafficLightsLocked]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1836<br />
* Added [[utfChar]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfCode]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfLen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSeek]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[utfSub]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1944<br />
* Added [[refreshResources]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1994<br />
* Added [[setVehicleTurretPosition]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1996<br />
* Added [[getObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setObjectScale]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2029<br />
* Added [[setElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[getElementCollisionsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2030<br />
* Added [[setWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getWaterColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2092<br />
* Added [[getSkyGradient]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2093<br />
* Added [[setElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[isElementFrozen]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2096<br />
* Added [[getEasingValue]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[interpolateBetween]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2122<br />
* Added [[getBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[setBlipVisibleDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2248<br />
* Added [[getNetworkUsageData]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2322<br />
* Added [[setVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getVehicleDoorOpenRatio]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2329<br />
* Added [[getHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[setHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[resetHeatHaze]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2349<br />
* Added [[getInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setInteriorSoundsEnabled]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetRainLevel]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunSize]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetSunColor]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetWindVelocity]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFarClipDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[getFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[setFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[resetFogDistance]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2449<br />
* Added [[fileRename]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2611<br />
* Added [[detonatePlayerSatchels]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2857<br />
* Added [[setMaxPlayers]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2941<br />
* Added [[getServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[setServerConfigSetting]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2971<br />
* Added [[getJetpackMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2084<br />
* Added [[getAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[setAircraftMaxHeight]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2975<br />
* Added [[getNetworkStats]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2979<br />
* Added [[setPedAnimationProgress]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3002<br />
* Added [[setPlayerVoiceIgnoreFrom]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3042<br />
* Added [[setPlayerVoiceBroadcastTo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=3000<br />
<br />
===New Events===<br />
* Added [[onPlayerMute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onPlayerUnmute]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1978<br />
* Added [[onDebugMessage]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2091<br />
* Added [[onSettingChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2097<br />
* Added [[onPlayerCommand]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2152<br />
* Added [[onAccountDataChange]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2516<br />
* Added [[onPlayerModInfo]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2881<br />
<br />
===Changes===<br />
* Fixed [[isElementInWater]] with unoccupied vehicles Details: http://code.google.com/p/mtasa-blue/source/detail?r=1803<br />
* Allowed responsible element of [[kickPlayer]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1979<br />
* Allowed responsible element of [[banPlayer]]/[[addBan]] be a string Details: http://code.google.com/p/mtasa-blue/source/detail?r=1980<br />
* Added "all" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=1912<br />
* Added "radio" and "wanted" to [[showPlayerHudComponent]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2027<br />
* Added optional type to [[aclListRights]] Details: http://code.google.com/p/mtasa-blue/source/detail?r=2036<br />
* Updated [[setVehicleColor]] and [[getVehicleColor]] to support RGB vehicle colors<br />
* Raised max player count to 65535 Details: http://code.google.com/p/mtasa-blue/source/detail?r=2118<br />
* Made [[onPlayerWeaponSwitch]] work Details: http://code.google.com/p/mtasa-blue/source/detail?r=2137<br />
* Rotation parameter in [[createPed]] now works Details: http://code.google.com/p/mtasa-blue/source/detail?r=2246<br />
* Added resources cataloges ([likethis]) Starting at: http://code.google.com/p/mtasa-blue/source/detail?r=2716<br />
* [[split]] and [[gettok]] no longer require string.byte Details: http://code.google.com/p/mtasa-blue/source/detail?r=2808<br />
* Added bandwidth stats to performance browser Details: http://code.google.com/p/mtasa-blue/source/detail?r=2901<br />
* Added bandwidth reduction options Details: http://code.google.com/p/mtasa-blue/source/detail?r=3028<br />
* Large amount of crash fixes, bug fixes and optimizations<br />
<br />
==Resources==<br />
* Removed set blur from admin due to it causing conflicts with other gamemodes<br />
* Fixed a variety of debug warnings and errors in resources<br />
* Players can no longer capture the vehicle in an enemy base in CTV gamemode<br />
* Fixed a problem in the maplimits resource causing performance problems over time<br />
* Added HTTP runcode interface<br />
* Changed resources structure to use the [catalog] system<br />
* Added RGB vehicle colors and headlight colors to freeroam<br />
* Upgraded from newly deprecated functions setPedFrozen and setVehicleFrozen<br />
* Make play resource give out new special skins<br />
* Removed redundant localPlayer defines as already predefined in 1.1<br />
* Encoded all resources in UTF-8<br />
* Added special skins to freeroam<br />
* Improved reliability of admin flags<br />
* Fixed stats reset after a respawn with default stats<br />
* Improved reliability of parachutes<br />
* Sped up map ratings resource<br />
* Improvements to performancebrowser resource<br />
* Fixed resourcebrowser display problems in IE<br />
* Made it easier to close the freeroam spawn selector<br />
* Fixed lag during startup of admin<br />
* Added normal dates to resourcemanager<br />
* Fixed lag caused by country flags<br />
<br />
==Map Editor==<br />
* Added a loading bar when loading a map is taking a long time<br />
* Added basic test mode to allow single players to test their map without starting test<br />
* Fixed object position and rotation not saving if selected during the save<br />
* Added trains to the Map Editor<br />
* Fixed some element attributes not cloning with clone element<br />
* Made map settings function in test mode<br />
* Added trailers to the Map Editor<br />
* Added various safety checks to saving and loading<br />
* Added option to clone world buildings<br />
* Fixed a bug when not being able to open maps</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetElementRadius&diff=26591GetElementRadius2011-08-04T14:01:37Z<p>EAi: </p>
<hr />
<div>{{Client function}}<br />
__NOTOC__<br />
This function gets the radius from a element. Depending on the shape of the element this may be an accurate or very inaccurate way to detect if the player is near or within the element. <br />
<br />
<!-- This could really do with saying what elements it affects, and what you'd expect to get back from them --><br />
[[Category:Incomplete]] <!-- Do not remove unless you finish the documentation. --><br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
float getElementRadius ( element theElement )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''theElement:''' The element.<br />
<br />
===Returns===<br />
Returns ''float'' as radius, ''false'' otherwise.<br />
<br />
==Example== <br />
This example shows how to get the radius of a player<br />
<syntaxhighlight lang="lua"><br />
function myCommandHandler(command)<br />
local myradius = getElementRadius ( getLocalPlayer() )<br />
if (myradius) then<br />
outputChatBox("Radius of my player is: " .. myradius)<br />
else<br />
outputChatBox("Error")<br />
end <br />
end<br />
<br />
addCommandHandler("getmyradius", myCommandHandler)<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Client element functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetElementRadius&diff=26590GetElementRadius2011-08-04T14:01:26Z<p>EAi: </p>
<hr />
<div>{{Client function}}<br />
__NOTOC__<br />
This function gets the radius from a element. Depending on the shape of the element this may be an accurate or very inaccurate way to detect if the player is near or within the object. <br />
<br />
<!-- This could really do with saying what elements it affects, and what you'd expect to get back from them --><br />
[[Category:Incomplete]] <!-- Do not remove unless you finish the documentation. --><br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
float getElementRadius ( element theElement )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''theElement:''' The element.<br />
<br />
===Returns===<br />
Returns ''float'' as radius, ''false'' otherwise.<br />
<br />
==Example== <br />
This example shows how to get the radius of a player<br />
<syntaxhighlight lang="lua"><br />
function myCommandHandler(command)<br />
local myradius = getElementRadius ( getLocalPlayer() )<br />
if (myradius) then<br />
outputChatBox("Radius of my player is: " .. myradius)<br />
else<br />
outputChatBox("Error")<br />
end <br />
end<br />
<br />
addCommandHandler("getmyradius", myCommandHandler)<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Client element functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=DetonateSatchels&diff=26309DetonateSatchels2011-07-07T23:13:19Z<p>EAi: </p>
<hr />
<div>{{Server client function}}<br />
__NOTOC__<br />
This function can be used to detonate a players satchels.<br />
<br />
This function is available from version 1.1 onwards.<br />
<br />
==Syntax==<br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
bool detonateSatchels ( )<br />
</syntaxhighlight><br />
</section><br />
<br />
<section name="Server" class="server" show="true"><br />
<syntaxhighlight lang="lua"><br />
bool detonateSatchels ( element Player )<br />
</syntaxhighlight><br />
</section><br />
<br />
==Returns==<br />
Returns true if successful, false otherwise.<br />
<br />
==Example==<br />
The below example allows a player to detonate any of their placed satchels via the command /blowsatchels<br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
function blowMySatchels()<br />
detonateSatchels()<br />
outputChatBox("Satchels blown!", 0, 255, 0)<br />
end<br />
addCommandHandler("blowsatchels", blowMySatchels)<br />
</syntaxhighlight><br />
</section></div>EAihttps://wiki.multitheftauto.com/index.php?title=Vehicle_IDs&diff=26125Vehicle IDs2011-06-23T01:23:17Z<p>EAi: </p>
<hr />
<div>==Introduction==<br />
This is a list of GTA:SA's vehicle ID numbers, as listed in the vehicles.ide file. These vehicle ID numbers are used for several vehicle scripting functions.<br />
<br />
Lua table of all the valid vehicle IDs listed on this page:<br />
<syntaxhighlight lang="lua">vehicleIDS = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585,<br />
405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460,<br />
417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431, <br />
438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524, <br />
423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534, <br />
567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 570, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500, <br />
444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458, <br />
606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 }</syntaxhighlight><br />
<br />
Lua table of vehicles that are not lockable:<br />
<syntaxhighlight lang="lua">notLockableVehicles = {594, 606, 607, 611, 584, 608, 435, 450, 591, 539, 441, 464, 501, 465, 564, 472, 473, 493, 595, 484, 430, <br />
453, 452, 446, 454, 581, 509, 481, 462, 521, 463, 510, 522, 461, 448, 468, 586, 425, 520}</syntaxhighlight><br />
Lua table of vehicles without number plates:<br />
<syntaxhighlight lang="lua">noNumberPlates = { 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460, 417, 469, 487, 513, 509, 481, <br />
510, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }</syntaxhighlight><br />
<br />
==2-Door and Compact cars==<br />
<table border="1" class="unnamed1"><br />
<tr><th>Name</th><th>ID</th><td></td><th>Name</th><th>ID</th></tr><tr><td>Alpha</td><td>602</td><td></td><td>Hustler</td><td>545</td></tr><tr><td>Blista Compact</td><td>496</td><td> </td><td>Majestic</td><td>517</td></tr><tr><td>Bravura</td><td>401</td><td> </td><td>Manana</td><td>410</td></tr><tr><td>Buccaneer</td><td>518</td><td> </td><td>Picador</td><td>600</td></tr><tr><td>Cadrona</td><td>527</td><td> </td><td>Previon</td><td>436</td></tr><tr><td>Club</td><td>589</td><td> </td><td>Stafford</td><td>580</td></tr><tr><td>Esperanto</td><td>419</td><td> </td><td>Stallion</td><td>439</td></tr><tr><td>Feltzer</td><td>533</td><td> </td><td>Tampa</td><td>549</td></tr><tr><td>Fortune</td><td>526</td><td> </td><td>Virgo</td><td>491</td></tr><tr><td>Hermes</td><td>474</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
== 4-Door and Luxury cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Admiral</td><td>445</td><td> </td><td>Oceanic</td><td>467</td></tr><tr><td>Damaged Glendale</td><td>604</td><td> </td><td>Premier</td><td>426</td></tr><tr><td>Elegant</td><td>507</td><td> </td><td>Primo</td><td>547</td></tr><tr><td>Emperor</td><td>585</td><td> </td><td>Sentinel</td><td>405</td></tr><tr><td>Euros</td><td>587</td><td> </td><td>Stretch</td><td>409</td></tr><tr><td>Glendale</td><td>466</td><td> </td><td>Sunrise</td><td>550</td></tr><tr><td>Greenwood</td><td>492</td><td> </td><td>Tahoma</td><td>566</td></tr><tr><td>Intruder</td><td>546</td><td> </td><td>Vincent</td><td>540</td></tr><tr><td>Merit</td><td>551</td><td> </td><td>Washington</td><td>421</td></tr><tr><td>Nebula</td><td>516</td><td> </td><td>Willard</td><td>529</td></tr></table><br />
<br />
==Aircraft==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th><br />
Name</th><th>ID</th></tr><tr><td>Andromada</td><td>592</td><td> </td><td><br />
Nevada</td><td>553</td></tr><tr><td>AT-400</td><td>577</td><td> </td><td><br />
<br />
News Chopper</td><td>488</td></tr><tr><td>Beagle</td><td>511</td><td> </td><td><br />
Police Maverick</td><td>497</td></tr><tr><td>Cargobob</td><td>548</td><td> </td><td><br />
Raindance</td><td>563</td></tr><tr><td>Cropduster</td><td>512</td><td> </td><td><br />
<br />
Rustler</td><td>476</td></tr><tr><td>Dodo</td><td>593</td><td> </td><td><br />
Seasparrow</td><td>447</td></tr><tr><td>Hunter</td><td>425</td><td> </td><td><br />
Shamal</td><td>519</td></tr><tr><td>Hydra</td><td>520</td><td> </td><td><br />
<br />
Skimmer</td><td>460</td></tr><tr><td>Leviathan</td><td>417</td><td> </td><td><br />
Sparrow</td><td>469</td></tr><tr><td>Maverick</td><td>487</td><td> </td><td><br />
Stuntplane</td><td>513</td></tr></table><br />
<br />
==Bikes==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>BF-400</td><td>581</td><td> </td><td>Mountain Bike</td><td>510</td></tr><tr><td>Bike</td><td>509</td><td> </td><td>NRG-500</td><td>522</td> </tr><tr><td>BMX</td><td>481</td><td> </td><td>PCJ-600</td><td>461</td></tr><tr><td>Faggio</td><td>462</td><td> </td><td>Pizza Boy</td><td>448</td></tr><tr><td>FCR-900</td><td>521</td><td> </td><td>Sanchez</td><td> 468</td></tr><tr><td>Freeway</td><td>463</td><td> </td><td>Wayfarer</td><td>586</td></tr></table><br />
<br />
==Boats==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Coastguard</td><td>472</td></tr><tr><td>Dinghy</td><td>473</td></tr><tr><td>Jetmax</td><td>493</td></tr><tr><td>Launch</td><td>595</td></tr><tr><td>Marquis</td><td>484</td></tr><tr><td>Predator</td><td>430</td></tr><tr><td>Reefer</td><td>453</td></tr><tr><td>Speeder</td><td>452</td></tr><tr><td>Squalo</td><td>446</td></tr><tr><td>Tropic</td><td>454</td></tr></table><br />
<br />
==Civil Servant / Public Transportation (Road Vehicles)==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><br />
<tr><td>Baggage</td><td>485</td></tr><br />
<tr><td>Utility Van</td><td>552</td></tr><br />
<tr><td>Bus</td><td>431</td></tr><br />
<tr><td>Cabbie</td><td>438</td></tr><br />
<tr><td>Coach</td><td>437</td></tr><br />
<tr><td>Sweeper</td><td>574</td></tr><br />
<tr><td>Taxi</td><td>420</td></tr><br />
<tr><td>Towtruck</td><td>525</td></tr><br />
<tr><td>Trashmaster</td><td>408</td></tr></table><br />
<br />
==Government Vehicles==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Ambulance</td><td>416</td><td> </td><td>Police Car (Los Santos)</td><td>596</td></tr><tr><td>Barracks</td><td>433</td><td> </td><td>Police Car (San Fierro)</td><td>597</td></tr><tr><td>Enforcer</td><td>427</td><td> </td><td>Police Ranger</td><td>599</td></tr><tr><td>FBI Rancher</td><td>490</td><td> </td><td>Rhino</td><td>432</td></tr><tr><td>FBI Truck</td><td>528</td><td> </td><td>S.W.A.T.</td><td>601</td></tr><tr><td>Fire Truck</td><td>407</td><td> </td><td>Securicar</td><td>428</td></tr><tr><td>Fire Truck (Ladder)</td><td>544</td><td> </td><td> </td><td> </td></tr><tr><td>HPV1000</td><td>523</td><td> </td><td> </td><td> </td></tr><tr><td>Patriot</td><td>470</td><td> </td><td> </td><td> </td></tr><tr><td>Police Car (Las Venturas)</td><td>598</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Heavy and Utility Trucks==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Benson</td><td>499</td><td> </td><td>Hotdog</td><td>588</td></tr><tr><td>Black Boxville</td><td>609</td><td> </td><td>Linerunner</td><td>403</td></tr><tr><td>Boxville</td><td>498</td><td> </td><td>Linerunner (From "Tanker Commando")</td><td>514</td></tr><tr><td>Cement Truck</td><td>524</td><td> </td><td>Mr. Whoopee</td><td>423</td></tr><tr><td>Combine Harvester</td><td>532</td><td> </td><td>Mule</td><td>414</td></tr><tr><td>DFT-30</td><td>578</td><td> </td><td>Packer</td><td>443</td></tr><tr><td>Dozer</td><td>486</td><td> </td><td>Roadtrain</td><td>515</td></tr><tr><td>Dumper</td><td>406</td><td> </td><td>Tractor</td><td>531</td></tr><tr><td>Dune</td><td>573</td><td> </td><td>Yankee</td><td>456</td></tr><tr><td>Flatbed</td><td>455</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Light Trucks and Vans==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Berkley's RC Van</td><td>459</td><td> </td><td>Sadler</td><td>543</td></tr><tr><td>Bobcat</td><td>422</td><td> </td><td>Tug</td><td>583</td></tr><tr><td>Burrito</td><td>482</td><td> </td><td>Walton</td><td>478</td></tr><tr><td>Damaged Sadler</td><td>605</td><td> </td><td>Yosemite</td><td>554</td></tr><tr><td>Forklift</td><td>530</td><td> </td><td> </td><td> </td></tr><tr><td>Moonbeam</td><td>418</td><td> </td><td> </td><td> </td></tr><tr><td>Mower</td><td>572</td><td> </td><td> </td><td> </td></tr><tr><td>News Van</td><td>582</td><td> </td><td> </td><td> </td></tr><tr><td>Pony</td><td>413</td><td> </td><td> </td><td> </td></tr><tr><td>Rumpo</td><td>440</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Lowriders==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Blade</td><td>536</td></tr><tr><td>Broadway</td><td>575</td></tr><tr><td>Remington</td><td>534</td></tr><tr><td>Savanna</td><td>567</td></tr><tr><td>Slamvan</td><td>535</td></tr><tr><td>Tornado</td><td>576</td></tr><tr><td>Voodoo</td><td>412</td></tr></table><br />
<br />
==Muscle Cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Buffalo</td><td>402</td></tr><tr><td>Clover</td><td>542</td></tr><tr><td>Phoenix</td><td>603</td></tr><tr><td>Sabre</td><td>475</td></tr></table><br />
<br />
==Trains and Railroad Cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><br />
<tr><td>Tram</td><td>449</td></tr><br />
<tr><td>Freight</td><td>537</td></tr><br />
<tr><td>Brown Streak</td><td>538</td></tr><br />
<tr><td>Brown Streak Carriage</td><td>570</td></tr><br />
<tr><td>Flat Freight</td><td>569</td></tr><br />
<tr><td>Box Freight</td><td>590</td></tr></table><br />
<br />
==RC Vehicles==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>RC Bandit</td><td>441</td></tr><tr><td>RC Baron</td><td>464</td></tr><tr><td>RC Goblin</td><td>501</td></tr><tr><td>RC Raider</td><td>465</td></tr><tr><td>RC Tiger</td><td>564</td></tr></table><br />
<br />
==Recreational==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Bandito</td><td>568</td><td> </td><td>Monster 3</td><td>557</td></tr><tr><td>BF Injection</td><td>424</td><td> </td><td>Quadbike</td><td>471</td></tr><tr><td>Bloodring Banger</td><td>504</td><td> </td><td>Sandking</td><td>495</td></tr><tr><td>Caddy</td><td>457</td><td> </td><td>Vortex</td><td>539</td></tr><tr><td>Camper</td><td>483</td><td> </td><td> </td><td> </td></tr><tr><td>Journey</td><td>508</td><td> </td><td> </td><td> </td></tr><tr><td>Kart</td><td>571</td><td> </td><td> </td><td> </td></tr><tr><td>Mesa</td><td>500</td><td> </td><td> </td><td> </td></tr><tr><td>Monster</td><td>444</td><td> </td><td> </td><td> </td></tr><tr><td>Monster 2</td><td>556</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Street Racers==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Banshee</td><td>429</td><td> </td><td>Infernus</td><td>411</td></tr><tr><td>Bullet</td><td>541</td><td> </td><td>Jester</td><td>559</td></tr><tr><td>Cheetah</td><td>415</td><td> </td><td>Stratum</td><td>561</td></tr><tr><td>Comet</td><td>480</td><td> </td><td>Sultan</td><td>560</td></tr><tr><td>Elegy</td><td>562</td><td> </td><td>Super GT</td><td>506</td></tr><tr><td>Flash</td><td>565</td><td> </td><td>Turismo</td><td>451</td></tr><tr><td>Hotknife</td><td>434</td><td> </td><td>Uranus</td><td>558</td></tr><tr><td>Hotring Racer</td><td>494</td><td> </td><td>Windsor</td><td>555</td></tr><tr><td>Hotring Racer 2</td><td>502</td><td> </td><td>ZR-350</td><td>477</td></tr><tr><td>Hotring Racer 3</td><td>503</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==SUVs and Wagons==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Huntley</td><td>579</td></tr><tr><td>Landstalker</td><td>400</td></tr><tr><td>Perennial</td><td>404</td></tr><tr><td>Rancher</td><td>489</td></tr><tr><td>Rancher (From "Lure")</td><td>505</td></tr><tr><td>Regina</td><td>479</td></tr><tr><td>Romero</td><td>442</td></tr><tr><td>Solair</td><td>458</td></tr></table><br />
<br />
==Trailers==<br />
<table border="1" class="unnamed1"><tr><th width="218">Name</th><th width="24">ID</th></tr><tr><td>Baggage Trailer (covered)</td><td>606</td></tr><tr><td>Baggage Trailer (Uncovered)</td><td>607</td></tr><tr><td>Farm Trailer</td><td>610</td></tr><tr></tr><tr></tr><tr><td>"Street Clean" Trailer</td><td>611</td></tr><tr><td>Trailer (From "Tanker Commando")(*PRONE TO CRASHES*)</td><td>584</td></tr><tr><td>Trailer (Stairs)</td><td>608</td></tr><tr><td>Trailer 1</td><td>435</td></tr><tr><td>Trailer 2</td><td>450</td></tr><tr><td>Trailer 3</td><td>591</td></tr></table><br />
<br />
==Misc==<br />
<table border="1" class="unnamed1"><tr><th width="218">Name</th><th width="24">ID</th></tr><tr><td>RC Cam (flower pot)</td><td>594</td></table><br />
<br><br />
<br />
==See Also==<br />
[[id|ID Lists]]<br />
[[it:ID Veicoli]]<br />
[[ru:Vehicle IDs]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=Vehicle_IDs&diff=26124Vehicle IDs2011-06-23T01:23:00Z<p>EAi: </p>
<hr />
<div>==Introduction==<br />
This is a list of GTA:SA's vehicle ID numbers, as listed in the vehicles.ide file. These vehicle ID numbers are used for several vehicle scripting functions.<br />
<br />
Lua table of all the valid vehicle IDs listed on this page:<br />
<syntaxhighlight lang="lua">vehicleIDS = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585,<br />
405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460,<br />
417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431, <br />
438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524, <br />
423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534, <br />
567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 570, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500, <br />
444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458, <br />
606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 }</syntaxhighlight><br />
<br />
Lua table of vehicles that are not lockable:<br />
<syntaxhighlight lang="lua">notLockableVehicles = {594, 606, 607, 611, 584, 608, 435, 450, 591, 539, 441, 464, 501, 465, 564, 472, 473, 493, 595, 484, 430,<br />
453, 452, 446, 454, 581, 509, 481, 462, 521, 463, 510, 522, 461, 448, 468, 586, 425, 520}</syntaxhighlight><br />
Lua table of vehicles without number plates:<br />
<syntaxhighlight lang="lua">noNumberPlates = { 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460, 417, 469, 487, 513, 509, 481,<br />
510, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }</syntaxhighlight><br />
<br />
==2-Door and Compact cars==<br />
<table border="1" class="unnamed1"><br />
<tr><th>Name</th><th>ID</th><td></td><th>Name</th><th>ID</th></tr><tr><td>Alpha</td><td>602</td><td></td><td>Hustler</td><td>545</td></tr><tr><td>Blista Compact</td><td>496</td><td> </td><td>Majestic</td><td>517</td></tr><tr><td>Bravura</td><td>401</td><td> </td><td>Manana</td><td>410</td></tr><tr><td>Buccaneer</td><td>518</td><td> </td><td>Picador</td><td>600</td></tr><tr><td>Cadrona</td><td>527</td><td> </td><td>Previon</td><td>436</td></tr><tr><td>Club</td><td>589</td><td> </td><td>Stafford</td><td>580</td></tr><tr><td>Esperanto</td><td>419</td><td> </td><td>Stallion</td><td>439</td></tr><tr><td>Feltzer</td><td>533</td><td> </td><td>Tampa</td><td>549</td></tr><tr><td>Fortune</td><td>526</td><td> </td><td>Virgo</td><td>491</td></tr><tr><td>Hermes</td><td>474</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
== 4-Door and Luxury cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Admiral</td><td>445</td><td> </td><td>Oceanic</td><td>467</td></tr><tr><td>Damaged Glendale</td><td>604</td><td> </td><td>Premier</td><td>426</td></tr><tr><td>Elegant</td><td>507</td><td> </td><td>Primo</td><td>547</td></tr><tr><td>Emperor</td><td>585</td><td> </td><td>Sentinel</td><td>405</td></tr><tr><td>Euros</td><td>587</td><td> </td><td>Stretch</td><td>409</td></tr><tr><td>Glendale</td><td>466</td><td> </td><td>Sunrise</td><td>550</td></tr><tr><td>Greenwood</td><td>492</td><td> </td><td>Tahoma</td><td>566</td></tr><tr><td>Intruder</td><td>546</td><td> </td><td>Vincent</td><td>540</td></tr><tr><td>Merit</td><td>551</td><td> </td><td>Washington</td><td>421</td></tr><tr><td>Nebula</td><td>516</td><td> </td><td>Willard</td><td>529</td></tr></table><br />
<br />
==Aircraft==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th><br />
Name</th><th>ID</th></tr><tr><td>Andromada</td><td>592</td><td> </td><td><br />
Nevada</td><td>553</td></tr><tr><td>AT-400</td><td>577</td><td> </td><td><br />
<br />
News Chopper</td><td>488</td></tr><tr><td>Beagle</td><td>511</td><td> </td><td><br />
Police Maverick</td><td>497</td></tr><tr><td>Cargobob</td><td>548</td><td> </td><td><br />
Raindance</td><td>563</td></tr><tr><td>Cropduster</td><td>512</td><td> </td><td><br />
<br />
Rustler</td><td>476</td></tr><tr><td>Dodo</td><td>593</td><td> </td><td><br />
Seasparrow</td><td>447</td></tr><tr><td>Hunter</td><td>425</td><td> </td><td><br />
Shamal</td><td>519</td></tr><tr><td>Hydra</td><td>520</td><td> </td><td><br />
<br />
Skimmer</td><td>460</td></tr><tr><td>Leviathan</td><td>417</td><td> </td><td><br />
Sparrow</td><td>469</td></tr><tr><td>Maverick</td><td>487</td><td> </td><td><br />
Stuntplane</td><td>513</td></tr></table><br />
<br />
==Bikes==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>BF-400</td><td>581</td><td> </td><td>Mountain Bike</td><td>510</td></tr><tr><td>Bike</td><td>509</td><td> </td><td>NRG-500</td><td>522</td> </tr><tr><td>BMX</td><td>481</td><td> </td><td>PCJ-600</td><td>461</td></tr><tr><td>Faggio</td><td>462</td><td> </td><td>Pizza Boy</td><td>448</td></tr><tr><td>FCR-900</td><td>521</td><td> </td><td>Sanchez</td><td> 468</td></tr><tr><td>Freeway</td><td>463</td><td> </td><td>Wayfarer</td><td>586</td></tr></table><br />
<br />
==Boats==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Coastguard</td><td>472</td></tr><tr><td>Dinghy</td><td>473</td></tr><tr><td>Jetmax</td><td>493</td></tr><tr><td>Launch</td><td>595</td></tr><tr><td>Marquis</td><td>484</td></tr><tr><td>Predator</td><td>430</td></tr><tr><td>Reefer</td><td>453</td></tr><tr><td>Speeder</td><td>452</td></tr><tr><td>Squalo</td><td>446</td></tr><tr><td>Tropic</td><td>454</td></tr></table><br />
<br />
==Civil Servant / Public Transportation (Road Vehicles)==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><br />
<tr><td>Baggage</td><td>485</td></tr><br />
<tr><td>Utility Van</td><td>552</td></tr><br />
<tr><td>Bus</td><td>431</td></tr><br />
<tr><td>Cabbie</td><td>438</td></tr><br />
<tr><td>Coach</td><td>437</td></tr><br />
<tr><td>Sweeper</td><td>574</td></tr><br />
<tr><td>Taxi</td><td>420</td></tr><br />
<tr><td>Towtruck</td><td>525</td></tr><br />
<tr><td>Trashmaster</td><td>408</td></tr></table><br />
<br />
==Government Vehicles==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Ambulance</td><td>416</td><td> </td><td>Police Car (Los Santos)</td><td>596</td></tr><tr><td>Barracks</td><td>433</td><td> </td><td>Police Car (San Fierro)</td><td>597</td></tr><tr><td>Enforcer</td><td>427</td><td> </td><td>Police Ranger</td><td>599</td></tr><tr><td>FBI Rancher</td><td>490</td><td> </td><td>Rhino</td><td>432</td></tr><tr><td>FBI Truck</td><td>528</td><td> </td><td>S.W.A.T.</td><td>601</td></tr><tr><td>Fire Truck</td><td>407</td><td> </td><td>Securicar</td><td>428</td></tr><tr><td>Fire Truck (Ladder)</td><td>544</td><td> </td><td> </td><td> </td></tr><tr><td>HPV1000</td><td>523</td><td> </td><td> </td><td> </td></tr><tr><td>Patriot</td><td>470</td><td> </td><td> </td><td> </td></tr><tr><td>Police Car (Las Venturas)</td><td>598</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Heavy and Utility Trucks==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Benson</td><td>499</td><td> </td><td>Hotdog</td><td>588</td></tr><tr><td>Black Boxville</td><td>609</td><td> </td><td>Linerunner</td><td>403</td></tr><tr><td>Boxville</td><td>498</td><td> </td><td>Linerunner (From "Tanker Commando")</td><td>514</td></tr><tr><td>Cement Truck</td><td>524</td><td> </td><td>Mr. Whoopee</td><td>423</td></tr><tr><td>Combine Harvester</td><td>532</td><td> </td><td>Mule</td><td>414</td></tr><tr><td>DFT-30</td><td>578</td><td> </td><td>Packer</td><td>443</td></tr><tr><td>Dozer</td><td>486</td><td> </td><td>Roadtrain</td><td>515</td></tr><tr><td>Dumper</td><td>406</td><td> </td><td>Tractor</td><td>531</td></tr><tr><td>Dune</td><td>573</td><td> </td><td>Yankee</td><td>456</td></tr><tr><td>Flatbed</td><td>455</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Light Trucks and Vans==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Berkley's RC Van</td><td>459</td><td> </td><td>Sadler</td><td>543</td></tr><tr><td>Bobcat</td><td>422</td><td> </td><td>Tug</td><td>583</td></tr><tr><td>Burrito</td><td>482</td><td> </td><td>Walton</td><td>478</td></tr><tr><td>Damaged Sadler</td><td>605</td><td> </td><td>Yosemite</td><td>554</td></tr><tr><td>Forklift</td><td>530</td><td> </td><td> </td><td> </td></tr><tr><td>Moonbeam</td><td>418</td><td> </td><td> </td><td> </td></tr><tr><td>Mower</td><td>572</td><td> </td><td> </td><td> </td></tr><tr><td>News Van</td><td>582</td><td> </td><td> </td><td> </td></tr><tr><td>Pony</td><td>413</td><td> </td><td> </td><td> </td></tr><tr><td>Rumpo</td><td>440</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Lowriders==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Blade</td><td>536</td></tr><tr><td>Broadway</td><td>575</td></tr><tr><td>Remington</td><td>534</td></tr><tr><td>Savanna</td><td>567</td></tr><tr><td>Slamvan</td><td>535</td></tr><tr><td>Tornado</td><td>576</td></tr><tr><td>Voodoo</td><td>412</td></tr></table><br />
<br />
==Muscle Cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Buffalo</td><td>402</td></tr><tr><td>Clover</td><td>542</td></tr><tr><td>Phoenix</td><td>603</td></tr><tr><td>Sabre</td><td>475</td></tr></table><br />
<br />
==Trains and Railroad Cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><br />
<tr><td>Tram</td><td>449</td></tr><br />
<tr><td>Freight</td><td>537</td></tr><br />
<tr><td>Brown Streak</td><td>538</td></tr><br />
<tr><td>Brown Streak Carriage</td><td>570</td></tr><br />
<tr><td>Flat Freight</td><td>569</td></tr><br />
<tr><td>Box Freight</td><td>590</td></tr></table><br />
<br />
==RC Vehicles==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>RC Bandit</td><td>441</td></tr><tr><td>RC Baron</td><td>464</td></tr><tr><td>RC Goblin</td><td>501</td></tr><tr><td>RC Raider</td><td>465</td></tr><tr><td>RC Tiger</td><td>564</td></tr></table><br />
<br />
==Recreational==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Bandito</td><td>568</td><td> </td><td>Monster 3</td><td>557</td></tr><tr><td>BF Injection</td><td>424</td><td> </td><td>Quadbike</td><td>471</td></tr><tr><td>Bloodring Banger</td><td>504</td><td> </td><td>Sandking</td><td>495</td></tr><tr><td>Caddy</td><td>457</td><td> </td><td>Vortex</td><td>539</td></tr><tr><td>Camper</td><td>483</td><td> </td><td> </td><td> </td></tr><tr><td>Journey</td><td>508</td><td> </td><td> </td><td> </td></tr><tr><td>Kart</td><td>571</td><td> </td><td> </td><td> </td></tr><tr><td>Mesa</td><td>500</td><td> </td><td> </td><td> </td></tr><tr><td>Monster</td><td>444</td><td> </td><td> </td><td> </td></tr><tr><td>Monster 2</td><td>556</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Street Racers==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Banshee</td><td>429</td><td> </td><td>Infernus</td><td>411</td></tr><tr><td>Bullet</td><td>541</td><td> </td><td>Jester</td><td>559</td></tr><tr><td>Cheetah</td><td>415</td><td> </td><td>Stratum</td><td>561</td></tr><tr><td>Comet</td><td>480</td><td> </td><td>Sultan</td><td>560</td></tr><tr><td>Elegy</td><td>562</td><td> </td><td>Super GT</td><td>506</td></tr><tr><td>Flash</td><td>565</td><td> </td><td>Turismo</td><td>451</td></tr><tr><td>Hotknife</td><td>434</td><td> </td><td>Uranus</td><td>558</td></tr><tr><td>Hotring Racer</td><td>494</td><td> </td><td>Windsor</td><td>555</td></tr><tr><td>Hotring Racer 2</td><td>502</td><td> </td><td>ZR-350</td><td>477</td></tr><tr><td>Hotring Racer 3</td><td>503</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==SUVs and Wagons==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Huntley</td><td>579</td></tr><tr><td>Landstalker</td><td>400</td></tr><tr><td>Perennial</td><td>404</td></tr><tr><td>Rancher</td><td>489</td></tr><tr><td>Rancher (From "Lure")</td><td>505</td></tr><tr><td>Regina</td><td>479</td></tr><tr><td>Romero</td><td>442</td></tr><tr><td>Solair</td><td>458</td></tr></table><br />
<br />
==Trailers==<br />
<table border="1" class="unnamed1"><tr><th width="218">Name</th><th width="24">ID</th></tr><tr><td>Baggage Trailer (covered)</td><td>606</td></tr><tr><td>Baggage Trailer (Uncovered)</td><td>607</td></tr><tr><td>Farm Trailer</td><td>610</td></tr><tr></tr><tr></tr><tr><td>"Street Clean" Trailer</td><td>611</td></tr><tr><td>Trailer (From "Tanker Commando")(*PRONE TO CRASHES*)</td><td>584</td></tr><tr><td>Trailer (Stairs)</td><td>608</td></tr><tr><td>Trailer 1</td><td>435</td></tr><tr><td>Trailer 2</td><td>450</td></tr><tr><td>Trailer 3</td><td>591</td></tr></table><br />
<br />
==Misc==<br />
<table border="1" class="unnamed1"><tr><th width="218">Name</th><th width="24">ID</th></tr><tr><td>RC Cam (flower pot)</td><td>594</td></table><br />
<br><br />
<br />
==See Also==<br />
[[id|ID Lists]]<br />
[[it:ID Veicoli]]<br />
[[ru:Vehicle IDs]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=Vehicle_IDs&diff=26123Vehicle IDs2011-06-23T01:22:24Z<p>EAi: </p>
<hr />
<div>==Introduction==<br />
This is a list of GTA:SA's vehicle ID numbers, as listed in the vehicles.ide file. These vehicle ID numbers are used for several vehicle scripting functions.<br />
<br />
Lua table of all the valid vehicle IDs listed on this page:<br />
<syntaxhighlight lang="lua">vehicleIDS = { 602, 545, 496, 517, 401, 410, 518, 600, 527, 436, 589, 580, 419, 439, 533, 549, 526, 491, 474, 445, 467, 604, 426, 507, 547, 585,<br />
405, 587, 409, 466, 550, 492, 566, 546, 540, 551, 421, 516, 529, 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460,<br />
417, 469, 487, 513, 581, 510, 509, 522, 481, 461, 462, 448, 521, 468, 463, 586, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 485, 552, 431, <br />
438, 437, 574, 420, 525, 408, 416, 596, 433, 597, 427, 599, 490, 432, 528, 601, 407, 428, 544, 523, 470, 598, 499, 588, 609, 403, 498, 514, 524, <br />
423, 532, 414, 578, 443, 486, 515, 406, 531, 573, 456, 455, 459, 543, 422, 583, 482, 478, 605, 554, 530, 418, 572, 582, 413, 440, 536, 575, 534, <br />
567, 535, 576, 412, 402, 542, 603, 475, 449, 537, 538, 570, 441, 464, 501, 465, 564, 568, 557, 424, 471, 504, 495, 457, 539, 483, 508, 571, 500, <br />
444, 556, 429, 411, 541, 559, 415, 561, 480, 560, 562, 506, 565, 451, 434, 558, 494, 555, 502, 477, 503, 579, 400, 404, 489, 505, 479, 442, 458, <br />
606, 607, 610, 590, 569, 611, 584, 608, 435, 450, 591, 594 }</syntaxhighlight><br />
<br />
Lua table of vehicles that are not lockable:<br />
<syntaxhighlight lang="lua">notLockableVehicles = {594, 606, 607, 611, 584, 608, 435, 450, 591, 539, 441, 464, 501, 465, 564, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454, 581, 509, 481, 462, 521, 463, 510, 522, 461, 448, 468, 586, 425, 520}</syntaxhighlight><br />
Lua table of vehicles without number plates:<br />
<syntaxhighlight lang="lua">noNumberPlates = { 592, 553, 577, 488, 511, 497, 548, 563, 512, 476, 593, 447, 425, 519, 520, 460, 417, 469, 487, 513, 509, 481, 510, 472, 473, 493, 595, 484, 430, 453, 452, 446, 454 }</syntaxhighlight><br />
<br />
==2-Door and Compact cars==<br />
<table border="1" class="unnamed1"><br />
<tr><th>Name</th><th>ID</th><td></td><th>Name</th><th>ID</th></tr><tr><td>Alpha</td><td>602</td><td></td><td>Hustler</td><td>545</td></tr><tr><td>Blista Compact</td><td>496</td><td> </td><td>Majestic</td><td>517</td></tr><tr><td>Bravura</td><td>401</td><td> </td><td>Manana</td><td>410</td></tr><tr><td>Buccaneer</td><td>518</td><td> </td><td>Picador</td><td>600</td></tr><tr><td>Cadrona</td><td>527</td><td> </td><td>Previon</td><td>436</td></tr><tr><td>Club</td><td>589</td><td> </td><td>Stafford</td><td>580</td></tr><tr><td>Esperanto</td><td>419</td><td> </td><td>Stallion</td><td>439</td></tr><tr><td>Feltzer</td><td>533</td><td> </td><td>Tampa</td><td>549</td></tr><tr><td>Fortune</td><td>526</td><td> </td><td>Virgo</td><td>491</td></tr><tr><td>Hermes</td><td>474</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
== 4-Door and Luxury cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Admiral</td><td>445</td><td> </td><td>Oceanic</td><td>467</td></tr><tr><td>Damaged Glendale</td><td>604</td><td> </td><td>Premier</td><td>426</td></tr><tr><td>Elegant</td><td>507</td><td> </td><td>Primo</td><td>547</td></tr><tr><td>Emperor</td><td>585</td><td> </td><td>Sentinel</td><td>405</td></tr><tr><td>Euros</td><td>587</td><td> </td><td>Stretch</td><td>409</td></tr><tr><td>Glendale</td><td>466</td><td> </td><td>Sunrise</td><td>550</td></tr><tr><td>Greenwood</td><td>492</td><td> </td><td>Tahoma</td><td>566</td></tr><tr><td>Intruder</td><td>546</td><td> </td><td>Vincent</td><td>540</td></tr><tr><td>Merit</td><td>551</td><td> </td><td>Washington</td><td>421</td></tr><tr><td>Nebula</td><td>516</td><td> </td><td>Willard</td><td>529</td></tr></table><br />
<br />
==Aircraft==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th><br />
Name</th><th>ID</th></tr><tr><td>Andromada</td><td>592</td><td> </td><td><br />
Nevada</td><td>553</td></tr><tr><td>AT-400</td><td>577</td><td> </td><td><br />
<br />
News Chopper</td><td>488</td></tr><tr><td>Beagle</td><td>511</td><td> </td><td><br />
Police Maverick</td><td>497</td></tr><tr><td>Cargobob</td><td>548</td><td> </td><td><br />
Raindance</td><td>563</td></tr><tr><td>Cropduster</td><td>512</td><td> </td><td><br />
<br />
Rustler</td><td>476</td></tr><tr><td>Dodo</td><td>593</td><td> </td><td><br />
Seasparrow</td><td>447</td></tr><tr><td>Hunter</td><td>425</td><td> </td><td><br />
Shamal</td><td>519</td></tr><tr><td>Hydra</td><td>520</td><td> </td><td><br />
<br />
Skimmer</td><td>460</td></tr><tr><td>Leviathan</td><td>417</td><td> </td><td><br />
Sparrow</td><td>469</td></tr><tr><td>Maverick</td><td>487</td><td> </td><td><br />
Stuntplane</td><td>513</td></tr></table><br />
<br />
==Bikes==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>BF-400</td><td>581</td><td> </td><td>Mountain Bike</td><td>510</td></tr><tr><td>Bike</td><td>509</td><td> </td><td>NRG-500</td><td>522</td> </tr><tr><td>BMX</td><td>481</td><td> </td><td>PCJ-600</td><td>461</td></tr><tr><td>Faggio</td><td>462</td><td> </td><td>Pizza Boy</td><td>448</td></tr><tr><td>FCR-900</td><td>521</td><td> </td><td>Sanchez</td><td> 468</td></tr><tr><td>Freeway</td><td>463</td><td> </td><td>Wayfarer</td><td>586</td></tr></table><br />
<br />
==Boats==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Coastguard</td><td>472</td></tr><tr><td>Dinghy</td><td>473</td></tr><tr><td>Jetmax</td><td>493</td></tr><tr><td>Launch</td><td>595</td></tr><tr><td>Marquis</td><td>484</td></tr><tr><td>Predator</td><td>430</td></tr><tr><td>Reefer</td><td>453</td></tr><tr><td>Speeder</td><td>452</td></tr><tr><td>Squalo</td><td>446</td></tr><tr><td>Tropic</td><td>454</td></tr></table><br />
<br />
==Civil Servant / Public Transportation (Road Vehicles)==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><br />
<tr><td>Baggage</td><td>485</td></tr><br />
<tr><td>Utility Van</td><td>552</td></tr><br />
<tr><td>Bus</td><td>431</td></tr><br />
<tr><td>Cabbie</td><td>438</td></tr><br />
<tr><td>Coach</td><td>437</td></tr><br />
<tr><td>Sweeper</td><td>574</td></tr><br />
<tr><td>Taxi</td><td>420</td></tr><br />
<tr><td>Towtruck</td><td>525</td></tr><br />
<tr><td>Trashmaster</td><td>408</td></tr></table><br />
<br />
==Government Vehicles==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Ambulance</td><td>416</td><td> </td><td>Police Car (Los Santos)</td><td>596</td></tr><tr><td>Barracks</td><td>433</td><td> </td><td>Police Car (San Fierro)</td><td>597</td></tr><tr><td>Enforcer</td><td>427</td><td> </td><td>Police Ranger</td><td>599</td></tr><tr><td>FBI Rancher</td><td>490</td><td> </td><td>Rhino</td><td>432</td></tr><tr><td>FBI Truck</td><td>528</td><td> </td><td>S.W.A.T.</td><td>601</td></tr><tr><td>Fire Truck</td><td>407</td><td> </td><td>Securicar</td><td>428</td></tr><tr><td>Fire Truck (Ladder)</td><td>544</td><td> </td><td> </td><td> </td></tr><tr><td>HPV1000</td><td>523</td><td> </td><td> </td><td> </td></tr><tr><td>Patriot</td><td>470</td><td> </td><td> </td><td> </td></tr><tr><td>Police Car (Las Venturas)</td><td>598</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Heavy and Utility Trucks==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Benson</td><td>499</td><td> </td><td>Hotdog</td><td>588</td></tr><tr><td>Black Boxville</td><td>609</td><td> </td><td>Linerunner</td><td>403</td></tr><tr><td>Boxville</td><td>498</td><td> </td><td>Linerunner (From "Tanker Commando")</td><td>514</td></tr><tr><td>Cement Truck</td><td>524</td><td> </td><td>Mr. Whoopee</td><td>423</td></tr><tr><td>Combine Harvester</td><td>532</td><td> </td><td>Mule</td><td>414</td></tr><tr><td>DFT-30</td><td>578</td><td> </td><td>Packer</td><td>443</td></tr><tr><td>Dozer</td><td>486</td><td> </td><td>Roadtrain</td><td>515</td></tr><tr><td>Dumper</td><td>406</td><td> </td><td>Tractor</td><td>531</td></tr><tr><td>Dune</td><td>573</td><td> </td><td>Yankee</td><td>456</td></tr><tr><td>Flatbed</td><td>455</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Light Trucks and Vans==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Berkley's RC Van</td><td>459</td><td> </td><td>Sadler</td><td>543</td></tr><tr><td>Bobcat</td><td>422</td><td> </td><td>Tug</td><td>583</td></tr><tr><td>Burrito</td><td>482</td><td> </td><td>Walton</td><td>478</td></tr><tr><td>Damaged Sadler</td><td>605</td><td> </td><td>Yosemite</td><td>554</td></tr><tr><td>Forklift</td><td>530</td><td> </td><td> </td><td> </td></tr><tr><td>Moonbeam</td><td>418</td><td> </td><td> </td><td> </td></tr><tr><td>Mower</td><td>572</td><td> </td><td> </td><td> </td></tr><tr><td>News Van</td><td>582</td><td> </td><td> </td><td> </td></tr><tr><td>Pony</td><td>413</td><td> </td><td> </td><td> </td></tr><tr><td>Rumpo</td><td>440</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Lowriders==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Blade</td><td>536</td></tr><tr><td>Broadway</td><td>575</td></tr><tr><td>Remington</td><td>534</td></tr><tr><td>Savanna</td><td>567</td></tr><tr><td>Slamvan</td><td>535</td></tr><tr><td>Tornado</td><td>576</td></tr><tr><td>Voodoo</td><td>412</td></tr></table><br />
<br />
==Muscle Cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Buffalo</td><td>402</td></tr><tr><td>Clover</td><td>542</td></tr><tr><td>Phoenix</td><td>603</td></tr><tr><td>Sabre</td><td>475</td></tr></table><br />
<br />
==Trains and Railroad Cars==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><br />
<tr><td>Tram</td><td>449</td></tr><br />
<tr><td>Freight</td><td>537</td></tr><br />
<tr><td>Brown Streak</td><td>538</td></tr><br />
<tr><td>Brown Streak Carriage</td><td>570</td></tr><br />
<tr><td>Flat Freight</td><td>569</td></tr><br />
<tr><td>Box Freight</td><td>590</td></tr></table><br />
<br />
==RC Vehicles==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>RC Bandit</td><td>441</td></tr><tr><td>RC Baron</td><td>464</td></tr><tr><td>RC Goblin</td><td>501</td></tr><tr><td>RC Raider</td><td>465</td></tr><tr><td>RC Tiger</td><td>564</td></tr></table><br />
<br />
==Recreational==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Bandito</td><td>568</td><td> </td><td>Monster 3</td><td>557</td></tr><tr><td>BF Injection</td><td>424</td><td> </td><td>Quadbike</td><td>471</td></tr><tr><td>Bloodring Banger</td><td>504</td><td> </td><td>Sandking</td><td>495</td></tr><tr><td>Caddy</td><td>457</td><td> </td><td>Vortex</td><td>539</td></tr><tr><td>Camper</td><td>483</td><td> </td><td> </td><td> </td></tr><tr><td>Journey</td><td>508</td><td> </td><td> </td><td> </td></tr><tr><td>Kart</td><td>571</td><td> </td><td> </td><td> </td></tr><tr><td>Mesa</td><td>500</td><td> </td><td> </td><td> </td></tr><tr><td>Monster</td><td>444</td><td> </td><td> </td><td> </td></tr><tr><td>Monster 2</td><td>556</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==Street Racers==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><td> </td><th>Name</th><th>ID</th></tr><tr><td>Banshee</td><td>429</td><td> </td><td>Infernus</td><td>411</td></tr><tr><td>Bullet</td><td>541</td><td> </td><td>Jester</td><td>559</td></tr><tr><td>Cheetah</td><td>415</td><td> </td><td>Stratum</td><td>561</td></tr><tr><td>Comet</td><td>480</td><td> </td><td>Sultan</td><td>560</td></tr><tr><td>Elegy</td><td>562</td><td> </td><td>Super GT</td><td>506</td></tr><tr><td>Flash</td><td>565</td><td> </td><td>Turismo</td><td>451</td></tr><tr><td>Hotknife</td><td>434</td><td> </td><td>Uranus</td><td>558</td></tr><tr><td>Hotring Racer</td><td>494</td><td> </td><td>Windsor</td><td>555</td></tr><tr><td>Hotring Racer 2</td><td>502</td><td> </td><td>ZR-350</td><td>477</td></tr><tr><td>Hotring Racer 3</td><td>503</td><td> </td><td> </td><td> </td></tr></table><br />
<br />
==SUVs and Wagons==<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th></tr><tr><td>Huntley</td><td>579</td></tr><tr><td>Landstalker</td><td>400</td></tr><tr><td>Perennial</td><td>404</td></tr><tr><td>Rancher</td><td>489</td></tr><tr><td>Rancher (From "Lure")</td><td>505</td></tr><tr><td>Regina</td><td>479</td></tr><tr><td>Romero</td><td>442</td></tr><tr><td>Solair</td><td>458</td></tr></table><br />
<br />
==Trailers==<br />
<table border="1" class="unnamed1"><tr><th width="218">Name</th><th width="24">ID</th></tr><tr><td>Baggage Trailer (covered)</td><td>606</td></tr><tr><td>Baggage Trailer (Uncovered)</td><td>607</td></tr><tr><td>Farm Trailer</td><td>610</td></tr><tr></tr><tr></tr><tr><td>"Street Clean" Trailer</td><td>611</td></tr><tr><td>Trailer (From "Tanker Commando")(*PRONE TO CRASHES*)</td><td>584</td></tr><tr><td>Trailer (Stairs)</td><td>608</td></tr><tr><td>Trailer 1</td><td>435</td></tr><tr><td>Trailer 2</td><td>450</td></tr><tr><td>Trailer 3</td><td>591</td></tr></table><br />
<br />
==Misc==<br />
<table border="1" class="unnamed1"><tr><th width="218">Name</th><th width="24">ID</th></tr><tr><td>RC Cam (flower pot)</td><td>594</td></table><br />
<br><br />
<br />
==See Also==<br />
[[id|ID Lists]]<br />
[[it:ID Veicoli]]<br />
[[ru:Vehicle IDs]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=Resource_Web_Access&diff=26097Resource Web Access2011-06-19T00:52:02Z<p>EAi: /* Protocol */</p>
<hr />
<div>The Multi Theft Auto Server provides a web interface that resources can use in a variety of ways. This document's purpose is to explain what these ways are and how to go about using them.<br />
<br />
==Overview==<br />
There are two key parts that make up this system. The first is a standard web server that allows web browsers to request pages and files you have in a resource. The second is a system for allowing web browsers to call functions you have exported from your resource.<br />
<br />
==Pages==<br />
===Specifying a file in the meta===<br />
You can specify in your resource's meta file that certain files are accessible through the web server. To do this, you add a line:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<html src="filename.ext" /><br />
</syntaxhighlight><br />
You can then access this file from your web browser by visiting: http://host:port/resourcename/filename.ext<br/><br />
For example, on a locally hosted server using default http port with webmap started: http://127.0.0.1:22005/webmap/map.htm<br />
<br />
<br />
===Binary files===<br />
Despite the misleading name, files specified using the html node can be of any type. If they are binary files (like images, zip files) then you need to specify this in the meta file, by adding ''raw="true"'' to the ''html'' node. This means that the files are not preprocessed before being sent to the web browser.<br />
<br />
For example:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<html src="image.gif" raw="true" /><br />
</syntaxhighlight><br />
<br />
===Parsed files===<br />
If a file is not specified in the meta file as "raw", then it is passed through a pre-processor before it is returned to the client. This pre-processor works much like PHP or ASP, but uses LUA. You can embed standard MTA scripts within HTML pages, controlling the output. Almost all standard MTA functions work, plus a number of special [[Template:HTTP functions|HTTP Functions]], such as [[httpWrite]], a function that outputs text to the buffer.<br />
<br />
For example:<br />
<syntaxhighlight lang="lua" lang="html"><br />
<html><br />
<body><br />
This resource is called <* httpWrite( getResourceName(getThisResource()) ) *><br />
</body><br />
<html><br />
</syntaxhighlight><br />
<br />
There is a shorthand (in common with PHP and ASP) for this code, meaning that you can also write the above code as:<br />
<br />
<syntaxhighlight lang="lua" lang="html"><br />
<html><br />
<body><br />
This resource is called <* = getResourceName(getThisResource()) *><br />
</body><br />
<html><br />
</syntaxhighlight><br />
<br />
Aside from HTTP functions, embedded Lua has access to the following environment variables that contain information about how the page was requested:<br />
* table '''requestHeaders''': This is a table containing all the headers that were requested with the page. You can set returned headers using [[httpSetResponseHeader]]. <br />
* table '''form''': This is a table containing all the form data submitted to the page using HTTP POST combined with any variables passed in the querystring with HTTP GET.<br />
* table '''cookies''': This is a table of all the cookies. You can modify cookies using [[httpSetResponseCookie]].<br />
* string '''hostname''': This is a string containing the IP address or hostname that requested the page.<br />
* string '''url''': This is the URL of the page.<br />
* account '''user''': This is the account of the current user.<br />
<br />
It's important to note that parsed files are run in a separate virtual machine from the rest of your resource's code. As such, if you want to call a function in your resource's main code, you need to export the function and use the [[call]] function from your parsed file.<br />
<br />
==Calls==<br />
You can specify that certain exported functions in your resource are able to be called from the HTTP interface. All the SDKs (listed below) allow you to call these functions from a remote location. <br />
<br />
To specify an exported http-accessible function, add the following to your meta.xml file:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<export function='functionName' http='true' /><br />
</syntaxhighlight><br />
<br />
You can code your function just as you would any normal function, returning as many values as you want, including tables and resources and most importantly elements. You ''cannot'' however return other 'userdata' values such as [[xmlnode|xmlnodes]] or functions.<br />
<br />
===Protocol===<br />
{{note_box|You don't need to know this unless you're writing your own HTTP request code. You can just use one of the [[#SDK|SDKs listed below]].}}<br />
<br />
Calls are done by requesting ''<nowiki>http://<your IP>:<your port>/<resource_name>/call/<exported_function_name></nowiki>'' using HTTP POST. The body of the request should be a JSON array of the arguments for the function.<br />
<br />
The request will return a JSON array of the value(s) returned from the function as the HTTP response.<br />
<br />
The server supports HTTP Basic authentication and you can configure access via the ACL and the built-in accounts system.<br />
<br />
===Calls from the HTTP web interface===<br />
Using calls is probably easiest from the web interface and can be done almost seamlessly.<br />
<br />
First, add this to your meta.xml file:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<include resource="ajax" /><br />
</syntaxhighlight><br />
<br />
Secondly, add the following to the <head> section of the page you want to call from:<br />
<syntaxhighlight lang="lua" lang="lua"><br />
<* = exports.ajax:start(getResourceName(getThisResource())) *><br />
</syntaxhighlight><br />
<br />
Finally, you can create a javascript block in your page and call your functions almost as if they were local. The only difference is that the calls are aysnchronous - you should specify a callback function as the last argument for your call. This is called when the function returns.<br />
<br />
Here's a simple example.<br />
<br />
'''meta.xml'''<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<meta><br />
<include resource="ajax" /><br />
<script src='code.lua' /><br />
<html src='page.htm' default='true' /><br />
<export function='showChatMessage' http='true' /><br />
</meta><br />
</syntaxhighlight><br />
<br />
'''code.lua'''<br />
<syntaxhighlight lang="lua" lang="lua"><br />
function showChatMessage ( message )<br />
outputChatBox ( message )<br />
return 5;<br />
end<br />
</syntaxhighlight><br />
<br />
'''page.htm'''<br />
<syntaxhighlight lang="lua" lang="html"><br />
<html><br />
<head><br />
<* = exports.ajax:start(getResourceName(getThisResource())) *><br />
<script type='text/javascript'><br />
function say() {<br />
var message = document.getElementById('message')<br />
showChatMessage ( message.value, <br />
function ( number ) {<br />
// the function has been called and returned something<br />
message.value = "The function returned " + number;<br />
}<br />
);<br />
}<br />
</script><br />
</head><br />
<body><br />
<input type='text' id='message' /><input type='button' value='say' onclick='say();' /><br />
</body><br />
</html><br />
</syntaxhighlight><br />
<br />
You can see (fairly complex) examples of how this can be done in the resources ''resourcebrowser'', ''resourcemanager'' and ''webadmin''.<br />
<br />
==Securing the web interface==<br />
The [[ACL]] has a number of rights that can affect what files can be accessed.<br />
* general.http: If disabled, none of the http files can be accessed (except by game clients)<br />
* resource.'''ResourceName''': If disabled, none of the files in the resource can be accessed<br />
* resource.'''ResourceName'''.file.'''FileName''': If disabled, the file named cannot be accessed<br />
* resource.'''ResourceName'''.function.'''FunctionName''': If disabled, the function cannot be called<br />
These work as with other ACL rights - you can disable them for normal users and just enable them for Admin users, or any other group of users you wish.<br />
<br />
==SDK==<br />
There are a number of so-called 'SDKs' available that allow you to interface with the server from other programming languages. With these you could (in theory) write whole gamemodes. In practice this is probably a bad idea, but it is useful for statistics and administration. The PHP SDK is the most developed version. Feel free to modify or create your own SDKs - if you do please send us a copy.<br />
<br />
* [[Java SDK]]<br />
* [[Javascript SDK]]<br />
* [[Perl SDK]]<br />
* [[PHP SDK]]<br />
* [[CSharp SDK|C# SDK]]<br />
<br />
==See Also==<br />
[[callRemote]] - Allows game servers to call functions on PHP pages (with the PHP SDK) and on other game servers.<br />
[[Category:Scripting Concepts]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=Resource_Web_Access&diff=26096Resource Web Access2011-06-19T00:50:29Z<p>EAi: /* Calls */</p>
<hr />
<div>The Multi Theft Auto Server provides a web interface that resources can use in a variety of ways. This document's purpose is to explain what these ways are and how to go about using them.<br />
<br />
==Overview==<br />
There are two key parts that make up this system. The first is a standard web server that allows web browsers to request pages and files you have in a resource. The second is a system for allowing web browsers to call functions you have exported from your resource.<br />
<br />
==Pages==<br />
===Specifying a file in the meta===<br />
You can specify in your resource's meta file that certain files are accessible through the web server. To do this, you add a line:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<html src="filename.ext" /><br />
</syntaxhighlight><br />
You can then access this file from your web browser by visiting: http://host:port/resourcename/filename.ext<br/><br />
For example, on a locally hosted server using default http port with webmap started: http://127.0.0.1:22005/webmap/map.htm<br />
<br />
<br />
===Binary files===<br />
Despite the misleading name, files specified using the html node can be of any type. If they are binary files (like images, zip files) then you need to specify this in the meta file, by adding ''raw="true"'' to the ''html'' node. This means that the files are not preprocessed before being sent to the web browser.<br />
<br />
For example:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<html src="image.gif" raw="true" /><br />
</syntaxhighlight><br />
<br />
===Parsed files===<br />
If a file is not specified in the meta file as "raw", then it is passed through a pre-processor before it is returned to the client. This pre-processor works much like PHP or ASP, but uses LUA. You can embed standard MTA scripts within HTML pages, controlling the output. Almost all standard MTA functions work, plus a number of special [[Template:HTTP functions|HTTP Functions]], such as [[httpWrite]], a function that outputs text to the buffer.<br />
<br />
For example:<br />
<syntaxhighlight lang="lua" lang="html"><br />
<html><br />
<body><br />
This resource is called <* httpWrite( getResourceName(getThisResource()) ) *><br />
</body><br />
<html><br />
</syntaxhighlight><br />
<br />
There is a shorthand (in common with PHP and ASP) for this code, meaning that you can also write the above code as:<br />
<br />
<syntaxhighlight lang="lua" lang="html"><br />
<html><br />
<body><br />
This resource is called <* = getResourceName(getThisResource()) *><br />
</body><br />
<html><br />
</syntaxhighlight><br />
<br />
Aside from HTTP functions, embedded Lua has access to the following environment variables that contain information about how the page was requested:<br />
* table '''requestHeaders''': This is a table containing all the headers that were requested with the page. You can set returned headers using [[httpSetResponseHeader]]. <br />
* table '''form''': This is a table containing all the form data submitted to the page using HTTP POST combined with any variables passed in the querystring with HTTP GET.<br />
* table '''cookies''': This is a table of all the cookies. You can modify cookies using [[httpSetResponseCookie]].<br />
* string '''hostname''': This is a string containing the IP address or hostname that requested the page.<br />
* string '''url''': This is the URL of the page.<br />
* account '''user''': This is the account of the current user.<br />
<br />
It's important to note that parsed files are run in a separate virtual machine from the rest of your resource's code. As such, if you want to call a function in your resource's main code, you need to export the function and use the [[call]] function from your parsed file.<br />
<br />
==Calls==<br />
You can specify that certain exported functions in your resource are able to be called from the HTTP interface. All the SDKs (listed below) allow you to call these functions from a remote location. <br />
<br />
To specify an exported http-accessible function, add the following to your meta.xml file:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<export function='functionName' http='true' /><br />
</syntaxhighlight><br />
<br />
You can code your function just as you would any normal function, returning as many values as you want, including tables and resources and most importantly elements. You ''cannot'' however return other 'userdata' values such as [[xmlnode|xmlnodes]] or functions.<br />
<br />
===Protocol===<br />
{{note_box|You don't need to know this unless you're writing your own HTTP request code. You can just use one of the SDKs listed below.}}<br />
<br />
Calls are done by requesting ''<nowiki>http://<your IP>:<your port>/<resource_name>/call/<exported_function_name></nowiki>'' using HTTP POST. The body of the request should be a JSON array of the arguments for the function.<br />
<br />
The request will return a JSON array of the value(s) returned from the function as the HTTP response.<br />
<br />
The server supports HTTP Basic authentication and you can configure access via the ACL and the built-in accounts system.<br />
<br />
===Calls from the HTTP web interface===<br />
Using calls is probably easiest from the web interface and can be done almost seamlessly.<br />
<br />
First, add this to your meta.xml file:<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<include resource="ajax" /><br />
</syntaxhighlight><br />
<br />
Secondly, add the following to the <head> section of the page you want to call from:<br />
<syntaxhighlight lang="lua" lang="lua"><br />
<* = exports.ajax:start(getResourceName(getThisResource())) *><br />
</syntaxhighlight><br />
<br />
Finally, you can create a javascript block in your page and call your functions almost as if they were local. The only difference is that the calls are aysnchronous - you should specify a callback function as the last argument for your call. This is called when the function returns.<br />
<br />
Here's a simple example.<br />
<br />
'''meta.xml'''<br />
<syntaxhighlight lang="lua" lang="xml"><br />
<meta><br />
<include resource="ajax" /><br />
<script src='code.lua' /><br />
<html src='page.htm' default='true' /><br />
<export function='showChatMessage' http='true' /><br />
</meta><br />
</syntaxhighlight><br />
<br />
'''code.lua'''<br />
<syntaxhighlight lang="lua" lang="lua"><br />
function showChatMessage ( message )<br />
outputChatBox ( message )<br />
return 5;<br />
end<br />
</syntaxhighlight><br />
<br />
'''page.htm'''<br />
<syntaxhighlight lang="lua" lang="html"><br />
<html><br />
<head><br />
<* = exports.ajax:start(getResourceName(getThisResource())) *><br />
<script type='text/javascript'><br />
function say() {<br />
var message = document.getElementById('message')<br />
showChatMessage ( message.value, <br />
function ( number ) {<br />
// the function has been called and returned something<br />
message.value = "The function returned " + number;<br />
}<br />
);<br />
}<br />
</script><br />
</head><br />
<body><br />
<input type='text' id='message' /><input type='button' value='say' onclick='say();' /><br />
</body><br />
</html><br />
</syntaxhighlight><br />
<br />
You can see (fairly complex) examples of how this can be done in the resources ''resourcebrowser'', ''resourcemanager'' and ''webadmin''.<br />
<br />
==Securing the web interface==<br />
The [[ACL]] has a number of rights that can affect what files can be accessed.<br />
* general.http: If disabled, none of the http files can be accessed (except by game clients)<br />
* resource.'''ResourceName''': If disabled, none of the files in the resource can be accessed<br />
* resource.'''ResourceName'''.file.'''FileName''': If disabled, the file named cannot be accessed<br />
* resource.'''ResourceName'''.function.'''FunctionName''': If disabled, the function cannot be called<br />
These work as with other ACL rights - you can disable them for normal users and just enable them for Admin users, or any other group of users you wish.<br />
<br />
==SDK==<br />
There are a number of so-called 'SDKs' available that allow you to interface with the server from other programming languages. With these you could (in theory) write whole gamemodes. In practice this is probably a bad idea, but it is useful for statistics and administration. The PHP SDK is the most developed version. Feel free to modify or create your own SDKs - if you do please send us a copy.<br />
<br />
* [[Java SDK]]<br />
* [[Javascript SDK]]<br />
* [[Perl SDK]]<br />
* [[PHP SDK]]<br />
* [[CSharp SDK|C# SDK]]<br />
<br />
==See Also==<br />
[[callRemote]] - Allows game servers to call functions on PHP pages (with the PHP SDK) and on other game servers.<br />
[[Category:Scripting Concepts]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=Compiling_MTASA&diff=26032Compiling MTASA2011-06-12T10:54:32Z<p>EAi: </p>
<hr />
<div>__NOTOC__<br />
In order to successfully build Multi Theft Auto from source, it is necessary to perform a number of steps, which we will explain below.<br />
<br />
=== Prerequisites ===<br />
<br />
Before you can build Multi Theft Auto, make sure you have the following software and SDKs installed:<br />
* Microsoft Visual Studio 2008 ([http://www.microsoft.com/downloads/en/details.aspx?FamilyId=FBEE1648-7106-44A7-9649-6D9F6D58056E&displaylang=en SP1 required])<br />
* [http://msdn.microsoft.com/en-us/directx/aa937788.aspx Microsoft DirectX SDK] (only the Direct3D related components are required)<br />
* [http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en Microsoft Platform SDK] (not required on Windows 7, only the DirectShow components are required)<br />
<br />
If you haven't already done so, install a client such as [http://tortoisesvn.tigris.org/ TortoiseSVN] which can be used to download and manage the code.<br />
<br />
=== Getting the latest source code ===<br />
<br />
To get the latest code, you will have to Checkout our SVN repository with your SVN Client (i.e. TortoiseSVN) by using '''Checkout''' function, with the URL of '''http://mtasa-blue.googlecode.com/svn/trunk/'''.<br />
<br />
=== Building the software ===<br />
<br />
In order to build the source, you will need Microsoft Visual Studio. Open the project file in '''Shared/Core 2008.sln''' and build using one of the project configurations ''Debug'' or ''Release''. Note that everything will run significantly slower in ''Debug'' mode.<br />
<br />
=== Target directory and permissions ===<br />
<br />
By default, the current version compiles the binaries into 'C:\Program Files\MTA San Andreas 1.1\'. You should ensure the compiler has sufficient permissions to write to this directory. You should also ensure that up-to-date support files are present. This can be achieved by installing the latest available [http://nightly.mtasa.com/?mtasa-1.1-unstable-latest nighty] of the current version and also installing the latest [http://code.google.com/p/mtasa-blue/downloads/list?q=label:Data data files].<br />
<br />
=== Getting the latest network module ===<br />
<br />
Since the '''net.dll''' network modules for the client are covered by a different license, you will have to get these from our project [http://code.google.com/p/mtasa-blue/downloads/list?q=label:Net Downloads] section.<br />
<br />
Alternatively, you can take the DLL from an unstable nightly build and use that. If you want to run a debug version of MTA, MTA expects a debug version of the net dll. As we don't provide this, you can append '_d' to the filename of a release dll.<br />
<br />
Make sure you get the latest revision of the '''multitheftauto_net-rXXX.zip''' file and extract it into your '''MTA San Andreas 1.1\MTA''' program files directory (not your GTA directory!).<br />
<br />
= Running the software =<br />
<br />
You are almost ready to run your build of the Multi Theft Auto software.<br />
<br />
=== Running the game client ===<br />
<br />
If you want to run the Multi Theft Auto game client, you will need to extract the data files that the project uses when it is launched. These are packed in a separate archive that can be downloaded from our [http://code.google.com/p/mtasa-blue/downloads/list?q=label:Data Downloads] page on Google Code.<br />
<br />
Make sure you download the latest revision of the '''multitheftauto_data-rXXX.exe''' file and extract it into your '''MTA San Andreas 1.1''' program files directory (not your GTA directory!).<br />
<br />
=== Running the dedicated server ===<br />
<br />
If you want to run the Multi Theft Auto dedicated server, you will have to install the required resources. These are required because they implement the most basic functionality (e.g. spawning players) in order to play.<br />
<br />
Our official resources repository is hosted on Google Code: [http://code.google.com/p/mtasa-resources]. It's recommended that you check out the latest resources from here or download a zipped revision from the [http://code.google.com/p/mtasa-resources/downloads/list Downloads] tab on the resources project. Make sure that you are not using any of our resources from any previous versions of Multi Theft Auto, as this '''will''' cause issues.<br />
<br />
If you have any problems with missing DLL files (e.g. libcurl.dll), simply copy these over from the client's data archive described above.<br />
<br />
= Getting involved =<br />
Please see our [[Coding guidelines]] for information on coding practice.<br />
<br />
= Additional information =<br />
<br />
If you need more information, try our [http://bugs.mtasa.com/ bug tracker], [irc://irc.multitheftauto.com IRC channel].</div>EAihttps://wiki.multitheftauto.com/index.php?title=Talk:Optional_Arguments&diff=25725Talk:Optional Arguments2011-05-06T17:58:44Z<p>EAi: </p>
<hr />
<div>"Optional Arguments have one limitation. You cannot use any optional arguments unless all previous arguments are also supplied."<br />
<br />
What if you replace one of the previous arguments with 'nil'? Atleast that works with addBan().<br />
: It depends on the function, some support that, some don't. [[User:EAi|eAi]] 21:43, 4 January 2011 (UTC)<br />
: Lua always passes nil for elements that are not specified so it should work with all functions(cf. Programming in Lua 2nd edition p.36), unless one argument requires another optional argument to work(for example colors, you can not set red to nil and green and blue to 255 and expect it to work) [[User:Kamshak|Kamshak]] 19:18, 4 May 2011 (CEST)<br />
:: I'm not sure that can apply with C functions, as Lua doesn't know how many arguments these take, so it can't provide nils for them. It's down to our code to handle this case. I may be wrong here though. [[User:EAi|eAi]] 19:58, 6 May 2011 (CEST)</div>EAihttps://wiki.multitheftauto.com/index.php?title=RemoveBan&diff=25692RemoveBan2011-05-03T10:15:36Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will remove a specific [[ban]].<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
bool removeBan ( ban theBan, [ player responsibleElement ] )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] to be removed.<br />
<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
*'''responsibleElement:''' The element that is responsible for removing the [[ban]] element. This can be a player or the root ([[getRootElement]]()).<br />
<br />
===Returns===<br />
Returns ''true'' if the [[ban]] was removed succesfully, ''false'' if invalid arguments are specified.<br />
<br />
==Example==<br />
<syntaxhighlight lang="lua"><br />
--TODO<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[Category:Needs Example]]<br />
[[ru:removeBan]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetUnbanTime&diff=25691GetUnbanTime2011-05-03T10:15:10Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the unbanning time of the specified [[ban]] in '''seconds'''.<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
int getUnbanTime ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] in which you wish to retrieve the unban time of.<br />
<br />
===Returns===<br />
* Returns an integer of the unbanning time in the format of seconds from the year 1970. Use in conjunction with [[getRealTime]] in order to retrieve detailed information.<br />
* Returns '''false''' if invalid arguments are specified or if there was no unbanning time specified for the [[ban]].<br />
<br />
==Example==<br />
<syntaxhighlight lang="lua"><br />
--TODO<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[Category:Needs Example]]<br />
[[ru:getUnbanTime]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBanUsername&diff=25690GetBanUsername2011-05-03T10:15:03Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the username of the specified [[ban]].<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
string getBanUsername ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] in which you wish to retrieve the username of.<br />
<br />
===Returns===<br />
Returns a ''string'' of the username if everything was successful, ''false'' if invalid arguments are specified if there was no username specified for the [[ban]].<br />
<br />
==Example==<br />
<syntaxhighlight lang="lua"><br />
function retrieveBan(theBan)<br />
local ban = getBanUsername(theBan)<br />
if ban then<br />
outputChatBox("The following bans username is: "..ban, getRootElement(), 255,255,255, true)<br />
end<br />
end<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[Category:Needs Example]]<br />
[[ru:getBanUsername]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBans&diff=25689GetBans2011-05-03T10:14:36Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return a table over all the [[ban]] values in the server.<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
table getBans ()<br />
</syntaxhighlight><br />
<br />
===Returns===<br />
Returns a [[table]] of all the [[ban]]s.<br />
<br />
==Example==<br />
This example lists every ban when somebody types "/bans". WARNING: This will spam chat (for the player that executed the command) if the server has a lot of bans.<br />
<syntaxhighlight lang="lua"><br />
function listBans ()<br />
local bansList = getBans() -- Return a table of all the bans.<br />
<br />
for banID, ban in ipairs ( banList ) do -- For every ban do the following...<br />
local nick = getBanNick ( ban ) -- Get the IP of the ban<br />
<br />
if nick then<br />
outputChatBox ( "Ban #" .. banID .. ": " .. nick, source, 255, 0, 0 ) -- Output the ban.<br />
end<br />
end<br />
end<br />
addCommandHandler ( "bans", listBans ) -- Add "/bans" as the trigger for the function.<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[ru:getBans]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBanReason&diff=25688GetBanReason2011-05-03T10:14:20Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the ban reason of the specified [[ban]].<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
string getBanReason ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] in which you want to return the reason of.<br />
<br />
===Returns===<br />
Returns a ''string'' of the reason if everything was successful, ''false'' if invalid arguments are specified if there was no reason specified for the [[ban]].<br />
<br />
==Example==<br />
<syntaxhighlight lang="lua"><br />
function outputBan(ban)<br />
local banned = getBanNick(ban) -- Get the name of the player who was banned<br />
local banner = getBanAdmin(ban) -- Get the name of the admin who banned the player<br />
local reason = getBanReason(ban) -- Get the reason the player was banned<br />
outputChatBox("-----BAN-----",getRootElement(),255,0,0)<br />
if (banned) then<br />
outputChatBox("Player banned: "..banned,getRootElement(),255,0,0) -- Output the player name who was banned<br />
end<br />
if (banner) then<br />
outputChatBox("Banner: "..banner,getRootElement(),255,0,0) -- Output the admin name who performed the ban<br />
end<br />
if (reason) then<br />
outputChatBox("Reason: "..reason,getRootElement(),255,0,0) -- outputt the reason the player was banned<br />
end<br />
end<br />
addEventHandler("onBan",getRootElement(),outputBan) -- When a player is banned trigger the outputBan function<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[ru:getBanReason]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBanNick&diff=25687GetBanNick2011-05-03T10:14:14Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the nickname (nickname that the player had when he was banned) of the specified [[ban]].<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
string getBanNick ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] element which nickname you want to return.<br />
<br />
===Returns===<br />
Returns a ''string'' of the nickname if everything was successfull, ''false'' if invalid arguments are specified if there was no nickname specified for the [[ban]] element.<br />
<br />
==Example==<br />
<syntaxhighlight lang="lua"><br />
function outputBan(ban)<br />
local banned = getBanNick(ban) -- Get the name of the player who was banned<br />
local banner = getBanAdmin(ban) -- Get the name of the admin who banned the player<br />
local reason = getBanReason(ban) -- Get the reason the player was banned<br />
outputChatBox("-----BAN-----",getRootElement(),255,0,0)<br />
if (banned) then<br />
outputChatBox("Player banned: "..banned,getRootElement(),255,0,0) -- Output the player name who was banned<br />
end<br />
if (banner) then<br />
outputChatBox("Banner: "..banner,getRootElement(),255,0,0) -- Output the admin name who performed the ban<br />
end<br />
if (reason) then<br />
outputChatBox("Reason: "..reason,getRootElement(),255,0,0) -- outputt the reason the player was banned<br />
end<br />
end<br />
addEventHandler("onBan",getRootElement(),outputBan) -- When a player is banned trigger the outputBan function<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBanIP&diff=25686GetBanIP2011-05-03T10:14:06Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the IP of the specified [[ban]].<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
string getBanIP ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] in which you want to return the IP of.<br />
<br />
===Returns===<br />
Returns a ''string'' of the IP if everything was successful, ''false'' if invalid arguments are specified if there was no IP specified for the [[ban]].<br />
<br />
==Example==<br />
This example will show the user who banned a player the IP adress of that banned player.<br />
<syntaxhighlight lang="lua"><br />
function banPlayerCommand ( thisPlayer, commandName, bannedName, reason )<br />
if ( hasObjectPermissionTo ( thisPlayer, "function.banPlayer" ) ) then -- If the command user has the rights<br />
local bannedPlayer = getPlayerFromNick ( bannedName ) -- Get the ID from the player who gets banned<br />
if getElementType ( bannedPlayer ) == "player" then -- If it's a player<br />
local theBan = banPlayer ( bannedPlayer, thisPlayer, reason ) -- Ban the player<br />
outputChatBox ( "ban: " .. bannedName .. " successfully banned", thisPlayer ) -- Send the banner a succes message<br />
outputChatBox ( "At IP Adress: " ..getBanIP ( theBan ), thisPlayer ) -- And send him the IP adress of the banned player<br />
end<br />
else<br />
outputChatBox ( "ban: You don't have enough permissions", thisPlayer ) -- If the command user doesn't have the permissions<br />
end<br />
end<br />
addCommandHandler ( "ban", banPlayerCommand )<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[ru:getBanIP]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBanAdmin&diff=25685GetBanAdmin2011-05-03T10:14:00Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the responsible admin (nickname of the admin) of the specified [[ban]].<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
string getBanAdmin ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] you want to return the admin of.<br />
<br />
===Returns===<br />
Returns a ''string'' of the admin if everything was successful, ''false'' if invalid arguments are specified if there was no admin specified for the [[ban]].<br />
<br />
==Example==<br />
<syntaxhighlight lang="lua"><br />
function outputBan(ban)<br />
local banned = getBanNick(ban) -- Get the name of the player who was banned<br />
local banner = getBanAdmin(ban) -- Get the name of the admin who banned the player<br />
local reason = getBanReason(ban) -- Get the reason the player was banned<br />
outputChatBox("-----BAN-----",getRootElement(),255,0,0)<br />
if (banned) then<br />
outputChatBox("Player banned: "..banned,getRootElement(),255,0,0) -- Output the player name who was banned<br />
end<br />
if (banner) then<br />
outputChatBox("Banner: "..banner,getRootElement(),255,0,0) -- Output the admin name who performed the ban<br />
end<br />
if (reason) then<br />
outputChatBox("Reason: "..reason,getRootElement(),255,0,0) -- outputt the reason the player was banned<br />
end<br />
end<br />
addEventHandler("onBan",getRootElement(),outputBan) -- When a player is banned trigger the outputBan function<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[ru:getBanAdmin]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=BanPlayer&diff=25684BanPlayer2011-05-03T10:13:36Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
{{New feature|3|1.0|<br />
This function will ban the specified player by either IP, [[serial]] or username<br />
}}<br />
<br />
{{Deprecated_feature|3|1.0|<br />
This function will ban the specified player from the server by IP.<br />
}}<br />
<br />
==Syntax== <br />
{{New feature|3|1.0|<br />
<syntaxhighlight lang="lua"><br />
ban banPlayer ( player bannedPlayer, [ bool IP = true, bool Username = false, bool Serial = false, <br />
player responsiblePlayer = nil, string reason = nil, int seconds = 0 ] )<br />
</syntaxhighlight><br />
}}<br />
<br />
{{Deprecated_feature|3|1.0|<br />
<syntaxhighlight lang="lua"><br />
bool banPlayer ( player bannedPlayer , [ element responsibleElement, string reason ] ) <br />
</syntaxhighlight><br />
}}<br />
<br />
===Required Arguments=== <br />
*'''bannedPlayer:''' The player that will be banned from the server.<br />
<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
{{New feature|3|1.0|<br />
*'''IP:''' Will player be banned by IP?<br />
*'''Username:''' Will player be banned by username?<br />
*'''Serial:''' Will player be banned by serial?<br />
<br />
:'''Note:''' to ban by username or serial, ''verifyserials'' must be enabled in the server configuration file.<br />
<br />
}}<br />
*'''responsibleElement:''' The element that is responsible for banning the player. This can be a player or the root ([[getRootElement]]()).<br />
*'''reason:''' The reason the player will be banned from the server.<br />
*'''seconds:''' The amount of seconds the player will be banned from the server for. This can be 0 for an infinite amount of time.<br />
<br />
===Returns===<br />
{{Deprecated_feature|3|1.0|<br />
Returns ''true'' if the player was banned succesfully, ''false'' if invalid arguments are specified.<br />
}}<br />
<br />
{{New feature|3|1.0|<br />
Returns a [[ban]] object if banned successfully, or ''false'' if unsuccessful.<br />
}}<br />
<br />
==Example==<br />
This example lets a player ban anyone if he has ACL rights.<br />
<syntaxhighlight lang="lua"><br />
--Add the "ban" command handler<br />
-- Example with the player<br />
function banPlayerCommand ( theClient, commandName, bannedName, reason )<br />
<br />
-- Give the player a nice error if he doesn't have rights<br />
if ( hasObjectPermissionTo ( theClient, "function.banPlayer" ) ) then<br />
--Get player element from the name<br />
local bannedPlayer = getPlayerFromNick ( bannedName )<br />
<br />
--Ban the player<br />
banPlayer ( bannedPlayer, theClient, reason )<br />
outputChatBox ( "ban: " .. bannedName .. " successfully banned", theClient )<br />
<br />
else<br />
outputChatBox ( "ban: You don't have enough permissions", theClient )<br />
end<br />
<br />
end<br />
addCommandHandler ( "ban", banPlayerCommand )<br />
<br />
-- Example function with the root element. Here you would pass a player element to the function.<br />
function banCheater(theCheater)<br />
banPlayer(theCheater, getRootElement(), "You are banned because of cheating.")<br />
end<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin_functions}}<br />
[[es:banPlayer]]<br />
[[ru:BanPlayer]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBanSerial&diff=25683GetBanSerial2011-05-03T10:13:11Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the [[serial]] of the specified [[ban]].<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
string getBanSerial ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] you want to retrieve the serial of.<br />
<br />
===Returns===<br />
Returns a ''string'' of the serial if everything was successful, ''false'' if invalid arguments are specified or if there was no serial specified for the [[ban]].<br />
<br />
==Example==<br />
This example will show the user who banned a player the serial of that banned player.<br />
<syntaxhighlight lang="lua"><br />
function banPlayerCommand ( thisPlayer, commandName, bannedName, reason )<br />
if ( hasObjectPermissionTo ( thisPlayer, "function.banPlayer" ) ) then -- If the command user has the rights<br />
local bannedPlayer = getPlayerFromNick ( bannedName ) -- Get the ID from the player who gets banned<br />
if getElementType ( bannedPlayer ) == "player" then -- If it's a player<br />
local theBan = banPlayer ( bannedPlayer, thisPlayer, reason ) -- Ban the player<br />
outputChatBox ( "ban: " .. bannedName .. " successfully banned", thisPlayer ) -- Send the banner a succes message<br />
outputChatBox ( "At Serial: " ..getBanSerial ( theBan ), thisPlayer ) -- And send him the serial of the banned player<br />
end<br />
else<br />
outputChatBox ( "ban: You don't have enough permissions", thisPlayer ) -- If the command user doesn't have the permissions<br />
end<br />
end<br />
addCommandHandler ( "ban", banPlayerCommand )<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[ru:getBanSerial]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetBanTime&diff=25682GetBanTime2011-05-03T10:13:00Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function will return the time the specified [[ban]] was created, in '''seconds'''.<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
int getBanTime ( ban theBan )<br />
</syntaxhighlight><br />
<br />
===Required Arguments=== <br />
*'''theBan:''' The [[ban]] in which you wish to retrieve the time of.<br />
<br />
===Returns===<br />
* Returns an integer of the banning time in the format of seconds from the year 1970. Use in conjunction with [[getRealTime]] in order to retrieve detailed information.<br />
* Returns '''false''' if invalid arguments are specified if there was no banning time specified for the [[ban]].<br />
<br />
==Example==<br />
<syntaxhighlight lang="lua"><br />
function retrieveBan(theBan)<br />
local ban = getBanTime(theBan)<br />
if ban then<br />
outputChatBox("The time of ban is: "..ban, getRootElement(), 255,255,255, true)<br />
end<br />
end<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Admin functions}}<br />
[[Category:Needs Example]]<br />
[[ru:getBanTime]]</div>EAihttps://wiki.multitheftauto.com/index.php?title=CallRemote&diff=25552CallRemote2011-04-18T16:53:37Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}}<br />
This function allows you to call functions that have been exported with HTTP access by other MTA servers. The calls are asynchronous so you do not get an immediate result from the call, instead a callback function you specify is called when the call returns.<br />
<br />
You can also use this function to access a standard web page on a server you own by specifying the URL. The arguments you specify to callRemote are passed to the web page using HTTP POST as a [[JSON]] array. This will always have an array as the root element. The page must return a JSON formated *array* in the page's body with the results of the call (or an empty array if there are no results).<br />
<br />
You can use the [[PHP SDK]] to create PHP pages that can be called by this function. See the PHP SDK page for an example.<br />
<br />
In the case when the call fails, a string containing "ERROR" followed by an integer containing the error reason will be passed to the callback function. The reason for failure will be similar to errors found with websites - file not found, server not found and timeouts.<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
bool callRemote ( string host, string resourceName, string functionName, callback callbackFunction, [ arguments... ] )<br />
</syntaxhighlight> <br />
'''OR'''<br />
<syntaxhighlight lang="lua"><br />
bool callRemote ( string URL, callback callbackFunction, [ arguments... ] )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''host:''' This is a host name - including the '''HTTP''' port - of the server you wish to connect to.<br />
*'''resourceName:''' This is a name of the resource that contains the exported function you want to call.<br />
*'''functionName:''' This is a string with the name of the function which you want to call.<br />
*'''URL:''' A full URL in the format ''<nowiki>http://hostname/path/file.ext</nowiki>''. A port can be specified with a colon followed by a port number appended to the hostname.<br />
*'''callbackFunction:''' This is the function that should receive the data returned from the remote function call. The argument list should match the format of the data returned. The callback function will be passed a string containing "ERROR" followed by an integer indicating the error code when an error occurs calling the function. A list of error codes can be found on the [http://curl.haxx.se/libcurl/c/libcurl-errors.html cURL website].<br />
<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
*'''arguments:''' Any arguments you may want to pass to the function when it is called. Any number of arguments of can be specified, each being passed to the designated function. Most data types can be passed, including tables. The only values that cannot be passed are 'userdata' values such as xmlnodes - elements and resources can be passed though may be misinterpreted on other game servers (or cause warnings).<br />
<br />
===Returns===<br />
Returns ''true'' if the function has been called, ''false'' otherwise.<br />
<br />
==Example==<br />
This example shows you how you can call a PHP page from a lua script. It just adds two numbers passed to it by the script and outputs these in the chat box.<br />
<br />
'''PHP:''' (for the page that LUA expects to be at ''<nowiki>http://www.example.com/page.php</nowiki>'')<br />
<syntaxhighlight lang="lua">[php]<br />
include( "mta_sdk.php" );<br />
$input = mta::getInput();<br />
mta::doReturn($input[0] + $input[1]);<br />
</syntaxhighlight><br />
'''LUA:'''<br />
<syntaxhighlight lang="lua"><br />
-- result is called when the function returns<br />
function result(sum)<br />
if sum ~= "ERROR" then<br />
outputChatBox(sum)<br />
end<br />
end<br />
function addNumbers(number1, number2)<br />
callRemote ( "http://www.example.com/page.php", result, number1, number2 )<br />
end <br />
addNumbers ( 123, 456 ) -- call the function<br />
</syntaxhighlight><br />
<br />
<hr><br />
<br />
'''Example 2:''' This example shows how you can join up multiple servers so they can share chat messages.<br />
<br />
'''Meta.xml'''<br />
First, add ''outputChatBoxRemote'' as an HTTP exported function in your resource's meta.xml:<br />
<syntaxhighlight lang="xml"><br />
<export function="outputChatBoxRemote" http="true" /><br />
</syntaxhighlight><br />
<br />
'''LUA:''' Next, add this to a server-side script in your resource:<br />
<syntaxhighlight lang="lua"><br />
function outputChatBoxRemote ( playerName, message, type, serverport )<br />
if serverport ~= getServerPort() then<br />
outputChatBox ( "From " .. playerName .. " on " .. serverport .. ": " .. message )<br />
end<br />
end<br />
<br />
function playerChatCallback()<br />
end<br />
<br />
function playerChat ( message, type )<br />
callRemote ( "play.mtabeta.com:33004", getResourceName(getThisResource()), "outputChatBoxRemote", playerChatCallback, getPlayerName(source), message, type, getServerPort() )<br />
callRemote ( "play.mtabeta.com:33005", getResourceName(getThisResource()), "outputChatBoxRemote", playerChatCallback, getPlayerName(source), message, type, getServerPort() )<br />
callRemote ( "play.mtabeta.com:33006", getResourceName(getThisResource()), "outputChatBoxRemote", playerChatCallback, getPlayerName(source), message, type, getServerPort() )<br />
end<br />
addEventHandler ( "onPlayerChat", getRootElement(), playerChat )<br />
</syntaxhighlight><br />
<br />
'''ACL:'''<br />
Then, modify the ACL on each sending server to allow access to callRemote:<br />
<syntaxhighlight lang="xml"><br />
<group name="OutRPCGroup"><br />
<acl name="OutRPC" /><br />
<object name="resource.examplechat" /><br />
</group><br />
<acl name="OutRPC"><br />
<right name="function.callRemote" access="true" /><br />
</acl><br />
</syntaxhighlight><br />
<br />
'''ACL #2:'''<br />
Finally, modify the ACL on each receiving server to allow guest http communication with your resource:<br />
<syntaxhighlight lang="xml"><br />
<group name="InRPCGroup"><br />
<acl name="InRPC" /><br />
<object name="user.http_guest" /><br />
</group><br />
<acl name="InRPC"><br />
<right name="general.http" access="true" /><br />
<right name="resource.examplechat" access="true" /><br />
<right name="resource.resourcebrowser" access="false" /><br />
<right name="resource.webstats" access="false" /><br />
<right name="resource.webmap" access="false" /><br />
<right name="resource.webadmin" access="false" /><br />
<right name="resource.scoreboard" access="false" /><br />
<right name="resource.runcode" access="false" /><br />
<right name="resource.resourcemanager" access="false" /><br />
<right name="resource.mapmanager" access="false" /><br />
<right name="resource.admin" access="false" /><br />
<right name="resource.elementbrowser" access="false" /><br />
<right name="resource.easytext" access="false" /><br />
</acl><br />
</syntaxhighlight><br />
'''Important Note''': ''When enabling 'general.http' on an ACL which has a user with no password (i.e. user.* or user.guest or user.http_guest), it is essential that you explicitly block access to resources that contain exported http functions.''<br />
<br />
==See Also==<br />
{{Resource_functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=Compiling_MTASA&diff=25497Compiling MTASA2011-03-16T19:15:56Z<p>EAi: /* Getting the latest network module */</p>
<hr />
<div>__NOTOC__<br />
In order to successfully build Multi Theft Auto from source, it is necessary to perform a number of steps, which we will explain below.<br />
<br />
=== Prerequisites ===<br />
<br />
Before you can build Multi Theft Auto, make sure you have the following software and SDKs installed:<br />
* Microsoft Visual Studio 2008 (SP1 required)<br />
* [http://msdn.microsoft.com/en-us/directx/aa937788.aspx Microsoft DirectX SDK] (only the Direct3D related components are required)<br />
* [http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en Microsoft Platform SDK] (only the DirectShow components are required)<br />
<br />
If you haven't already done so, install a client such as [http://tortoisesvn.tigris.org/ TortoiseSVN] which can be used to download and manage the code.<br />
<br />
=== Getting the latest source code ===<br />
<br />
To get the latest code, you will have to Checkout our SVN repository with your SVN Client (i.e. TortoiseSVN) by using '''Checkout''' function, with the URL of '''http://mtasa-blue.googlecode.com/svn/trunk/'''.<br />
<br />
=== Building the software ===<br />
<br />
In order to build the source, you will need Microsoft Visual Studio. Open the project file in '''Shared/Core 2008.sln''' and build using one of the project configurations ''Debug'' or ''Release''. Note that everything will run significantly slower in ''Debug'' mode.<br />
<br />
=== Getting the latest network module ===<br />
<br />
Since the '''net.dll''' network modules for the client are covered by a different license, you will have to get these from our project [http://code.google.com/p/mtasa-blue/downloads/list?q=label:Net Downloads] section.<br />
<br />
Alternatively, you can take the DLL from a nightly build and use that. If you want to run a debug version of MTA, MTA expects a debug version of the net dll. As we don't provide this, you can append 'd' to the filename of a release dll.<br />
<br />
Make sure you get the latest revision of the '''multitheftauto_net-rXXX.zip''' file and extract it into your '''MTA San Andreas\MTA''' program files directory (not your GTA directory!).<br />
<br />
= Running the software =<br />
<br />
You are almost ready to run your build of the Multi Theft Auto software.<br />
<br />
=== Running the game client ===<br />
<br />
If you want to run the Multi Theft Auto game client, you will need to extract the data files that the project uses when it is launched. These are packed in a separate archive that can be downloaded from our [http://code.google.com/p/mtasa-blue/downloads/list?q=label:Data Downloads] page on Google Code.<br />
<br />
Make sure you download the latest revision of the '''multitheftauto_data-rXXX.exe''' file and extract it into your '''Multi Theft Auto: San Andreas''' program files directory (not your GTA directory!).<br />
<br />
=== Running the dedicated server ===<br />
<br />
If you want to run the Multi Theft Auto dedicated server, you will have to install the required resources. These are required because they implement the most basic functionality (e.g. spawning players) in order to play.<br />
<br />
Our official resources repository is hosted on Google Code: [http://code.google.com/p/mtasa-resources]. It's recommended that you check out the latest resources from here or download a zipped revision from the [http://code.google.com/p/mtasa-resources/downloads/list Downloads] tab on the resources project. Make sure that you are not using any of our resources from any previous versions of Multi Theft Auto, as this '''will''' cause issues.<br />
<br />
If you have any problems with missing DLL files (e.g. libcurl.dll), simply copy these over from the client's data archive described above.<br />
<br />
= Getting involved =<br />
Please see our [[Coding guidelines]] for information on coding practice.<br />
<br />
= Additional information =<br />
<br />
If you need more information, try our [http://bugs.mtasa.com/ bug tracker], [irc://irc.multitheftauto.com IRC channel].</div>EAihttps://wiki.multitheftauto.com/index.php?title=Template_talk:Client_and_Server&diff=25493Template talk:Client and Server2011-03-16T10:11:34Z<p>EAi: Created page with "What?? ~~~~"</p>
<hr />
<div>What?? [[User:EAi|eAi]] 10:11, 16 March 2011 (UTC)</div>EAihttps://wiki.multitheftauto.com/index.php?title=AddCommandHandler&diff=25455AddCommandHandler2011-03-02T00:37:31Z<p>EAi: /* Syntax */</p>
<hr />
<div>__NOTOC__ <br />
{{Server client function}}<br />
{{Note_box|It is strongly advised that you do not use the same name for your handler function as the command name, as this can lead to confusion if multiple handler functions are used. Use a name that describes your handler's purpose more specifically.}}<br />
This function will attach a scripting function (handler) to a console command, so that whenever a player or administrator uses the command the function is called.<br />
<br />
Multiple command handlers can be attached to a single command, and they will be called in the order that the handlers were attached. Equally, multiple commands can be handled by a single function, and the ''commandName'' parameter used to decide the course of action.<br />
<br />
For users, a command is in the format:<br />
<br />
''commandName'' ''argument1'' ''argument2''<br />
<br />
This can be triggered from the player's console or directly from the chat box by prefixing the message with a forward slash (''/''). For server side handlers, the server admin is also able to trigger these directly from the server's console in the same way as they are triggered from a player's console.<br />
<br />
==Syntax== <br />
<br />
<section name="Server" class="server" show="true"><br />
<syntaxhighlight lang="lua"><br />
bool addCommandHandler ( string commandName, function handlerFunction, [bool restricted = false, bool caseSensitive = true] )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments===<br />
*'''commandName:''' This is the name of the command you wish to attach a handler to. This is what must be typed into the console to trigger the function.<br />
*'''handlerFunction:''' This is the function that you want the command to trigger, which has to be defined before you add the handler. This function can take two parameters, playerSource and commandName, followed by as many parameters you expect after your command (see below). These are all optional.<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
*'''restricted:''' Specify whether or not this command should be restricted by default. Use this on commands that should be inaccessible to everyone as default except special users specified in the ACL (Access Control List). This is to make sure admin commands such as ie. 'punish' won't be available to everyone if a server administrator forgets masking it in ACL. This argument defaults to false if nothing is specified.<br />
{{New feature|3|1.0|<br />
*'''caseSensitive:''' Specifies if the command handler will ignore the case for this command name.<br />
}}<br />
<br />
</section><br />
<br />
<br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
bool addCommandHandler ( string commandName, function handlerFunction, [bool caseSensitive = true] )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments===<br />
*'''commandName:''' This is the name of the command you wish to attach a handler to. This is what must be typed into the console to trigger the function.<br />
*'''handlerFunction:''' This is the function that you want the command to trigger, which has to be defined before you add the handler. This function can take two parameters, playerSource and commandName, followed by as many parameters you expect after your command (see below). These are all optional.<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
{{New feature|3|1.0|<br />
*'''caseSensitive:''' Specifies if the command handler will ignore the case for this command name.<br />
}}<br />
</section><br />
<br />
====Handler function parameters====<br />
These are the parameters for the handler function that is called when the command is used.<br />
<section name="Server" class="server" show="true"><br />
<syntaxhighlight lang="lua">player playerSource, string commandName, [string arg1, string arg2, ...] </syntaxhighlight><br />
<br />
* '''playerSource:''' The player who triggered the command. If not triggered by a player (e.g. by admin), this will be ''false''.<br />
* '''commandName:''' The name of the command triggered. This is useful if multiple commands go through one function.<br />
* '''arg1, arg2, ...:''' Each word after command name in the original command is passed here in a seperate variable. If there is no value for an argument, its variable will contain [[nil]]. You can deal with a variable number of arguments using the vararg expression, as shown in '''Example 4''' below.<br />
</section><br />
<br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"> string commandName, [string arg1, string arg2, ...] </syntaxhighlight><br />
* '''commandName:''' The name of the command triggered. This is useful if multiple commands go through one function.<br />
* '''arg1, arg2, ...:''' Each word after command name in the original command is passed here in a seperate variable. If there is no value for an argument, its variable will contain [[nil]]. You can deal with a variable number of arguments using the vararg expression, as shown in '''Example 4''' below.<br />
</section><br />
<br />
===Returns===<br />
Returns ''true'' if the command handler was added successfully, ''false'' otherwise.<br />
<br />
==Example== <br />
<section name="Server" class="server" show="true"><br />
'''Example 1:''' This example defines a command handler for the command ''createmarker''. This will create a red marker at the position of the player player who uses it.<br />
<syntaxhighlight lang="lua"><br />
-- Define our function that will handle this command<br />
function consoleCreateMarker ( playerSource )<br />
-- If a player triggered it (rather than the admin) then<br />
if ( playerSource ) then<br />
-- Get that player's position<br />
local x, y, z = getElementPosition ( playerSource )<br />
-- Create a size 2, red checkpoint marker at their position<br />
createMarker ( x, y, z, "checkpoint", 2, 255, 0, 0, 255 )<br />
-- Output it in his chat box<br />
outputChatBox ( "You got a red marker", playerSource )<br />
end<br />
end<br />
-- Attach the 'consoleCreateMarker' function to the "createmarker" command<br />
addCommandHandler ( "createmarker", consoleCreateMarker )<br />
</syntaxhighlight><br />
</section><br />
<br />
<section name="Server" class="server" show="hide"><br />
'''Example 2:''' This example implements a ''set_vehicle_color'' command.<br />
<syntaxhighlight lang="lua"><br />
-- Define our function that will handle this command<br />
function consoleSetVehicleColor ( playerSource, commandName, col1, col2, col3, col4 )<br />
-- If a player triggered this in-game<br />
if ( playerSource ) then<br />
-- Get the player's vehicle<br />
local playerVehicle = getPedOccupiedVehicle ( playerSource )<br />
-- If the player is in a vehicle and we've got at least 1 parameter<br />
if ( playerVehicle and col1 ) then<br />
-- Get the vehicle's existing color and use it if fewer than 4 arguments were passed<br />
local exCol1, exCol2, exCol3, exCol4 = getVehicleColor ( playerVehicle )<br />
<br />
if not col2 then col2 = exCol2 end<br />
if not col3 then col3 = exCol3 end<br />
if not col4 then col4 = exCol4 end<br />
<br />
-- Set the vehicle's color<br />
setVehicleColor ( playerVehicle, col1, col2, col3, col4 )<br />
else<br />
-- If we didn't get at least 1 parameter or the player doesn't have a vehicle, display some help text<br />
outputConsole ( "This function will set your current vehicle's colors. A vehicle can have up to 4 colors.", playerSource )<br />
outputConsole ( "Syntax: set_vehicle_color color1 [ color2 color3 color4 ]", playerSource )<br />
outputConsole ( "You must be in a vehicle to use this function.", playerSource )<br />
end<br />
end<br />
end<br />
-- Attach the 'consoleSetVehicleColor' function to the "set_vehicle_color" command<br />
addCommandHandler ( "set_vehicle_color", consoleSetVehicleColor )<br />
</syntaxhighlight><br />
</section><br />
<br />
<section name="Server" class="server" show="hide"><br />
'''Example 3:''' This example makes use of Lua's vararg expression to implement a ''check_parameters'' command to count the number of parameters passed, merge them all into a single string and output it. This is also shows you how you can use table.concat to merge all the passed arguments. This is particularly useful when you want to read in a sentence of text passed from the user. <br />
<syntaxhighlight lang="lua"><br />
-- Define our function that will handle this command (which can accept a variable number of arguments after commandName)<br />
function consoleCheckParameters ( playerSource, commandName, ... )<br />
-- If a player, not an admin, triggered it,<br />
if playerSource then<br />
-- Get the number of arguments in the arg table (arg table is the same as: {...})<br />
local parameterCount = #arg<br />
-- Output it to the player's chatbox<br />
outputChatBox ( "Number of parameters: " .. parameterCount, playerSource )<br />
-- Join them together in a single comma-separated string<br />
local stringWithAllParameters = table.concat( arg, ", " )<br />
-- Output this parameter list to the player's chatbox<br />
outputChatBox ( "Parameters passed: " .. stringWithAllParameters, playerSource )<br />
end<br />
end<br />
-- Attach the 'consoleCheckParameters' function to the "check_parameters" command<br />
addCommandHandler ( "check_parameters", consoleCheckParameters )<br />
</syntaxhighlight><br />
</section><br />
<br />
<section name="Server" class="server" show="hide"><br />
'''Example 4:''' This example shows using a single function to handle multiple command handlers. This isn't advised for general usage, as it makes code harder to understand, but where multiple command handlers share some logic, it can be a useful way of reducing duplicated code. Generally, it would be preferable to put this shared logic in a separate function instead, as this gives you more control over the flow.<br />
<!-- commands are case sensitive by default, in this example too --><br />
<syntaxhighlight lang="lua"><br />
-- make the function<br />
function moneyCmd(player, cmd, amount)<br />
if getElementData(player, "canUseMoneyFunctions") then -- the shared logic<br />
if cmd == "givemoney" then<br />
amount = tonumber(amount)<br />
if amount then<br />
givePlayerMoney(player, amount)<br />
else<br />
outputChatBox("[usage] /givemoney [amount]", player)<br />
end<br />
else if cmd == "takemoney" then<br />
amount = tonumber(amount)<br />
if amount then<br />
takePlayerMoney(player, amount)<br />
else<br />
outputChatBox("[usage] /takemoney [amount]", player)<br />
end<br />
end<br />
else<br />
outputChatBox("You aren't able to use this command", player)<br />
end<br />
end<br />
<br />
addCommandHandler("givemoney", moneyCmd);<br />
addCommandHandler("takemoney", moneyCmd);<br />
</syntaxhighlight><br />
</section><br />
<section name="Client" class="client" show="true"><br />
'''Example 1:''' This creates a GUI window and allows a player to change its alpha (transparency) value with a command. Note that, in a clientside script, the player using the command is not passed as a parameter to the handler function, since it is always the local player.<br />
<br />
<syntaxhighlight lang="lua">--Create a window<br />
myWindow = guiCreateWindow ( 0.30, 0.10, 0.5, 0.60, "GUI window title", true )<br />
<br />
--Add a command handler to change the alpha of the GUI window. Usage example: 'alpha 0.15'<br />
function changeAlpha ( commandName, alphaAmount )<br />
-- All command parameters are strings, so we'll convert the value to a number first<br />
alphaAmount = tonumber(alphaAmount)<br />
guiSetAlpha ( myWindow, alphaAmount )<br />
end<br />
addCommandHandler ( "alpha", changeAlpha )<br />
</syntaxhighlight><br />
</section><br />
<section name="Client" class="client" show="false"><br />
'''Example 2:''' This creates a GUI window and allows a player to change its alpha (transparency) value with a command. Note that, in a clientside script, the player using the command is not passed as a parameter to the handler function, since it is always the local player.<br />
<br />
<syntaxhighlight lang="lua">function escapeMe ( commandName, taskType )<br />
local x, y, z = getElementPosition ( getLocalPlayer() ) --Get player's position<br />
setElementPosition ( getLocalPlayer(), x+(math.random(-10,10)), y+(math.random(-10,10)), z+(math.random(1,15)) ) --Move a player randomly to a nearby location. X is current x + a number between -10, 10 and so on.<br />
end <br />
addCommandHandler ( "escape", escapeMe ) --When player types "/escape" in chatbox or "escape" in console<br />
</syntaxhighlight><br />
</section><br />
<br />
<br />
==See Also==<br />
{{Server functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=AddCommandHandler&diff=25454AddCommandHandler2011-03-02T00:37:11Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server client function}}<br />
{{Note_box|It is strongly advised that you do not use the same name for your handler function as the command name, as this can lead to confusion if multiple handler functions are used. Use a name that describes your handler's purpose more specifically.}}<br />
This function will attach a scripting function (handler) to a console command, so that whenever a player or administrator uses the command the function is called.<br />
<br />
Multiple command handlers can be attached to a single command, and they will be called in the order that the handlers were attached. Equally, multiple commands can be handled by a single function, and the ''commandName'' parameter used to decide the course of action.<br />
<br />
For users, a command is in the format:<br />
<br />
''commandName'' ''argument1'' ''argument2''<br />
<br />
This can be triggered from the player's console or directly from the chat box by prefixing the message with a forward slash (''/''). For server side handlers, the server admin is also able to trigger these directly from the server's console in the same way as they are triggered from a player's console.<br />
<br />
==Syntax== <br />
<br />
<section name="Server" class="server" show="true"><br />
<syntaxhighlight lang="lua"><br />
bool addCommandHandler ( string commandName, function handlerFunction, [bool restricted = false, <br />
bool caseSensitive = true] )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments===<br />
*'''commandName:''' This is the name of the command you wish to attach a handler to. This is what must be typed into the console to trigger the function.<br />
*'''handlerFunction:''' This is the function that you want the command to trigger, which has to be defined before you add the handler. This function can take two parameters, playerSource and commandName, followed by as many parameters you expect after your command (see below). These are all optional.<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
*'''restricted:''' Specify whether or not this command should be restricted by default. Use this on commands that should be inaccessible to everyone as default except special users specified in the ACL (Access Control List). This is to make sure admin commands such as ie. 'punish' won't be available to everyone if a server administrator forgets masking it in ACL. This argument defaults to false if nothing is specified.<br />
{{New feature|3|1.0|<br />
*'''caseSensitive:''' Specifies if the command handler will ignore the case for this command name.<br />
}}<br />
<br />
</section><br />
<br />
<br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
bool addCommandHandler ( string commandName, function handlerFunction, [bool caseSensitive = true] )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments===<br />
*'''commandName:''' This is the name of the command you wish to attach a handler to. This is what must be typed into the console to trigger the function.<br />
*'''handlerFunction:''' This is the function that you want the command to trigger, which has to be defined before you add the handler. This function can take two parameters, playerSource and commandName, followed by as many parameters you expect after your command (see below). These are all optional.<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
{{New feature|3|1.0|<br />
*'''caseSensitive:''' Specifies if the command handler will ignore the case for this command name.<br />
}}<br />
</section><br />
<br />
====Handler function parameters====<br />
These are the parameters for the handler function that is called when the command is used.<br />
<section name="Server" class="server" show="true"><br />
<syntaxhighlight lang="lua">player playerSource, string commandName, [string arg1, string arg2, ...] </syntaxhighlight><br />
<br />
* '''playerSource:''' The player who triggered the command. If not triggered by a player (e.g. by admin), this will be ''false''.<br />
* '''commandName:''' The name of the command triggered. This is useful if multiple commands go through one function.<br />
* '''arg1, arg2, ...:''' Each word after command name in the original command is passed here in a seperate variable. If there is no value for an argument, its variable will contain [[nil]]. You can deal with a variable number of arguments using the vararg expression, as shown in '''Example 4''' below.<br />
</section><br />
<br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"> string commandName, [string arg1, string arg2, ...] </syntaxhighlight><br />
* '''commandName:''' The name of the command triggered. This is useful if multiple commands go through one function.<br />
* '''arg1, arg2, ...:''' Each word after command name in the original command is passed here in a seperate variable. If there is no value for an argument, its variable will contain [[nil]]. You can deal with a variable number of arguments using the vararg expression, as shown in '''Example 4''' below.<br />
</section><br />
<br />
===Returns===<br />
Returns ''true'' if the command handler was added successfully, ''false'' otherwise.<br />
<br />
==Example== <br />
<section name="Server" class="server" show="true"><br />
'''Example 1:''' This example defines a command handler for the command ''createmarker''. This will create a red marker at the position of the player player who uses it.<br />
<syntaxhighlight lang="lua"><br />
-- Define our function that will handle this command<br />
function consoleCreateMarker ( playerSource )<br />
-- If a player triggered it (rather than the admin) then<br />
if ( playerSource ) then<br />
-- Get that player's position<br />
local x, y, z = getElementPosition ( playerSource )<br />
-- Create a size 2, red checkpoint marker at their position<br />
createMarker ( x, y, z, "checkpoint", 2, 255, 0, 0, 255 )<br />
-- Output it in his chat box<br />
outputChatBox ( "You got a red marker", playerSource )<br />
end<br />
end<br />
-- Attach the 'consoleCreateMarker' function to the "createmarker" command<br />
addCommandHandler ( "createmarker", consoleCreateMarker )<br />
</syntaxhighlight><br />
</section><br />
<br />
<section name="Server" class="server" show="hide"><br />
'''Example 2:''' This example implements a ''set_vehicle_color'' command.<br />
<syntaxhighlight lang="lua"><br />
-- Define our function that will handle this command<br />
function consoleSetVehicleColor ( playerSource, commandName, col1, col2, col3, col4 )<br />
-- If a player triggered this in-game<br />
if ( playerSource ) then<br />
-- Get the player's vehicle<br />
local playerVehicle = getPedOccupiedVehicle ( playerSource )<br />
-- If the player is in a vehicle and we've got at least 1 parameter<br />
if ( playerVehicle and col1 ) then<br />
-- Get the vehicle's existing color and use it if fewer than 4 arguments were passed<br />
local exCol1, exCol2, exCol3, exCol4 = getVehicleColor ( playerVehicle )<br />
<br />
if not col2 then col2 = exCol2 end<br />
if not col3 then col3 = exCol3 end<br />
if not col4 then col4 = exCol4 end<br />
<br />
-- Set the vehicle's color<br />
setVehicleColor ( playerVehicle, col1, col2, col3, col4 )<br />
else<br />
-- If we didn't get at least 1 parameter or the player doesn't have a vehicle, display some help text<br />
outputConsole ( "This function will set your current vehicle's colors. A vehicle can have up to 4 colors.", playerSource )<br />
outputConsole ( "Syntax: set_vehicle_color color1 [ color2 color3 color4 ]", playerSource )<br />
outputConsole ( "You must be in a vehicle to use this function.", playerSource )<br />
end<br />
end<br />
end<br />
-- Attach the 'consoleSetVehicleColor' function to the "set_vehicle_color" command<br />
addCommandHandler ( "set_vehicle_color", consoleSetVehicleColor )<br />
</syntaxhighlight><br />
</section><br />
<br />
<section name="Server" class="server" show="hide"><br />
'''Example 3:''' This example makes use of Lua's vararg expression to implement a ''check_parameters'' command to count the number of parameters passed, merge them all into a single string and output it. This is also shows you how you can use table.concat to merge all the passed arguments. This is particularly useful when you want to read in a sentence of text passed from the user. <br />
<syntaxhighlight lang="lua"><br />
-- Define our function that will handle this command (which can accept a variable number of arguments after commandName)<br />
function consoleCheckParameters ( playerSource, commandName, ... )<br />
-- If a player, not an admin, triggered it,<br />
if playerSource then<br />
-- Get the number of arguments in the arg table (arg table is the same as: {...})<br />
local parameterCount = #arg<br />
-- Output it to the player's chatbox<br />
outputChatBox ( "Number of parameters: " .. parameterCount, playerSource )<br />
-- Join them together in a single comma-separated string<br />
local stringWithAllParameters = table.concat( arg, ", " )<br />
-- Output this parameter list to the player's chatbox<br />
outputChatBox ( "Parameters passed: " .. stringWithAllParameters, playerSource )<br />
end<br />
end<br />
-- Attach the 'consoleCheckParameters' function to the "check_parameters" command<br />
addCommandHandler ( "check_parameters", consoleCheckParameters )<br />
</syntaxhighlight><br />
</section><br />
<br />
<section name="Server" class="server" show="hide"><br />
'''Example 4:''' This example shows using a single function to handle multiple command handlers. This isn't advised for general usage, as it makes code harder to understand, but where multiple command handlers share some logic, it can be a useful way of reducing duplicated code. Generally, it would be preferable to put this shared logic in a separate function instead, as this gives you more control over the flow.<br />
<!-- commands are case sensitive by default, in this example too --><br />
<syntaxhighlight lang="lua"><br />
-- make the function<br />
function moneyCmd(player, cmd, amount)<br />
if getElementData(player, "canUseMoneyFunctions") then -- the shared logic<br />
if cmd == "givemoney" then<br />
amount = tonumber(amount)<br />
if amount then<br />
givePlayerMoney(player, amount)<br />
else<br />
outputChatBox("[usage] /givemoney [amount]", player)<br />
end<br />
else if cmd == "takemoney" then<br />
amount = tonumber(amount)<br />
if amount then<br />
takePlayerMoney(player, amount)<br />
else<br />
outputChatBox("[usage] /takemoney [amount]", player)<br />
end<br />
end<br />
else<br />
outputChatBox("You aren't able to use this command", player)<br />
end<br />
end<br />
<br />
addCommandHandler("givemoney", moneyCmd);<br />
addCommandHandler("takemoney", moneyCmd);<br />
</syntaxhighlight><br />
</section><br />
<section name="Client" class="client" show="true"><br />
'''Example 1:''' This creates a GUI window and allows a player to change its alpha (transparency) value with a command. Note that, in a clientside script, the player using the command is not passed as a parameter to the handler function, since it is always the local player.<br />
<br />
<syntaxhighlight lang="lua">--Create a window<br />
myWindow = guiCreateWindow ( 0.30, 0.10, 0.5, 0.60, "GUI window title", true )<br />
<br />
--Add a command handler to change the alpha of the GUI window. Usage example: 'alpha 0.15'<br />
function changeAlpha ( commandName, alphaAmount )<br />
-- All command parameters are strings, so we'll convert the value to a number first<br />
alphaAmount = tonumber(alphaAmount)<br />
guiSetAlpha ( myWindow, alphaAmount )<br />
end<br />
addCommandHandler ( "alpha", changeAlpha )<br />
</syntaxhighlight><br />
</section><br />
<section name="Client" class="client" show="false"><br />
'''Example 2:''' This creates a GUI window and allows a player to change its alpha (transparency) value with a command. Note that, in a clientside script, the player using the command is not passed as a parameter to the handler function, since it is always the local player.<br />
<br />
<syntaxhighlight lang="lua">function escapeMe ( commandName, taskType )<br />
local x, y, z = getElementPosition ( getLocalPlayer() ) --Get player's position<br />
setElementPosition ( getLocalPlayer(), x+(math.random(-10,10)), y+(math.random(-10,10)), z+(math.random(1,15)) ) --Move a player randomly to a nearby location. X is current x + a number between -10, 10 and so on.<br />
end <br />
addCommandHandler ( "escape", escapeMe ) --When player types "/escape" in chatbox or "escape" in console<br />
</syntaxhighlight><br />
</section><br />
<br />
<br />
==See Also==<br />
{{Server functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetTimers&diff=25358GetTimers2011-02-13T11:21:51Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server client function}}<br />
This function returns a table of all active timers that the resource that calls it has created. Alternatively, only the timers with a remaining time less than or equal to a certain value can be retrieved.<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
table getTimers ( [ time ] )<br />
</syntaxhighlight> <br />
<br />
===Optional Arguments=== <br />
*'''time:''' The maximum time left (in milliseconds) on the timers you wish to retrieve.<br />
<br />
===Returns===<br />
Returns a table of all the active timers.<br />
<br />
==Example==<br />
This example kills timers with a remaining time of less than 1 minute.<br />
<syntaxhighlight lang="lua"><br />
-- Find and kill all the timers with less than 1 minute to go<br />
timers = getTimers ( 60000 )<br />
-- Loop through the timer list<br />
for timerKey, timerValue in ipairs(timers) do<br />
-- kill the timer<br />
killTimer ( timerValue )<br />
end<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Utility functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=User:EAi&diff=25284User:EAi2011-01-29T15:47:03Z<p>EAi: </p>
<hr />
<div>{{MTA Developer}}<br />
<br />
==Todo==<br />
* Flash on the menu<br />
* Translation<br />
* Move files around - logs to root directory, get rid of the mods directory perhaps.<br />
* Improve client-side resource cache. Ideas:<br />
** Store unmodifiable client-side files as with their filename their hash and in a directory which is the first two digits of the hash<br />
** Store modifiable files separately<br />
** Keep track of filename and last-use time for each file in sqllite<br />
** Provide an option to automatically remove files you've not used recently<br />
** Consider ways to keep modifiable files separate between servers (so server A can't read server B's files) though there are circumstances where this is actually desirable. Possibly a filename prefix could specify that it should be written to a this-server-only directory.<br />
** Compress files when they're sent to clients<br />
** Precompile lua files on the server<br />
** See if we can have a way to make files optional</div>EAihttps://wiki.multitheftauto.com/index.php?title=SetHeatHaze&diff=25278SetHeatHaze2011-01-26T01:07:52Z<p>EAi: </p>
<hr />
<div>__NOTOC__<br />
{{Server client function}}<br />
This function changes the heat haze effect.<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
bool setHeatHaze ( int intensity, [ int randomShift = 0, int speedMin = 12, int speedMax = 18, int scanSizeX = 75, int scanSizeY = 80, int renderSizeX = 80, int renderSizeY = 85, bool bShowInside = false ] )<br />
</syntaxhighlight> <br />
<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
*'''intensity:''' The intensity of the effect, from 0 to 255.<br />
*'''randomShift:''' Sets a random jitter, from 0 to 255.<br />
*'''speedMin:''' The slowest effect speed, from 0 to 1000.<br />
*'''speedMax:''' The fastest effect speed, from 0 to 1000.<br />
*'''scanSizeX:''' The X size in pixels of the chunk grabbed from the screen, from -1000 to 1000.<br />
*'''scanSizeY:''' The Y size in pixels of the chunk grabbed from the screen, from -1000 to 1000.<br />
*'''renderSizeX:''' The X size in pixels the chunk will be when rendered back to the screen, from 0 to 1000.<br />
*'''renderSizeY:''' The Y size in pixels the chunk will be when rendered back to the screen, from 0 to 1000.<br />
*'''bShowInside:''' Set to ''true'' to enable the heat haze effect when inside a building.<br />
<br />
===Returns===<br />
Returns ''true'' if the heat haze effect was set correctly, ''false'' if invalid values were passed.<br />
<br />
==Example== <br />
'''Example 1:''' This example turns the heat haze effect off:<br />
<syntaxhighlight lang="lua"><br />
setHeatHaze ( 0 )<br />
</syntaxhighlight><br />
<br />
'''Example 2:''' This example will have an interesting effect:<br />
<syntaxhighlight lang="lua"><br />
setHeatHaze ( 50, 20, 0, 500, 200, 100, 50, 20, true )<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{World functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=SetHeatHaze&diff=25277SetHeatHaze2011-01-26T01:07:34Z<p>EAi: /* Example */ I've no idea what " show some kind of electric world effect or like a compression with lost of the images." meant, so I've replaced it with something ambiguous, but at least it's english</p>
<hr />
<div>__NOTOC__<br />
{{Server client function}}<br />
This function changes the heat haze effect.<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
bool setHeatHaze ( int intensity, [ int randomShift = 0, int speedMin = 12, int speedMax = 18, int scanSizeX = 75, int scanSizeY = 80, int renderSizeX = 80, int renderSizeY = 85, bool bShowInside = false ] )<br />
</syntaxhighlight> <br />
<br />
===Optional Arguments=== <br />
{{OptionalArg}} <br />
*'''intensity:''' The intensity of the effect, from 0 to 255.<br />
*'''randomShift:''' Sets a random jitter, from 0 to 255.<br />
*'''speedMin:''' The slowest effect speed, from 0 to 1000.<br />
*'''speedMax:''' The fastest effect speed, from 0 to 1000.<br />
*'''scanSizeX:''' The X size in pixels of the chunk grabbed from the screen, from -1000 to 1000.<br />
*'''scanSizeY:''' The Y size in pixels of the chunk grabbed from the screen, from -1000 to 1000.<br />
*'''renderSizeX:''' The X size in pixels the chunk will be when rendered back to the screen, from 0 to 1000.<br />
*'''renderSizeY:''' The Y size in pixels the chunk will be when rendered back to the screen, from 0 to 1000.<br />
*'''bShowInside:''' Set to ''true'' to enable the heat haze effect when inside a building.<br />
<br />
===Returns===<br />
Returns ''true'' if the heat haze effect was set correctly, ''false'' if invalid values were passed.<br />
<br />
==Example== <br />
'''Example 1:''' This example turns the heat haze effect off:<br />
<syntaxhighlight lang="lua"><br />
setHeatHaze ( 0 )<br />
</syntaxhighlight><br />
<br />
"'Example 2:'''This example will have an interesting effect:<br />
<syntaxhighlight lang="lua"><br />
setHeatHaze ( 50, 20, 0, 500, 200, 100, 50, 20, true )<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{World functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetPedOccupiedVehicle&diff=25243GetPedOccupiedVehicle2011-01-22T01:39:40Z<p>EAi: </p>
<hr />
<div>__NOTOC__<br />
{{Server client function}}<br />
This function gets the [[vehicle]] that the ped is currently in, if any.<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua">vehicle getPedOccupiedVehicle ( ped thePed )</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''thePed''': The [[ped]] whose vehicle you're looking up.<br />
<br />
===Returns===<br />
Returns the vehicle that the specified ped is in, or ''false'' if the ped is not in a vehicle or is an invalid ped.<br />
<br />
==Example==<br />
When a ped enters the 'getcarname' command and is currently in a vehicle, this example outputs the name of the vehicle.<br />
<syntaxhighlight lang="lua"><br />
function showVehicleName ( player )<br />
local theVehicle = getPedOccupiedVehicle ( player )<br />
if theVehicle then<br />
outputChatBox ( "Name of the Vehicle: " .. getVehicleName ( theVehicle ), player )<br />
else<br />
outputChatBox ( "You do not have a Vehicle!", player, 255, 0, 0, true )<br />
end<br />
end<br />
addCommandHandler ( "getcarname", showVehicleName )<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Client_ped_functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=GetPedOccupiedVehicle&diff=25242GetPedOccupiedVehicle2011-01-22T01:39:33Z<p>EAi: </p>
<hr />
<div>__NOTOC__<br />
{{Server client function}}<br />
This function gets the [[vehicle]] that the ped is currently in, if any.<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua">vehicle getPedOccupiedVehicle ( ped thePed )</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''thePed''': The [[ped]] whose vehicle you're looking up.<br />
<br />
===Returns===<br />
Returns the vehicle that the specified ped is in, or ''false'' if the ped is not in a vehicle or is an invalid ped.<br />
<br />
==Example==<br />
When a ped enters the 'getcarname' command and is currently in a vehicle, this example outputs the name of the vehicle.<br />
<syntaxhighlight lang="lua"><br />
function showVehicleName ( player )<br />
local theVehicle = getPedOccupiedVehicle ( player )<br />
if vehicle then<br />
outputChatBox ( "Name of the Vehicle: " .. getVehicleName ( theVehicle ), player )<br />
else<br />
outputChatBox ( "You do not have a Vehicle!", player, 255, 0, 0, true )<br />
end<br />
end<br />
addCommandHandler ( "getcarname", showVehicleName )<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Client_ped_functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=IsObjectInACLGroup&diff=25241IsObjectInACLGroup2011-01-22T01:37:26Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}} <br />
{{Note_box|It's recommended ''not'' to use this function to limit features to users that belong to specific groups. Instead use [[hasObjectPermissionTo]]. Using this function forces the server owner to name their group a certain way, whereas using hasObjectPermissionTo allows the owner to give permission for whatever features you restrict to whatever groups they have set up in their ACL.}}<br />
This function is used to determine if an object is in a group.<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
bool isObjectInACLGroup ( string theObject, aclgroup theGroup )<br />
</syntaxhighlight> <br />
===Required Arguments=== <br />
<br />
*'''theObject:''' the name of the object to check. Examples: "resource.ctf", "user.Jim".<br />
*'''theGroup:''' the [[ACL group]] pointer of the group from which the object should be found.<br />
<br />
===Returns===<br />
Returns ''true'' if the object is in the specified group, ''false'' otherwise.<br />
<br />
==Example== <br />
''' Example 1:''' This example adds a ''jetpack'' command that is only available to admins. When entering the command, it will toggle the player's jetpack.<br />
<syntaxhighlight lang="lua"><br />
addCommandHandler ( "jetpack",<br />
function ( thePlayer )<br />
-- If the player has a jetpack already, remove it<br />
if doesPedHaveJetPack ( thePlayer ) then<br />
removePedJetPack ( thePlayer ) -- Remove the jetpack<br />
return -- And stop the function here<br />
end<br />
<br />
-- Otherwise, give him one if he has access<br />
local accName = getAccountName ( getPlayerAccount ( thePlayer ) )<br />
-- Does he have access to Admin functions?<br />
if isObjectInACLGroup ( "user." .. playerName, aclGetGroup ( "Admin" ) ) then<br />
-- He's an admin. Give him a jetpack<br />
givePedJetPack ( thePlayer )<br />
end<br />
end<br />
)<br />
</syntaxhighlight><br />
<br />
'''Example 2:''' This example displays a list of all the online admins in the chat box (assuming your administrator's group in your ACL is called 'admin'):<br />
<syntaxhighlight lang="lua"><br />
players = getElementsByType ( "player" )<br />
admins = ""<br />
for k,v in ipairs(players) do<br />
local accountname = ""<br />
if (isGuestAccount(getPlayerAccount(v)) == false) then<br />
accountname = getAccountName (getPlayerAccount(v))<br />
if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "admin" ) ) then<br />
if (admins == "") then<br />
admins = getPlayerName(v)<br />
else<br />
admins = admins .. ", " .. getPlayerName(v)<br />
end<br />
end<br />
end<br />
end<br />
outputChatBox( "Online Admins:", getRootElement(), 255, 255, 0)<br />
outputChatBox( " " .. tostring ( admins ), getRootElement(), 255, 255, 0)<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{ACL_functions}}</div>EAihttps://wiki.multitheftauto.com/index.php?title=IsObjectInACLGroup&diff=25240IsObjectInACLGroup2011-01-22T01:37:10Z<p>EAi: </p>
<hr />
<div>__NOTOC__ <br />
{{Server function}} <br />
This function is used to determine if an object is in a group.<br />
<br />
{{Note_box|It's recommended ''not'' to use this function to limit features to users that belong to specific groups. Instead use [[hasObjectPermissionTo]]. Using this function forces the server owner to name their group a certain way, whereas using hasObjectPermissionTo allows the owner to give permission for whatever features you restrict to whatever groups they have set up in their ACL.}}<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
bool isObjectInACLGroup ( string theObject, aclgroup theGroup )<br />
</syntaxhighlight> <br />
===Required Arguments=== <br />
<br />
*'''theObject:''' the name of the object to check. Examples: "resource.ctf", "user.Jim".<br />
*'''theGroup:''' the [[ACL group]] pointer of the group from which the object should be found.<br />
<br />
===Returns===<br />
Returns ''true'' if the object is in the specified group, ''false'' otherwise.<br />
<br />
==Example== <br />
''' Example 1:''' This example adds a ''jetpack'' command that is only available to admins. When entering the command, it will toggle the player's jetpack.<br />
<syntaxhighlight lang="lua"><br />
addCommandHandler ( "jetpack",<br />
function ( thePlayer )<br />
-- If the player has a jetpack already, remove it<br />
if doesPedHaveJetPack ( thePlayer ) then<br />
removePedJetPack ( thePlayer ) -- Remove the jetpack<br />
return -- And stop the function here<br />
end<br />
<br />
-- Otherwise, give him one if he has access<br />
local accName = getAccountName ( getPlayerAccount ( thePlayer ) )<br />
-- Does he have access to Admin functions?<br />
if isObjectInACLGroup ( "user." .. playerName, aclGetGroup ( "Admin" ) ) then<br />
-- He's an admin. Give him a jetpack<br />
givePedJetPack ( thePlayer )<br />
end<br />
end<br />
)<br />
</syntaxhighlight><br />
<br />
'''Example 2:''' This example displays a list of all the online admins in the chat box (assuming your administrator's group in your ACL is called 'admin'):<br />
<syntaxhighlight lang="lua"><br />
players = getElementsByType ( "player" )<br />
admins = ""<br />
for k,v in ipairs(players) do<br />
local accountname = ""<br />
if (isGuestAccount(getPlayerAccount(v)) == false) then<br />
accountname = getAccountName (getPlayerAccount(v))<br />
if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "admin" ) ) then<br />
if (admins == "") then<br />
admins = getPlayerName(v)<br />
else<br />
admins = admins .. ", " .. getPlayerName(v)<br />
end<br />
end<br />
end<br />
end<br />
outputChatBox( "Online Admins:", getRootElement(), 255, 255, 0)<br />
outputChatBox( " " .. tostring ( admins ), getRootElement(), 255, 255, 0)<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{ACL_functions}}</div>EAi