https://wiki.multitheftauto.com/api.php?action=feedcontributions&user=Cazomino05&feedformat=atomMulti Theft Auto: Wiki - User contributions [en]2024-03-28T19:18:19ZUser contributionsMediaWiki 1.39.3https://wiki.multitheftauto.com/index.php?title=DFF_error_messages&diff=41057DFF error messages2014-07-28T19:26:37Z<p>Cazomino05: Created page with "From time to time DFF files might throw up error messages. These messages were added to find files which could potentially generate hard to reproduce and track down bugs in wh..."</p>
<hr />
<div>From time to time DFF files might throw up error messages. These messages were added to find files which could potentially generate hard to reproduce and track down bugs in which the client can crash and tell you as a server owner that something is wrong.<br />
<br />
==Texture archive corrupt - File size mismatch with section headers, Re-exporting the file is recommended.==<br />
a texture archive in this resource is corrupt and may need attention, this error occurs because sections inside the file are telling the game the file is larger or smaller than it is<br />
Textures use the .txd extension, it is recommended to open this up with something like txd editor which can be found online and re-save it which should fix the section headers<br />
<br />
==DFF file corrupt - File size mismatch with section headers, Re-exporting the file is recommended.==<br />
a DFF (model) in this resource is corrupt and may need attention, this error occurs because sections inside the file are telling the game the file is smaller than it is<br />
DFFs are models and use the .dff extension<br />
<br />
This can be caused by inbuilt collision files being written to the file wrongly, to test this open up the file in RW Analyze and look at the bottom for a "frame extension" this is typically where collision data should be stored.<br />
<br />
We are still unsure as to why this models are exported like this so if anyone has some information on this please visit bugs.mtasa.com and report any information you have under the new issues project<br />
<br />
==DFF file corrupt - frame with name ??? is over the 23 character limit==<br />
<br />
A DFF frame name (or node) is beyond the limit of allowed characters this will certainly cause a crash and should be fixed immediately. This can be fixed by re-exporting the DFF file with a smaller name for the part in question.<br />
<br />
==DFF file corrupt - texture with name ??? is over the 32 character limit==<br />
<br />
A DFF frame name (or node) is beyond the limit of allowed characters this will certainly cause a crash and should be fixed immediately. This can be fixed by re-exporting the DFF file with a smaller name for the part in question<br />
<br />
==DFF Tried to read beyond the file size, Re-exporting the file is recommended.==<br />
<br />
a DFF (model) in this resource is corrupt and needs attention, this error occurs because sections inside the file are telling the game the file is larger than the file size.<br />
<br />
This model needs re-exporting as it is corrupted.</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=CWebBrowser&diff=39439CWebBrowser2014-04-23T00:21:19Z<p>Cazomino05: </p>
<hr />
<div>=Potential issues with implementation of CEF (Chromium Embedded Framework)=<br />
This page discusses the issues when implementing an in-game web browser. Some of these need to be resolved before it's safe to include in MTA. The full discussion is here: http://pastebin.com/m5sqTRqH<br />
<br />
== Awesomium vs CEF ==<br />
* Awesomium has already been implemented, and is a proven library for embedding web browsers<br />
* CEF is an open source alternative, which is also established<br />
Verdict: Go with CEF. We can link the source tree, and push updates frequently as needed. This may prove vital with critical security updates. It'll just require Jusonex to do small 2-600hour changes.<br />
<br />
== Flash ==<br />
*Not everyone has flash, and there's likely to be great demand for streaming video. HTML5 doesn't cut it at the moment.<br />
*For it to function, the special "Other Browsers" version of Flash Player needs to be installed from Adobe's Website<br />
** Should a suggestion of installation of "Flash for other browsers" be included in the MTA installer?<br />
*** I think that we shouldn't be prematurely suggesting/promoting/forcing the install of 3rd party software without knowing the exact demand for it. Server owners might find ways around this problem, and we might end up looking like fools for spyware-like adverts (extreme case scenario :P) --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
** Using user-agent to spoof various HTML5 Browsers may allow dodging of the use of flash. This requires a few things:<br />
*** A scripting function to set the user agent of the session<br />
*** Some sample scripts, or some nagging to make sure the community uses HTML5 wherever possible, by the use of user agent or otherwise. We should try and make server owners responsible to avoid taking the lazy route (flash streaming)<br />
<br />
== HTTP Auth ==<br />
* Browsers normally have a built-in dialog for logging into an HTTP auth'd website<br />
* Do we provide the GUI internally or pass an event for script owners to callback on?<br />
** I say do this internally. It's somewhat a security thing, i dont think scripts can be trusted necessarilly. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
* Can we pass ACL auth from the server to website, if they're hosted on the same box? <br />
** It's quite niche. See if the use case opens up. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Pop-ups/New windows ==<br />
*How to handle?<br />
**Fire an event. This means an event is fired when a web page requests a pop-up or a href in a new window, and it's left for the scripter to deal with it. --[[User:Woovie|Woovie]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Alerts ==<br />
* How to handle Alert message boxes?<br />
** Either we create a message box GUI in CEGUI to fulfil this<br />
** Otherwise, we ignore alerts and make them incompatible. This might end up being the better solution.<br />
<br />
== Other plugins ==<br />
*Are they supported? If so, which ones?<br />
**I'm gonna say we disable most plugins, and have a whitelist for approved ones, if feasible. Who want's to deal with crap like Java? --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
**If we disable most we need a function to get the list of installed plugins for scripters so they can detect this --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Whitelist/Blacklist of websites ==<br />
*Global blacklist?<br />
*How to implement whitelist popup?<br />
<br />
Current proposal consists of:<br />
* A global whitelist of approved websites, that are always allowed. E.g. youtube, google, reddit<br />
* All other websites have a message box popup requesting that you allow access to certain websites<br />
* A possible global blacklist/killswitch for bad websites or the entire web browser.<br />
<br />
== Audio & 3D ==<br />
* Audio support in Chromium/Awesomium/CEF is currently multi-threaded. This means it can't be integrated with BASS, which would have opened up possibilities for all the nice BASS functions we have.<br />
* This also means 3D support can't be added as easily. We can however adjust the volume manually, like we do currently. <br />
** Unfortunately, Chromium uses COM volume control. This means that it uses Windows global settings, and for XP/2000 probably can't be controlled easily. 3D might not be possible for these systems.<br />
*** HTML5 does support volume control. So long as the audio source is on an HTML5 page, these can be wrapped locally with a crafted .html document. This can be fed with volume controls to simulate 3D in Lua, rather than in MTA itself. <br />
<br />
== Privacy and cookies ==<br />
* Cookies should not be transferred from one server to another. If you login to Google on one server, another server should not be able to hijack that session.<br />
** Easy solution: Delete cookie and cache data upon quit every single time (or perhaps on start in case of crashes?)<br />
** Otherwise, CEF offers a Cookie Manager where cookie sessions can be created. Each server could have it's own cookie session so it could remember logins etc, which could be handy for login panels<br />
*** If this option is chosen, we should have a button in the settings menu to clear all browsing data.<br />
<br />
== Ability to modify content ==<br />
* The ability to modify content inside the web page is quite a useful one however it leaves us prone to javascript attacks such as the ones used in XSS.<br />
** Solution: For a first release it would be best that content inside the browser be uneditable as this could lead to security issues. --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Ability to view content in Screen shots ==<br />
* Sensitive information can be leaked in script taken screen shots<br />
** Solution: As with our current implementation of the chat box the web browsers should be hidden from takePlayerScreenShot as these can be sent to server owners/admins and reveal sensitive information. --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Authentification ==<br />
* Sensitive key presses can be intercepted via script<br />
** Solution: Educate - Window on entry explaining the insecurities of putting personal details into a website and a reminder in edit boxes --[[User:Cazomino05|Cazomino05]] 00:21, 23 April 2014 (UTC)<br />
*** reminder should be a string in all edit fields depending on if it's remote or local saying something like Insecure to remind people not to put those details in. --[[User:Cazomino05|Cazomino05]] 00:21, 23 April 2014 (UTC)</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=CWebBrowser&diff=39438CWebBrowser2014-04-23T00:21:07Z<p>Cazomino05: </p>
<hr />
<div>=Potential issues with implementation of CEF (Chromium Embedded Framework)=<br />
This page discusses the issues when implementing an in-game web browser. Some of these need to be resolved before it's safe to include in MTA. The full discussion is here: http://pastebin.com/m5sqTRqH<br />
<br />
== Awesomium vs CEF ==<br />
* Awesomium has already been implemented, and is a proven library for embedding web browsers<br />
* CEF is an open source alternative, which is also established<br />
Verdict: Go with CEF. We can link the source tree, and push updates frequently as needed. This may prove vital with critical security updates. It'll just require Jusonex to do small 2-600hour changes.<br />
<br />
== Flash ==<br />
*Not everyone has flash, and there's likely to be great demand for streaming video. HTML5 doesn't cut it at the moment.<br />
*For it to function, the special "Other Browsers" version of Flash Player needs to be installed from Adobe's Website<br />
** Should a suggestion of installation of "Flash for other browsers" be included in the MTA installer?<br />
*** I think that we shouldn't be prematurely suggesting/promoting/forcing the install of 3rd party software without knowing the exact demand for it. Server owners might find ways around this problem, and we might end up looking like fools for spyware-like adverts (extreme case scenario :P) --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
** Using user-agent to spoof various HTML5 Browsers may allow dodging of the use of flash. This requires a few things:<br />
*** A scripting function to set the user agent of the session<br />
*** Some sample scripts, or some nagging to make sure the community uses HTML5 wherever possible, by the use of user agent or otherwise. We should try and make server owners responsible to avoid taking the lazy route (flash streaming)<br />
<br />
== HTTP Auth ==<br />
* Browsers normally have a built-in dialog for logging into an HTTP auth'd website<br />
* Do we provide the GUI internally or pass an event for script owners to callback on?<br />
** I say do this internally. It's somewhat a security thing, i dont think scripts can be trusted necessarilly. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
* Can we pass ACL auth from the server to website, if they're hosted on the same box? <br />
** It's quite niche. See if the use case opens up. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Pop-ups/New windows ==<br />
*How to handle?<br />
**Fire an event. This means an event is fired when a web page requests a pop-up or a href in a new window, and it's left for the scripter to deal with it. --[[User:Woovie|Woovie]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Alerts ==<br />
* How to handle Alert message boxes?<br />
** Either we create a message box GUI in CEGUI to fulfil this<br />
** Otherwise, we ignore alerts and make them incompatible. This might end up being the better solution.<br />
<br />
== Other plugins ==<br />
*Are they supported? If so, which ones?<br />
**I'm gonna say we disable most plugins, and have a whitelist for approved ones, if feasible. Who want's to deal with crap like Java? --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
**If we disable most we need a function to get the list of installed plugins for scripters so they can detect this --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Whitelist/Blacklist of websites ==<br />
*Global blacklist?<br />
*How to implement whitelist popup?<br />
<br />
Current proposal consists of:<br />
* A global whitelist of approved websites, that are always allowed. E.g. youtube, google, reddit<br />
* All other websites have a message box popup requesting that you allow access to certain websites<br />
* A possible global blacklist/killswitch for bad websites or the entire web browser.<br />
<br />
== Audio & 3D ==<br />
* Audio support in Chromium/Awesomium/CEF is currently multi-threaded. This means it can't be integrated with BASS, which would have opened up possibilities for all the nice BASS functions we have.<br />
* This also means 3D support can't be added as easily. We can however adjust the volume manually, like we do currently. <br />
** Unfortunately, Chromium uses COM volume control. This means that it uses Windows global settings, and for XP/2000 probably can't be controlled easily. 3D might not be possible for these systems.<br />
*** HTML5 does support volume control. So long as the audio source is on an HTML5 page, these can be wrapped locally with a crafted .html document. This can be fed with volume controls to simulate 3D in Lua, rather than in MTA itself. <br />
<br />
== Privacy and cookies ==<br />
* Cookies should not be transferred from one server to another. If you login to Google on one server, another server should not be able to hijack that session.<br />
** Easy solution: Delete cookie and cache data upon quit every single time (or perhaps on start in case of crashes?)<br />
** Otherwise, CEF offers a Cookie Manager where cookie sessions can be created. Each server could have it's own cookie session so it could remember logins etc, which could be handy for login panels<br />
*** If this option is chosen, we should have a button in the settings menu to clear all browsing data.<br />
<br />
== Ability to modify content ==<br />
* The ability to modify content inside the web page is quite a useful one however it leaves us prone to javascript attacks such as the ones used in XSS.<br />
** Solution: For a first release it would be best that content inside the browser be uneditable as this could lead to security issues. --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Ability to view content in Screen shots ==<br />
* Sensitive information can be leaked in script taken screen shots<br />
** Solution: As with our current implementation of the chat box the web browsers should be hidden from takePlayerScreenShot as these can be sent to server owners/admins and reveal sensitive information. --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Authentification ==<br />
* Sensitive key presses can be intercepted via script<br />
** Solution: Educate - Window on entry explaining the insecurities of putting personal details into a website and a reminder in edit boxes<br />
*** reminder should be a string in all edit fields depending on if it's remote or local saying something like Insecure to remind people not to put those details in.</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Vehicle_Colors&diff=39437Vehicle Colors2014-04-22T20:02:29Z<p>Cazomino05: Protected "Vehicle Colors" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</p>
<hr />
<div>These are the vehicle colors you can use with [[setVehicleColor]] and [[getVehicleColor]].<br />
{{Vehicle colors}}<br />
<br />
==Vehicle Functions==<br />
{{Vehicle functions}}<br />
<br />
==See also==<br />
[[id|ID Lists]]<br />
<br />
[[Category:ID Lists]]<br />
[[ru:Vehicle colors]]<br />
[[de:Fahrzeugfarben]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Material_IDs&diff=39436Material IDs2014-04-22T20:02:05Z<p>Cazomino05: Protected "Material IDs" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</p>
<hr />
<div>=Introduction=<br />
This is a list of GTA:SA's material ID numbers, as listed in the surfinfo.dat.<br />
<br />
==Default==<br />
* '''0:''' Default<br />
* '''1:''' Tarmac<br />
* '''2:''' Tarmac (fucked)<br />
* '''3:''' Tarmac (really fucked)<br />
<br />
==Concrete==<br />
* '''4:''' Pavement<br />
* '''5:''' Pavement (fucked)<br />
* '''7:''' Concrete (fucked)<br />
* '''8:''' Painted Ground<br />
* '''34:''' Concrete (beach)<br />
* '''89:''' Concrete<br />
* '''127:''' Poolside<br />
* '''135:''' Docklands<br />
* '''136:''' Industrial<br />
* '''137:''' Industrial Jetty<br />
* '''138:''' Concrete (litter)<br />
* '''139:''' Alley Rubbish<br />
* '''144:''' Airport Ground<br />
* '''165:''' Floor (concrete)<br />
<br />
==Gravel==<br />
* '''6:''' Gravel<br />
* '''85:''' Roadside<br />
* '''101:''' Rubble<br />
* '''134:''' Building Site<br />
* '''140:''' Junkyard Piles<br />
<br />
==Grass==<br />
* '''9:''' Grass (short lush)<br />
* '''10:''' Grass (medium lush)<br />
* '''11:''' Grass (long lush)<br />
* '''12:''' Grass (short dry)<br />
* '''13:''' Grass (medium dry)<br />
* '''14:''' Grass (long dry)<br />
* '''15:''' Golf Grass (rough) <br />
* '''16:''' Golf Grass (smooth) <br />
* '''17:''' Steep Slidy Grass <br />
* '''20:''' Meadow <br />
* '''80:''' Grass (short) <br />
* '''81:''' Grass (meadow) <br />
* '''82:''' Grass (dry) <br />
* '''115:''' Grass (wee flowers) <br />
* '''116:''' Grass (dry tall)<br />
* '''117:''' Grass (lush tall)<br />
* '''118:''' Grass (green mix)<br />
* '''119:''' Grass (brown mix)<br />
* '''120:''' Grass (low) <br />
* '''121:''' Grass (rocky) <br />
* '''122:''' Grass (small trees) <br />
* '''125:''' Grass (weeds) <br />
* '''146:''' Grass (light) <br />
* '''147:''' Grass (lighter) <br />
* '''148:''' Grass (lighter 2) <br />
* '''149:''' Grass (mid 1) <br />
* '''150:''' Grass (mid 2) <br />
* '''151:''' Grass (dark) <br />
* '''152:''' Grass (dark 2) <br />
* '''153:''' Grass (dirt mix) <br />
* '''160:''' Park Grass <br />
<br />
==Dirt==<br />
* '''19:''' Flower Bed<br />
* '''21:''' Waste Ground<br />
* '''22:''' Woodland Ground<br />
* '''24:''' Mud (wet)<br />
* '''25:''' Mud (dry)<br />
* '''26:''' Dirt<br />
* '''27:''' Dirt Track<br />
* '''40:''' Corn Field<br />
* '''83:''' Woodland<br />
* '''84:''' Wood Dense<br />
* '''87:''' Flowerbed<br />
* '''88:''' Waste Ground<br />
* '''100:''' Riverbed<br />
* '''110:''' Marsh<br />
* '''123:''' Dirt (rocky)<br />
* '''124:''' Dirt (weeds)<br />
* '''126:''' River Edge<br />
* '''128:''' Forest (stumps)<br />
* '''129:''' Forest (sticks)<br />
* '''130:''' Forest (leaves)<br />
* '''132:''' Forest (dry)<br />
* '''133:''' Sparse Flowers<br />
* '''141:''' Junkyard Ground<br />
* '''142:''' Dump<br />
* '''145:''' Cornfield<br />
* '''155:''' Riverbed (shallow)<br />
* '''156:''' Riverbed (weeds)<br />
<br />
==Sand==<br />
* '''28:''' Sand (deep)<br />
* '''29:''' Sand (medium)<br />
* '''30:''' Sand (compact)<br />
* '''31:''' Sand (arid)<br />
* '''32:''' Sand (more)<br />
* '''33:''' Sand (beach)<br />
* '''74:''' Sand<br />
* '''75:''' Sand (dense)<br />
* '''76:''' Sand (arid)<br />
* '''77:''' Sand (compact)<br />
* '''78:''' Sand (rocky)<br />
* '''79:''' Sand (beach)<br />
* '''86:''' Roadside Des<br />
* '''96:''' Underwater (lush)<br />
* '''97:''' Underwater (barren)<br />
* '''98:''' Underwater (coral)<br />
* '''99:''' Underwater (deep)<br />
* '''131:''' Desert Rocks<br />
* '''143:''' Cactus Dense<br />
* '''157:''' Seaweed<br />
<br />
==Glass==<br />
* '''45:''' Glass<br />
* '''46:''' Glass Windows (large)<br />
* '''47:''' Glass Windows (small)<br />
* '''175:''' Unbreakable Glass<br />
<br />
==Wood==<br />
* '''42:''' Wood (crates)<br />
* '''43:''' Wood (solid)<br />
* '''44:''' Wood (thin)<br />
* '''70:''' Wood (bench)<br />
* '''72:''' Floorboard<br />
* '''73:''' Stairs (wood)<br />
* '''172:''' Wood Picket Fence<br />
* '''173:''' Wood Slatted Fence<br />
* '''174:''' Wood Ranch Fence<br />
<br />
==Metal==<br />
* '''50:''' Garage Door<br />
* '''51:''' Thick Metal Plate<br />
* '''52:''' Scaffold Pole<br />
* '''53:''' Lamp Post<br />
* '''54:''' Metal Gate<br />
* '''55:''' Metal Chain fence<br />
* '''56:''' Girder<br />
* '''57:''' Fire Hydrant<br />
* '''58:''' Container<br />
* '''59:''' News Vendor<br />
* '''63:''' Car<br />
* '''64:''' Car (panel)<br />
* '''65:''' Car (moving component)<br />
* '''162:''' Stairs (metal)<br />
* '''164:''' Floor (metal)<br />
* '''167:''' Thin Metal Sheet<br />
* '''168:''' Metal Barrel<br />
* '''171:''' Metal Dumpster<br />
<br />
==Stone==<br />
* '''18:''' Steep Cliff<br />
* '''35:''' Rock (dry)<br />
* '''36:''' Rock (wet)<br />
* '''37:''' Rock (cliff)<br />
* '''69:''' Transparent Stone<br />
* '''109:''' Mountain<br />
* '''154:''' Riverbed (stone)<br />
* '''161:''' Stairs (stone)<br />
<br />
==Vegetation==<br />
* '''23:''' Vegetation<br />
* '''41:''' Hedge<br />
* '''111:''' Bushy<br />
* '''112:''' Bushy (mix)<br />
* '''113:''' Bushy (dry)<br />
* '''114:''' Bushy (mid)<br />
<br />
==Water==<br />
* '''38:''' Water (riverbed)<br />
* '''39:''' Water (shallow)<br />
<br />
==Misc==<br />
* '''48:''' Empty1<br />
* '''49:''' Empty2<br />
* '''60:''' Wheelbase<br />
* '''61:''' Cardboard Box<br />
* '''62:''' Ped<br />
* '''66:''' Transparent Cloth<br />
* '''67:''' Rubber<br />
* '''68:''' Plastic<br />
* '''71:''' Carpet<br />
* '''90:''' Office Desk<br />
* '''91:''' 711 Shelf 1<br />
* '''92:''' 711 Shelf 2<br />
* '''93:''' 711 Shelf 3<br />
* '''94:''' Restuarant Table<br />
* '''95:''' Bar Table<br />
* '''102:''' Bedroom Floor<br />
* '''103:''' Kitchen Floor<br />
* '''104:''' Livingroom Floor<br />
* '''105:''' corridor Floor<br />
* '''106:''' 711 Floor<br />
* '''107:''' Fast Food Floor<br />
* '''108:''' Skanky Floor<br />
* '''158:''' Door<br />
* '''159:''' Plastic Barrier<br />
* '''163:''' Stairs (carpet)<br />
* '''166:''' Bin Bag<br />
* '''169:''' Plastic Cone<br />
* '''170:''' Plastic Dumpster<br />
* '''176:''' Hay Bale<br />
* '''177:''' Gore<br />
* '''178:''' Rail Track<br />
<br />
=Source=<br />
The group names and readable material names have been extracted from Collision File Editor II by Steve M[http://www.steve-m.com/downloads/tools/colleditor2/].<br />
<br />
[[Category:ID Lists]]<br />
<br />
[[de:Material IDs]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Character_Skins&diff=39435Character Skins2014-04-22T20:01:29Z<p>Cazomino05: Protected "Character Skins" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</p>
<hr />
<div>Skins that the player may use (pedestrian skins).<br />
<br />
*[[All Skins Page]] - Not recommended for slow Internet<br />
*[[Special Skins Page]] - New skins available after MTA 1.1<br />
*[[Gang Skins]]<br />
*[[Female Skins]]<br />
*[[Male Skins]]<br />
<br />
'''Sectioned Skin Pages:'''<br />
----<br />
*[[Skins Page 1]]: 7, 9-29<br />
*[[Skins Page 2]]: 30-41, 43-52<br />
*[[Skins Page 3]]: 53-64, 66-73, 75-76<br />
*[[Skins Page 4]]: 77-85, 87-99<br />
*[[Skins Page 5]]: 100-118, 120-122<br />
*[[Skins Page 6]]: 123-144<br />
*[[Skins Page 7]]: 145-148, 150-167<br />
*[[Skins Page 8]]: 168-189<br />
*[[Skins Page 9]]: 190-207, 209-212<br />
*[[Skins Page 10]]: 213-234<br />
*[[Skins Page 11]]: 235-238, 240-257<br />
*[[Skins Page 12]]: 258-264, 274-288<br />
<br />
==Notes:==<br />
*Last valid skin ID: 312<br />
<br />
*The following pairs of IDs produce same character (1st ID used in lists, 2nd disabled)<br />
**118:119 <br />
**148:149<br />
<br />
*Non-working IDs<br />
**3 4 5 6 8 42 65 74 86 119 149 208 239 273 289<br />
<br />
==Skin functions==<br />
{{Template:Skin_functions}}<br />
<br />
==See Also==<br />
[[id|ID Lists]]<br />
<br />
[[it:Skin Personaggi]]<br />
[[ru:Character Skins]]<br />
[[es:Skins de Personajes]]<br />
[[de:Charakterskins]]<br />
[[zh-cn:角色皮肤]]<br />
<br />
[[Category:ID Lists]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Weather&diff=39434Weather2014-04-22T20:01:13Z<p>Cazomino05: Protected "Weather" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</p>
<hr />
<div>Weather can be changed using [[setWeather]] and [[setWeatherBlended]].<br />
{{New feature|3|1.0|<br />
Mixed weather ID's between 20 and 255 are also supported.<br />
}}<br />
<br />
==Weather IDs==<br />
* '''0 to 7:''' Different Versions of Blue Skies / Clouds <br />
* '''8:''' Stormy<br />
* '''9:''' Cloudy and Foggy<br />
* '''10:''' Clear Blue Sky<br />
* '''11:''' Scorching Hot (Los Santos heat waves)<br />
* '''12 to 15:''' Very Dull, Colourless, Hazy<br />
* '''16:''' Dull, Cloudy, Rainy<br />
* '''17 to 18:''' Scorching Hot<br />
* '''19:''' Sandstorm<br />
* '''20:''' Foggy, Greenish<br />
* '''21 to 22:''' Very dark, gradiented skyline, purple<br />
* '''23 to 26:''' Pale orange<br />
* '''27 to 29:''' Fresh blue<br />
* '''30 to 32:''' Dark, cloudy, teal<br />
* '''33:''' Dark, cloudy, brown<br />
* '''34:''' Blue/purple, regular<br />
* '''35:''' Dull brown<br />
* '''36 to 38:''' Bright, foggy, orange<br />
* '''39:''' Very bright<br />
* '''40 to 42:''' Blue/purple cloudy<br />
* '''43:''' Toxic clouds<br />
* '''44:''' Black/white sky<br />
* '''51 to 53:''' Amazing draw distance<br />
* '''126 to 150:''' Horrible flashing red which can give you a head ache<br />
* '''150:''' Darkest weather ever<br />
* '''175:''' Far draw distance with pink, purple and turquoise clouds<br />
* '''700:''' Stormy weather with pink sky and crystal water<br />
<br><br />
==See Also==<br />
[[id|ID Lists]]<br />
<br />
[[ru:Weather]]<br />
[[es:Climas]]<br />
[[de:Wetter]]<br />
<br />
[[Category:ID Lists]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Vehicle_IDs&diff=39433Vehicle IDs2014-04-22T19:56:00Z<p>Cazomino05: Protected "Vehicle IDs": Excessive vandalism ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))</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, 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 />
<br />
<table border="1" class="unnamed1"><tr><th>Name</th><th>ID</th><th>Notes</th></tr><br />
<tr><td>Tram</td><td>449</td><td></td></tr><br />
<tr><td>Freight</td><td>537</td><td></td></tr><br />
<tr><td>Brown Streak</td><td>538</td><td></td></tr><br />
<tr><td>Brown Streak Carriage</td><td>570</td><td>Removed in version [https://code.google.com/p/mtasa-blue/source/detail?r=2880 1.1-r2880], but available from [https://code.google.com/p/mtasa-blue/source/detail?r=5934 1.3.4-r5934] and forth.</tr><br />
<tr><td>Flat Freight</td><td>569</td><td></td></tr><br />
<tr><td>Box Freight</td><td>590</td><td></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 />
==Vehicle Functions==<br />
{{Vehicle functions}}<br />
<br />
==See Also==<br />
[[id|ID Lists]]<br />
[[it:ID Veicoli]]<br />
[[ru:Vehicle IDs]]<br />
[[de:Fahrzeug IDs]]<br />
<br />
[[Category:ID Lists]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=CWebBrowser&diff=39396CWebBrowser2014-04-17T18:49:27Z<p>Cazomino05: </p>
<hr />
<div>=Potential issues with implementation of CEF (Chromium Embedded Framework)=<br />
This page discusses the issues when implementing an in-game web browser. Some of these need to be resolved before it's safe to include in MTA. The full discussion is here: http://pastebin.com/m5sqTRqH<br />
<br />
== Awesomium vs CEF ==<br />
* Awesomium has already been implemented, and is a proven library for embedding web browsers<br />
* CEF is an open source alternative, which is also established<br />
Verdict: Go with CEF. We can link the source tree, and push updates frequently as needed. This may prove vital with critical security updates. It'll just require Jusonex to do small 2-600hour changes.<br />
<br />
== Flash ==<br />
*Not everyone has flash, and there's likely to be great demand for streaming video. HTML5 doesn't cut it at the moment.<br />
*For it to function, the special "Other Browsers" version of Flash Player needs to be installed from Adobe's Website<br />
** Should a suggestion of installation of "Flash for other browsers" be included in the MTA installer?<br />
*** I think that we shouldn't be prematurely suggesting/promoting/forcing the install of 3rd party software without knowing the exact demand for it. Server owners might find ways around this problem, and we might end up looking like fools for spyware-like adverts (extreme case scenario :P) --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
** Using user-agent to spoof various HTML5 Browsers may allow dodging of the use of flash. This requires a few things:<br />
*** A scripting function to set the user agent of the session<br />
*** Some sample scripts, or some nagging to make sure the community uses HTML5 wherever possible, by the use of user agent or otherwise. We should try and make server owners responsible to avoid taking the lazy route (flash streaming)<br />
<br />
== HTTP Auth ==<br />
* Browsers normally have a built-in dialog for logging into an HTTP auth'd website<br />
* Do we provide the GUI internally or pass an event for script owners to callback on?<br />
** I say do this internally. It's somewhat a security thing, i dont think scripts can be trusted necessarilly. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
* Can we pass ACL auth from the server to website, if they're hosted on the same box? <br />
** It's quite niche. See if the use case opens up. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Pop-ups/New windows ==<br />
*How to handle?<br />
**Fire an event. This means an event is fired when a web page requests a pop-up or a href in a new window, and it's left for the scripter to deal with it. --[[User:Woovie|Woovie]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Alerts ==<br />
* How to handle Alert message boxes?<br />
** Either we create a message box GUI in CEGUI to fulfil this<br />
** Otherwise, we ignore alerts and make them incompatible. This might end up being the better solution.<br />
<br />
== Other plugins ==<br />
*Are they supported? If so, which ones?<br />
**I'm gonna say we disable most plugins, and have a whitelist for approved ones, if feasible. Who want's to deal with crap like Java? --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
**If we disable most we need a function to get the list of installed plugins for scripters so they can detect this --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Whitelist/Blacklist of websites ==<br />
*Global blacklist?<br />
*How to implement whitelist popup?<br />
<br />
Current proposal consists of:<br />
* A global whitelist of approved websites, that are always allowed. E.g. youtube, google, reddit<br />
* All other websites have a message box popup requesting that you allow access to certain websites<br />
* A possible global blacklist/killswitch for bad websites or the entire web browser.<br />
<br />
== Audio & 3D ==<br />
* Audio support in Chromium/Awesomium/CEF is currently multi-threaded. This means it can't be integrated with BASS, which would have opened up possibilities for all the nice BASS functions we have.<br />
* This also means 3D support can't be added as easily. We can however adjust the volume manually, like we do currently. <br />
** Unfortunately, Chromium uses COM volume control. This means that it uses Windows global settings, and for XP/2000 probably can't be controlled easily. 3D might not be possible for these systems.<br />
*** HTML5 does support volume control. So long as the audio source is on an HTML5 page, these can be wrapped locally with a crafted .html document. This can be fed with volume controls to simulate 3D in Lua, rather than in MTA itself. <br />
<br />
== Privacy and cookies ==<br />
* Cookies should not be transferred from one server to another. If you login to Google on one server, another server should not be able to hijack that session.<br />
** Easy solution: Delete cookie and cache data upon quit every single time (or perhaps on start in case of crashes?)<br />
** Otherwise, CEF offers a Cookie Manager where cookie sessions can be created. Each server could have it's own cookie session so it could remember logins etc, which could be handy for login panels<br />
*** If this option is chosen, we should have a button in the settings menu to clear all browsing data.<br />
<br />
== Ability to modify content ==<br />
* The ability to modify content inside the web page is quite a useful one however it leaves us prone to javascript attacks such as the ones used in XSS.<br />
** Solution: For a first release it would be best that content inside the browser be uneditable as this could lead to security issues. --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Ability to view content in Screen shots ==<br />
* Sensitive information can be leaked in script taken screen shots<br />
** Solution: As with our current implementation of the chat box the web browsers should be hidden from takePlayerScreenShot as these can be sent to server owners/admins and reveal sensitive information. --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=CWebBrowser&diff=39395CWebBrowser2014-04-17T18:49:04Z<p>Cazomino05: </p>
<hr />
<div>=Potential issues with implementation of CEF (Chromium Embedded Framework)=<br />
This page discusses the issues when implementing an in-game web browser. Some of these need to be resolved before it's safe to include in MTA. The full discussion is here: http://pastebin.com/m5sqTRqH<br />
<br />
== Awesomium vs CEF ==<br />
* Awesomium has already been implemented, and is a proven library for embedding web browsers<br />
* CEF is an open source alternative, which is also established<br />
Verdict: Go with CEF. We can link the source tree, and push updates frequently as needed. This may prove vital with critical security updates. It'll just require Jusonex to do small 2-600hour changes.<br />
<br />
== Flash ==<br />
*Not everyone has flash, and there's likely to be great demand for streaming video. HTML5 doesn't cut it at the moment.<br />
*For it to function, the special "Other Browsers" version of Flash Player needs to be installed from Adobe's Website<br />
** Should a suggestion of installation of "Flash for other browsers" be included in the MTA installer?<br />
*** I think that we shouldn't be prematurely suggesting/promoting/forcing the install of 3rd party software without knowing the exact demand for it. Server owners might find ways around this problem, and we might end up looking like fools for spyware-like adverts (extreme case scenario :P) --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
** Using user-agent to spoof various HTML5 Browsers may allow dodging of the use of flash. This requires a few things:<br />
*** A scripting function to set the user agent of the session<br />
*** Some sample scripts, or some nagging to make sure the community uses HTML5 wherever possible, by the use of user agent or otherwise. We should try and make server owners responsible to avoid taking the lazy route (flash streaming)<br />
<br />
== HTTP Auth ==<br />
* Browsers normally have a built-in dialog for logging into an HTTP auth'd website<br />
* Do we provide the GUI internally or pass an event for script owners to callback on?<br />
** I say do this internally. It's somewhat a security thing, i dont think scripts can be trusted necessarilly. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
* Can we pass ACL auth from the server to website, if they're hosted on the same box? <br />
** It's quite niche. See if the use case opens up. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Pop-ups/New windows ==<br />
*How to handle?<br />
**Fire an event. This means an event is fired when a web page requests a pop-up or a href in a new window, and it's left for the scripter to deal with it. --[[User:Woovie|Woovie]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Alerts ==<br />
* How to handle Alert message boxes?<br />
** Either we create a message box GUI in CEGUI to fulfil this<br />
** Otherwise, we ignore alerts and make them incompatible. This might end up being the better solution.<br />
<br />
== Other plugins ==<br />
*Are they supported? If so, which ones?<br />
**I'm gonna say we disable most plugins, and have a whitelist for approved ones, if feasible. Who want's to deal with crap like Java? --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
**If we disable most we need a function to get the list of installed plugins for scripters so they can detect this --[[User:Cazomino05|Cazomino05]] 18:49, 17 April 2014 (UTC)<br />
<br />
== Whitelist/Blacklist of websites ==<br />
*Global blacklist?<br />
*How to implement whitelist popup?<br />
<br />
Current proposal consists of:<br />
* A global whitelist of approved websites, that are always allowed. E.g. youtube, google, reddit<br />
* All other websites have a message box popup requesting that you allow access to certain websites<br />
* A possible global blacklist/killswitch for bad websites or the entire web browser.<br />
<br />
== Audio & 3D ==<br />
* Audio support in Chromium/Awesomium/CEF is currently multi-threaded. This means it can't be integrated with BASS, which would have opened up possibilities for all the nice BASS functions we have.<br />
* This also means 3D support can't be added as easily. We can however adjust the volume manually, like we do currently. <br />
** Unfortunately, Chromium uses COM volume control. This means that it uses Windows global settings, and for XP/2000 probably can't be controlled easily. 3D might not be possible for these systems.<br />
*** HTML5 does support volume control. So long as the audio source is on an HTML5 page, these can be wrapped locally with a crafted .html document. This can be fed with volume controls to simulate 3D in Lua, rather than in MTA itself. <br />
<br />
== Privacy and cookies ==<br />
* Cookies should not be transferred from one server to another. If you login to Google on one server, another server should not be able to hijack that session.<br />
** Easy solution: Delete cookie and cache data upon quit every single time (or perhaps on start in case of crashes?)<br />
** Otherwise, CEF offers a Cookie Manager where cookie sessions can be created. Each server could have it's own cookie session so it could remember logins etc, which could be handy for login panels<br />
*** If this option is chosen, we should have a button in the settings menu to clear all browsing data.<br />
<br />
== Ability to modify content ==<br />
* The ability to modify content inside the web page is quite a useful one however it leaves us prone to javascript attacks such as the ones used in XSS.<br />
** Solution: For a first release it would be best that content inside the browser be uneditable as this could lead to security issues.<br />
<br />
== Ability to view content in Screen shots ==<br />
* Sensitive information can be leaked in script taken screen shots<br />
** Solution: As with our current implementation of the chat box the web browsers should be hidden from takePlayerScreenShot as these can be sent to server owners/admins and reveal sensitive information.</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=CWebBrowser&diff=39394CWebBrowser2014-04-17T18:47:47Z<p>Cazomino05: /* Ability to view content in Screen shots */</p>
<hr />
<div>=Potential issues with implementation of CEF (Chromium Embedded Framework)=<br />
This page discusses the issues when implementing an in-game web browser. Some of these need to be resolved before it's safe to include in MTA. The full discussion is here: http://pastebin.com/m5sqTRqH<br />
<br />
== Awesomium vs CEF ==<br />
* Awesomium has already been implemented, and is a proven library for embedding web browsers<br />
* CEF is an open source alternative, which is also established<br />
Verdict: Go with CEF. We can link the source tree, and push updates frequently as needed. This may prove vital with critical security updates. It'll just require Jusonex to do small 2-600hour changes.<br />
<br />
== Flash ==<br />
*Not everyone has flash, and there's likely to be great demand for streaming video. HTML5 doesn't cut it at the moment.<br />
*For it to function, the special "Other Browsers" version of Flash Player needs to be installed from Adobe's Website<br />
** Should a suggestion of installation of "Flash for other browsers" be included in the MTA installer?<br />
*** I think that we shouldn't be prematurely suggesting/promoting/forcing the install of 3rd party software without knowing the exact demand for it. Server owners might find ways around this problem, and we might end up looking like fools for spyware-like adverts (extreme case scenario :P) --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
** Using user-agent to spoof various HTML5 Browsers may allow dodging of the use of flash. This requires a few things:<br />
*** A scripting function to set the user agent of the session<br />
*** Some sample scripts, or some nagging to make sure the community uses HTML5 wherever possible, by the use of user agent or otherwise. We should try and make server owners responsible to avoid taking the lazy route (flash streaming)<br />
<br />
== HTTP Auth ==<br />
* Browsers normally have a built-in dialog for logging into an HTTP auth'd website<br />
* Do we provide the GUI internally or pass an event for script owners to callback on?<br />
** I say do this internally. It's somewhat a security thing, i dont think scripts can be trusted necessarilly. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
* Can we pass ACL auth from the server to website, if they're hosted on the same box? <br />
** It's quite niche. See if the use case opens up. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Pop-ups/New windows ==<br />
*How to handle?<br />
**Fire an event. This means an event is fired when a web page requests a pop-up or a href in a new window, and it's left for the scripter to deal with it. --[[User:Woovie|Woovie]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Alerts ==<br />
* How to handle Alert message boxes?<br />
** Either we create a message box GUI in CEGUI to fulfil this<br />
** Otherwise, we ignore alerts and make them incompatible. This might end up being the better solution.<br />
<br />
== Other plugins ==<br />
*Are they supported? If so, which ones?<br />
**I'm gonna say we disable most plugins, and have a whitelist for approved ones, if feasible. Who want's to deal with crap like Java? --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
<br />
== Whitelist/Blacklist of websites ==<br />
*Global blacklist?<br />
*How to implement whitelist popup?<br />
<br />
Current proposal consists of:<br />
* A global whitelist of approved websites, that are always allowed. E.g. youtube, google, reddit<br />
* All other websites have a message box popup requesting that you allow access to certain websites<br />
* A possible global blacklist/killswitch for bad websites or the entire web browser.<br />
<br />
== Audio & 3D ==<br />
* Audio support in Chromium/Awesomium/CEF is currently multi-threaded. This means it can't be integrated with BASS, which would have opened up possibilities for all the nice BASS functions we have.<br />
* This also means 3D support can't be added as easily. We can however adjust the volume manually, like we do currently. <br />
** Unfortunately, Chromium uses COM volume control. This means that it uses Windows global settings, and for XP/2000 probably can't be controlled easily. 3D might not be possible for these systems.<br />
*** HTML5 does support volume control. So long as the audio source is on an HTML5 page, these can be wrapped locally with a crafted .html document. This can be fed with volume controls to simulate 3D in Lua, rather than in MTA itself. <br />
<br />
== Privacy and cookies ==<br />
* Cookies should not be transferred from one server to another. If you login to Google on one server, another server should not be able to hijack that session.<br />
** Easy solution: Delete cookie and cache data upon quit every single time (or perhaps on start in case of crashes?)<br />
** Otherwise, CEF offers a Cookie Manager where cookie sessions can be created. Each server could have it's own cookie session so it could remember logins etc, which could be handy for login panels<br />
*** If this option is chosen, we should have a button in the settings menu to clear all browsing data.<br />
<br />
== Ability to modify content ==<br />
* The ability to modify content inside the web page is quite a useful one however it leaves us prone to javascript attacks such as the ones used in XSS.<br />
** Solution: For a first release it would be best that content inside the browser be uneditable as this could lead to security issues.<br />
<br />
== Ability to view content in Screen shots ==<br />
* Sensitive information can be leaked in script taken screen shots<br />
** Solution: As with our current implementation of the chat box the web browsers should be hidden from takePlayerScreenShot as these can be sent to server owners/admins and reveal sensitive information.</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=CWebBrowser&diff=39393CWebBrowser2014-04-17T18:47:17Z<p>Cazomino05: /* Ability to modify content */</p>
<hr />
<div>=Potential issues with implementation of CEF (Chromium Embedded Framework)=<br />
This page discusses the issues when implementing an in-game web browser. Some of these need to be resolved before it's safe to include in MTA. The full discussion is here: http://pastebin.com/m5sqTRqH<br />
<br />
== Awesomium vs CEF ==<br />
* Awesomium has already been implemented, and is a proven library for embedding web browsers<br />
* CEF is an open source alternative, which is also established<br />
Verdict: Go with CEF. We can link the source tree, and push updates frequently as needed. This may prove vital with critical security updates. It'll just require Jusonex to do small 2-600hour changes.<br />
<br />
== Flash ==<br />
*Not everyone has flash, and there's likely to be great demand for streaming video. HTML5 doesn't cut it at the moment.<br />
*For it to function, the special "Other Browsers" version of Flash Player needs to be installed from Adobe's Website<br />
** Should a suggestion of installation of "Flash for other browsers" be included in the MTA installer?<br />
*** I think that we shouldn't be prematurely suggesting/promoting/forcing the install of 3rd party software without knowing the exact demand for it. Server owners might find ways around this problem, and we might end up looking like fools for spyware-like adverts (extreme case scenario :P) --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
** Using user-agent to spoof various HTML5 Browsers may allow dodging of the use of flash. This requires a few things:<br />
*** A scripting function to set the user agent of the session<br />
*** Some sample scripts, or some nagging to make sure the community uses HTML5 wherever possible, by the use of user agent or otherwise. We should try and make server owners responsible to avoid taking the lazy route (flash streaming)<br />
<br />
== HTTP Auth ==<br />
* Browsers normally have a built-in dialog for logging into an HTTP auth'd website<br />
* Do we provide the GUI internally or pass an event for script owners to callback on?<br />
** I say do this internally. It's somewhat a security thing, i dont think scripts can be trusted necessarilly. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
* Can we pass ACL auth from the server to website, if they're hosted on the same box? <br />
** It's quite niche. See if the use case opens up. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Pop-ups/New windows ==<br />
*How to handle?<br />
**Fire an event. This means an event is fired when a web page requests a pop-up or a href in a new window, and it's left for the scripter to deal with it. --[[User:Woovie|Woovie]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Alerts ==<br />
* How to handle Alert message boxes?<br />
** Either we create a message box GUI in CEGUI to fulfil this<br />
** Otherwise, we ignore alerts and make them incompatible. This might end up being the better solution.<br />
<br />
== Other plugins ==<br />
*Are they supported? If so, which ones?<br />
**I'm gonna say we disable most plugins, and have a whitelist for approved ones, if feasible. Who want's to deal with crap like Java? --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
<br />
== Whitelist/Blacklist of websites ==<br />
*Global blacklist?<br />
*How to implement whitelist popup?<br />
<br />
Current proposal consists of:<br />
* A global whitelist of approved websites, that are always allowed. E.g. youtube, google, reddit<br />
* All other websites have a message box popup requesting that you allow access to certain websites<br />
* A possible global blacklist/killswitch for bad websites or the entire web browser.<br />
<br />
== Audio & 3D ==<br />
* Audio support in Chromium/Awesomium/CEF is currently multi-threaded. This means it can't be integrated with BASS, which would have opened up possibilities for all the nice BASS functions we have.<br />
* This also means 3D support can't be added as easily. We can however adjust the volume manually, like we do currently. <br />
** Unfortunately, Chromium uses COM volume control. This means that it uses Windows global settings, and for XP/2000 probably can't be controlled easily. 3D might not be possible for these systems.<br />
*** HTML5 does support volume control. So long as the audio source is on an HTML5 page, these can be wrapped locally with a crafted .html document. This can be fed with volume controls to simulate 3D in Lua, rather than in MTA itself. <br />
<br />
== Privacy and cookies ==<br />
* Cookies should not be transferred from one server to another. If you login to Google on one server, another server should not be able to hijack that session.<br />
** Easy solution: Delete cookie and cache data upon quit every single time (or perhaps on start in case of crashes?)<br />
** Otherwise, CEF offers a Cookie Manager where cookie sessions can be created. Each server could have it's own cookie session so it could remember logins etc, which could be handy for login panels<br />
*** If this option is chosen, we should have a button in the settings menu to clear all browsing data.<br />
<br />
== Ability to modify content ==<br />
* The ability to modify content inside the web page is quite a useful one however it leaves us prone to javascript attacks such as the ones used in XSS.<br />
** Solution: For a first release it would be best that content inside the browser be uneditable as this could lead to security issues.<br />
<br />
== Ability to view content in Screen shots ==<br />
* As with our current implementation of the chat box the web browsers should be hidden from takePlayerScreenShot as these can be sent to server owners/admins and reveal sensitive information</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=CWebBrowser&diff=39392CWebBrowser2014-04-17T18:46:47Z<p>Cazomino05: </p>
<hr />
<div>=Potential issues with implementation of CEF (Chromium Embedded Framework)=<br />
This page discusses the issues when implementing an in-game web browser. Some of these need to be resolved before it's safe to include in MTA. The full discussion is here: http://pastebin.com/m5sqTRqH<br />
<br />
== Awesomium vs CEF ==<br />
* Awesomium has already been implemented, and is a proven library for embedding web browsers<br />
* CEF is an open source alternative, which is also established<br />
Verdict: Go with CEF. We can link the source tree, and push updates frequently as needed. This may prove vital with critical security updates. It'll just require Jusonex to do small 2-600hour changes.<br />
<br />
== Flash ==<br />
*Not everyone has flash, and there's likely to be great demand for streaming video. HTML5 doesn't cut it at the moment.<br />
*For it to function, the special "Other Browsers" version of Flash Player needs to be installed from Adobe's Website<br />
** Should a suggestion of installation of "Flash for other browsers" be included in the MTA installer?<br />
*** I think that we shouldn't be prematurely suggesting/promoting/forcing the install of 3rd party software without knowing the exact demand for it. Server owners might find ways around this problem, and we might end up looking like fools for spyware-like adverts (extreme case scenario :P) --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
** Using user-agent to spoof various HTML5 Browsers may allow dodging of the use of flash. This requires a few things:<br />
*** A scripting function to set the user agent of the session<br />
*** Some sample scripts, or some nagging to make sure the community uses HTML5 wherever possible, by the use of user agent or otherwise. We should try and make server owners responsible to avoid taking the lazy route (flash streaming)<br />
<br />
== HTTP Auth ==<br />
* Browsers normally have a built-in dialog for logging into an HTTP auth'd website<br />
* Do we provide the GUI internally or pass an event for script owners to callback on?<br />
** I say do this internally. It's somewhat a security thing, i dont think scripts can be trusted necessarilly. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
* Can we pass ACL auth from the server to website, if they're hosted on the same box? <br />
** It's quite niche. See if the use case opens up. --[[User:Talidan|Talidan]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Pop-ups/New windows ==<br />
*How to handle?<br />
**Fire an event. This means an event is fired when a web page requests a pop-up or a href in a new window, and it's left for the scripter to deal with it. --[[User:Woovie|Woovie]] 18:38, 17 April 2014 (UTC)<br />
<br />
== Alerts ==<br />
* How to handle Alert message boxes?<br />
** Either we create a message box GUI in CEGUI to fulfil this<br />
** Otherwise, we ignore alerts and make them incompatible. This might end up being the better solution.<br />
<br />
== Other plugins ==<br />
*Are they supported? If so, which ones?<br />
**I'm gonna say we disable most plugins, and have a whitelist for approved ones, if feasible. Who want's to deal with crap like Java? --[[User:Talidan|Talidan]] 18:32, 17 April 2014 (UTC)<br />
<br />
== Whitelist/Blacklist of websites ==<br />
*Global blacklist?<br />
*How to implement whitelist popup?<br />
<br />
Current proposal consists of:<br />
* A global whitelist of approved websites, that are always allowed. E.g. youtube, google, reddit<br />
* All other websites have a message box popup requesting that you allow access to certain websites<br />
* A possible global blacklist/killswitch for bad websites or the entire web browser.<br />
<br />
== Audio & 3D ==<br />
* Audio support in Chromium/Awesomium/CEF is currently multi-threaded. This means it can't be integrated with BASS, which would have opened up possibilities for all the nice BASS functions we have.<br />
* This also means 3D support can't be added as easily. We can however adjust the volume manually, like we do currently. <br />
** Unfortunately, Chromium uses COM volume control. This means that it uses Windows global settings, and for XP/2000 probably can't be controlled easily. 3D might not be possible for these systems.<br />
*** HTML5 does support volume control. So long as the audio source is on an HTML5 page, these can be wrapped locally with a crafted .html document. This can be fed with volume controls to simulate 3D in Lua, rather than in MTA itself. <br />
<br />
== Privacy and cookies ==<br />
* Cookies should not be transferred from one server to another. If you login to Google on one server, another server should not be able to hijack that session.<br />
** Easy solution: Delete cookie and cache data upon quit every single time (or perhaps on start in case of crashes?)<br />
** Otherwise, CEF offers a Cookie Manager where cookie sessions can be created. Each server could have it's own cookie session so it could remember logins etc, which could be handy for login panels<br />
*** If this option is chosen, we should have a button in the settings menu to clear all browsing data.<br />
<br />
== Ability to modify content ==<br />
* The ability to modify content inside the web page is quite a useful one however it leaves us prone to javascript attacks such as the ones used in XSS<br />
** For a first release it would be best that content inside the browser be uneditable as this could lead to security issues<br />
<br />
== Ability to view content in Screen shots ==<br />
* As with our current implementation of the chat box the web browsers should be hidden from takePlayerScreenShot as these can be sent to server owners/admins and reveal sensitive information</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=FromJSON&diff=39121FromJSON2014-03-19T00:33:31Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Server client function}}<br />
{{New feature/item|3.0120|1.2||<br />
Available client side in 1.2 and onwards.<br />
}}<br />
{{MessageBox|<br />
bordercolorhex = FFADAD |<br />
bordertype = |<br />
bgcolorhex = F9F9F9 |<br />
image = File:Dialog-warning.png |<br />
title = Warning: |<br />
message = There is a known bug with this described in the mantis issue 6613 |<br />
subtext = http://bugs.mtasa.com/view.php?id=6613 |<br />
<br />
}}<br />
This function parses a [[JSON]] formatted string into variables. You can use [[toJSON]] to encode variables into a JSON string that can be read by this function.<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua"><br />
var fromJSON ( string json )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''json:''' A JSON formatted string<br />
<br />
===Returns===<br />
Returns variables read from the JSON string.<br />
<br />
'''Note:''' Indices of a JSON object such as "1": "cat" are being returned as [[string]], not as [[int]]eger.<br />
<br />
==Example== <br />
This makes data equal: ''{ ["1"] = "cat", ["2"] = "mouse", ["3"] = 5, ["4"] = null, ["cat"] = 5, ["mouse"] =1 }''<br />
<syntaxhighlight lang="lua"><br />
local data = fromJSON ( '[ { "1": "cat", "2": "mouse", "3": 5, "4": null, "cat":5, "mouse":1 } ]' )<br />
</syntaxhighlight><br />
<br />
==Example 2==<br />
<syntaxhighlight lang="lua"><br />
local name, weapon, ammo = fromJSON("[\"Desert Eagle\", 24, 147]")<br />
</syntaxhighlight><br />
<br />
==Requirements==<br />
{{Requirements|1.0|1.1.1-9.03316|}}<br />
<br />
==See Also==<br />
{{Server_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientSoundBeat&diff=37008OnClientSoundBeat2013-08-31T06:44:17Z<p>Cazomino05: </p>
<hr />
<div>{{Client event}}<br />
__NOTOC__ <br />
{{New feature|4.0131|1.3.1|<br />
This event is triggered when a '''sound''' beats.<br />
}}<br />
{{Note|This event does not work correctly pre 1.3.1-9-04627<br />
}}<br />
{{Note|This event is triggered ahead of a sound beat the number passed is the play time at which the beat occurs<br />
}}<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
double theTime<br />
</syntaxhighlight> <br />
<br />
*'''theTime''': the position in the song of the beat<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[Element/Sound|sound's element]].<br />
<br />
==Example== <br />
<syntaxhighlight lang="lua"><br />
-- Not done yet<br />
</syntaxhighlight><br />
<br />
==Requirements==<br />
{{Requirements|n/a|1.3.0-9.04162}}<br />
<br />
==See Also==<br />
===Client sound events===<br />
{{Sound_events}}<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientSoundBeat&diff=37007OnClientSoundBeat2013-08-31T06:14:26Z<p>Cazomino05: </p>
<hr />
<div>{{Client event}}<br />
__NOTOC__ <br />
{{New feature|4.0131|1.3.1|<br />
This event is triggered when a '''sound''' beats.<br />
}}<br />
{{Note|This event does not work correctly pre 1.3.1-9-04627}}<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
double theTime<br />
</syntaxhighlight> <br />
<br />
*'''theTime''': the position in the song of the beat<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the [[Element/Sound|sound's element]].<br />
<br />
==Example== <br />
<syntaxhighlight lang="lua"><br />
-- Not done yet<br />
</syntaxhighlight><br />
<br />
==Requirements==<br />
{{Requirements|n/a|1.3.0-9.04162}}<br />
<br />
==See Also==<br />
===Client sound events===<br />
{{Sound_events}}<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=PlaySFX&diff=36996PlaySFX2013-08-29T09:49:04Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{New feature/item|3.0134|1.3.4|5731|<br />
This function plays a sound from GTA's big sound containers.<br />
}}<br />
<br />
{{Note|There is a tool available which allows you to find bank and sound IDs easily: [[https://community.mtasa.com/index.php?p=resources&s=details&id=7549 sfxBrowser:Download]]}}<br />
{{Warning|Many players use versions of GTA:SA (especially pirated versions) that have audio files full of zeros so that they can compresses better in their ''AUDIO\SFX\'' folder. (They lack any data) <br />
In case of these invalid audio files, this function returns ''false''|true}}<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
element playSFX ( string containerName, int bankId, int soundId [, bool looped = false ] )<br />
</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''containerName:''' The name of the audio container. Possible values are: "feet", "genrl", "pain_a", "script", "spc_ea", "spc_fa", "spc_ga", spc_na", "spc_pa"<br />
*'''bankId:''' The audio bank id<br />
*'''soundId:''' The sound id within the audio bank<br />
<br />
===Optional Arguments===<br />
*'''looped:''' A [[boolean]] representing whether the sound will be looped<br />
<br />
==Returns==<br />
Returns a [[sound]] element if the sound was successfully created, ''false'' otherwise.<br />
<br />
==Example==<br />
The following example plays a firealarm sound (looped).<br />
<syntaxhighlight lang="lua"><br />
if not playSFX("script", 7, 1, true) then<br />
outputChatBox("You have to install some missing audio files to hear the sound")<br />
end<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Client_audio_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=PlaySFX3D&diff=36995PlaySFX3D2013-08-29T09:48:43Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{New feature/item|3.0134|1.3.4|5731|<br />
This function plays a sound in the GTA world from GTA's big sound containers.<br />
}}<br />
<br />
{{Note|There is a tool available which allows you to find bank and sound IDs easily: [[https://community.mtasa.com/index.php?p=resources&s=details&id=7549 sfxBrowser:Download]]}}<br />
{{Warning|Many players use versions of GTA:SA (especially pirated versions) that have audio files full of zeros so that they can compresses better in their ''AUDIO\SFX\'' folder. (They lack any data) <br />
In case of these invalid audio files, this function returns ''false''|true}}<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
element playSFX3D ( string containerName, int bankId, int soundId, float x, float y, float z [, bool looped = false ] )<br />
</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''containerName:''' The name of the audio container. Possible values are: "feet", "genrl", "pain_a", "script", "spc_ea", "spc_fa", "spc_ga", spc_na", "spc_pa"<br />
*'''bankId:''' The audio bank id<br />
*'''soundId:''' The sound id within the audio bank<br />
*'''x:''' A floating point number representing the X coordinate on the map.<br />
*'''y:''' A floating point number representing the Y coordinate on the map.<br />
*'''z:''' A floating point number representing the Z coordinate on the map.<br />
<br />
===Optional Arguments===<br />
*'''looped:''' A [[boolean]] representing whether the sound will be looped<br />
<br />
==Returns==<br />
Returns a [[sound]] element if the sound was successfully created, ''false'' otherwise.<br />
<br />
==Example==<br />
The following example plays a fire alarm sound near you (looped).<br />
<syntaxhighlight lang="lua"><br />
local x, y, z = getElementPosition(localPlayer)<br />
if not playSFX3D("script", 7, 1, x + 10, y, z, true) then<br />
outputChatBox("You have to install some missing audio files to hear the sound")<br />
end<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
{{Client_audio_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=User:Ccw&diff=36645User:Ccw2013-07-12T22:07:12Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__<br />
{{MTA Developer}}<br />
<br />
== ==<br />
=2013 May 10=<br />
==Random crashes in GTA==<br />
===Consider this===<br />
*During "onClient.." events, entities can be created/destroyed/change model etc.<br />
*"onClient.." events can occur in the depths of GTA game processing.<br />
This could be one of the causes of the random crashes we get.<br />
<br />
===Solution:===<br />
Queue the events, and trigger them once GTA has finished it's main loop.<br/><br />
Although a few events require immediate feedback, so can't be queued. These events are:<br />
*onClientPlayerChoke<br />
*onClientPlayer/PedDamage<br />
*onClientPlayer/PedHeliKilled<br />
*onClientPlayer/PedHitByWaterCannon<br />
*onClientObjectDamage<br />
*onClientObjectBreak<br />
*onClientExplosion<br />
*onClientWeaponFire<br />
<br />
<br />
Not queueing the above events means:<br />
* They will always get triggered before the (now) queued events, for that frame. (I don't think this change of behaviour will be a big problem though.)<br />
* If create/destroy/anything is done during these events, there will still be a problem with crashes. But we can worry about that later.<br />
<br />
<br />
''Might I suggest source elements cannot be deleted in events as a generic rule?''<br />
--[[User:Cazomino05|Cazomino05]] 22:07, 12 July 2013 (UTC)<br />
<br />
== ==<br />
=2013 March 2=<br />
==Propose source file banner credit overhaul #2==<br />
===Problems with current source file credits:===<br />
* Little value as a goto guy guide<br />
* No one knows when to add their name to the list<br />
* Encourages file additions, rather than feature additions<br />
* As an information source is it quite useless and eventually misleading<br />
<br />
===Proposal:===<br />
* Remove the 'DEVELOPERS:' section in the source files where the current listed devs agree.<br />
* In files they do not agree, add the names of all the other devs to teach them a lesson.<br />
* Add a 'developers.txt' somewhere with all devs names (and what they did if anyone can be bothered to document it).<br />
<br />
<br />
== ==<br />
=2012 October 7=<br />
==Propose to add two new functions==<br />
===addPreEventHandler and addPostEventHandler===<br />
<br />
Adding these will help solve the following problems:<br />
:'''1. Only the function that triggered the event knows if the event was cancelled'''<br />
::As ''wasEventCancelled'' is only valid after all ''addEventHandler''s have been completed<br />
::(This also means its not possible to react to cancelling of inbuilt events)<br />
:'''2. Solve issue of cancelling events and really stopping them from doing anything'''<br />
::i.e. Cancel event in ''addPreEventHandler'' will stop ''addEventHandler'' being called altogether<br />
:'''3. Wanting to do things before/after events have occurred:'''<br />
::e.g. onResourceStart - Client has not been told to start yet, so some things like ''setPlayerTeam'' can't be done.<br />
::Adding ''addPostEventHandler("onResourceStart",...)'' means we can do stuff just after resource has really started on both server and client<br />
<br />
===Cancellation rules===<br />
====Current (As it is now)====<br />
*All '''addEventHandlers''' are called.<br />
<br />
====Proposal #1====<br />
*All '''addPreEventHandlers''' are called.<br />
*If the event is not cancelled by any '''addPreEventHandler''' then:<br />
:*All '''addEventHandlers''' are called.<br />
:*If the event is not cancelled by any '''addEventHandlers''' then:<br />
::*All '''addPostEventHandlers''' are called.<br />
<br />
====Proposal #2 (allows for addPostEventHandlers to detect addEventHandler cancellation)====<br />
*All '''addPreEventHandlers''' are called.<br />
*If the event is not cancelled by any '''addPreEventHandler''' then:<br />
:*All '''addEventHandlers''' are called.<br />
:*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addEventHandlers''')<br />
<br />
====Proposal #3 (allows for addPostEventHandlers to detect addPreEventHandlers and addEventHandler cancellation (but not distinguish which one))====<br />
*All '''addPreEventHandlers''' are called.<br />
*If the event is not cancelled by any '''addPreEventHandler''' then:<br />
:*All '''addEventHandlers''' are called.<br />
*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addPreEventHandlers''' or '''addEventHandlers''')<br />
<br />
<br />
== ==<br />
=2011 November 30=<br />
==Notes for new ACL request system==<br />
<br />
====In the resource meta.xml:====<br />
<syntaxhighlight lang="lua"><br />
<aclrequest><br />
<right name="function.kickPlayer" access="true"></right><br />
<right name="function.banPlayer" access="true"></right><br />
</aclrequest><br />
</syntaxhighlight><br />
<br />
<br />
====Console command 'aclrequest'====<br />
<syntaxhighlight lang="lua"><br />
aclrequest list<br />
> aclrequest: BobsGame has 2 aclrequest(s) of which 2 are pending<br />
<br />
aclrequest list BobsGame<br />
> aclrequest: BobsGame [pending] for function.kickPlayer<br />
> aclrequest: BobsGame [pending] for function.banPlayer<br />
<br />
aclrequest deny BobsGame all<br />
> aclrequest: BobsGame function.kickPlayer changed to deny (Console)<br />
> aclrequest: BobsGame function.banPlayer changed to deny (Console)<br />
<br />
aclrequest allow BobsGame function.kickPlayer<br />
> aclrequest: BobsGame function.kickPlayer changed to allow (Console)<br />
<br />
aclrequest list BobsGame <br />
> aclrequest: BobsGame [allow] for function.kickPlayer (by Console on 2011-11-29)<br />
> aclrequest: BobsGame [deny] for function.banPlayer (by Console on 2011-11-29)<br />
</syntaxhighlight><br />
<br />
<br />
====Script function #1:====<br />
<syntaxhighlight lang="lua"><br />
table getResourceACLRequests ( resource theResource )</syntaxhighlight><br />
<br />
table return example:<br />
<syntaxhighlight lang="lua"><br />
{ {name="function.kickPlayer", access="true", pending="false", who="Console", date="2011-11-29" },<br />
{name="function.banPlayer", access="false", pending="false", who="Console", date="2011-11-29" } }<br />
</syntaxhighlight><br />
<br />
<br />
====Script function #2:====<br />
<syntaxhighlight lang="lua"><br />
bool updateResourceACLRequest ( resource theResource, string rightName, bool access, string byWho )</syntaxhighlight><br />
<br />
This only works with right names that are returned from getResourceACLRequests.<br><br />
Calling updateResourceACLRequest automatically sents the 'pending' to false and also sets the 'date'.<br />
<br />
<br />
====Permissions====<br />
The following are protected by default and will need an entry in the ACL:<br />
<syntaxhighlight lang="lua">function.updateResourceACLRequest <br />
command.aclrequest<br />
</syntaxhighlight><br />
<br />
<br />
== ==<br />
=Release dates=<br />
==History==<br />
<br />
{| class="wikitable" border="1"<br />
|'''Version'''<br />
|'''Date'''<br />
|'''Highlights'''<br />
|'''User comments'''<br />
|-<br />
| 1.0<br />
| 22 August 2009<br />
| First release<br />
| DP2 was better<br />
|-<br />
| 1.0.1<br />
| 02 October 2009<br />
| Crash fixes and less lag<br />
| 1.0 was better<br />
|-<br />
| 1.0.2<br />
| 24 October 2009<br />
| Crash fixes<br />
| 1.0.1 was better<br />
|-<br />
| 1.0.3<br />
| 17 December 2009<br />
| Sync improved<br />
| 1.0.2 was better<br />
|-<br />
| 1.0.4 (r1752) <br />
| 7 June 2010<br />
| Security improved<br />
| 1.0.3 was better<br />
|-<br />
| 1.0.4 (r1854) <br />
| 10 July 2010<br />
| Crash fixes<br />
| It crashes more<br />
|-<br />
| 1.0.4 (r2033)<br />
| 14 October 2010<br />
| Crash fixes<br />
| It crashes more<br />
|-<br />
| 1.0.4 (r2106)<br />
| 14 December 2010<br />
| Browser improved<br />
| <br />
|-<br />
| 1.0.5 (r2488)<br />
| 27 March 2011<br />
| AC improved<br />
| It crashes more & 1.0.4 was better<br />
|-<br />
| 1.0.5 (r2519/2520)<br />
| 4 April 2011<br />
| Performance fixed<br />
| 'It's almost as good as 1.0.2 now'<br />
|-<br />
| 1.0.5 (r2560)<br />
| 16 April 2011<br />
| Performance improvements<br />
|<br />
|-<br />
| 1.1.0<br />
| 25 August 2011<br />
| Many new features<br />
| Possibly the worst thing that has happened in the history of the world<br />
|-<br />
| 1.1.1<br />
| 20 September 2011<br />
| Accumulation of post release fixes<br />
| Lags more than 1.1<br />
|-<br />
| 1.2<br />
| 17 December 2011<br />
| RakNet fix for serious network related problems<br />
| ???<br />
|-<br />
| 1.3<br />
| 24 January 2012<br />
| Map Download fix + loads of misc bug fixes <br />
| ???<br />
|-<br />
| 1.3.1<br />
| 03 September 2012<br />
| loads of bug fixes and a boat load of new features<br />
| 1.3 was better<br />
|-<br />
| 1.3.2<br />
| 05 May 2013<br />
| Added features, improved performance<br />
| No thanks, I'm sticking with 1.3.1<br />
|-<br />
| 1.3.3<br />
| 01 July 2013<br />
| Anti-cheat updates and "optimus" fixes<br />
| The game might run better when "optimus" fix is enabled so sticking with 1.3.1<br />
|}<br />
<br></div>Cazomino05https://wiki.multitheftauto.com/index.php?title=User:Ccw&diff=36644User:Ccw2013-07-12T22:04:41Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__<br />
{{MTA Developer}}<br />
<br />
== ==<br />
=2013 May 10=<br />
==Random crashes in GTA==<br />
===Consider this===<br />
*During "onClient.." events, entities can be created/destroyed/change model etc.<br />
*"onClient.." events can occur in the depths of GTA game processing.<br />
This could be one of the causes of the random crashes we get.<br />
<br />
===Solution:===<br />
Queue the events, and trigger them once GTA has finished it's main loop.<br/><br />
Although a few events require immediate feedback, so can't be queued. These events are:<br />
*onClientPlayerChoke<br />
*onClientPlayer/PedDamage<br />
*onClientPlayer/PedHeliKilled<br />
*onClientPlayer/PedHitByWaterCannon<br />
*onClientObjectDamage<br />
*onClientObjectBreak<br />
*onClientExplosion<br />
*onClientWeaponFire<br />
<br />
<br />
Not queueing the above events means:<br />
* They will always get triggered before the (now) queued events, for that frame. (I don't think this change of behaviour will be a big problem though.)<br />
* If create/destroy/anything is done during these events, there will still be a problem with crashes. But we can worry about that later.<br />
<br />
<br />
== ==<br />
=2013 March 2=<br />
==Propose source file banner credit overhaul #2==<br />
===Problems with current source file credits:===<br />
* Little value as a goto guy guide<br />
* No one knows when to add their name to the list<br />
* Encourages file additions, rather than feature additions<br />
* As an information source is it quite useless and eventually misleading<br />
<br />
===Proposal:===<br />
* Remove the 'DEVELOPERS:' section in the source files where the current listed devs agree.<br />
* In files they do not agree, add the names of all the other devs to teach them a lesson.<br />
* Add a 'developers.txt' somewhere with all devs names (and what they did if anyone can be bothered to document it).<br />
<br />
<br />
== ==<br />
=2012 October 7=<br />
==Propose to add two new functions==<br />
===addPreEventHandler and addPostEventHandler===<br />
<br />
Adding these will help solve the following problems:<br />
:'''1. Only the function that triggered the event knows if the event was cancelled'''<br />
::As ''wasEventCancelled'' is only valid after all ''addEventHandler''s have been completed<br />
::(This also means its not possible to react to cancelling of inbuilt events)<br />
:'''2. Solve issue of cancelling events and really stopping them from doing anything'''<br />
::i.e. Cancel event in ''addPreEventHandler'' will stop ''addEventHandler'' being called altogether<br />
:'''3. Wanting to do things before/after events have occurred:'''<br />
::e.g. onResourceStart - Client has not been told to start yet, so some things like ''setPlayerTeam'' can't be done.<br />
::Adding ''addPostEventHandler("onResourceStart",...)'' means we can do stuff just after resource has really started on both server and client<br />
<br />
===Cancellation rules===<br />
====Current (As it is now)====<br />
*All '''addEventHandlers''' are called.<br />
<br />
====Proposal #1====<br />
*All '''addPreEventHandlers''' are called.<br />
*If the event is not cancelled by any '''addPreEventHandler''' then:<br />
:*All '''addEventHandlers''' are called.<br />
:*If the event is not cancelled by any '''addEventHandlers''' then:<br />
::*All '''addPostEventHandlers''' are called.<br />
<br />
====Proposal #2 (allows for addPostEventHandlers to detect addEventHandler cancellation)====<br />
*All '''addPreEventHandlers''' are called.<br />
*If the event is not cancelled by any '''addPreEventHandler''' then:<br />
:*All '''addEventHandlers''' are called.<br />
:*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addEventHandlers''')<br />
<br />
====Proposal #3 (allows for addPostEventHandlers to detect addPreEventHandlers and addEventHandler cancellation (but not distinguish which one))====<br />
*All '''addPreEventHandlers''' are called.<br />
*If the event is not cancelled by any '''addPreEventHandler''' then:<br />
:*All '''addEventHandlers''' are called.<br />
*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addPreEventHandlers''' or '''addEventHandlers''')<br />
<br />
<br />
== ==<br />
=2011 November 30=<br />
==Notes for new ACL request system==<br />
<br />
====In the resource meta.xml:====<br />
<syntaxhighlight lang="lua"><br />
<aclrequest><br />
<right name="function.kickPlayer" access="true"></right><br />
<right name="function.banPlayer" access="true"></right><br />
</aclrequest><br />
</syntaxhighlight><br />
<br />
<br />
====Console command 'aclrequest'====<br />
<syntaxhighlight lang="lua"><br />
aclrequest list<br />
> aclrequest: BobsGame has 2 aclrequest(s) of which 2 are pending<br />
<br />
aclrequest list BobsGame<br />
> aclrequest: BobsGame [pending] for function.kickPlayer<br />
> aclrequest: BobsGame [pending] for function.banPlayer<br />
<br />
aclrequest deny BobsGame all<br />
> aclrequest: BobsGame function.kickPlayer changed to deny (Console)<br />
> aclrequest: BobsGame function.banPlayer changed to deny (Console)<br />
<br />
aclrequest allow BobsGame function.kickPlayer<br />
> aclrequest: BobsGame function.kickPlayer changed to allow (Console)<br />
<br />
aclrequest list BobsGame <br />
> aclrequest: BobsGame [allow] for function.kickPlayer (by Console on 2011-11-29)<br />
> aclrequest: BobsGame [deny] for function.banPlayer (by Console on 2011-11-29)<br />
</syntaxhighlight><br />
<br />
<br />
====Script function #1:====<br />
<syntaxhighlight lang="lua"><br />
table getResourceACLRequests ( resource theResource )</syntaxhighlight><br />
<br />
table return example:<br />
<syntaxhighlight lang="lua"><br />
{ {name="function.kickPlayer", access="true", pending="false", who="Console", date="2011-11-29" },<br />
{name="function.banPlayer", access="false", pending="false", who="Console", date="2011-11-29" } }<br />
</syntaxhighlight><br />
<br />
<br />
====Script function #2:====<br />
<syntaxhighlight lang="lua"><br />
bool updateResourceACLRequest ( resource theResource, string rightName, bool access, string byWho )</syntaxhighlight><br />
<br />
This only works with right names that are returned from getResourceACLRequests.<br><br />
Calling updateResourceACLRequest automatically sents the 'pending' to false and also sets the 'date'.<br />
<br />
<br />
====Permissions====<br />
The following are protected by default and will need an entry in the ACL:<br />
<syntaxhighlight lang="lua">function.updateResourceACLRequest <br />
command.aclrequest<br />
</syntaxhighlight><br />
<br />
<br />
== ==<br />
=Release dates=<br />
==History==<br />
<br />
{| class="wikitable" border="1"<br />
|'''Version'''<br />
|'''Date'''<br />
|'''Highlights'''<br />
|'''User comments'''<br />
|-<br />
| 1.0<br />
| 22 August 2009<br />
| First release<br />
| DP2 was better<br />
|-<br />
| 1.0.1<br />
| 02 October 2009<br />
| Crash fixes and less lag<br />
| 1.0 was better<br />
|-<br />
| 1.0.2<br />
| 24 October 2009<br />
| Crash fixes<br />
| 1.0.1 was better<br />
|-<br />
| 1.0.3<br />
| 17 December 2009<br />
| Sync improved<br />
| 1.0.2 was better<br />
|-<br />
| 1.0.4 (r1752) <br />
| 7 June 2010<br />
| Security improved<br />
| 1.0.3 was better<br />
|-<br />
| 1.0.4 (r1854) <br />
| 10 July 2010<br />
| Crash fixes<br />
| It crashes more<br />
|-<br />
| 1.0.4 (r2033)<br />
| 14 October 2010<br />
| Crash fixes<br />
| It crashes more<br />
|-<br />
| 1.0.4 (r2106)<br />
| 14 December 2010<br />
| Browser improved<br />
| <br />
|-<br />
| 1.0.5 (r2488)<br />
| 27 March 2011<br />
| AC improved<br />
| It crashes more & 1.0.4 was better<br />
|-<br />
| 1.0.5 (r2519/2520)<br />
| 4 April 2011<br />
| Performance fixed<br />
| 'It's almost as good as 1.0.2 now'<br />
|-<br />
| 1.0.5 (r2560)<br />
| 16 April 2011<br />
| Performance improvements<br />
|<br />
|-<br />
| 1.1.0<br />
| 25 August 2011<br />
| Many new features<br />
| Possibly the worst thing that has happened in the history of the world<br />
|-<br />
| 1.1.1<br />
| 20 September 2011<br />
| Accumulation of post release fixes<br />
| Lags more than 1.1<br />
|-<br />
| 1.2<br />
| 17 December 2011<br />
| RakNet fix for serious network related problems<br />
| ???<br />
|-<br />
| 1.3<br />
| 24 January 2012<br />
| Map Download fix + loads of misc bug fixes <br />
| ???<br />
|-<br />
| 1.3.1<br />
| 03 September 2012<br />
| loads of bug fixes and a boat load of new features<br />
| 1.3 was better<br />
|-<br />
| 1.3.2<br />
| 05 May 2013<br />
| Added features, improved performance<br />
| No thanks, I'm sticking with 1.3.1<br />
|-<br />
| 1.3.3<br />
| 01 July 2013<br />
| Anti-cheat updates and "optimus" fixes<br />
| The game might run better when "optimus" fix is enabled so sticking with 1.3.1<br />
|}<br />
<br></div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Main_Page&diff=36551Main Page2013-07-05T20:53:57Z<p>Cazomino05: test</p>
<hr />
<div>{| width="100%" cellspacing="0" cellpadding="0"<br />
| colspan="2" |<br />
<div style="/*border: 1px solid #D8D8D8;*/ padding-left: 15px; padding-right: 15px; height: 100%;"><br />
[[File:Mtalogo.png|left|100px|link=http://wiki.multitheftauto.com/]]'''Welcome to the [[Multi Theft Auto]] wiki.''' On this wiki you'll find a wealth of information on using Multi Theft Auto.<br />
<br />
There are many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.<br />
<br />
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]].<br />
<br/><br/>[ Stop playing with yourself ]<br />
</div><br />
|}<br />
{| width="100%" cellspacing="0" cellpadding="0"<br />
| colspan="2" |<br />
|-<br />
|width="50%" style="vertical-align:top;" |<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background: #FFFCF2;"><br />
<div style="float:right; width: 32px;">[[File:Input-gaming.png|link=]]</div><br />
<h3>Play</h3><br />
<div style="background: #FFEEAA; border: 1px solid #FFCD19;"><br />
[[File:Go-down.png|link=http://mtasa.com/]] ''' [http://mtasa.com/ Download Multi Theft Auto: San Andreas {{Current Version|full}}]'''</div><br />
* [[Client Manual]]<br />
<!-- * [[Changes_in_{{padleft:|3|{{Current Version|full}}}}| Changes in {{padleft:|3|{{Current Version|full}}}}]] --><br />
* [[Changes_in_{{padleft:|5|{{Current Version|full}}}}| Changes in {{padleft:|5|{{Current Version|full}}}}]]<br />
* [[Known_Issues_-_FAQ|Known Issues]]<br />
* [[Upgrading_from_MTA:Race|Migrating from MTA:Race to MTA:SA {{padleft:|3|{{Current Version|full}}}}]]<br />
* [[Server Manual]]<br />
* [[Map manager|Map Manager]]<br />
<br />
<h3>Map Editor</h3><br />
*[[Resource:Editor|Manual]]<br />
*[[Resource:Editor/EDF|Editor Definition Format]]<br />
*[[Resource:Editor/Plugins|Plugins]]<br />
*[[Resource:Editor#FAQ|Frequently Asked Questions]]<br />
</div><br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Package-x-generic.png|link=]]</div><br />
<h3>Databases</h3><br />
This section outlines all the Lua capabilites MTA or resources provide.<br />
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts<br />
* [[Client side scripts]]<br />
* [[Modules]]<br />
</div><br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Applications-development.png|link=]]</div><br />
<h3>Developing Multi Theft Auto</h3><br />
[[File:Go-down.png|link=http://nightly.mtasa.com/]] [http://nightly.mtasa.com/ Nightly builds]<br />
* [[Compiling_MTASA|Compiling MTASA on Windows]]<br />
* [[Building_MTASA_Server_on_Mac_OS_X|Compiling MTASA on Mac OS X]]<br />
* [[Building_MTASA_Server_on_GNU_Linux|Compiling MTASA on GNU/Linux]]<br />
* [[Coding guidelines]]<br />
* [http://code.google.com/p/mtasa-blue Google Code SVN]<br />
* [[Roadmap]]<br />
* [http://bugs.mtasa.com/ Bugtracker]<br />
* [[Branches]]<br />
</div><br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Applications-office.png|link=]]</div><br />
<h3>Wiki - How can you help</h3><br />
* Finish documentation for [[:Category:Incomplete|Incomplete functions]].<br />
* [[:Category:Needs_Example |Add examples to functions and events]].<br />
* Review and verify [[:Category:Needs Checking|pages that need checking]].<br />
* Write tutorials to help new people.<br />
* Translate wiki pages.<br />
</div><br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Internet-group-chat.png|link=]]</div><br />
<h3>Community</h3><br />
* [http://forum.multitheftauto.com/ Forum]<br />
* IRC: [irc://irc.multitheftauto.com/mta irc.multitheftauto.com #mta]<br />
* [http://community.mtasa.com/ MTA Community] - Share and download resources.<br />
* [http://twitter.com/#!/MTAQA/ Twitter] - [http://www.youtube.com/user/MTAQA Youtube] - [http://plus.google.com/102014133442331779727/ Google+] - [http://www.moddb.com/mods/multi-theft-auto-san-andreas ModDB]<br />
</div><br />
<br />
| width="50%" style="vertical-align:top;" |<br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Accessories-text-editor.png|link=]]</div><br />
<h3>Scripting</h3><br />
* [[Scripting Introduction|Introduction to Scripting]]<br />
* [[Introduction to Scripting the GUI]]<br />
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts<br />
* [[Resources|Introduction to Resources]]<br />
** [[Resource Web Access]] - How you can write websites with resources<br />
** [[:Category:Resource|Resource Catalogue]]<br />
** [[Meta.xml]] - Behind every resource is a meta file that defines it<br />
** [[ACL]] - Access Control List, this is vital for complex scripts to work<br />
* [[Writing_Gamemodes|Writing Gamemodes]]<br />
* [[Useful_Functions|Useful functions]]<br />
Forum Links<br />
* [http://forum.mtasa.com/viewforum.php?f=91 Scripting Forum]<br />
* [http://forum.mtasa.com/viewforum.php?f=148 Scripting Tutorials Sub-Forum]<br />
* [http://forum.mtasa.com/viewtopic.php?f=13&t=29363 Offline Wiki Copies]<br />
<div style="float:right; width: 32px;">[[File:start-here.png|link=]]</div><br />
<h3>General Lua Help</h3><br />
Pages designed to aid your understanding of Lua<br />
*[http://www.lua.org/pil/index.html "Programming in Lua" Manual]<br />
**[http://www.lua.org/manual/5.1/#index Internal Lua functions reference]<br />
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]<br />
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]<br />
</div><br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#F2F2FF;"><br />
<div style="float:right; width: 32px;">[[File:Preferences-system.png|link=]]</div><br />
<h3>Reference</h3><br />
* [[Client Scripting Functions|Client-side Functions]]<br />
* [[Client Scripting Events|Client-side Events]]<br />
* [[Server Scripting Functions|Server-side Functions]]<br />
* [[Server Scripting Events|Server-side Events]]<br />
<!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --><br />
* [[MTA Classes]] - Detailed descriptions of all MTA custom types<br />
** [[Element|MTA Elements]] / [[Element tree]]<br />
</div><br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:System-file-manager.png|link=]]</div><br />
<h3>[[Id|ID Lists]]</h3><br />
*[[Animations|Animations]]<br />
*[[Character Skins]]<br />
*[[CJ_Clothes|Clothing styles]]<br />
*[[Garage|Garage IDs]]<br />
*[[Interior IDs]]<br />
*[[Material IDs]]<br />
*[[Projectiles]]<br />
*[[Radar Blips]]<br />
*[[Sounds]]<br />
*[[Vehicle IDs]]<br />
*[[Vehicle Colors]]<br />
*[[Vehicle Upgrades]]<br />
*[[Vehicle variants|Vehicle Variants]]<br />
*[[Vehicle component manipulation]]<br />
*[[Weapons|Weapons]]<br />
*[[Weather]]<br />
</div><br />
<div style="padding:4px 8px 8px 8px; margin:10px;"><br />
[[File:Osi symbol.png|75px|link=http://opensource.org/|left]]<br />
'''Multi Theft Auto''' is '''Open Source'''. <br />
<br/>This means anyone can contribute to making Multi Theft Auto even better!<br />
</div><br />
|-<br />
| colspan="2" |<br />
|}<br />
{| width="100%" cellspacing="0" cellpadding="0"<br />
| colspan="2" |<br />
<div style="padding-left: 15px; padding-right: 15px;" class="plainlinks"><br />
[[File:MTALogo_8ball.png|left|85px|link=Archive]]<br />
<ul style="list-style: none; width: 200px; float: left;"><br />
<li>'''About [[Multi Theft Auto]]'''</li><br />
<li>[[Archive]]</li><br />
<li>[[Press Coverage]]</li><br />
<li>[http://code.google.com/p/mtasa-blue/people/list Developers]</li><br />
</ul><br />
<ul style="list-style: none; width: 200px; float: left;"><br />
<li>'''Multi Theft Auto 0.5'''</li><br />
<li>[[Archive#Multi_Theft_Auto_0.5|Download]]</li><br />
<li>[[MTA 0.5r2 Known Issues|Known Issues]]</li><br />
</ul><br />
<ul style="list-style: none; width: 200px; float: left;"><br />
<li>'''Wiki Stats'''</li><br />
<li>{{NUMBEROFARTICLES}} Articles</li><br />
<li>{{NUMBEROFPAGES}} Pages</li><br />
<li>{{NUMBEROFUSERS}} Registered Users</li><br />
</ul><br />
</div><br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
{{Languages list|en}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&diff=36550Template:Current Version2013-07-05T20:53:36Z<p>Cazomino05: </p>
<hr />
<div>{{#ifeq:{{{1|}}}|full| 1.3.3 | 3.0133 }} <!-- To Update the main page you might need to edit it as the server has page caching on --></div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&diff=36549Template:Current Version2013-07-05T20:53:27Z<p>Cazomino05: </p>
<hr />
<div>{{#ifeq:{{{1|}}}|full| 1.3.3 | 3.0133 }} !-- To Update the main page you might need to edit it as the server has page caching on --></div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&diff=36548Template:Current Version2013-07-05T17:14:50Z<p>Cazomino05: </p>
<hr />
<div>{{#ifeq:{{{1|}}}|full| 1.3.3 | 3.0133 }}<br />
<!-- To Update the main page you might need to edit it as the server has page caching on --></div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Main_Page&diff=36547Main Page2013-07-05T17:08:51Z<p>Cazomino05: getting page to update</p>
<hr />
<div>{| width="100%" cellspacing="0" cellpadding="0"<br />
| colspan="2" |<br />
<div style="/*border: 1px solid #D8D8D8;*/ padding-left: 15px; padding-right: 15px; height: 100%;"><br />
[[File:Mtalogo.png|left|100px|link=http://wiki.multitheftauto.com/]]'''Welcome to the [[Multi Theft Auto]] wiki.''' On this wiki you'll find a wealth of information on using Multi Theft Auto.<br />
<br />
There are many [[How you can help|things you can do to help us]] improve MTA - create a map, a gamemode, help document scripting functions, write example code, write tutorials or just play MTA and report the bugs you find.<br />
<br />
If you have any questions or problems related to scripting, feel free to get in touch with us on our [[IRC Channel]].<br />
<br/><br/>[ Stop playing with yourself ]<br />
</div><br />
|}<br />
{| width="100%" cellspacing="0" cellpadding="0"<br />
| colspan="2" |<br />
|-<br />
|width="50%" style="vertical-align:top;" |<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background: #FFFCF2;"><br />
<div style="float:right; width: 32px;">[[File:Input-gaming.png|link=]]</div><br />
<h3>Play</h3><br />
<div style="background: #FFEEAA; border: 1px solid #FFCD19;"><br />
[[File:Go-down.png|link=http://mtasa.com/]] ''' [http://mtasa.com/ Download Multi Theft Auto: San Andreas {{Current Version|full}}]'''</div><br />
* [[Client Manual]]<br />
<!-- * [[Changes_in_{{padleft:|3|{{Current Version|full}}}}| Changes in {{padleft:|3|{{Current Version|full}}}}]] --><br />
* [[Changes_in_{{padleft:|5|{{Current Version|full}}}}| Changes in {{padleft:|5|{{Current Version|full}}}}]]<br />
* [[Known_Issues_-_FAQ|Known Issues]]<br />
* [[Upgrading_from_MTA:Race|Migrating from MTA:Race to MTA:SA {{padleft:|3|{{Current Version|full}}}}]]<br />
* [[Server Manual]]<br />
* [[Map manager|Map Manager]]<br />
<br />
<h3>Map Editor</h3><br />
*[[Resource:Editor|Manual]]<br />
*[[Resource:Editor/EDF|Editor Definition Format]]<br />
*[[Resource:Editor/Plugins|Plugins]]<br />
*[[Resource:Editor#FAQ|Frequently Asked Questions]]<br />
</div><br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Package-x-generic.png|link=]]</div><br />
<h3>Databases</h3><br />
This section outlines all the Lua capabilites MTA or resources provide.<br />
* [[:Category:Resource|Resource Catalogue]] - You must learn these to make proper scripts<br />
* [[Client side scripts]]<br />
* [[Modules]]<br />
</div><br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Applications-development.png|link=]]</div><br />
<h3>Developing Multi Theft Auto</h3><br />
[[File:Go-down.png|link=http://nightly.mtasa.com/]] [http://nightly.mtasa.com/ Nightly builds]<br />
* [[Compiling_MTASA|Compiling MTASA on Windows]]<br />
* [[Building_MTASA_Server_on_Mac_OS_X|Compiling MTASA on Mac OS X]]<br />
* [[Building_MTASA_Server_on_GNU_Linux|Compiling MTASA on GNU/Linux]]<br />
* [[Coding guidelines]]<br />
* [http://code.google.com/p/mtasa-blue Google Code SVN]<br />
* [[Roadmap]]<br />
* [http://bugs.mtasa.com/ Bugtracker]<br />
* [[Branches]]<br />
</div><br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Applications-office.png|link=]]</div><br />
<h3>Wiki - How can you help</h3><br />
* Finish documentation for [[:Category:Incomplete|Incomplete functions]].<br />
* [[:Category:Needs_Example |Add examples to functions and events]].<br />
* Review and verify [[:Category:Needs Checking|pages that need checking]].<br />
* Write tutorials to help new people.<br />
* Translate wiki pages.<br />
</div><br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Internet-group-chat.png|link=]]</div><br />
<h3>Community</h3><br />
* [http://forum.multitheftauto.com/ Forum]<br />
* IRC: [irc://irc.multitheftauto.com/mta irc.multitheftauto.com #mta]<br />
* [http://community.mtasa.com/ MTA Community] - Share and download resources.<br />
* [http://twitter.com/#!/MTAQA/ Twitter] - [http://www.youtube.com/user/MTAQA Youtube] - [http://plus.google.com/102014133442331779727/ Google+] - [http://www.moddb.com/mods/multi-theft-auto-san-andreas ModDB]<br />
</div><br />
<br />
| width="50%" style="vertical-align:top;" |<br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:Accessories-text-editor.png|link=]]</div><br />
<h3>Scripting</h3><br />
* [[Scripting Introduction|Introduction to Scripting]]<br />
* [[Introduction to Scripting the GUI]]<br />
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts<br />
* [[Resources|Introduction to Resources]]<br />
** [[Resource Web Access]] - How you can write websites with resources<br />
** [[:Category:Resource|Resource Catalogue]]<br />
** [[Meta.xml]] - Behind every resource is a meta file that defines it<br />
** [[ACL]] - Access Control List, this is vital for complex scripts to work<br />
* [[Writing_Gamemodes|Writing Gamemodes]]<br />
* [[Useful_Functions|Useful functions]]<br />
Forum Links<br />
* [http://forum.mtasa.com/viewforum.php?f=91 Scripting Forum]<br />
* [http://forum.mtasa.com/viewforum.php?f=148 Scripting Tutorials Sub-Forum]<br />
* [http://forum.mtasa.com/viewtopic.php?f=13&t=29363 Offline Wiki Copies]<br />
<div style="float:right; width: 32px;">[[File:start-here.png|link=]]</div><br />
<h3>General Lua Help</h3><br />
Pages designed to aid your understanding of Lua<br />
*[http://www.lua.org/pil/index.html "Programming in Lua" Manual]<br />
**[http://www.lua.org/manual/5.1/#index Internal Lua functions reference]<br />
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]<br />
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html A general guide to Lua from Nixstaller]<br />
</div><br />
<br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#F2F2FF;"><br />
<div style="float:right; width: 32px;">[[File:Preferences-system.png|link=]]</div><br />
<h3>Reference</h3><br />
* [[Client Scripting Functions|Client-side Functions]]<br />
* [[Client Scripting Events|Client-side Events]]<br />
* [[Server Scripting Functions|Server-side Functions]]<br />
* [[Server Scripting Events|Server-side Events]]<br />
<!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --><br />
* [[MTA Classes]] - Detailed descriptions of all MTA custom types<br />
** [[Element|MTA Elements]] / [[Element tree]]<br />
</div><br />
<div style="border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;"><br />
<div style="float:right; width: 32px;">[[File:System-file-manager.png|link=]]</div><br />
<h3>[[Id|ID Lists]]</h3><br />
*[[Animations|Animations]]<br />
*[[Character Skins]]<br />
*[[CJ_Clothes|Clothing styles]]<br />
*[[Garage|Garage IDs]]<br />
*[[Interior IDs]]<br />
*[[Material IDs]]<br />
*[[Projectiles]]<br />
*[[Radar Blips]]<br />
*[[Sounds]]<br />
*[[Vehicle IDs]]<br />
*[[Vehicle Colors]]<br />
*[[Vehicle Upgrades]]<br />
*[[Vehicle variants|Vehicle Variants]]<br />
*[[Vehicle component manipulation]]<br />
*[[Weapons|Weapons]]<br />
*[[Weather]]<br />
</div><br />
<div style="padding:4px 8px 8px 8px; margin:10px;"><br />
[[File:Osi symbol.png|75px|link=http://opensource.org/|left]]<br />
'''Multi Theft Auto''' is '''Open Source'''. <br />
<br/>This means anyone can contribute to making Multi Theft Auto even better!<br />
</div><br />
|-<br />
| colspan="2" |<br />
|}<br />
{| width="100%" cellspacing="0" cellpadding="0"<br />
| colspan="2" |<br />
<div style="padding-left: 15px; padding-right: 15px;" class="plainlinks"><br />
[[File:MTALogo_8ball.png|left|85px|link=Archive]]<br />
<ul style="list-style: none; width: 200px; float: left;"><br />
<li>'''About [[Multi Theft Auto]]'''</li><br />
<li>[[Archive]]</li><br />
<li>[[Press Coverage]]</li><br />
<li>[http://code.google.com/p/mtasa-blue/people/list Developers]</li><br />
</ul><br />
<ul style="list-style: none; width: 200px; float: left;"><br />
<li>'''Multi Theft Auto 0.5'''</li><br />
<li>[[Archive#Multi_Theft_Auto_0.5|Download]]</li><br />
<li>[[MTA 0.5r2 Known Issues|Known Issues]]</li><br />
</ul><br />
<ul style="list-style: none; width: 200px; float: left;"><br />
<li>'''Wiki Stats'''</li><br />
<li>{{NUMBEROFARTICLES}} Articles</li><br />
<li>{{NUMBEROFPAGES}} Pages</li><br />
<li>{{NUMBEROFUSERS}} Registered Users</li><br />
</ul><br />
</div><br />
|}<br />
<br />
__NOTOC__<br />
__NOEDITSECTION__<br />
{{Languages list|en}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&diff=36546Template:Current Version2013-07-05T17:05:46Z<p>Cazomino05: </p>
<hr />
<div>{{#ifeq:{{{1|}}}|full| 1.3.3 | 3.0133 }}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&diff=36545Template:Current Version2013-07-05T17:04:26Z<p>Cazomino05: </p>
<hr />
<div>{{#ifeq:{{{1|}}}|full| 1.3.2 | 3.0133 }}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientWeaponFire&diff=36544OnClientWeaponFire2013-07-05T14:00:51Z<p>Cazomino05: </p>
<hr />
<div>{{Client event}}<br />
__NOTOC__ <br />
This event will be triggered once a client fires his weapon.<br />
<br />
==Parameters== <br />
<syntaxhighlight lang="lua"><br />
element hitElement, float posX, float posY, float posZ, float normalX, float normalY, float normalZ, int materialType, int lighting, int pieceHit<br />
</syntaxhighlight><br />
*'''hitElement:''' the element that was hit<br />
*'''posX:''' the position it will hit<br />
*'''posY:''' the position it will hit<br />
*'''posZ:''' the position it will hit<br />
*'''normalX:''' the normal it hit ( see processLineOfSight )<br />
*'''normalY:''' the normal it hit ( see processLineOfSight )<br />
*'''normalZ:''' the normal it hit ( see processLineOfSight )<br />
*'''materialType:''' the material type it hit ( see processLineOfSight )<br />
*'''lighting:''' the lighting of the entity it hit ( see processLineOfSight )<br />
*'''pieceHit:''' the piece of the entity it hit ( see processLineOfSight )<br />
<br />
==Source==<br />
The [[event system#Event source|source]] of this event is the weapon that was fired.<br />
<br />
==Cancel Effect==<br />
If this event was [[Event system#Canceling|canceled]], then the weapon will not fire.<br />
<br />
==Example== <br />
This example prevents the player from firing a Deagle.<br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
function noDeagle()<br />
local weaponID = getElementModel(source) <br />
-- Gets the ID of the weapon.<br />
if weaponID == 24 then <br />
-- If the weapon ID is of the Deagle's then cancel the event.<br />
cancelEvent() <br />
end<br />
end<br />
addEventHandler("onClientWeaponFire", getRootElement(), noDeagle)<br />
-- Attach the event 'onClientWeaponFire' to the function.<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Sound_events&diff=36543Template:Sound events2013-07-05T13:59:47Z<p>Cazomino05: </p>
<hr />
<div>* [[onClientSoundChangedMeta]]<br />
* [[onClientSoundFinishedDownload]]<br />
* [[onClientSoundStream]]<br />
* [[onClientSoundBeat]]<br />
{{New items|3.0133|1.3.3|<br />
* [[onClientSoundStarted]]<br />
* [[onClientSoundStopped]]<br />
}}<br />
<noinclude>[[Category:Events templates]]</noinclude></div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientPedHitByWaterCannon&diff=36542OnClientPedHitByWaterCannon2013-07-05T13:58:41Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__<br />
{{Client event}}<br />
This event is fired when a ped is hit by a water cannon. Also note that this event is only triggered for ped nearby the local player's camera. This is due to elements far away being streamed out.<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
ped pedHit<br />
</syntaxhighlight><br />
*'''pedHit:''' the ped which got shot by the water cannon<br />
<br />
==Source==<br />
The source of this event is the vehicle who shot the water cannon.<br />
<br />
==Type==<br />
This event is a pre reaction event meaning it occurs before any game level reaction to the collision which include:<br />
* Peds flying off<br />
* Peds being knocked down<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the Ped will not be knocked down<br />
<br />
==Example==<br />
<section class="client" name="Client" show="true"><br />
This example does nothing<br />
<syntaxhighlight lang="lua"><br />
-- todo<br />
</syntaxhighlight><br />
</section><br />
<br />
==Requirements==<br />
{{Requirements|n/a|1.3.0-9.03931|}}<br />
<br />
==See Also==<br />
===Client ped events===<br />
{{Client_ped_events}}<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientPlayerHitByWaterCannon&diff=36541OnClientPlayerHitByWaterCannon2013-07-05T13:58:11Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__<br />
{{Client event}}<br />
This event is fired when a player is hit by a water cannon. Also note that this event is only triggered for players nearby the local player's camera. This is due to elements far away being streamed out.<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
player playerHit<br />
</syntaxhighlight><br />
*'''playerHit:''' the player which got shot by the water cannon<br />
<br />
==Source==<br />
The source of this event is the vehicle who shot the water cannon.<br />
<br />
==Type==<br />
This event is a pre reaction event meaning it occurs before any game level reaction to the collision which include:<br />
* Players flying off<br />
* Players being knocked down<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the Player will not be knocked down<br />
<br />
==Example==<br />
<section class="client" name="Client" show="true"><br />
This example outputs a message when you are hit by a water cannon<br />
<syntaxhighlight lang="lua"><br />
-- todo<br />
</syntaxhighlight><br />
</section><br />
<br />
==Requirements==<br />
{{Requirements|n/a|1.3.0-9.03931|}}<br />
<br />
==See Also==<br />
===Client player events===<br />
{{Client_player_events}}<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientPlayerHeliKilled&diff=36540OnClientPlayerHeliKilled2013-07-05T13:55:31Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__<br />
{{Client event}}<br />
This event is fired when a player is killed due to the effect of a helicopter blades. Also note that this event is only triggered for players nearby the local player's camera. This is due to elements far away being streamed out.<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
vehicle killer<br />
</syntaxhighlight><br />
*'''killer:''' the vehicle (heli) responsible for causing the death.<br />
<br />
==Source==<br />
The source of this event is the player who was killed<br />
<br />
==Type==<br />
This event is a pre reaction event meaning it occurs before any game level reaction to the collision which include:<br />
* Players flying off<br />
* Players taking damage<br />
* Blood<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the player will not be killed<br />
<br />
==Example==<br />
<section class="client" name="Client" show="true"><br />
This example disables helicopter killing<br />
<syntaxhighlight lang="lua"><br />
function cancelDeath()<br />
cancelEvent()<br />
end<br />
addEventHandler("onClientPlayerHeliKilled", getLocalPlayer(), cancelDeath)<br />
</syntaxhighlight><br />
</section><br />
<br />
==Requirements==<br />
{{Requirements|n/a|1.3.0-9.03893|}}<br />
<br />
==See Also==<br />
===Client player events===<br />
{{Client_player_events}}<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientPedHeliKilled&diff=36539OnClientPedHeliKilled2013-07-05T13:55:01Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__<br />
{{Client event}}<br />
This event is fired when a ped is killed due to the effect of a helicopter blades. Also note that this event is only triggered for peds nearby the local player's camera. This is due to elements far away being streamed out.<br />
==Parameters==<br />
<syntaxhighlight lang="lua"><br />
vehicle killer<br />
</syntaxhighlight><br />
*'''killer:''' the vehicle (heli) responsible for causing the death.<br />
<br />
==Source==<br />
The source of this event is the ped who was killed<br />
<br />
==Type==<br />
This event is a pre reaction event meaning it occurs before any game level reaction to the collision which include:<br />
* Peds flying off<br />
* Peds taking damage<br />
* Blood<br />
<br />
==Cancel effect==<br />
If this event is [[Event system#Canceling|canceled]], the ped will not be killed<br />
<br />
==Example==<br />
<section class="client" name="Client" show="true"><br />
This example disables helicopter killing<br />
<syntaxhighlight lang="lua"><br />
function cancelDeath()<br />
cancelEvent()<br />
end<br />
addEventHandler("onClientPedHeliKilled", root, cancelDeath)<br />
</syntaxhighlight><br />
</section><br />
<br />
==Requirements==<br />
{{Requirements|n/a|1.3.0-9.03893|}}<br />
<br />
==See Also==<br />
===Client ped events===<br />
{{Client_ped_events}}<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=OnClientVehicleCollision&diff=36538OnClientVehicleCollision2013-07-05T13:51:06Z<p>Cazomino05: </p>
<hr />
<div>{{Client event}}<br />
__NOTOC__ <br />
This event is triggered when a vehicle collides with peds/vehicles/objects.<br />
<br />
==Parameters== <br />
'''Note:''' ''theHitElement'' will be nil or false if it's a default SA object and it will trigger twice for vehicles because one vehicle hit another and one got hit by another.<br />
<syntaxhighlight lang="lua"><br />
element theHitElement, float force, int bodypart, float collisionX, float collisionY, float collisionZ, float normalX, float normalY, float normalZ, float hitElementForce, int model<br />
</syntaxhighlight><br />
*'''theHitElement:''' the other entity, or nil if the vehicle collided with the world<br />
*'''force:''' the impact magnitude (Note: this is NOT the damage it is a force value which is then multiplied by the vehicles collision damage multiplier. for an example of this see below) <br />
*'''bodyPart:''' the bodypart that hit the other element<br />
*'''collisionX/Y/Z:''' the position the collision took place<br />
*'''normalX/Y/Z:''' the surface normal of the hit object<br />
*'''hitElementforce:''' 0 for non vehicles or the force of the other vehicle<br />
*'''model:''' model of the hit element (useful to detect building collisions as hitElement will be nil)<br />
<br />
==Type==<br />
This event is a pre reaction event meaning it occurs before any game level reaction to the collision which include:<br />
* Bike knock off effect<br />
* Collision particles<br />
* All types of damage reaction such as broken wings, wind shields, engine damage, broken lights and so on<br />
* Audio of the impact<br />
<br />
==Source==<br />
The source of this event is the vehicle that collided with something.<br />
<br />
==Example== <br />
<syntaxhighlight lang="lua"><br />
addEventHandler("onClientVehicleCollision", root,<br />
function(collider,force, bodyPart, x, y, z, nx, ny, nz)<br />
if ( source == getPedOccupiedVehicle(localPlayer) ) then<br />
-- force does not take into account the collision damage multiplier (this is what makes heavy vehicles take less damage than banshees for instance) so take that into account to get the damage dealt<br />
local fDamageMultiplier = getVehicleHandling(source).collisionDamageMultiplier<br />
-- Create a marker (Scaled down to 1% of the actual damage otherwise we will get huge markers)<br />
local m = createMarker(x, y, z, "corona", force * fDamageMultiplier * 0.01, 0, 9, 231)<br />
-- Destroy the marker in 2 seconds<br />
setTimer(destroyElement, 2000, 1, m)<br />
end<br />
end<br />
)<br />
<br />
</syntaxhighlight><br />
<br />
<syntaxhighlight lang="lua"><br />
-- This code works because onClientVehicleCollision is triggered before any SA reaction to the collision, therefore we can update the knocked off bike status just before the collision and stop the falling off effect happening :)<br />
addEventHandler("onClientVehicleCollision", root,<br />
function ( hit ) <br />
-- firstly did we trigger this event<br />
if ( source == getPedOccupiedVehicle(localPlayer) ) then<br />
-- knock off defaults to false<br />
local knockOff = false <br />
-- if our hit element is nil (we just hit an SA map object)<br />
if ( hit == nil ) then <br />
-- set knockOff to true <br />
knockOff = true <br />
end <br />
<br />
-- update our can be knocked off bike status accordingly<br />
setPedCanBeKnockedOffBike(localPlayer, knockOff) <br />
end<br />
end<br />
)<br />
<br />
</syntaxhighlight><br />
<br />
==See Also==<br />
===Client vehicle events===<br />
{{Client_vehicle_events}}<br />
===Client event functions===<br />
{{Client_event_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Vehicle_component_manipulation&diff=36535Vehicle component manipulation2013-07-04T11:05:03Z<p>Cazomino05: </p>
<hr />
<div>== Vehicle component manipulation ==<br />
With the introduction of vehicle component movement we now have the ability to manipulate parts of the model independently on a per vehicle basis which includes hiding parts, moving parts and rotating parts relative to the vehicle they are currently on.<br />
<br />
== The Abilities ==<br />
Position: You can reposition a component relative to it's chassis or parent<br />
<br />
Rotate: You can rotate the component around it's axis<br />
<br />
Hide/Show: You can hide the component so it no longer shows or shows<br />
<br />
==How it works==<br />
Adding components is very simple if you have any previous modelling experience each model part can have a name this name acts as a unique identifier for the part.<br />
<br />
for ease of use it is possible to add hidden by default components by prefixing this name with a # in the model file though it will not work on anything the game recognizes for instance wheels cannot be hidden by default so it might be best to prefix anything you wish to add.<br />
<br />
like so:<br />
''#''hellokitty<br />
<br />
This can be re-shown any time and the shown flag is persistent across streaming unless you re-hide it after.<br />
<br />
Any components need to be under the chassis dummy at least. <br />
<br />
== Simple things ==<br />
The scripting functions make things like adding wheels very easy it should be fairly easy to add and spin wheels by copying the rotation from others into your wheel each frame and you can hide the originals using the hide function if need be.<br />
<br />
This could be useful for an insane amount of wheels on a tank!<br />
<br />
or just making more than 2 props work on planes<br />
<br />
Generally speaking things that spin are fairly easy to do it's more complex animations that require the hardest work but eventually there should be an animation library on google code when it's finished to help with this.<br />
<br />
== An interesting idea ==<br />
It should be theoretically possible to add different types of doors to one model e.g. gull wings and scissor doors which could work like so:<br />
<br />
Hide the original door<br />
<br />
say the rotation of your normal door is between 0 and 45 degrees so you use that as a base for your movement<br />
<br />
take that rotation and apply it on another axis for a different type of door or split it between axis each frame to get smooth door movement of the new door ( BONUS: it even works with swinging doors! )<br />
<br />
== James bond style ==<br />
Guns, guns and ... rockets? are the order of the day secret panels with hidden rockets? no problem!<br />
<br />
== More advanced ==<br />
There are no limits on the amount of moving, hidden or showing parts and anything hidden will not be rendered so you can add thousands of parts hidden and you should not have to worry about them slowing anything down.<br />
<br />
This means that there is nothing stopping anyone from making a fully transforming transformer robot which changes from a car to a robot but this will require a lot of work on both the modelling and scripting side.<br />
<br />
[[Category:ID Lists]]<br />
[[ru:Vehicle variants]]<br />
[[de:Fahrzeug Varianten]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Changes_in_1.3.3&diff=36530Changes in 1.3.32013-07-03T17:42:45Z<p>Cazomino05: </p>
<hr />
<div>{{Changelogs}}<br />
{{Note|TODO, still not done --[[User:X86dev|X86dev]] 08:11, 3 July 2013 (UTC)}}<br />
== Main Additions / Changes ==<br />
* Anti-cheat updates<br />
* Optimized streamer to work better with complex maps <br />
* Smoothed fonts when scaling chat box <br />
* Added option to scale HUD elements correctly for widescreen<br />
* Added option to disable OS and graphic driver 'tweaks', as they can interfere with MTA<br />
* Better compatibility with NVidia Optimus laptops<br />
* Improved server performance<br />
* Updated our Audio Library to the latest version to improve some of our sound functions specifically beat detection and prevent crashes caused by calling getSoundMetaTags<br />
<br />
=== Client ===<br />
<br />
----<br />
<br />
==== New Functions ====<br />
* [[setVehiclePlateText]]<br />
* [[dxSetAspectRatioAdjustmentEnabled]]<br />
<br />
==== New Events ====<br />
* [[onClientSoundStarted]]<br />
* [[onClientSoundStopped]]<br />
<br />
==== Changes / Bug Fixes ====<br />
* Optimized streamer to work better with complex maps <br />
* Smoothed fonts when scaling chat box <br />
* Added option to scale HUD elements correctly for widescreen<br />
** This might cause your UI elements to scale incorrectly if they are based on the SA HUD positions this can be fixed with [[dxSetAspectRatioAdjustmentEnabled]]<br />
* Added option to disable OS and graphic driver 'tweaks', as they can interfere with MTA<br />
* Better compatibility with NVidia Optimus laptops<br />
* Fixed GUI window remaining when you disconnect while starting local server<br />
* Fixed GUI labels sometimes blocking input<br />
* Fixed a crash on disconnect<br />
<br />
=== Server ===<br />
<br />
----<br />
<br />
==== New Functions ====<br />
* [[setVehiclePlateText]]<br />
* [[getPlayerACInfo]]<br />
<br />
==== New Events ====<br />
* ''None yet''<br />
<br />
==== Changes / Bug Fixes ====<br />
* Fixed incorrect server side vehicle engine state when driver warped in<br />
* Fixed onPlayerQuit event not being triggered on shutdown <br />
* Fixed serverside toggleAllControls()<br />
<!-- source: https://code.google.com/p/mtasa-blue/source/detail?r=5516 --><br />
* Improved server performance<br />
** by caching player weapon range<br />
** by reducing the amount of redundant data sent to the network thread<br />
* Added CSimPedTaskPacket for better hit anim sync<br />
* Fixed an issue with weapon ammo getting out of sync<br />
* Speed up server scripts by optimizing ACL checks<br />
* Added reassuring animation during periods of no input response<br />
* Fixed some desyncs in unoccupied vehicle sync (engine, derailed, in-water state)<br />
* Fixed Get/SetMatrix rotation order for streamed out objects<br />
* Fixed Linux compile issues<br />
<!-- source: http://bugs.multitheftauto.com/changelog_page.php --><br />
* Fixed stability errors (random texture swapping/assertions) after alt+tab<br />
* Fixed crash in ReApplyMoveAnims<br />
* Fixed setElementPosition for players vehicle causes freeze for few seconds<br />
* Fixed getPedTotalAmmo sometimes returns 0 while player is aiming on Slot 8<br />
* Fixed onPlayerDamage has wrong parameters if source on vehicle<br />
* Fixed getVehicleSirens on a sandking (495) crashes the server immediately<br />
<br />
<br />
=== Resources ===<br />
* ['''voice'''] fixed voice icon doesn't disappear for other players after the speaking have been stopped (ccw)<br />
<br />
=== Editor ===<br />
* ''None yet''<br />
<br />
==Extra information==<br />
''More detailed information available on [http://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and Google Code repositories:<br />
:* MTA:SA: from [http://code.google.com/p/mtasa-blue/source/list?num=25&start=4605 r4600] and [http://code.google.com/p/mtasa-blue/source/list above]<br />
:* Resources: from [http://code.google.com/p/mtasa-resources/source/list?num=25&start=883 r875] and [http://code.google.com/p/mtasa-resources/source/list above]<br />
<br />
<br />
[[Category:Changelog]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Changes_in_1.3.3&diff=36529Changes in 1.3.32013-07-03T17:39:47Z<p>Cazomino05: </p>
<hr />
<div>{{Changelogs}}<br />
{{Note|TODO, still not done --[[User:X86dev|X86dev]] 08:11, 3 July 2013 (UTC)}}<br />
== Main Additions / Changes ==<br />
* Anti-cheat updates<br />
* Optimized streamer to work better with complex maps <br />
* Smoothed fonts when scaling chat box <br />
* Added option to scale HUD elements correctly for widescreen<br />
* Added option to disable OS and graphic driver 'tweaks', as they can interfere with MTA<br />
* Better compatibility with NVidia Optimus laptops<br />
* Improved server performance<br />
* Updated our Audio Library to the latest version to improve some of our sound functions specifically beat detection and prevent crashes caused by calling getSoundMetaTags<br />
<br />
=== Client ===<br />
<br />
----<br />
<br />
==== New Functions ====<br />
* [[setVehiclePlateText]]<br />
* [[dxSetAspectRatioAdjustmentEnabled]]<br />
<br />
==== New Events ====<br />
* [[onClientSoundStarted]]<br />
* [[onClientSoundStopped]]<br />
<br />
==== Changes / Bug Fixes ====<br />
* Optimized streamer to work better with complex maps <br />
* Smoothed fonts when scaling chat box <br />
* Added option to scale HUD elements correctly for widescreen<br />
* Added option to disable OS and graphic driver 'tweaks', as they can interfere with MTA<br />
* Better compatibility with NVidia Optimus laptops<br />
* Fixed GUI window remaining when you disconnect while starting local server<br />
* Fixed GUI labels sometimes blocking input<br />
* Fixed a crash on disconnect<br />
<br />
=== Server ===<br />
<br />
----<br />
<br />
==== New Functions ====<br />
* [[setVehiclePlateText]]<br />
* [[getPlayerACInfo]]<br />
<br />
==== New Events ====<br />
* ''None yet''<br />
<br />
==== Changes / Bug Fixes ====<br />
* Fixed incorrect server side vehicle engine state when driver warped in<br />
* Fixed onPlayerQuit event not being triggered on shutdown <br />
* Fixed serverside toggleAllControls()<br />
<!-- source: https://code.google.com/p/mtasa-blue/source/detail?r=5516 --><br />
* Improved server performance<br />
** by caching player weapon range<br />
** by reducing the amount of redundant data sent to the network thread<br />
* Added CSimPedTaskPacket for better hit anim sync<br />
* Fixed an issue with weapon ammo getting out of sync<br />
* Speed up server scripts by optimizing ACL checks<br />
* Added reassuring animation during periods of no input response<br />
* Fixed some desyncs in unoccupied vehicle sync (engine, derailed, in-water state)<br />
* Fixed Get/SetMatrix rotation order for streamed out objects<br />
* Fixed Linux compile issues<br />
<!-- source: http://bugs.multitheftauto.com/changelog_page.php --><br />
* Fixed stability errors (random texture swapping/assertions) after alt+tab<br />
* Fixed crash in ReApplyMoveAnims<br />
* Fixed setElementPosition for players vehicle causes freeze for few seconds<br />
* Fixed getPedTotalAmmo sometimes returns 0 while player is aiming on Slot 8<br />
* Fixed onPlayerDamage has wrong parameters if source on vehicle<br />
* Fixed getVehicleSirens on a sandking (495) crashes the server immediately<br />
<br />
<br />
=== Resources ===<br />
* ['''voice'''] fixed voice icon doesn't disappear for other players after the speaking have been stopped (ccw)<br />
<br />
=== Editor ===<br />
* ''None yet''<br />
<br />
==Extra information==<br />
''More detailed information available on [http://bugs.multitheftauto.com/changelog_page.php Bug tracker Changelog] and Google Code repositories:<br />
:* MTA:SA: from [http://code.google.com/p/mtasa-blue/source/list?num=25&start=4605 r4600] and [http://code.google.com/p/mtasa-blue/source/list above]<br />
:* Resources: from [http://code.google.com/p/mtasa-resources/source/list?num=25&start=883 r875] and [http://code.google.com/p/mtasa-resources/source/list above]<br />
<br />
<br />
[[Category:Changelog]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Talk:SetObjectMass&diff=35871Talk:SetObjectMass2013-05-07T23:28:51Z<p>Cazomino05: </p>
<hr />
<div>The example makes no sense, because you can't change the mass of a static object... :D<br />
<br />
-[[User:MuLTi|Multi]] 17:32 07 May 2013<br />
<br />
<br />
Explosive barrel is explosive.<br />
<br />
--[[User:Cazomino05|Cazomino05]] 23:28, 7 May 2013 (UTC)</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=SetObjectMass&diff=35870SetObjectMass2013-05-07T23:27:11Z<p>Cazomino05: explosive.</p>
<hr />
<div>__NOTOC__<br />
{{client_function}}<br />
{{New feature/item|3.0140|1.3.2|5170|<br />
This function sets the mass of a specified object. Changing the mass leads to a different movement behavior for especially dynamic objects.<br />
}}<br />
<br />
==Syntax==<br />
<syntaxhighlight lang="lua"><br />
bool setObjectMass ( object theObject, float mass )<br />
</syntaxhighlight><br />
<br />
===Required Arguments===<br />
*'''theObject:''' The object whose mass will be set.<br />
*'''mass:''' The new mass.<br />
<br />
===Returns===<br />
Returns ''true'' if the new mass value has been set, ''false'' otherwise.<br />
<br />
==Example==<br />
This script basically creates an object then get's the mass and set's its mass 300 more than it's original mass, then tell the client the old and new mass of the object.<br />
<syntaxhighlight lang="lua">local object = createObject(1225,0,0,3)<br />
local oldMass = getObjectMass(object)<br />
local newMass = oldMass+300.0<br />
setObjectMass(object,newMass)<br />
outputChatBox("Object Old Mass: "..oldMass..", New Mass: "..newMass)</syntaxhighlight><br />
<br />
==See Also==<br />
{{Client_object_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&diff=35868Template:Current Version2013-05-07T17:48:57Z<p>Cazomino05: </p>
<hr />
<div>{{#ifeq:{{{1|}}}|full| 1.3.2 | 3.0132 }}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&diff=35867Template:Current Version2013-05-07T17:46:21Z<p>Cazomino05: </p>
<hr />
<div>{{#ifeq:{{{1|}}}|full| 1.3.2 | 3.0131 }}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=GetSoundFFTData&diff=35357GetSoundFFTData2013-04-13T21:23:38Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{Needs Example}}<br />
{{New feature/item|4.0140|1.3.0|4125|<br />
This function gets the fast fourier transform data for an audio stream which is a table of floats representing the current audio frame.<br />
This allows things like visualisations.<br />
<br />
a fast fourier transform generates a table of all the frequencies of the current audio frame which starts at the bass end of the spectrum to mids to highs in that order<br />
}}<br />
<br />
Should you have any problems there is an example resource located on the resource svn here:<br />
[https://code.google.com/p/mtasa-resources/source/browse/#svn%2Ftrunk%2F%5Bgameplay%5D%2FVisualiser Visualiser]<br />
<br />
just type "startmusic mystreamurl" in your console and it will play on the cinema billboard near A51<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported<br />
*'''iSamples:''' Allowed samples are 128, 256, 512, 1024, 2048, 4096, 8192 and 16384<br />
<br />
===Optional Arguments===<br />
*'''iBands:''' Post processing option allows you to split the samples into the desired amount of bands or bars so if you only need 5 bars this saves a lot of cpu power compared to trying to do it in Lua<br />
<br />
===Returns===<br />
Returns a table of floats representing the current audio frame.<br />
Returns false if the sound is not playing yet or hasn't buffered in the<br />
case of streams.<br />
<br />
==Example== <br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
-- not done yet<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Client_audio_functions}}<br />
[[Category:Needs Example]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=GetSoundFFTData&diff=35356GetSoundFFTData2013-04-13T21:23:14Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{Needs Example}}<br />
{{New feature/item|4.0140|1.3.0|4125|<br />
This function gets the fast fourier transform data for an audio stream which is a table of floats representing the current audio frame.<br />
This allows things like visualisations.<br />
<br />
a fast fourier transform generates a table of all the frequencies of the current audio frame which starts at the bass end of the spectrum to mids to highs in that order<br />
}}<br />
<br />
Should you have any problems there is an example resource located on the resource svn here:<br />
[https://code.google.com/p/mtasa-resources/source/browse/#svn%2Ftrunk%2F%5Bgameplay%5D%2FVisualiser Visualiser]<br />
<br />
just type "startmusic http://streamurl" in your console and it will play on the cinema billboard near A51<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported<br />
*'''iSamples:''' Allowed samples are 128, 256, 512, 1024, 2048, 4096, 8192 and 16384<br />
<br />
===Optional Arguments===<br />
*'''iBands:''' Post processing option allows you to split the samples into the desired amount of bands or bars so if you only need 5 bars this saves a lot of cpu power compared to trying to do it in Lua<br />
<br />
===Returns===<br />
Returns a table of floats representing the current audio frame.<br />
Returns false if the sound is not playing yet or hasn't buffered in the<br />
case of streams.<br />
<br />
==Example== <br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
-- not done yet<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Client_audio_functions}}<br />
[[Category:Needs Example]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=GetSoundFFTData&diff=35355GetSoundFFTData2013-04-13T21:21:56Z<p>Cazomino05: example</p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{Needs Example}}<br />
{{New feature/item|4.0140|1.3.0|4125|<br />
This function gets the fast fourier transform data for an audio stream which is a table of floats representing the current audio frame.<br />
This allows things like visualisations.<br />
<br />
a fast fourier transform generates a table of all the frequencies of the current audio frame which starts at the bass end of the spectrum to mids to highs in that order<br />
}}<br />
<br />
Should you have any problems there is an example resource located on the resource svn here:<br />
https://code.google.com/p/mtasa-resources/source/browse/#svn%2Ftrunk%2F%5Bgameplay%5D%2FVisualiser<br />
<br />
just type "startmusic http://streamurl" in your console and it will play on the cinema billboard near A51<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported<br />
*'''iSamples:''' Allowed samples are 128, 256, 512, 1024, 2048, 4096, 8192 and 16384<br />
<br />
===Optional Arguments===<br />
*'''iBands:''' Post processing option allows you to split the samples into the desired amount of bands or bars so if you only need 5 bars this saves a lot of cpu power compared to trying to do it in Lua<br />
<br />
===Returns===<br />
Returns a table of floats representing the current audio frame.<br />
Returns false if the sound is not playing yet or hasn't buffered in the<br />
case of streams.<br />
<br />
==Example== <br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
-- not done yet<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Client_audio_functions}}<br />
[[Category:Needs Example]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=GetSoundLevelData&diff=35354GetSoundLevelData2013-04-13T21:18:02Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{New feature/item|4.0140|1.3.0|4162|<br />
This function gets the left/right level from a [[sound]] [[element]].<br />
}}<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua">int, int getSoundLevelData ( element theSound )</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''theSound''' The [[sound]] [[element]] which level data you want to return.<br />
<br />
===Returns===<br />
Returns a 2 values with Left, Right level data from sound, ''false'' otherwise.<br />
<br />
==Example==<br />
TODO<br />
<syntaxhighlight lang="lua"><br />
--TODO<br />
</syntaxhighlight><br />
<br />
==Requirements==<br />
{{Requirements|n/a|1.3.0-9.04162|}}<br />
<br />
==See Also==<br />
{{Client_audio_functions}}<br />
[[Category:Needs Example]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=GetSoundFFTData&diff=35353GetSoundFFTData2013-04-13T21:15:56Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{Needs Example}}<br />
{{New feature/item|4.0140|1.3.0|4125|<br />
This function gets the fast fourier transform data for an audio stream which is a table of floats representing the current audio frame.<br />
This allows things like visualisations.<br />
<br />
a fast fourier transform generates a table of all the frequencies of the current audio frame which starts at the bass end of the spectrum to mids to highs in that order<br />
}}<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported<br />
*'''iSamples:''' Allowed samples are 128, 256, 512, 1024, 2048, 4096, 8192 and 16384<br />
<br />
===Optional Arguments===<br />
*'''iBands:''' Post processing option allows you to split the samples into the desired amount of bands or bars so if you only need 5 bars this saves a lot of cpu power compared to trying to do it in Lua<br />
<br />
===Returns===<br />
Returns a table of floats representing the current audio frame.<br />
Returns false if the sound is not playing yet or hasn't buffered in the<br />
case of streams.<br />
<br />
==Example== <br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
-- not done yet<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Client_audio_functions}}<br />
[[Category:Needs Example]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=GetSoundWaveData&diff=35352GetSoundWaveData2013-04-13T21:15:06Z<p>Cazomino05: getSoundWaveData</p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{Needs Example}}<br />
{{New feature/item|4.0140|1.3.0|4125|<br />
This function gets the wave form data for an audio stream which is a table of floats representing the current audio frame as a wave.<br />
This allows things like visualisations.<br />
}}<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua">table getSoundWaveData ( element sound, int iSamples )</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported<br />
*'''iSamples:''' Allowed samples are 128, 256, 512, 1024, 2048, 4096, 8192 and 16384 and determine how many samples to return from the currently playing audio<br />
<br />
===Returns===<br />
Returns a table of floats representing the current audio frame waveform.<br />
Returns false if the sound is not playing yet or hasn't buffered in the<br />
case of streams.<br />
<br />
==Example== <br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
-- not done yet<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Client_audio_functions}}<br />
[[Category:Needs Example]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=GetSoundFFTData&diff=35351GetSoundFFTData2013-04-13T21:06:28Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<br />
{{Needs Example}}<br />
{{New feature/item|4.0140|1.3.0|4125|<br />
This function gets the fast fourier transform data for an audio stream which is a table of floats representing the current audio frame.<br />
This allows things like visualisations.<br />
<br />
a fast fourier transform generates a table of all the frequencies of the current audio frame which starts at the bass end of the spectrum to mids to highs in that order<br />
}}<br />
<br />
==Syntax== <br />
<syntaxhighlight lang="lua">table getSoundFFTData ( element sound, int iSamples [, int iBands = 0 ] )</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
*'''sound:''' A sound element that is created using [[playSound]] or [[playSound3D]]. Streams are also supported<br />
*'''iSamples:''' Allowed samples are 128, 256, 512, 1024, 2048, 4096, 8192 and 16384<br />
<br />
===Optional Arguments===<br />
*'''iBands:''' Post processing option<br />
<br />
===Returns===<br />
Returns a table of floats representing the current audio frame.<br />
Returns false if the sound is not playing yet or hasn't buffered in the<br />
case of streams.<br />
<br />
==Example== <br />
<section name="Client" class="client" show="true"><br />
<syntaxhighlight lang="lua"><br />
-- not done yet<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
{{Client_audio_functions}}<br />
[[Category:Needs Example]]</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=EngineRestoreCOL&diff=35337EngineRestoreCOL2013-04-12T12:08:27Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<!-- Change this to "Client function" or "Server function" appropriately--><br />
<!-- Describe in plain english what this function does. Don't go into details, just give an overview --><br />
This function restores the original collision model of the given model ID. Reverses the effect of [[engineReplaceCOL]].<br />
<br />
==Syntax== <br />
<!-- NOTE: don't use 'special' names for variable names, e.g. you shouldn't be writing things like 'player player, vehicle vehicle', instead write something like 'player thePlayer, vehicle vehicleToGetInto'. This is less confusing and prevents the syntax highlighting being odd --><br />
<syntaxhighlight lang="lua"><br />
bool engineRestoreCOL ( int modelID )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
<!-- List each argument one per line. This should be the argument's name as in the argument list above, NOT the argument's data type --><br />
*'''modelID:''' The ID of the model to restore the model of<br />
<br />
===Returns===<br />
<!-- Make this descriptive. Explain what cases will return false. If you're unsure, add a tag to it so we can check --><br />
Returns ''true'' if this function succeeds, ''false'' or ''nil'' if it fails for some reason.<br />
<br />
==Example== <br />
<section name="Client" class="client" show="true"><br />
Client-Side example for restoring object collision with default one.<br />
<syntaxhighlight lang="lua"><br />
function RestoreCollision ( )<br />
engineRestoreCOL ( 3356 )<br />
end<br />
<br />
addEvent ( "collisionRestore", true )<br />
addEventHandler ( "collisionRestore", getRootElement(), RestoreCollision )<br />
</syntaxhighlight><br />
</section><br />
<br />
<br />
<section name="Server" class="server" show="true"><br />
Server-side example function for triggering the restore.<br />
<syntaxhighlight lang="lua"><br />
function RestoreCols ( )<br />
triggerClientEvent ( "collisionRestore", getRootElement(), collisionRestore )<br />
end<br />
addCommandHandler("restorecol", RestoreCols)<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc --><br />
{{Engine_functions}}</div>Cazomino05https://wiki.multitheftauto.com/index.php?title=EngineRestoreModel&diff=35336EngineRestoreModel2013-04-12T12:08:15Z<p>Cazomino05: </p>
<hr />
<div>__NOTOC__ <br />
{{Client function}}<!-- Change this to "Client function" or "Server function" appropriately--><br />
<!-- Describe in plain english what this function does. Don't go into details, just give an overview --><br />
This function restores the visual DFF and TXD model of the given model ID. This restores the result of [[engineReplaceModel]].<br />
<br />
==Syntax== <br />
<!-- NOTE: don't use 'special' names for variable names, e.g. you shouldn't be writing things like 'player player, vehicle vehicle', instead write something like 'player thePlayer, vehicle vehicleToGetInto'. This is less confusing and prevents the syntax highlighting being odd --><br />
<syntaxhighlight lang="lua"><br />
bool engineRestoreModel ( int modelID )<br />
</syntaxhighlight> <br />
<br />
===Required Arguments=== <br />
<!-- List each argument one per line. This should be the argument's name as in the argument list above, NOT the argument's data type --><br />
*'''modelID:''' The model ID to restore the visuals of<br />
<br />
===Returns===<br />
<!-- Make this descriptive. Explain what cases will return false. If you're unsure, add a tag to it so we can check --><br />
Returns ''true'' if the model was successfully restored, ''false'' or ''nil'' if it failed for some reason.<br />
<br />
==Example== <br />
<!-- Explain what the example is in a single sentance --><br />
<!-- Add the code below, an emphasis should be on making it clear, not optimized. You could provide two versions if you wish, one clear and well commented, the other optimized --><br />
<section name="Client" class="client" show="true"><br />
Client-Side example for restoring model / vehicle.<br />
<syntaxhighlight lang="lua"><br />
function ResetModel ( )<br />
engineRestoreModel ( 587 ) -- Object / Vehicle to restore to default GTA one.<br />
end<br />
<br />
addEvent ( "restoreClientModel", true )<br />
addEventHandler ( "restoreClientModel", getRootElement(), ResetModel )<br />
</syntaxhighlight><br />
</section><br />
<br />
<br />
<section name="Server" class="server" show="true"><br />
Server-Side example for triggering model / vehicle restore function with "restore" command.<br />
<syntaxhighlight lang="lua"><br />
function RestoreModel ( )<br />
triggerClientEvent ( "restoreClientModel", getRootElement(), restoreClientModel )<br />
end<br />
addCommandHandler( "restore", RestoreModel )<br />
</syntaxhighlight><br />
</section><br />
<br />
==See Also==<br />
<!-- Change FunctionArea to the area that this function is in on the main function list page, e.g. Server, Player, Vehicle etc --><br />
{{Engine_functions}}</div>Cazomino05