<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Talidan</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Talidan"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Talidan"/>
	<updated>2026-04-25T06:03:45Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49966</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49966"/>
		<updated>2016-12-25T23:13:31Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$.ajaxSetup({&lt;br /&gt;
  cache: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
    $.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
		$.getScript( &amp;quot;https://cdn.rawgit.com/darkdreamingdan/MTA-prettify/master/mtahighlight.min.js&amp;quot; ).done(function() {&lt;br /&gt;
			$('&amp;lt;link/&amp;gt;', {&lt;br /&gt;
					rel: 'stylesheet',&lt;br /&gt;
					type: 'text/css',&lt;br /&gt;
					href: 'https://cdn.rawgit.com/darkdreamingdan/MTA-prettify/master/mtahighlight.min.css'&lt;br /&gt;
				}).appendTo('head');&lt;br /&gt;
			$(document).ready(applyMTAMarkup);&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49964</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49964"/>
		<updated>2016-12-25T23:09:46Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$.ajaxSetup({&lt;br /&gt;
  cache: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
    $.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
		$.getScript( &amp;quot;https://cdn.rawgit.com/darkdreamingdan/MTA-prettify/master/mtahighlight.min.js&amp;quot; ).done(function() {&lt;br /&gt;
			$('&amp;lt;link/&amp;gt;', {&lt;br /&gt;
					rel: 'stylesheet',&lt;br /&gt;
					type: 'text/css',&lt;br /&gt;
					href: 'https://cdn.rawgit.com/darkdreamingdan/MTA-prettify/master/mtahighlight.min.css'&lt;br /&gt;
				}).appendTo('head');&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49963</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49963"/>
		<updated>2016-12-25T23:09:13Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$.ajaxSetup({&lt;br /&gt;
  cache: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
    $.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
		$.getScript( &amp;quot;/extensions/_MTAThemeExtensions/mtahighlight.js&amp;quot; ).done(function() {&lt;br /&gt;
			$('&amp;lt;link/&amp;gt;', {&lt;br /&gt;
					rel: 'stylesheet',&lt;br /&gt;
					type: 'text/css',&lt;br /&gt;
					href: '//cdn.rawgit.com/darkdreamingdan/MTA-prettify/master/mtahighlight.min.css'&lt;br /&gt;
				}).appendTo('head');&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User_talk:CrosRoad95&amp;diff=49516</id>
		<title>User talk:CrosRoad95</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User_talk:CrosRoad95&amp;diff=49516"/>
		<updated>2016-10-13T22:30:55Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Created page with &amp;quot;func&amp;quot;test&amp;quot; is a syntatic sugar for func(&amp;quot;test&amp;quot;).  Try it in your server: print&amp;quot;test&amp;quot; getElementsByType&amp;quot;player&amp;quot;  It will work fine.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;func&amp;quot;test&amp;quot; is a syntatic sugar for func(&amp;quot;test&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Try it in your server:&lt;br /&gt;
print&amp;quot;test&amp;quot;&lt;br /&gt;
getElementsByType&amp;quot;player&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It will work fine.&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49464</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49464"/>
		<updated>2016-10-09T23:09:37Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$.ajaxSetup({&lt;br /&gt;
  cache: true&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
    $.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
		$.getScript( &amp;quot;/extensions/_MTAThemeExtensions/mtahighlight.js&amp;quot; ).done(function() {&lt;br /&gt;
			&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49463</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49463"/>
		<updated>2016-10-09T23:05:34Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;$.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
    $.getScript( &amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot; ).done(function() {&lt;br /&gt;
		$.getScript( &amp;quot;/extensions/_MTAThemeExtensions/mtahighlight.js&amp;quot; ).done(function() {&lt;br /&gt;
			&lt;br /&gt;
		});&lt;br /&gt;
	});&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Access_Control_List&amp;diff=49435</id>
		<title>Access Control List</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Access_Control_List&amp;diff=49435"/>
		<updated>2016-10-08T22:42:58Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MTA includes a complete Access Control List (ACL) that allows you to secure and limit access to the server, its functions and resources in any number of ways.&lt;br /&gt;
&lt;br /&gt;
The key concept of MTA's ACL (and ACLs in general) is that you're giving a specific object a set of rights. In MTA's case objects are one of two things - resources or users. There are numerous ''rights'' available in MTA - these mainly focus on server-side scripting functions. &lt;br /&gt;
&lt;br /&gt;
What this essentially means is that the ACL allows you to choose exactly what functions a resource or user can perform. This can obviously be invaluable - for example preventing all your server's players from being able to ban each other, or preventing your new untested resources from doing the same. &lt;br /&gt;
&lt;br /&gt;
Of course, ''with great power comes great responsibility'' and it is very easily possible to completely break resources - for example, disabling [[spawnPlayer]] for all resources would be a Bad Thing. Of course, there are situations when you might want to do this - if you want to force all your resources to use a spawn manager resource for example, but even this is somewhat draconian.&lt;br /&gt;
&lt;br /&gt;
==Understanding the ACL==&lt;br /&gt;
There are two major components to the ACL: groups and ACL lists. They appear as '''&amp;lt;group name=&amp;quot;&amp;quot;&amp;gt;''' nodes and '''&amp;lt;acl name=&amp;quot;&amp;quot; /&amp;gt;''' nodes. Their purpose is to:&amp;lt;br \&amp;gt;&lt;br /&gt;
'''1.''' Grant users permission to control the server and use resource commands. Examples:''&amp;lt;br \&amp;gt;&lt;br /&gt;
*Allowing only admins to use the giveweapon function of freeroam&lt;br /&gt;
*Allowing all users to start a resource&lt;br /&gt;
'''2.''' Grant resources permission to use script functions and functions of other resources. Examples:&amp;lt;br \&amp;gt;&lt;br /&gt;
*Allowing a resource to use the restartResource function&lt;br /&gt;
*Allowing a resource to use the call function to use exported functions from another script&lt;br /&gt;
&lt;br /&gt;
===Default Groups===&lt;br /&gt;
MTA has provided some default groups with increasing permissions. These groups are:&lt;br /&gt;
*'''Everyone'''&lt;br /&gt;
*'''Moderator'''&lt;br /&gt;
*'''SuperModerator'''&lt;br /&gt;
*'''Admin'''&lt;br /&gt;
*'''Console''' - This controls permissions of people who are using the console through '''&amp;lt;object name=&amp;quot;user.Console&amp;quot; /&amp;gt;'''&lt;br /&gt;
*'''RPC''' - Remote Procedure Call. Specifically grants access to [[callRemote]] only and disables commands of default resources. Check the function for details.&lt;br /&gt;
&amp;lt;br \&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To explain further, I will use the Everyone group as an example. By default it looks like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;    &amp;lt;group name=&amp;quot;Everyone&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;acl name=&amp;quot;Default&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;object name=&amp;quot;user.*&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;object name=&amp;quot;resource.*&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/group&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br \&amp;gt;&lt;br /&gt;
You will first notice the acl name inside the group. It defines what permissions the group has. Users and resources in this group will have the permissions specified on the &amp;quot;Default&amp;quot; acl name list. ''Note: You will notice this group is special, in that it includes every user and resource by using a '''wildcard (*)''' where the user or resource name would be.''&lt;br /&gt;
&lt;br /&gt;
Now, scroll further down the ACL and you will see the '''&amp;lt;acl name=&amp;quot;Default&amp;quot; /&amp;gt;''' listing. Note I have trimmed this list dramatically due to its length.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;    &amp;lt;acl name=&amp;quot;Default&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.start&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.stop&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.stopall&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        ...etc etc...&lt;br /&gt;
        &amp;lt;right name=&amp;quot;function.executeCommandHandler&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;function.restartResource&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        ...etc etc...&lt;br /&gt;
        &amp;lt;right name=&amp;quot;general.adminpanel&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;general.tab_players&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;general.tab_resources&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        ...etc etc...&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.freeze&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.shout&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.spectate&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        ...etc etc...&lt;br /&gt;
    &amp;lt;/acl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br \&amp;gt;&lt;br /&gt;
*'''Function''' entries are MTA scripting functions. For example, if a resource needed to use restartResource and was only in the 'Everyone' group (with the 'Default' list), it would be denied access to restartResource and fail to work correctly.&lt;br /&gt;
*'''Commands''' are created when a resource uses [[addCommandHandler]]. An example would be typing '''/createvehicle [vehicle]''' in the chatbox for the freeroam resource. This controls whether users in the group using this ACL can use the command. ''Note: commands have no effect on resources within the group. Commands are only related to users.''&lt;br /&gt;
**''General is a custom right name group created by the admin resource but it works on the same principles. The script works with them by using [[hasObjectPermissionTo]]''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will notice some groups such as admin have multiple '''&amp;lt;acl name=&amp;quot;&amp;quot; /&amp;gt;''' nodes. An example is the admin group:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;group name=&amp;quot;Admin&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;acl name=&amp;quot;Moderator&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;acl name=&amp;quot;SuperModerator&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;acl name=&amp;quot;Admin&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;acl name=&amp;quot;RPC&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;object name=&amp;quot;resource.admin&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;object name=&amp;quot;resource.webadmin&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;object name=&amp;quot;user.Ransom&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/group&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives all the permissions defined in each '''&amp;lt;acl name=&amp;quot;&amp;quot; /&amp;gt;''' node in order of listing. So for example, the admin group makes sure all the permissions are given to admins by using all the lists. If there are any conflicts, the lowest entry wins. For example, pretend these 2 acls were in a group in the following order:&lt;br /&gt;
&lt;br /&gt;
'''1.''' '''&amp;lt;acl name=&amp;quot;Default&amp;quot;&amp;gt;''' sets &amp;lt;right name=&amp;quot;general.ModifyOtherObjects&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
'''2.''' '''&amp;lt;acl name=&amp;quot;Admin&amp;quot;&amp;gt;''' sets &amp;lt;right name=&amp;quot;general.ModifyOtherObjects&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
'''3.''' For all users and resources in group admin: &amp;lt;right name=&amp;quot;general.ModifyOtherObjects&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resource Groups and ACLs ===&lt;br /&gt;
You will notice there are some other groups that came with MTA. These were defined by resources that came with MTA. If a resource wants to designate specific ACL rights not provided by the default MTA groups, it can create its own ACL name and a group to use it. I will show AMX's entry as an example. AMX is designed to emulate SA-MP scripts and it needs a certain set of permissions that doesn't fit the default groups well. It is shown below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;group name=&amp;quot;AMX&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;acl name=&amp;quot;AMX&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;object name=&amp;quot;resource.amx&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;acl name=&amp;quot;AMX&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;general.ModifyOtherObjects&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;general.adminpanel&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        ...etc etc...&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.kick&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.freeze&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;right name=&amp;quot;command.mute&amp;quot; access=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
        ...etc etc...&lt;br /&gt;
    &amp;lt;/acl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modifying the ACL==&lt;br /&gt;
There are three ways you can modify the ACL - how you do it depends who you are.&lt;br /&gt;
&lt;br /&gt;
===HTTP Interface===&lt;br /&gt;
You can use the [[Resource/webadmin|webadmin]] http interface to modify the ACL in your web browser. This is by far the easiest way to do so. Just make sure the ''webadmin'' resource is started on your server and visit ''&amp;lt;nowiki&amp;gt;http://ServerIP:HttpPort/&amp;lt;/nowiki&amp;gt;''. You can then use the two sections - ACLs and Groups. ACLs allows you to create your Access Control Lists - lists of rights. Groups allow you to group together collections of users and assign ACLs to them. For example, the ACLs section allows you to specify that the Admin ACL has access to the ''start'' console command. You can the go to the Groups section and create an Admin ''group'' that has access to your Admin ''acl''. You can then add users to your Admin ''group''.&lt;br /&gt;
&lt;br /&gt;
===XML file===&lt;br /&gt;
You can modify the ACL.xml file manually. This has a fairly straightforward syntax, but it can get a bit confusing at times. If you do it while the server is running, don't forget to call the scripting function [[aclReload]] (&amp;quot;start runcode&amp;quot;, &amp;quot;run aclReload()&amp;quot;) so the new ACL is loaded, or otherwise stop your server before modifying. This also prevents your changes from being accidentally overwritten by the server.&lt;br /&gt;
&lt;br /&gt;
===Scripting functions===&lt;br /&gt;
You can use a large number of ACL scripting functions to modify the ACL on the fly. Of course, you can (and really should!) limit access to the ACL functions with the ACL. Note that the '''admin resource''' that comes with MTA can be used to manage the ACL from the resources tab. You must be setup as admin to use the admin panel. [http://wiki.multitheftauto.com/wiki/Admin Click here for admin setup instructions].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{ACL functions}}&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[ru:Access Control List]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Error_Codes&amp;diff=49387</id>
		<title>Error Codes</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Error_Codes&amp;diff=49387"/>
		<updated>2016-10-02T15:28:04Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Automatically generated with utils\gen_error_wikitable.exe --&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: auto; text-align: center; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Error Code&lt;br /&gt;
!Associated strings&lt;br /&gt;
!File:LineNumber&lt;br /&gt;
|-&lt;br /&gt;
|'''CC20'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Invalid nick provided&lt;br /&gt;
|Client\core\CConnectManager.cpp:77&lt;br /&gt;
|-&lt;br /&gt;
|'''CC21'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Invalid host provided&lt;br /&gt;
|Client\core\CConnectManager.cpp:104&lt;br /&gt;
|-&lt;br /&gt;
|'''CC22'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Failed to connect&lt;br /&gt;
|Client\core\CConnectManager.cpp:120&lt;br /&gt;
|-&lt;br /&gt;
|'''CC23'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Connection timed out&lt;br /&gt;
&lt;br /&gt;
connect-timed-out&lt;br /&gt;
|Client\core\CConnectManager.cpp:258&lt;br /&gt;
|-&lt;br /&gt;
|'''CC24'''&lt;br /&gt;
|Disconnected: unknown protocol error&lt;br /&gt;
&lt;br /&gt;
encryption key mismatch&lt;br /&gt;
|Client\core\CConnectManager.cpp:272&lt;br /&gt;
|-&lt;br /&gt;
|'''CC25'''&lt;br /&gt;
|Disconnected: disconnected remotely&lt;br /&gt;
|Client\core\CConnectManager.cpp:278&lt;br /&gt;
|-&lt;br /&gt;
|'''CC26'''&lt;br /&gt;
|Disconnected: connection lost remotely&lt;br /&gt;
|Client\core\CConnectManager.cpp:281&lt;br /&gt;
|-&lt;br /&gt;
|'''CC27'''&lt;br /&gt;
|Disconnected: you are banned from this server&lt;br /&gt;
|Client\core\CConnectManager.cpp:284&lt;br /&gt;
|-&lt;br /&gt;
|'''CC28'''&lt;br /&gt;
|Disconnected: disconnected from the server&lt;br /&gt;
|Client\core\CConnectManager.cpp:290&lt;br /&gt;
|-&lt;br /&gt;
|'''CC29'''&lt;br /&gt;
|Disconnected: connection to the server was lost&lt;br /&gt;
|Client\core\CConnectManager.cpp:293&lt;br /&gt;
|-&lt;br /&gt;
|'''CC30'''&lt;br /&gt;
|Disconnected: connection was refused&lt;br /&gt;
|Client\core\CConnectManager.cpp:299&lt;br /&gt;
|-&lt;br /&gt;
|'''CC31'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Mod loading failed&lt;br /&gt;
|Client\core\CConnectManager.cpp:393&lt;br /&gt;
|-&lt;br /&gt;
|'''CC32'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Bad server response (2)&lt;br /&gt;
|Client\core\CConnectManager.cpp:400&lt;br /&gt;
|-&lt;br /&gt;
|'''CC33'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Bad server response (1)&lt;br /&gt;
&lt;br /&gt;
 [%d]&lt;br /&gt;
|Client\core\CConnectManager.cpp:410&lt;br /&gt;
|-&lt;br /&gt;
|'''CC34'''&lt;br /&gt;
|Disconnected: unknown protocol error&lt;br /&gt;
&lt;br /&gt;
old raknet version&lt;br /&gt;
|Client\core\CConnectManager.cpp:275&lt;br /&gt;
|-&lt;br /&gt;
|'''CC40'''&lt;br /&gt;
|%s module is incorrect!&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Client\core\CCore.cpp:829&lt;br /&gt;
|-&lt;br /&gt;
|'''CC41'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Error executing URL&lt;br /&gt;
|Client\core\CCore.cpp:1162&lt;br /&gt;
|-&lt;br /&gt;
|'''CC42'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Command line Mod load failed&lt;br /&gt;
|Client\core\CCore.cpp:1175&lt;br /&gt;
|-&lt;br /&gt;
|'''CC43'''&lt;br /&gt;
|Fatal error&lt;br /&gt;
|Client\core\CCore.cpp:660&lt;br /&gt;
|-&lt;br /&gt;
|'''CC50'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Could not initialize Direct3D9.  Please ensure the DirectX End-User Runtime and latest Windows Service Packs are installed correctly.&lt;br /&gt;
|Client\core\DXHook\CDirect3DHook9.cpp:120&lt;br /&gt;
|-&lt;br /&gt;
|'''CC51'''&lt;br /&gt;
|The skin you selected could not be loaded, and the default skin also could not be loaded, please reinstall MTA.&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Client\core\CGUI.cpp:83&lt;br /&gt;
|-&lt;br /&gt;
|'''CC70'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
No address specified!&lt;br /&gt;
|Client\core\Serverbrowser\CServerBrowser.cpp:1222&lt;br /&gt;
|-&lt;br /&gt;
|'''CC71'''&lt;br /&gt;
|Unknown protocol&lt;br /&gt;
&lt;br /&gt;
Please use the mtasa:// protocol!&lt;br /&gt;
|Client\core\Serverbrowser\CServerBrowser.cpp:1235&lt;br /&gt;
|-&lt;br /&gt;
|'''CC72'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Invalid nickname! Please go to Settings and set a new one!&lt;br /&gt;
|Client\core\Serverbrowser\CServerBrowser.cpp:1244&lt;br /&gt;
|-&lt;br /&gt;
|'''CC73'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Invalid nickname! Please go to Settings and set a new one!&lt;br /&gt;
|Client\core\Serverbrowser\CServerBrowser.cpp:1301&lt;br /&gt;
|-&lt;br /&gt;
|'''CC74'''&lt;br /&gt;
|Information&lt;br /&gt;
&lt;br /&gt;
You have to select a server to connect to.&lt;br /&gt;
|Client\core\Serverbrowser\CServerBrowser.cpp:1323&lt;br /&gt;
|-&lt;br /&gt;
|'''CC75'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
No address specified!&lt;br /&gt;
|Client\core\Serverbrowser\CServerBrowser.cpp:1351&lt;br /&gt;
|-&lt;br /&gt;
|'''CC80'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Please disconnect before changing skin&lt;br /&gt;
|Client\core\Settings\CInterfaceSettingsTab.cpp:531&lt;br /&gt;
|-&lt;br /&gt;
|'''CC81'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Your nickname contains invalid characters!&lt;br /&gt;
|Client\core\Settings\CMultiplayerSettingsTab.cpp:237&lt;br /&gt;
|-&lt;br /&gt;
|'''CC82'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Please disconnect before changing language&lt;br /&gt;
|Client\core\Settings\CInterfaceSettingsTab.cpp:503&lt;br /&gt;
|-&lt;br /&gt;
|'''CC99'''&lt;br /&gt;
|PLEASE WAIT....................&lt;br /&gt;
|Client\core\CGUI.cpp:243&lt;br /&gt;
|-&lt;br /&gt;
|'''CD01'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Invalid nickname! Please go to Settings and set a new one!&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:556&lt;br /&gt;
|-&lt;br /&gt;
|'''CD02'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Not connected; please use Quick Connect or the 'connect' command to connect to a server.&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:630&lt;br /&gt;
|-&lt;br /&gt;
|'''CD03'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Invalid nickname! Please go to Settings and set a new one!&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:655&lt;br /&gt;
|-&lt;br /&gt;
|'''CD04'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
The server is not installed&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:677&lt;br /&gt;
|-&lt;br /&gt;
|'''CD05'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
You were kicked from the game ( %s )&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1004&lt;br /&gt;
|-&lt;br /&gt;
|'''CD06'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Error connecting to server.&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1084&lt;br /&gt;
|-&lt;br /&gt;
|'''CD07'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Connecting to local server timed out. See console for details.&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1094&lt;br /&gt;
|-&lt;br /&gt;
|'''CD08'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Connection timed out&lt;br /&gt;
&lt;br /&gt;
connect-timed-out&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1163&lt;br /&gt;
|-&lt;br /&gt;
|'''CD09'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Connection with the server was lost&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1197&lt;br /&gt;
|-&lt;br /&gt;
|'''CD10'''&lt;br /&gt;
|Disconnected: unknown protocol error&lt;br /&gt;
&lt;br /&gt;
encryption key mismatch&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1208&lt;br /&gt;
|-&lt;br /&gt;
|'''CD11'''&lt;br /&gt;
|Disconnected: disconnected remotely&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1211&lt;br /&gt;
|-&lt;br /&gt;
|'''CD12'''&lt;br /&gt;
|Disconnected: connection lost remotely&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1214&lt;br /&gt;
|-&lt;br /&gt;
|'''CD13'''&lt;br /&gt;
|Disconnected: you are banned from this server&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1217&lt;br /&gt;
|-&lt;br /&gt;
|'''CD14'''&lt;br /&gt;
|Disconnected: the server is currently full&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1220&lt;br /&gt;
|-&lt;br /&gt;
|'''CD15'''&lt;br /&gt;
|Disconnected: disconnected from the server&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1223&lt;br /&gt;
|-&lt;br /&gt;
|'''CD16'''&lt;br /&gt;
|Disconnected: connection to the server was lost&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1226&lt;br /&gt;
|-&lt;br /&gt;
|'''CD17'''&lt;br /&gt;
|Disconnected: invalid password specified&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1229&lt;br /&gt;
|-&lt;br /&gt;
|'''CD18'''&lt;br /&gt;
|Disconnected: connection was refused&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1232&lt;br /&gt;
|-&lt;br /&gt;
|'''CD19'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
MTA Client verification failed!&lt;br /&gt;
|Client\mods\deathmatch\logic\CClientGame.cpp:1249&lt;br /&gt;
|-&lt;br /&gt;
|'''CD20'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
HTTP Error&lt;br /&gt;
|Client\mods\deathmatch\logic\CResourceFileDownloadManager.cpp:138&lt;br /&gt;
|-&lt;br /&gt;
|'''CD30'''&lt;br /&gt;
|Disconnected: Invalid nickname&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:470&lt;br /&gt;
|-&lt;br /&gt;
|'''CD31'''&lt;br /&gt;
|Disconnect from server&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:473&lt;br /&gt;
|-&lt;br /&gt;
|'''CD32'''&lt;br /&gt;
|Disconnected: Serial is banned.\nReason: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:476&lt;br /&gt;
|-&lt;br /&gt;
|'''CD33'''&lt;br /&gt;
|Disconnected: You are banned.\nReason: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:481&lt;br /&gt;
|-&lt;br /&gt;
|'''CD34'''&lt;br /&gt;
|Disconnected: Account is banned.\nReason: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:486&lt;br /&gt;
|-&lt;br /&gt;
|'''CD35'''&lt;br /&gt;
|Disconnected: Version mismatch&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:490&lt;br /&gt;
|-&lt;br /&gt;
|'''CD36'''&lt;br /&gt;
|Disconnected: Join flood. Please wait a minute, then reconnect.&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:493&lt;br /&gt;
|-&lt;br /&gt;
|'''CD37'''&lt;br /&gt;
|Disconnected: Server from different branch.\nInformation: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:496&lt;br /&gt;
|-&lt;br /&gt;
|'''CD38'''&lt;br /&gt;
|Disconnected: Bad version.\nInformation: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:500&lt;br /&gt;
|-&lt;br /&gt;
|'''CD39'''&lt;br /&gt;
|Disconnected: Server is running a newer build.\nInformation: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:504&lt;br /&gt;
|-&lt;br /&gt;
|'''CD40'''&lt;br /&gt;
|Disconnected: Server is running an older build.\nInformation: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:508&lt;br /&gt;
|-&lt;br /&gt;
|'''CD41'''&lt;br /&gt;
|Disconnected: Nick already in use&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:512&lt;br /&gt;
|-&lt;br /&gt;
|'''CD42'''&lt;br /&gt;
|Disconnected: Player Element Could not be created.&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:515&lt;br /&gt;
|-&lt;br /&gt;
|'''CD43'''&lt;br /&gt;
|Disconnected: Server refused the connection: %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:518&lt;br /&gt;
|-&lt;br /&gt;
|'''CD44'''&lt;br /&gt;
|Disconnected: Serial verification failed&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:522&lt;br /&gt;
|-&lt;br /&gt;
|'''CD45'''&lt;br /&gt;
|Disconnected: Connection desync %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:525&lt;br /&gt;
|-&lt;br /&gt;
|'''CD46'''&lt;br /&gt;
|Disconnected: You were kicked by %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:533&lt;br /&gt;
|-&lt;br /&gt;
|'''CD47'''&lt;br /&gt;
|Disconnected: You were banned by %s&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:537&lt;br /&gt;
|-&lt;br /&gt;
|'''CD48'''&lt;br /&gt;
|%s&lt;br /&gt;
&lt;br /&gt;
Custom disconnect reason&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:542&lt;br /&gt;
|-&lt;br /&gt;
|'''CD49'''&lt;br /&gt;
|Disconnected: Server shutdown or restarting&lt;br /&gt;
|Client\mods\deathmatch\logic\CPacketHandler.cpp:546&lt;br /&gt;
|-&lt;br /&gt;
|'''CD60'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Could not start the local server. See console for details.&lt;br /&gt;
|Client\mods\deathmatch\logic\CServer.cpp:193&lt;br /&gt;
|-&lt;br /&gt;
|'''CD61'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
DoDisconnectRemote&lt;br /&gt;
|Shared\mods\deathmatch\logic\CLatentTransferManager.cpp:374&lt;br /&gt;
|-&lt;br /&gt;
|'''CD62'''&lt;br /&gt;
|Fatal error&lt;br /&gt;
|Client\mods\deathmatch\logic\Utils.cpp:149&lt;br /&gt;
|-&lt;br /&gt;
|'''CD63'''&lt;br /&gt;
|Connection error&lt;br /&gt;
&lt;br /&gt;
Protocol error&lt;br /&gt;
|Client\mods\deathmatch\logic\Utils.cpp:166&lt;br /&gt;
|-&lt;br /&gt;
|'''CD64'''&lt;br /&gt;
|This version has expired.&lt;br /&gt;
&lt;br /&gt;
MTA: San Andreas &lt;br /&gt;
|Client\mods\deathmatch\CClient.cpp:41&lt;br /&gt;
|-&lt;br /&gt;
|'''CL01'''&lt;br /&gt;
|MTA:SA could not complete the following task:\n\n  '%s'\n&lt;br /&gt;
&lt;br /&gt;
Multi Theft Auto: San Andreas&lt;br /&gt;
|Client\loader\CInstallManager.cpp:350&lt;br /&gt;
|-&lt;br /&gt;
|'''CL02'''&lt;br /&gt;
|Could not update due to file conflicts. Please close other applications and retry&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Client\loader\CInstallManager.cpp:533&lt;br /&gt;
|-&lt;br /&gt;
|'''CL03'''&lt;br /&gt;
|Multi Theft Auto has not been installed properly, please reinstall. %s&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Client\loader\CInstallManager.cpp:542&lt;br /&gt;
|-&lt;br /&gt;
|'''CL04'''&lt;br /&gt;
|Error&lt;br /&gt;
&lt;br /&gt;
Trouble restarting MTA:SA&lt;br /&gt;
|Client\loader\MainFunctions.cpp:227&lt;br /&gt;
|-&lt;br /&gt;
|'''CL05'''&lt;br /&gt;
|Another instance of MTA is already running.\n\nIf this problem persists, please restart your computer&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Client\loader\MainFunctions.cpp:240&lt;br /&gt;
|-&lt;br /&gt;
|'''CL06'''&lt;br /&gt;
|Another instance of MTA is already running.\n\nDo you want to terminate it?&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Client\loader\MainFunctions.cpp:243&lt;br /&gt;
|-&lt;br /&gt;
|'''CL07'''&lt;br /&gt;
|Are you having problems running MTA:SA?.\n\nDo you want to revert to an earlier version?&lt;br /&gt;
&lt;br /&gt;
MTA: San Andreas&lt;br /&gt;
|Client\loader\MainFunctions.cpp:267&lt;br /&gt;
|-&lt;br /&gt;
|'''CL08'''&lt;br /&gt;
|There seems to be a problem launching MTA:SA.\nResetting GTA settings can sometimes fix this problem.\n\nDo you want to reset GTA settings now?&lt;br /&gt;
&lt;br /&gt;
MTA: San Andreas&lt;br /&gt;
|Client\loader\MainFunctions.cpp:295&lt;br /&gt;
|-&lt;br /&gt;
|'''CL09'''&lt;br /&gt;
|File could not be deleted: '%s'&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Client\loader\MainFunctions.cpp:309&lt;br /&gt;
|-&lt;br /&gt;
|'''CL10'''&lt;br /&gt;
|An instance of GTA: San Andreas is already running. It needs to be terminated before MTA:SA can be started. Do you want to do that now?&lt;br /&gt;
&lt;br /&gt;
Information&lt;br /&gt;
|Client\loader\MainFunctions.cpp:552&lt;br /&gt;
|-&lt;br /&gt;
|'''CL11'''&lt;br /&gt;
|Unable to terminate GTA: San Andreas. If the problem persists, please restart your computer.&lt;br /&gt;
&lt;br /&gt;
Information&lt;br /&gt;
|Client\loader\MainFunctions.cpp:557&lt;br /&gt;
|-&lt;br /&gt;
|'''CL12'''&lt;br /&gt;
|Registry entries are missing. Please reinstall Multi Theft Auto: San Andreas.&lt;br /&gt;
&lt;br /&gt;
reg-entries-missing&lt;br /&gt;
|Client\loader\MainFunctions.cpp:579&lt;br /&gt;
|-&lt;br /&gt;
|'''CL13'''&lt;br /&gt;
|The path to your installation of GTA: San Andreas contains unsupported (unicode) characters. Please move your Grand Theft Auto: San Andreas installation to a compatible path that contains only standard ASCII characters and reinstall Multi Theft Auto: San Andreas.&lt;br /&gt;
|Client\loader\MainFunctions.cpp:583&lt;br /&gt;
|-&lt;br /&gt;
|'''CL14'''&lt;br /&gt;
|It appears you have a Steam version of GTA:SA, which is currently incompatible with MTASA.  You are now being redirected to a page where you can find information to resolve this issue.&lt;br /&gt;
|Client\loader\MainFunctions.cpp:587&lt;br /&gt;
|-&lt;br /&gt;
|'''CL15'''&lt;br /&gt;
| move your installation(s) to a path that does not contain a semicolon.&lt;br /&gt;
&lt;br /&gt;
path-semicolon&lt;br /&gt;
|Client\loader\MainFunctions.cpp:603&lt;br /&gt;
|-&lt;br /&gt;
|'''CL16'''&lt;br /&gt;
|Load failed. Please ensure that the latest data files have been installed correctly.&lt;br /&gt;
&lt;br /&gt;
mta-datafiles-missing&lt;br /&gt;
|Client\loader\MainFunctions.cpp:741&lt;br /&gt;
|-&lt;br /&gt;
|'''CL17'''&lt;br /&gt;
|Load failed. Please ensure that the latest data files have been installed correctly.&lt;br /&gt;
&lt;br /&gt;
mta-datafiles-missing&lt;br /&gt;
|Client\loader\MainFunctions.cpp:748&lt;br /&gt;
|-&lt;br /&gt;
|'''CL18'''&lt;br /&gt;
|Load failed. Please ensure that %s is installed correctly.&lt;br /&gt;
&lt;br /&gt;
client-missing&lt;br /&gt;
|Client\loader\MainFunctions.cpp:755&lt;br /&gt;
|-&lt;br /&gt;
|'''CL20'''&lt;br /&gt;
|Load failed. Could not find gta_sa.exe in %s.&lt;br /&gt;
&lt;br /&gt;
gta_sa-missing&lt;br /&gt;
|Client\loader\MainFunctions.cpp:762&lt;br /&gt;
|-&lt;br /&gt;
|'''CL21'''&lt;br /&gt;
|Load failed. %s exists in the GTA directory. Please delete before continuing.&lt;br /&gt;
&lt;br /&gt;
file-clash&lt;br /&gt;
|Client\loader\MainFunctions.cpp:772&lt;br /&gt;
|-&lt;br /&gt;
|'''CL22'''&lt;br /&gt;
|contact MTA at www.multitheftauto.com. \n\n[%s]&lt;br /&gt;
&lt;br /&gt;
createprocess-fail&amp;amp;err=&lt;br /&gt;
&lt;br /&gt;
Could not start GTA:SA&lt;br /&gt;
|Client\loader\MainFunctions.cpp:1128&lt;br /&gt;
|-&lt;br /&gt;
|'''CL23'''&lt;br /&gt;
|directory within the MTA root directory.&lt;br /&gt;
&lt;br /&gt;
core-missing&lt;br /&gt;
&lt;br /&gt;
Core.dll missing&lt;br /&gt;
|Client\loader\MainFunctions.cpp:60&lt;br /&gt;
|-&lt;br /&gt;
|'''CL24'''&lt;br /&gt;
|and the latest DirectX is correctly installed.&lt;br /&gt;
&lt;br /&gt;
vc-redist-missing&lt;br /&gt;
&lt;br /&gt;
Core.dll load failed.  Ensure VC++ Redists and DX are installed&lt;br /&gt;
|Client\loader\MainFunctions.cpp:93&lt;br /&gt;
|-&lt;br /&gt;
|'''CL25'''&lt;br /&gt;
|GTA: San Andreas may not have launched correctly. Do you want to terminate it?&lt;br /&gt;
&lt;br /&gt;
Information&lt;br /&gt;
|Client\loader\MainFunctions.cpp:1187&lt;br /&gt;
|-&lt;br /&gt;
|'''CL26'''&lt;br /&gt;
|and the latest DirectX is correctly installed.&lt;br /&gt;
&lt;br /&gt;
vc-redist-missing&lt;br /&gt;
&lt;br /&gt;
Core.dll load failed.  Ensure VC++ Redists and DX are installed&lt;br /&gt;
|Client\loader\MainFunctions.cpp:116&lt;br /&gt;
|-&lt;br /&gt;
|'''CL28'''&lt;br /&gt;
|Remove these .asi files if you experience problems with MTA:SA.&lt;br /&gt;
&lt;br /&gt;
asi-files&lt;br /&gt;
|Client\loader\MainFunctions.cpp:831&lt;br /&gt;
|-&lt;br /&gt;
|'''CL29'''&lt;br /&gt;
|maybe-virus1&lt;br /&gt;
|Client\loader\MainFunctions.cpp:793&lt;br /&gt;
|-&lt;br /&gt;
|'''CL30'''&lt;br /&gt;
|Data files modified. Possible virus activity.\n\nSee online help if MTA does not work correctly.&lt;br /&gt;
&lt;br /&gt;
maybe-virus2&lt;br /&gt;
|Client\loader\MainFunctions.cpp:819&lt;br /&gt;
|-&lt;br /&gt;
|'''CL31'''&lt;br /&gt;
|gta-fopen-fail&amp;amp;name=%s&lt;br /&gt;
|Client\loader\Utils.cpp:1775&lt;br /&gt;
|-&lt;br /&gt;
|'''CL33'''&lt;br /&gt;
|Error&lt;br /&gt;
|Client\loader\MainFunctions.cpp:781&lt;br /&gt;
|-&lt;br /&gt;
|'''CL34'''&lt;br /&gt;
|gta-model-fail&amp;amp;id=%d&amp;amp;reason=%s&lt;br /&gt;
|Client\loader\Utils.cpp:1826&lt;br /&gt;
|-&lt;br /&gt;
|'''CL35'''&lt;br /&gt;
|gta-upgrade-fail&amp;amp;id=%d&amp;amp;upgid=%d&amp;amp;frame=%d&lt;br /&gt;
|Client\loader\Utils.cpp:1853&lt;br /&gt;
|-&lt;br /&gt;
|'''CL36'''&lt;br /&gt;
|gta-file-missing&amp;amp;name=%s&lt;br /&gt;
|Client\loader\Utils.cpp:1798&lt;br /&gt;
|-&lt;br /&gt;
|'''CL37'''&lt;br /&gt;
|&lt;br /&gt;
|Client\loader\MainFunctions.cpp:421&lt;br /&gt;
|-&lt;br /&gt;
|'''CL38'''&lt;br /&gt;
|module-not-loadable&amp;amp;name=&lt;br /&gt;
|Client\loader\Utils.cpp:1300&lt;br /&gt;
|-&lt;br /&gt;
|'''CL39'''&lt;br /&gt;
|forboden-programs&lt;br /&gt;
|Client\loader\Utils.cpp:2021&lt;br /&gt;
|-&lt;br /&gt;
|'''CL40'''&lt;br /&gt;
|bad-file-version&lt;br /&gt;
|Client\loader\MainFunctions.cpp:897&lt;br /&gt;
|-&lt;br /&gt;
|'''CL41'''&lt;br /&gt;
|missing-file&lt;br /&gt;
|Client\loader\MainFunctions.cpp:906&lt;br /&gt;
|-&lt;br /&gt;
|'''CL42'''&lt;br /&gt;
|safe-mode&lt;br /&gt;
|Client\loader\MainFunctions.cpp:917&lt;br /&gt;
|-&lt;br /&gt;
|'''CL43'''&lt;br /&gt;
|not-used-menu-evolve&lt;br /&gt;
|Client\loader\MainFunctions.cpp:387&lt;br /&gt;
|-&lt;br /&gt;
|'''CL44'''&lt;br /&gt;
|img-file-corrupt&amp;amp;name=%s&lt;br /&gt;
|Client\loader\Utils.cpp:1872&lt;br /&gt;
|-&lt;br /&gt;
|'''U01'''&lt;br /&gt;
|Multi Theft Auto has not been installed properly, please reinstall.&lt;br /&gt;
&lt;br /&gt;
Error&lt;br /&gt;
|Shared\sdk\SharedUtil.Misc.hpp:84&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Iprint&amp;diff=49353</id>
		<title>Iprint</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Iprint&amp;diff=49353"/>
		<updated>2016-10-01T20:47:48Z</updated>

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

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

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

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

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

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

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

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some recent Wiki software change seem to broke the &amp;lt;ref&amp;gt; and &amp;lt;references/&amp;gt; tags used in this page, its translated versions and probably some pages more. Is this an error, or should the editors cirumvent this by using another style features? --[[User:AlexTMjugador|AlexTMjugador]] ([[User talk:AlexTMjugador|talk]]) 14:16, 27 September 2016 (UTC)&lt;br /&gt;
** Should be fixed now, though you'll need to a wait a short while for the cache to refresh.  --[[User:Talidan|Talidan]] ([[User talk:Talidan|talk]]) 15:13, 27 September 2016 (UTC)&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User_talk:Talidan&amp;diff=49320</id>
		<title>User talk:Talidan</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User_talk:Talidan&amp;diff=49320"/>
		<updated>2016-09-26T23:35:40Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int utf8.ncasecmp ( string a, string b )&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=AR/getAccounts&amp;diff=49317</id>
		<title>AR/getAccounts</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=AR/getAccounts&amp;diff=49317"/>
		<updated>2016-09-26T23:02:40Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div dir=&amp;quot;rtl&amp;quot;&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Server function}}&lt;br /&gt;
internal.db هذه الوظيفة تقوم بالرد بجدول يحتوي على جميع الحسابات الموجودة في السيرفر في الملف&lt;br /&gt;
&lt;br /&gt;
 (1.0.4 لم يعد يستخدم في الأصدارات الأحدث من accounts.xml ملاحظة: الملف)&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table getAccounts()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
قد يكون الجدول فارغاً . internal.db يحتوي على جميع الحسابات الموجودة في السيرفر في الملف [[table]] جدول&lt;br /&gt;
&lt;br /&gt;
==مـــثال==&lt;br /&gt;
يستخدم هذا المثال في معرفة عدد الحسابات المسجلة في السيرفر&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function printAmountOfAccounts(thePlayer)&lt;br /&gt;
    local accountTable = getAccounts() -- الجدول الذي يحتوي على الحسابات&lt;br /&gt;
    if #accountTable == 0 then -- إذا كان الجدول فارغاً&lt;br /&gt;
        outputChatBox(&amp;quot;There are no accounts. :(&amp;quot;, thePlayer)&lt;br /&gt;
    else -- إذا كان الجدول غير فارغاً&lt;br /&gt;
        outputChatBox(&amp;quot;There are &amp;quot;..#accountTable..&amp;quot; accounts in this server!&amp;quot;, thePlayer)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;accountcount&amp;quot;, printAmountOfAccounts) -- نظيف امر جديد وهو 'accountcount'&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==انظر ايضاً==&lt;br /&gt;
{{AR Account functions}}&lt;br /&gt;
&lt;br /&gt;
[[ar:addAcount]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetMarkerColor&amp;diff=49316</id>
		<title>GetMarkerColor</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetMarkerColor&amp;diff=49316"/>
		<updated>2016-09-26T23:00:27Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Reverted edits by Algeriany (talk) to last revision by Strix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
This function returns the color and transparency for a marker element. Not all marker types support transparency.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
int, int, int, int getMarkerColor ( marker theMarker )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[Marker]]:getColor||setMarkerColor}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''theMarker''': The [[marker]] that you wish to retrieve the color of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns four [[int]]s corresponding to the amount of ''red'', ''green'', ''blue'' and ''alpha'' (respectively) of the marker, ''false'' if invalid arguments were passed.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside example&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example script fully heals players who hit a white marker, and kills players who hit a red one.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- we define the function that will determine if the player is to be healed or killed&lt;br /&gt;
function healOrKill ( hitMarker, matchingDimension )&lt;br /&gt;
	-- if the marker was in a different dimension, stop here to ignore the event&lt;br /&gt;
	if not matchingDimension then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	-- get the marker's color&lt;br /&gt;
	local R, G, B, A = getMarkerColor( hitMarker )&lt;br /&gt;
	-- if its RGB color is 255,255,255 (white),&lt;br /&gt;
	if R == 255 and G == 255 and B == 255 then&lt;br /&gt;
		-- heal the player&lt;br /&gt;
		setElementHealth( source, 100 )&lt;br /&gt;
	-- if it isn't white, but 255,0,0 (red),&lt;br /&gt;
	elseif R == 255 and G == 0 and B == 0 then&lt;br /&gt;
		-- kill the player&lt;br /&gt;
		killPed( source )&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
-- add our function as a handler to &amp;quot;onPlayerMarkerHit&amp;quot;&lt;br /&gt;
addEventHandler( &amp;quot;onPlayerMarkerHit&amp;quot;, getRootElement(), healOrKill )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Marker functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User_talk:Algeriany&amp;diff=49309</id>
		<title>User talk:Algeriany</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User_talk:Algeriany&amp;diff=49309"/>
		<updated>2016-09-26T22:34:12Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Created page with &amp;quot;PLEASE MAKE YOUR CONTRIBUTIONS ON THE RELEVANT ARABIC PAGES, NOT ON THE ENGLISH PAGES&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PLEASE MAKE YOUR CONTRIBUTIONS ON THE RELEVANT ARABIC PAGES, NOT ON THE ENGLISH PAGES&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnClientMarkerLeave&amp;diff=49308</id>
		<title>OnClientMarkerLeave</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnClientMarkerLeave&amp;diff=49308"/>
		<updated>2016-09-26T22:33:36Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Reverted edits by Algeriany (talk) to last revision by 50p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client event}}&lt;br /&gt;
This event is triggered when a player leaves the area of a marker created using [[createMarker]].&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
player leftPlayer, bool matchingDimension&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''leftPlayer''': The player that left the marker's area&lt;br /&gt;
*'''matchingDimension''': ''true'' if the player is in the same dimension as the marker he left&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The [[event system#Event source|source]] of this event is the [[marker]] that the player left.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example shows a message in the chatbox whenever a player leaves any marker.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function markerLeave ( leavingPlayer, matchingDimension )&lt;br /&gt;
    outputChatBox ( getPlayerName(leavingPlayer) .. &amp;quot; left a marker&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addEventHandler ( &amp;quot;onClientMarkerLeave&amp;quot;, getRootElement(), markerLeave )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Client marker events===&lt;br /&gt;
{{Client marker events}}&lt;br /&gt;
===Client marker functions===&lt;br /&gt;
{{Client_marker_functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnClientPlayerJoin&amp;diff=49307</id>
		<title>OnClientPlayerJoin</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnClientPlayerJoin&amp;diff=49307"/>
		<updated>2016-09-26T22:33:35Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Reverted edits by Algeriany (talk) to last revision by Lopez&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client event}}&lt;br /&gt;
This event is triggered when a [[player]] joins a server. It is triggered for all players except the local player, as the local player joins the server before their client-side resources are started. It would also be possible for two players to join within a few seconds of each other and for the two players' scripts may not receive onClientPlayerJoin events as their scripts wouldn't have started yet.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
''None''&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The [[event system#Event source|source]] of this event is the [[player]] that joined the server.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function remotePlayerJoin()&lt;br /&gt;
	outputChatBox(&amp;quot;* &amp;quot; .. getPlayerName(source) .. &amp;quot; has joined the server&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onClientPlayerJoin&amp;quot;, getRootElement(), remotePlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Client player events===&lt;br /&gt;
{{Client_player_events}}&lt;br /&gt;
===Client event functions===&lt;br /&gt;
{{Client_event_functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=StopSound&amp;diff=49306</id>
		<title>StopSound</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=StopSound&amp;diff=49306"/>
		<updated>2016-09-26T22:33:34Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Reverted edits by Algeriany (talk) to last revision by VenadHD&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
Stops the sound playback for specified [[sound]] [[element]]. The sound element is also destroyed.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool stopSound ( element theSound )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[sound]]:stop}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''theSound:''' the [[sound]] [[element]] you want to stop playing.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the sound was successfully stopped, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function startMySound()&lt;br /&gt;
    sound = playSound( &amp;quot;sound.mp3&amp;quot;, true )&lt;br /&gt;
end&lt;br /&gt;
addEventHandler( &amp;quot;onClientResourceStart&amp;quot;, resourceRoot, startMySound )&lt;br /&gt;
&lt;br /&gt;
function stopMySound()&lt;br /&gt;
    stopSound( sound )&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;stopsound&amp;quot;, stopMySound ) --using the command 'stopsound' will stop the sound&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_audio_functions}}&lt;br /&gt;
[[AR:stopSound]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnClientMarkerHit&amp;diff=49305</id>
		<title>OnClientMarkerHit</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnClientMarkerHit&amp;diff=49305"/>
		<updated>2016-09-26T22:33:33Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Reverted edits by Algeriany (talk) to last revision by 50p&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client event}}&lt;br /&gt;
This event is triggered when a player enters a marker created using [[createMarker]].&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
player hitPlayer, bool matchingDimension&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*'''hitPlayer:''' The player that hit the marker&lt;br /&gt;
*'''matchingDimension:''' ''true'' if the player is in the same dimension as the marker he hit&lt;br /&gt;
&lt;br /&gt;
==Source==&lt;br /&gt;
The [[event system#Event source|source]] of this event is the [[marker]] that got hit by the player.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This code will output a message to the chatbox whenever any player walks into any marker.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function MarkerHit ( hitPlayer, matchingDimension )&lt;br /&gt;
	outputChatBox ( getPlayerName(hitPlayer) .. &amp;quot; entered a marker&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
addEventHandler ( &amp;quot;onClientMarkerHit&amp;quot;, getRootElement(), MarkerHit )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===Client marker events===&lt;br /&gt;
{{Client marker events}}&lt;br /&gt;
===Client marker functions===&lt;br /&gt;
{{Client_marker_functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PlaySound&amp;diff=49304</id>
		<title>PlaySound</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PlaySound&amp;diff=49304"/>
		<updated>2016-09-26T22:33:32Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Reverted edits by Algeriany (talk) to last revision by Qaisjp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
Creates a [[sound]] [[element]] and plays it immediately after creation for the local player.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note:''' The only supported audio formats are MP3, WAV, OGG, RIFF, MOD, XM, IT, S3M and PLS(e.g. Webstream).&lt;br /&gt;
{{Note|For performance reasons, when using playSound for effects that will be played lots (i.e. weapon fire), it is recommend that you convert your audio file to a one channel (mono) WAV with sample rate of 22050 Hz or less. Also consider adding a limit on how often the effect can be played e.g. once every 50ms.}}&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;element playSound ( string soundPath, [ bool looped = false, bool throttled = true ] )&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
{{OOP||[[Sound]]}}&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''soundPath:''' the [[filepath]] or URL of the sound file you want to play. (Sound specified by filepath has to be predefined in the [[meta.xml]] file with &amp;lt;file /&amp;gt; tag.)&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''looped:''' a [[boolean]] representing whether the sound will be looped. To loop the sound, use ''true''. Loop is not available for streaming sounds, only for sound files.&lt;br /&gt;
{{New feature/item|3.0150|1.5||&lt;br /&gt;
*'''throttled:''' a [[boolean]] representing whether the sound will be throttled (i.e. given reduced download bandwidth). To throttle the sound, use ''true''. Sounds will be throttled per default and only for URLs.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a [[sound]] [[element]] if the sound was successfully created, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function wasted (killer, weapon, bodypart) &lt;br /&gt;
	local sound = playSound(&amp;quot;sounds/wasted.mp3&amp;quot;) --Play wasted.mp3 from the sounds folder&lt;br /&gt;
	setSoundVolume(sound, 0.5) -- set the sound volume to 50%&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onClientPlayerWasted&amp;quot;, localPlayer, wasted) --add the event handler&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client_audio_functions}}&lt;br /&gt;
[[AR:playSound]]&lt;br /&gt;
[[DE:playSound]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=OnClientMouseMove&amp;diff=49303</id>
		<title>OnClientMouseMove</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=OnClientMouseMove&amp;diff=49303"/>
		<updated>2016-09-26T22:33:30Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Reverted edits by Algeriany (talk) to last revision by ThePiotrek&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client event}}&lt;br /&gt;
__NOTOC__ &lt;br /&gt;
This event is triggered each time the user moves the mouse on top of a GUI element.&lt;br /&gt;
&lt;br /&gt;
==Parameters== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
int absoluteX, int absoluteY&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
* '''absoluteX''':  the X position of the mouse cursor, in pixels, measured from the left side of the screen.&lt;br /&gt;
* '''absoluteY''':  the Y position of the mouse cursor, in pixels, measured from the top of the screen.&lt;br /&gt;
==Source==&lt;br /&gt;
The [[event system#Event source|source]] of this event is the GUI element on which the mouse was moved.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example creates a text label at the bottom of the screen that tells player the position of mouse when moved on top of a &amp;quot;TEST WINDOW&amp;quot; (the gui element).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onClientResourceStart&amp;quot;, getResourceRootElement( ),&lt;br /&gt;
    function ( )&lt;br /&gt;
        guiCreateWindow( 10, 200, 200, 150, &amp;quot;TEST WINDOW&amp;quot;, false );&lt;br /&gt;
        textLabel = guiCreateLabel( 0, .9, 1, .1, &amp;quot;&amp;quot;, true );&lt;br /&gt;
        guiLabelSetHorizontalAlign( textLabel, &amp;quot;center&amp;quot; );&lt;br /&gt;
    end&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
addEventHandler( &amp;quot;onClientMouseMove&amp;quot;, getRootElement( ),&lt;br /&gt;
    function ( x, y )&lt;br /&gt;
        if source then&lt;br /&gt;
            if not guiGetVisible( textLabel ) then guiSetVisible( textLabel, true ) end&lt;br /&gt;
            guiSetText( textLabel, &amp;quot;X: &amp;quot; .. tostring( x ) .. &amp;quot;;  Y: &amp;quot;.. tostring( y ) )&lt;br /&gt;
        else&lt;br /&gt;
            guiSetVisible( textLabel, false );&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[pl:onClientMouseMove]]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
===GUI events===&lt;br /&gt;
{{GUI_events}}&lt;br /&gt;
===Client event functions===&lt;br /&gt;
{{Client_event_functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:Talidan&amp;diff=49292</id>
		<title>User:Talidan</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:Talidan&amp;diff=49292"/>
		<updated>2016-09-26T13:42:34Z</updated>

		<summary type="html">&lt;p&gt;Talidan: /* Client OOP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MTA Developer}}&lt;br /&gt;
&lt;br /&gt;
=L10n=&lt;br /&gt;
=== To do ===&lt;br /&gt;
* Make Settings window L10n compatible:&lt;br /&gt;
** &amp;lt;s&amp;gt;Multiplayer&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Video&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Audio&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Controls&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;Interface&amp;lt;/s&amp;gt;&lt;br /&gt;
** Advanced&lt;br /&gt;
* &amp;lt;s&amp;gt;Allow L10n to be loaded from Loader, somehow.&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Upgrade pootle&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Fix misc build server issues&amp;lt;/s&amp;gt;&lt;br /&gt;
** &amp;lt;s&amp;gt;nightly.nsi vs nightly_localized.nsi&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Make Transfer box L10n Compatible.  The window size should be adjusted to anticipate the maximum text length of the frame and info label&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== New Lua API ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
onClientMouseEnter [ int absoluteX, int absoluteY, element leftGUI ]  -- New 3rd param&lt;br /&gt;
onClientMouseLeave [ int absoluteX, int absoluteY, element enteredGUI ] -- New 3rd param&lt;br /&gt;
&lt;br /&gt;
x,y = guiStaticImageGetNativeSize ( guiImage ) --Returns the native pixel size of the image file.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Voice=&lt;br /&gt;
Stuff that's planned for voice.  If anyone can do this stuff, please feel free to pick it up and do it if you have time.  This is mostly a reminder for myself incase it never gets done.&lt;br /&gt;
&lt;br /&gt;
===Cleaning up===&lt;br /&gt;
* &amp;lt;s&amp;gt;Fix stop event not firing&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Implement mute functions for the voice resource, via command and a GUI interface&amp;lt;/s&amp;gt;&lt;br /&gt;
* Increase the '100%' value of Voice to something higher.  Voice does not have a loud enough Max volume&lt;br /&gt;
* Provide some automated ability to nicely reduce MTA/GTA volume while voice sound is being played&lt;br /&gt;
* Provide some sort of mic test/diagnostic in the settings menu&lt;br /&gt;
* Provide the ability to switch microphone input device&lt;br /&gt;
&lt;br /&gt;
===The Road to 3D===&lt;br /&gt;
* &amp;lt;s&amp;gt;Convert voice PortAudio streams into Bass streams.  Agent [[User:Cazomino05|Cazomino05]] has already had successful tests for this.&amp;lt;/s&amp;gt;&lt;br /&gt;
* Implement setSound3D or equivalent function&lt;br /&gt;
* Implement serverside sound functions&lt;br /&gt;
* Convert voice streams into sound elements&lt;br /&gt;
&lt;br /&gt;
===Echo cancellation===&lt;br /&gt;
* Provide full echo cancellation support for Vista and 7&lt;br /&gt;
** Setup a loopback recording stream&lt;br /&gt;
** Feed loopback to Speex to cancel out echo from all sound.&lt;br /&gt;
* Provide partial echo cancellation support for XP&lt;br /&gt;
** Find a way to combine multiple voice input streams into a single buffer&lt;br /&gt;
** Feed the combined voice buffer to Speex to cancel out voice echo.&lt;br /&gt;
&lt;br /&gt;
= Stuff for me =&lt;br /&gt;
=== Number of bits to write per state ===&lt;br /&gt;
http://www.wolframalpha.com/input/?i=ceil%28log2%2812%29%29 for 12 states&lt;br /&gt;
&lt;br /&gt;
= Client OOP =&lt;br /&gt;
This section documents MTA OOP functions.  These are just like the standard [[Client Scripting Functions]], but you can execute and access them on the objects themselves.  More on that [[somepage|here]].&lt;br /&gt;
&lt;br /&gt;
== Vehicle ==&lt;br /&gt;
=== Constructor ===&lt;br /&gt;
* [[createVehicle|Vehicle(...)]]&lt;br /&gt;
&lt;br /&gt;
=== Methods ===&lt;br /&gt;
** [[setVehicleDamageProof|:setDamageProof]]&lt;br /&gt;
** [[setElementHealth|:setHealth]]&lt;br /&gt;
** [[setElementFrozen|:setFrozen]]&lt;br /&gt;
** [[setElementVelocity|:setVelocity]]&lt;br /&gt;
&lt;br /&gt;
=== Members ===&lt;br /&gt;
(THESE COULD BE TREES THAT EXPAND INTO 'GETTER AND SETTER' AND LEAD TO APPROPRIATE FUNCTION INSTEAD)&lt;br /&gt;
** .damageProof [ [[isVehicleDamageProof|Getter]] | [[setVehicleDamageProof|Setter]] ]&lt;br /&gt;
** .health [ [[getElementHealth|Getter]] | [[setElementHealth|Setter]] ]&lt;br /&gt;
** .frozen [ [[isElementFrozen|Getter]] | [[setElementFrozen|Setter]] ]&lt;br /&gt;
** .velocity [ [[getElementVelocity|Getter]] | [[setElementVelocity|Setter]] ]&lt;br /&gt;
&lt;br /&gt;
=== Static functions ===&lt;br /&gt;
** [[getVehicleLalaBoo|Vehicle.GetLalaBoo]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49291</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49291"/>
		<updated>2016-09-26T01:10:14Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mw.loader.load(&amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot;);&lt;br /&gt;
mw.loader.load(&amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot;);&lt;br /&gt;
mw.hook( 'resourceloader.loadEnd' ).add( function(){&lt;br /&gt;
    mw.loader.load(&amp;quot;/extensions/_MTAThemeExtensions/mtahighlight.js&amp;quot;);&lt;br /&gt;
});&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49288</id>
		<title>MediaWiki:Common.js</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Common.js&amp;diff=49288"/>
		<updated>2016-09-25T23:47:57Z</updated>

		<summary type="html">&lt;p&gt;Talidan: Created page with &amp;quot;mw.loader.load(&amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot;); mw.loader.load(&amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot;); mw.loader.loa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mw.loader.load(&amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/luafuncs.js&amp;quot;);&lt;br /&gt;
mw.loader.load(&amp;quot;https://forum.mtasa.com/uploads/javascript_syntax/mtafuncs.js&amp;quot;);&lt;br /&gt;
mw.loader.load(&amp;quot;/extensions/_MTAThemeExtensions/mtahighlight.js&amp;quot;);&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Talk:Meta.xml&amp;diff=49286</id>
		<title>Talk:Meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Talk:Meta.xml&amp;diff=49286"/>
		<updated>2016-09-24T17:41:14Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The latest revision breaks the Current Version template usage in min_mta_version tag, which now reads ''&amp;lt;nowiki&amp;gt;&amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&amp;lt;/nowiki&amp;gt;'', instead of the intended ''&amp;lt;min_mta_version client=&amp;quot;1.5.2&amp;quot; server=&amp;quot;1.5.2&amp;quot; /&amp;gt;''. Should we do something about this? --[[User:AlexTMjugador|AlexTMjugador]] ([[User talk:AlexTMjugador|talk]]) 14:37, 24 September 2016 (UTC)&lt;br /&gt;
* Thanks, I've fixed this now.  --[[User:Talidan|Talidan]] ([[User talk:Talidan|talk]]) 17:41, 24 September 2016 (UTC)&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Meta.xml&amp;diff=49285</id>
		<title>RU/Meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Meta.xml&amp;diff=49285"/>
		<updated>2016-09-24T17:40:51Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Файл ''meta.xml'' представляет MTA набор метаданных, таких как название ресурса, включенные в него скрипты и какие файлы предварительно кэшировать для отправки клиенту, это лишь часть. В нем также объявляются &amp;quot;элементы&amp;quot; для дальнейшей работы с ними. Он написан в XML, который базируется на HTML, и является родителем XHTML.&lt;br /&gt;
&lt;br /&gt;
=Тэги=&lt;br /&gt;
XML - текстовый формат данных, широко используемый для представления данных. MTA использует базирующийся на XML язык для описания метаданных ресурсов с использованием тегов ниже:&lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Информация об этом ресурсе, возможные для включения параметры (любые произвольные параметры могут быть использованы и прочитаны с помощью [[getResourceInfo]]):&lt;br /&gt;
** '''author:''' Автор данного ресурса&lt;br /&gt;
** '''version:''' Версия ресурса&lt;br /&gt;
** '''name:''' Название ресурса&lt;br /&gt;
** '''description:''' Краткое описание ресурса&lt;br /&gt;
** '''type:''' Тип ресурса, может быть &amp;quot;gamemode&amp;quot; (игровой режим, мод), &amp;quot;script&amp;quot; (сценарий, скрипт), &amp;quot;map&amp;quot; (карта) или &amp;quot;misc&amp;quot; (разное).&lt;br /&gt;
*'''&amp;lt;script /&amp;gt;''' Исходный код ресурса, возможные параметры:&lt;br /&gt;
** '''src:''' Название файла с исходным кодом (скрипта)&lt;br /&gt;
** '''type:''' Тип исходного кода: &amp;quot;client&amp;quot;, &amp;quot;server&amp;quot; или &amp;quot;shared&amp;quot;&lt;br /&gt;
** '''validate:''' Если установлено значение &amp;quot;false&amp;quot;, то актуальность скрипта проверяться не будет.&lt;br /&gt;
** '''cache:''' Кеширование для клиентского скрипта, если установлено &amp;quot;false&amp;quot;, то скрипт не будет сохраняться на диске клиента.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** '''protected:''' Для клиентских скриптов, должен ли данный скрипт сохраняться на жестком диске клиента или нет: &amp;quot;true&amp;quot; (да) или &amp;quot;false&amp;quot; (нет). Заметка: [http://bugs.mtasa.com/view.php?id=6831 это может работать нестабильно].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*'''&amp;lt;map /&amp;gt;''' Карта для мода, возможные параметры:&lt;br /&gt;
**'''src:''' название .map-файла (может быть в т.ч. и путь, напр. &amp;quot;maps/filename.map&amp;quot;)&lt;br /&gt;
**'''dimension:''' Измерение, в котором карта будет загружена (опционально)&lt;br /&gt;
*'''&amp;lt;file /&amp;gt;''' Клиентский файл. В основном, это картинки, .txd, .col, .dff или .xml файлы. Они будут скачаны клиентами при старте ресурса (или при заходе)&lt;br /&gt;
**'''src:''' название клиентского файла (может быть в т.ч. и путь, напр. &amp;quot;images/image.png&amp;quot;)&lt;br /&gt;
**'''download:''' Должен ли файл быть послан клиенту автоматически или нет (опционально). По умолчанию &amp;quot;true&amp;quot;, использование &amp;quot;no&amp;quot; или &amp;quot;false&amp;quot; будет значить, что файл не будет послан при старте ресурса, но сможет быть задействован позже через [[downloadFile]] (с версии 1.4)&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Включение других ресурсов, которые будет использовать данный ресурс&lt;br /&gt;
**'''resource:''' Название ресурса, который вы хотите чтоб стартовал с данным ресурсом&lt;br /&gt;
**'''minversion:''' Минимальная версия, которая должна быть у '''ресурса''' (опционально)&lt;br /&gt;
**'''maxversion:''' Максимальная версия, которая должна быть у '''ресурса''' (опционально)&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' Конфигурационный файл (.xml), к которому будет иметь доступ ресурс, допустимые параметры:&lt;br /&gt;
**'''src:''' Название конфигурационного файла&lt;br /&gt;
**'''type:''' Тип конфигурационного файла: &amp;quot;client&amp;quot; или &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Это экспортирует функции из данного ресурса, чтобы другие ресурсы могли ими пользоваться через [[call]]&lt;br /&gt;
**'''function:''' Название функции&lt;br /&gt;
**'''type''' Является ли экспортированная функция серверной или клиентской (допустимые значения: &amp;quot;client&amp;quot;, &amp;quot;server&amp;quot; и &amp;quot;shared&amp;quot;)&lt;br /&gt;
**'''http:''' Может ли функция быть вызвана через HTTP (true/false)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' Название HTTP-файла (может быть и путем)&lt;br /&gt;
**'''default:''' Является ли html-файл тем, который будет показан по умолчанию при заходе в /имяРесурса/ на сервере. Только один html может быть по умолчанию, все остальные игнорируются. (true/false)&lt;br /&gt;
**'''raw:''' Html-файл не анализируется Lua-интерпретатором и рассматривается как двоичные данные. Обязательно должно использоваться для двоичных файлов (в основном картинок) (true/false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Большинство модов использует [[settings system]], чтобы позволить администраторам серверов настраивать его по их желанию. Например, вы можете установить время раунда, а затем воспользоваться [[get]] и [[set]] для получения или изменения значений соответственно.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Минимальная требуемая версия для правильной работы данного ресурса. При авторинге ресурсов, обычно минимальная версия должна быть установлена на в данный момент зарелиженную версию MTA:SA (на данный момент это &amp;quot;{{Current Version|full}}&amp;quot;).&lt;br /&gt;
**'''client:''' Минимальная версия клиента&lt;br /&gt;
**'''server:''' Минимальная версия сервера&lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' Лист [[Access_Control_List|ACL]]-прав, которые понадобятся ресурсу.&lt;br /&gt;
{{New items|3.0139|1.3.1 r4141|&lt;br /&gt;
*'''&amp;lt;sync_map_element_data /&amp;gt;''' Контролирует, пересылаются ли [[Element_data|данные элементов]] карты, такие как &amp;quot;PosX&amp;quot; и &amp;quot;DoubleSided&amp;quot; клиенту. Эти данные зачастую не требуются большинству модов или ресурсов. (Но следует отметить значимое исключения - map editor). При установке параметра в meta.xml мода, настройка применится ко всем картам, загруженным данным ресурсом.&lt;br /&gt;
**'''false:''' Отключить пересылку данных элементов карты. Это может значительно уменьшить время закачки карты.&lt;br /&gt;
**'''true:''' Включить пересылку данных элементов карты (по умолчанию).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Пример ==&lt;br /&gt;
Вот и пример meta-файла, использующего некоторые из упомянутых тегов:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;riemann_z_demonstration.lua&amp;quot; type=&amp;quot;client&amp;quot; cache=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; download=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; download=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- длина раунда в минутах --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 для выключения командной защиты, 1 для включения --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  максимум разницы игроков между командами --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- количество патронов --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
[[Category:Понятия скриптинга]]&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=O_arquivo_Meta&amp;diff=49284</id>
		<title>O arquivo Meta</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=O_arquivo_Meta&amp;diff=49284"/>
		<updated>2016-09-24T17:40:46Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O ''meta.xml'' é um arquivo de metadados que define ao MTA os conceitos iniciais de um recurso. Exemplos seriam seu nome, os scripts a serem usados e quais devem ser pré-carregados para serem transferidos ao cliente; junto a outros de sua natureza. Ele também transforma arquivos em elementos, a exemplo de sons, imagens e modelos. É escrito em XML, o qual é baseado em HTML e é pai do XHTML.&lt;br /&gt;
&lt;br /&gt;
''obs'': Metadados são dados sobre outros dados. O termo é estranho, mas o próprio nome já diz. No caso do MTA eles seriam metadados descritivos, pois se referem ao conteúdo do jogo.&lt;br /&gt;
&lt;br /&gt;
=Tags=&lt;br /&gt;
O XML é um formato de texto muito usado para representar dados, inclusive pelo MTA. As tags a seguir são todas as possibilidades: &lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Representa informações sobre o recurso que podem ser usados de forma opcional, e lidos pela função [[getResourceInfo]], caso necessário:&lt;br /&gt;
** '''author:''' O autor do recurso&lt;br /&gt;
** '''version:''' A versão do recurso&lt;br /&gt;
** '''name:'''' O nome do recurso&lt;br /&gt;
** '''description:''' Uma breve descrição do recurso&lt;br /&gt;
** '''type:''' Qual é o tipo do recurso, pode ser um &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot;, ou &amp;quot;misc&amp;quot;.&lt;br /&gt;
* '''&amp;lt;script /&amp;gt;''' O código fonte do recurso, os possíveis parâmetros são:&lt;br /&gt;
** '''src:''' O nome do arquivo do código fonte&lt;br /&gt;
** '''type:''' O tipo de código-fonte: &amp;quot;client&amp;quot;, &amp;quot;server&amp;quot; ou &amp;quot;shared&amp;quot;.&lt;br /&gt;
** '''cache:''' Quando o script é do tipo client, esse atributo diz se o arquivo será salvo ou não no disco rígido dele. O padrão é &amp;quot;true&amp;quot;, se for usado o contrário, será apagado quando o recurso parar.&lt;br /&gt;
** '''validate:''' Se for definido como falso, o MTA não verificará se é compatível&lt;br /&gt;
* '''&amp;lt;map /&amp;gt;''' Define mapa do gamemode, os possíveis atributos são:&lt;br /&gt;
** '''src:''' o nome do arquivo .map (pode também ser o diretório, ex: ''maps/nome-do-mapa.map)&lt;br /&gt;
** '''dimension:''' Dimensão em que o mapa será carregado (opcional)&lt;br /&gt;
* '''&amp;lt;File /&amp;gt;''' Um arquivo do lado do cliente. Geralmente são imagens, .txd, .col, .dff ou arquivos .xml. Eles vão ser baixado pelos clientes quando o recurso é iniciado (ou quando ele entrar no servidor)&lt;br /&gt;
** '''src:''' nome do arquivo do lado do cliente (pode ser outro caminho por exemplo, &amp;quot;images/imagem.png&amp;quot;.)&lt;br /&gt;
** '''download:''' Vai ou não ser enviado para o cliente automaticamente(opcional). O padrão é &amp;quot;true&amp;quot;. Usando &amp;quot;false&amp;quot; significa que eles não são enviados no início de recursos, mas poderia ser usado posteriormente por DownloadFile (a partir da versão 1.4)&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Inclui os recursos necessários a estarem rodando&lt;br /&gt;
**'''resource:''' Nome do recurso que você quer iniciar junto com esse&lt;br /&gt;
**'''minversion:''' A versão mínima desse recurso (opcional)&lt;br /&gt;
**'''maxversion:''' A versão máxima desse recurso (opcional)&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' O arquivo de configuração em XML a ser usado pelo recurso:&lt;br /&gt;
**'''src:''' Seu nome&lt;br /&gt;
**'''type:''' Seu tipo: &amp;quot;client&amp;quot; ou &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Exporta uma função do seu recurso, para que outros possam usa-la com o [[call]]&lt;br /&gt;
**'''function:''' O nome da função&lt;br /&gt;
**'''type:''' Diz se será exportado para o lado do cliente ou servidor (valores válidos são: &amp;quot;server&amp;quot; ou &amp;quot;client&amp;quot;)&lt;br /&gt;
**'''http:''' Indica se ele pode ser chamado via HTTP (&amp;quot;true&amp;quot; ou &amp;quot;false&amp;quot;)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' O nome do arquivo HTTP (pode ser um diretório)&lt;br /&gt;
**'''default:''' Qual arquivo html a ser mostrado por padrão ao acessar o caminho ''/nome-do-recurso/'' no servidor. Somente um html pode ser definido, os outros são ignorados (true/false)&lt;br /&gt;
**'''raw:''' O arquivo html não é interpretado pelo Lua e assim só passa como um dado binário. Deve ser usado para arquivos binários, como imagens principalmente (true/false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Muitos gamemodes usam o [[PT-BR/Sistema_de_Configurações|sistema de configurações]] para habilitar administradores do servidor configurá-los como desejarem. Um exemplo seria definir o tempo de duração da partida e usar o [[get]] e [[set]] para manipular o valor responsável por isso.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Versão mínima do MTA para o recurso rodar sem problemas. Quando estiver terminando um recurso, a versão mínima deve a mesma da versão do MTA:SA que está usando (a qual no momento é {{Current Version|full}}). Veja o exemplo abaixo.&lt;br /&gt;
**'''client:''' A versão mínima do cliente&lt;br /&gt;
**'''server:''' A versão mínima do servidor&lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' Indica uma lista de permissões do [[Access_Control_List|ACL]] a serem usados pelo recurso.&lt;br /&gt;
*'''&amp;lt;sync_map_element_data /&amp;gt;''' Indica se os dados de elemento como &amp;quot;PosX&amp;quot; e &amp;quot;DoubleSided&amp;quot; são tranferidos para o cliente. Esses geralmente não são necessários por muitos gamemodes ou recursos, exceto ''Map Editor'' e ''Interiors''; caso contrário, não funcionarão. Quando definido no recurso, se aplicará a todos os mapas carregados por ele.&lt;br /&gt;
**'''false:''' Desabilita essa transferência para todos os recursos. Isso pode reduzir a demora de download consideravelmente.&lt;br /&gt;
**'''true:''' Habilita essa tranferência. Se esses valores forem definidos de forma distinta entre os recursos, o que estiver configurado como &amp;quot;true&amp;quot; terá prioridade e todos os demais transferirão esse mesmo dado.&lt;br /&gt;
*'''&amp;lt;oop/&amp;gt;''' OOP - Veja mais informações na página: [[OOP]]&lt;br /&gt;
**'''false:''' Desabilita o OOP.&lt;br /&gt;
**'''true:''' Habilita-o&lt;br /&gt;
*'''&amp;lt;download_priority_group/&amp;gt;''' O valor padrão do grupo de prioridade de download do recurso é 0. Se este for definido para um valor maior que 0, então o recurso será baixado e iniciado no cliente antes dos outros recursos. Se defindo para um valor menor que 0, o recurso será baixado e iniciado no cliente depois dos outros recursos.&lt;br /&gt;
&lt;br /&gt;
== Exemplo ==&lt;br /&gt;
Aqui está um exemplo de um arquivo meta usando algumas das tags mencionadas:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;download_priority_group&amp;gt;0&amp;lt;/download_priority_group&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;sync_map_element_data&amp;gt;false&amp;lt;/sync_map_element_data&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot; validate=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;riemann_z_demonstration.lua&amp;quot; type=&amp;quot;client&amp;quot; cache=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;map src=&amp;quot;base.map&amp;quot; dimension=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; download=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; download=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport1&amp;quot; type=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport2&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport3&amp;quot; type=&amp;quot;shared&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- duração da partida em minutos --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 para desligar a proteção de time e 1 para ligar --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  o limite de diferença entre o número de jogadores dos times --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- quantidade de munição --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;isAllowedToShoot&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
[[Category:Conceitos de Scripting]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DE/Meta.xml&amp;diff=49283</id>
		<title>DE/Meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DE/Meta.xml&amp;diff=49283"/>
		<updated>2016-09-24T17:40:43Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die ''meta.xml'' gibt MTA Informationen über die Resource. Beispiele dafür sind Ressourcenname, eingebundene Scripts und Dateien wie Grafiken und ähnliches. Benutzt wird hier die Auszeichnungssprache [http://de.wikipedia.org/wiki/XML XML].&lt;br /&gt;
&lt;br /&gt;
== Tags ==&lt;br /&gt;
Folgende XML-Tags können verwenden werden:&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Information über die Ressource (können via [[getResourceInfo]] eingelesen werden):&lt;br /&gt;
**'''author:''' Der Autor der Ressource&lt;br /&gt;
**'''version:''' Version der Ressource&lt;br /&gt;
**'''name:''' Name der Ressource&lt;br /&gt;
**'''description:''' Kurze Beschreibung der Ressource&lt;br /&gt;
**'''type:''' Typ der Ressource. Möglichkeiten sind: &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot; oder &amp;quot;misc&amp;quot;&lt;br /&gt;
*'''&amp;lt;script /&amp;gt;''' Skriptdateien für diese Ressource, mögliche Attribute sind:&lt;br /&gt;
**'''src:''' Pfad zum Skript&lt;br /&gt;
**'''type:''' Typ: &amp;quot;client&amp;quot; oder &amp;quot;server&amp;quot; &lt;br /&gt;
**'''cache:''' Funktioniert nur bei clientseitigen Scripts. Standardwert ist &amp;quot;true&amp;quot;. Bei &amp;quot;false&amp;quot; wird die Datei nicht auf der Festplatte gespeichert&lt;br /&gt;
**'''validate:''' Wenn &amp;quot;false&amp;quot; wird das Script nicht auf Kompatibilität geprüft.&lt;br /&gt;
*'''&amp;lt;map /&amp;gt;''' Map für den Gamemode. Möglich ist:&lt;br /&gt;
**'''src:''' Pfad zur .map Datei&lt;br /&gt;
**'''dimension:''' Dimension, in der die Map erstellt wird&lt;br /&gt;
*'''&amp;lt;file /&amp;gt;''' Datei: Häufig Bilder, .txd, .col, .dff oder .xml Dateien. Sie werden gedownloadet, sobald ein Spieler den Server betritt.&lt;br /&gt;
**'''src:''' Pfad zur Datei &lt;br /&gt;
**'''download:''' wird in Version 1.4 eingeführt und gibt an, ob eine Datei beim Ressourcenstart heruntergeladen werden soll&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Ressource einbinden, welche diese Ressource benutzen wird&lt;br /&gt;
**'''resource:''' Der Name der Ressource, die inkludiert werden soll&lt;br /&gt;
**'''minversion:''' Minimale Version&lt;br /&gt;
**'''maxversion:''' Maximale Version&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' Konfigurationsdatei (.xml), möglich sind:&lt;br /&gt;
**'''src:''' Dateiname der Konfigurationsdatei&lt;br /&gt;
**'''type:''' Typ der Konfigurationsdatei: &amp;quot;client&amp;quot; oder &amp;quot;server&amp;quot; &lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Export von Funktionen dieser Ressource. Andere Resourcen können dadurch Zugriff erlangen.&lt;br /&gt;
**'''function:''' Funktionsname&lt;br /&gt;
**'''http:''' Kann die Ressource via HTTP geöffnet werden? (true/false)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' Dateiname für die HTML Datei (kann ein Pfad sein)&lt;br /&gt;
**'''default:''' Standard HTMl-Datei, welche durch den Besuch von /resourceName/ geöffnet wird. Nur eine Datei kann als ''default'' markiert werden (true/false)&lt;br /&gt;
**'''raw:''' Gibt an, ob eine Datei nicht vom Lua-Interpreter analysiert und als binäre Datei verwendet werden soll. Dieses Attribut wird vor allem für Bilder benutzt (true/false) &lt;br /&gt;
*'''&amp;lt;settings&amp;gt;''' &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;: Viele Spielmodi benutzen diese Option, um Einstellungen, die leicht geändert werden können, festzulegen&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Minimale MTA Version&lt;br /&gt;
**'''client:''' Minimale Client Version&lt;br /&gt;
**'''server:''' Minimale Server Version &lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' Eine Liste mit [[Access_Control_List|ACL]] Rechten, die die Ressource braucht&lt;br /&gt;
{{New items|3.0139|1.3.1 r4141|&lt;br /&gt;
*'''&amp;lt;sync_map_element_data /&amp;gt;''' Sollen [[Element_data|Element Datas]] wie &amp;quot;PosX&amp;quot; und &amp;quot;DoubleSided&amp;quot; mit dem Client synchronisiert werden? Diese Einstellung ist für die meisten Ressourcen nicht von Bedeutung. (Eine erwähnenswerte Ressource ist der Map Editor). Diese Einstellung bezieht sich auf alle Maps der Ressource.&lt;br /&gt;
**'''false:''' Deaktiviert die Übertragung der Element Datas. Dies kann die Downloadzeit erheblich verkürzen.&lt;br /&gt;
**'''true:''' Aktiviert die Übertragung der Element Datas (Standard)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Beispiel ==&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;sync_map_element_data&amp;gt;false&amp;lt;/sync_map_element_data&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;riemann_z_demonstration.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; download=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; download=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- round length in minutes --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 for team protection off, 1 for team protection on --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  difference limit of amount of players between teams --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- ammo amounts --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;isAllowedToShoot&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:DE/Skripting Konzepte]]&lt;br /&gt;
&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PL/meta.xml&amp;diff=49282</id>
		<title>PL/meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PL/meta.xml&amp;diff=49282"/>
		<updated>2016-09-24T17:40:35Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Plik ''meta.xml'' 'pokazuje' serwerowi MTA co ma włączyć, od skryptu, poprzez ustawienia wymaganej wersji klienta do plików zawartych w skrypcie. To także zakres &amp;quot;elementów&amp;quot;. Jest ona napisana w języku XML, który jest oparty na języku HTML i jest jednostką dominującą XHTML.&lt;br /&gt;
=Tagi=&lt;br /&gt;
XML jest tekstowym formatem danych, który jest stosowany do ich prezentacji. MTA wykorzystuje pliki XML do opisu metadanych dla zasobów przy użyciu tagów poniżej:&lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;'''&lt;br /&gt;
** '''author:''' Autor tego zasobu.&lt;br /&gt;
** '''version:''' Wersja tego zasobu.&lt;br /&gt;
** '''name:''' Nazwa tego zasobu.&lt;br /&gt;
** '''description:''' Krótki opis tego zasobu.&lt;br /&gt;
** '''type:''' Typ tego zasobu, które mogą być w postaci &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot; i &amp;quot;misc&amp;quot;.&lt;br /&gt;
*'''&amp;lt;script /&amp;gt;''' Kod źródłowy dla tego zasobu, możliwe parametry:&lt;br /&gt;
** '''src:''' Nazwa pliku z kodem źródłowym&lt;br /&gt;
** '''type:''' Rodzaj kodu źródłowego: &amp;quot;client&amp;quot; lub &amp;quot;server&amp;quot;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
** '''protected:''' For client-side scripts, whether this script should or not be saved in the clients hard disk: &amp;quot;true&amp;quot; or &amp;quot;false&amp;quot;. NOTE: [http://bugs.mtasa.com/view.php?id=6831 there might be a bug with this].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*'''&amp;lt;map /&amp;gt;''' Mapa do gamemode, możliwe parametry:&lt;br /&gt;
**'''src:''' nazwa pliku .map ( może być ścieżka np.&amp;quot;mapy/nazwapliku.map&amp;quot; )&lt;br /&gt;
**'''dimension:''' Wymiar w którym mapa zostanie załadowana&lt;br /&gt;
*'''&amp;lt;file /&amp;gt;''' Zdjęcia i pliki z rozszerzeniem *.txd, *.dll, *.col lub *.jpg.&lt;br /&gt;
**'''src:''' Po stronie klienta nazwa pliku ( może być też ścieżka np.&amp;quot;zdjęcia/nazwa.jpg&amp;quot; )&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Obejmują środki, które będą używać ten zasób&lt;br /&gt;
**'''resource:''' Nazwa zasobu, który chcesz uruchomić z tego zasobu&lt;br /&gt;
**'''minversion:''' Minimalna wersja&lt;br /&gt;
**'''maxversion:''' Maksymalna wersja&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' Config to po prostu XML, możliwe parametry:&lt;br /&gt;
**'''src:''' Nazwa pliku z pliku konfiguracyjnego&lt;br /&gt;
**'''type:''' Typ pliku konfiguracyjnym: &amp;quot;client&amp;quot; lub &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Te funkcje eksportowane z tego zasobu, do innych zasobów może korzystać z nich [CALL []]&lt;br /&gt;
**'''function:''' Nazwa funkcji&lt;br /&gt;
**'''type''' Czy funkcja jest eksportowana po stronie serwera lub po stronie klienta (ważne są następujące wartości: &amp;quot;server&amp;quot; i &amp;quot;client&amp;quot;)&lt;br /&gt;
**'''http:''' Czy funkcja jest wywoływana za pośrednictwem protokołu HTTP (true / false)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' Nazwa pliku HTTP (może być ścieżka)&lt;br /&gt;
**'''default:''' Plik html jest jeden, który jest domyślnie wyświetlane podczas wizyty/resource Name/on the server. Tylko jeden html może być domyślne, reszta jest ignorowana. (true / false)&lt;br /&gt;
**'''raw:''' Html nie jest przetwarzany przez interpreter LUA i jest traktowany jako dane binarne. Muszą być stosowane dla plików binarnych (zdjęcia głównie) (true / false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Większość gamemodes używać [[System Settings]], aby pozwolić administratorom serwerów skonfigurować go tak, jak im się podoba. Na przykład można ustawić okrągły czas, a następnie użyć [[dostać]] i [[zbiór]], aby uzyskać wartość lub ją zmienić, odpowiednio.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Minimalne wymagania wersji dla tego zasobu do poprawnego działania. Kiedy zasoby autorskie, minimalna wersja powinna zwykle być ustawiony na bieżącej wydanej wersji MTA: SA (który w tej chwili jest &amp;quot;{{Current Version | pełny}}&amp;quot;).&lt;br /&gt;
**'''client:''' Minimalna wersja klienta&lt;br /&gt;
**'''server:''' Minimalna wersja serwera&lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' Lista [[Access_Control_List | ACL]] prawa ten zasób będzie potrzebne.&lt;br /&gt;
&lt;br /&gt;
== Przykład ==&lt;br /&gt;
Oto przykład pliku meta.xml:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info name=&amp;quot;race&amp;quot; author&amp;quot;SEBO&amp;quot; type=&amp;quot;gamemode&amp;quot; version&amp;quot;1.0.0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;riemann_z_demonstration.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;map src=&amp;quot;base.map&amp;quot; dimension=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; download=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; download=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport1&amp;quot; type=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport2&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport3&amp;quot; type=&amp;quot;shared&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- round length in minutes --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 for team protection off, 1 for team protection on --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  difference limit of amount of players between teams --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- ammo amounts --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
[[Category:Translated/Scripting Concepts]]&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FR/Meta.xml&amp;diff=49281</id>
		<title>FR/Meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FR/Meta.xml&amp;diff=49281"/>
		<updated>2016-09-24T17:40:25Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le ficher ''meta.xml'' presents MTA with a set of metadata, such as the resource's name, the scripts to include, and which files to precache for sending to clients among other things. It is also the scope of &amp;quot;elements&amp;quot;. It is written in XML, which is based on HTML and is the parent of XHTML.&lt;br /&gt;
&lt;br /&gt;
Note: Vous pouvez essayer le generateur de Meta.xml crée par 50p: http://forum.mtasa.com/viewtopic.php?f=91&amp;amp;t=22247&lt;br /&gt;
&lt;br /&gt;
=Balises=&lt;br /&gt;
XML est un format de donnée textuel (par balisage) qui est largement utilisé pour la représentation de donnée. MTA utilise un langage basé sur XML pour décrire les métadonnées des ressources en utilisant les balises suivantes:&lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Informations sur la ressource. Quelques paramètres possibles (tous paramètres arbitraire peut être utilsé/lu avec[[getResourceInfo]]):&lt;br /&gt;
** '''author:''' L'auteur de la ressource&lt;br /&gt;
** '''version:''' La version de la ressource&lt;br /&gt;
** '''name:''' Le nom de la ressource&lt;br /&gt;
** '''description:''' Une petite description de la ressource&lt;br /&gt;
** '''type:''' Le type de ressource, ça peut être &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot; ou &amp;quot;misc&amp;quot;.&lt;br /&gt;
*'''&amp;lt;script /&amp;gt;''' Le code source de la ressource, les paramètres possibles sont:&lt;br /&gt;
** '''src:''' Le nom du fichier&lt;br /&gt;
** '''type:''' Le type du code source: &amp;quot;client&amp;quot; ou &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;map /&amp;gt;''' La map pour le gamemode, les paramètres possibles sont:&lt;br /&gt;
**'''src:''' Nom du fichier .map (Peut être distant. &amp;quot;maps/filename.map&amp;quot;)&lt;br /&gt;
*'''&amp;lt;file /&amp;gt;''' Fichier côté client. Principalement des images, .txd, .col, .dff or .xml files. Ces fichiers seront téléchargés par le client lorsque la ressource sera chargée/lancée (ou lors de la connexion)&lt;br /&gt;
**'''src:''' le nom du fichier (peut être un chemin, ex: &amp;quot;images/image.png&amp;quot;)&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Ressource(s) utilisée(s) par votre ressource&lt;br /&gt;
**'''resource:''' Nom d'une ressource qui sera chargée&lt;br /&gt;
**'''minversion:''' Version minimum de cette '''resource''' (optionnel)&lt;br /&gt;
**'''maxversion:''' Version maximum de cette '''resource''' (optionnel)&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' Fichier de configuration (.xml) auquel la ressource peut accéder, les paramètres possibles sont:&lt;br /&gt;
**'''src:''' Nom du fichier de configuration&lt;br /&gt;
**'''type:''' Type de fichier: &amp;quot;client&amp;quot; ou &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Utilisé ceci pour exporter des fonctions, de votre ressource, qui pourront être utilisées par d'autres ressources [[call]]&lt;br /&gt;
**'''function:''' Nom de la fonction&lt;br /&gt;
**'''type''' Si la fonction est côté client ou serveur (valeurs valides: &amp;quot;server&amp;quot; et &amp;quot;client&amp;quot;)&lt;br /&gt;
**'''http:''' Permettre d'appeler la fonction via HTTP (true/false)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' Le nom du fichier HTTP (peut être un chemin)&lt;br /&gt;
**'''default:''' The html file is one that is shown by default when visiting /resourceName/ on the server. Only one html can be default, the rest are ignored. (true/false)&lt;br /&gt;
**'''raw:''' Le fichier html n'est pas analyser par l'intrepreteur LUA et est traité comme une donnée binaire. Doit être utiliser pour les données binaires (images principalement) (truel/false).&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' La plupart des gamemodes utilisent [[settings system]] pour laisser aux administrateurs le choix de la configuration du serveur. Par exemple vous pouvez définir le temps d'une partie et utiliser ensuite [[get]] et [[set]] pour respectivement récupérer ou changer cette valeur.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Version minimum requise pour que cette ressource fonctionne. Pour les ressources officielles, la version minimum doit être généralement définie sur la version courante de MTA:SA (actuellement : &amp;quot;{{Current Version|full}}&amp;quot;). Voir exemple pour démonstration.&lt;br /&gt;
**'''client:''' Version minimum du client&lt;br /&gt;
**'''server:''' Version minimum du serveur&lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' Liste des droits nécessaires à cette ressource, [[FR/ACL|ACL]].&lt;br /&gt;
{{New items|3.0132|1.3.1 r4141|&lt;br /&gt;
*'''&amp;lt;sync_map_element_data /&amp;gt;''' &lt;br /&gt;
Permet de contrôler si les [[FR/Element_data|données d’éléments]] du mapping telle que &amp;quot;PosX&amp;quot; et &amp;quot;DoubleSided&amp;quot; sont transférées au client. Ces données ne sont généralement pas requis pour la plupart des gamemodes ou ressources. (Pour que les intérieurs et Map Editor fonctionne cette donnée ne doit pas être sur ''false''). Quand ceci est configuré dans meta.xml, la modification s'applique à toutes les maps chargées par cette ressource.&lt;br /&gt;
**'''false:''' Désactive le transfert des données d'élements de mapping pour toutes les ressources. Cela peut réduire considérablement le temps de téléchargement des maps.&lt;br /&gt;
**'''true:''' Active le transfert des données d’éléments de mapping. (Si '''false''' et '''true''' sont configurés dans des ressources différentes, ''true'' aura la priorité et les données seront transférés.)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{New items|3.0140|1.4.0 r5313|&lt;br /&gt;
*'''&amp;lt;oop/&amp;gt;''' OOP - Veuillez vous référer à [[Client_Scripting_Classes|client scripting classes]] pour la documentation.&lt;br /&gt;
**'''false:''' Désactive OOP.&lt;br /&gt;
**'''true:''' Active OOP.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Exemple ==&lt;br /&gt;
Un exemple de fichier ''meta'' utilisant quelques unes de ces balises :&lt;br /&gt;
{{#tag:syntaxhighlight |&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- round length in minutes --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 for team protection off, 1 for team protection on --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  difference limit of amount of players between teams --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- ammo amounts --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Translated/Scripting Concepts]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ES/Sobre_el_archivo_%22meta.xml%22&amp;diff=49280</id>
		<title>ES/Sobre el archivo &quot;meta.xml&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ES/Sobre_el_archivo_%22meta.xml%22&amp;diff=49280"/>
		<updated>2016-09-24T17:38:51Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;El archivo ''meta.xml'' presenta un conjunto de datos, como el nombre del resource, los scripts para incluir en el resource, qué archivos enviar a los clientes, entre otras cosas. Es también el ámbito de aplicación de los ''elementos''. Está escrito en XML, que se basa en HTML y es el pariente de XHTML.&lt;br /&gt;
&lt;br /&gt;
==Tags==&lt;br /&gt;
XML es un formato de datos de texto que es ampliamente utilizado para la representación de datos. MTA utiliza un lenguaje basado en XML para describir los datos de los recursos mediante el uso de las etiquetas a continuación:&lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Información sobre este ''resource'', los posibles parámetros (que se pueden utilizar y leer con [[getResourceInfo]]) son:&lt;br /&gt;
** '''author:''' El autor del'' resource''.&lt;br /&gt;
** '''version:''' La versión del ''resource''.&lt;br /&gt;
** '''name:''' El nombre del ''resource''.&lt;br /&gt;
** '''description:''' La descripción sobre el ''resource''.&lt;br /&gt;
** '''type:''' El tipo de ''resource'' (puede ser &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot; o &amp;quot;misc&amp;quot;).&lt;br /&gt;
*'''&amp;lt;script /&amp;gt;''' Script. Para para el resource, los atributos pueden ser:&lt;br /&gt;
** '''src:''' El nombre del archivo del script.&lt;br /&gt;
** '''type:''' El tipo de script: &amp;quot;client&amp;quot; (cliente) o &amp;quot;server&amp;quot; (servidor).&lt;br /&gt;
*'''&amp;lt;map /&amp;gt;''' El mapa para gamemode, los posibles parámetros son:&lt;br /&gt;
**'''src:''' Nombre del archivo '''.map''' (la ruta puede ser, por ejemplo, &amp;quot;mapas/mi-mapa-freeroam.map&amp;quot;).&lt;br /&gt;
**'''dimension:''' Dimensión en la que el mapa será cargado (opcional).&lt;br /&gt;
*'''&amp;lt;file /&amp;gt;''' Un archivo de cliente. Generalmente se usan imágenes, archivos '''.txd''', '''.col''', '''.dff''' o archivos '''.xml'''. Estos se cargan por el cliente cuando el archivo está iniciado.&lt;br /&gt;
**'''src:''' Nombre del archivo client-side (La ruta puede ser, por ejemplo, &amp;quot;imagenes/imagen.png&amp;quot;)&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Para incluir ''resources'' extras, que se carguen con el '''resource''' que modificas.&lt;br /&gt;
**'''resource:''' El nombre del ''resource''.&lt;br /&gt;
**'''minversion:''' Versión mínima que el ''resource'' debe tener (opcional).&lt;br /&gt;
**'''maxversion:''' Versión máxima que el ''resource'' debe tener (opcional).&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' Configuración del archivo '''.xml''' con el que se puede acceder a los parámetros del resource:&lt;br /&gt;
**'''src:''' La ruta del archivo de configuración.&lt;br /&gt;
**'''type:''' El tipo de archivo de configuración. Puede ser &amp;quot;client&amp;quot; o &amp;quot;server&amp;quot;.&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Las funciones de esta exportacion para el resource, para otros recursos se pueden utilizar con [[call]]&lt;br /&gt;
**'''function:''' El nombre de la función.&lt;br /&gt;
**'''type''' El lado de la exportación (cliente o servidor). Los valores válidos son &amp;quot;server&amp;quot; y &amp;quot;client&amp;quot;.&lt;br /&gt;
**'''http:''' Si la función se usa a través de HTTP. Se puede usar &amp;quot;true&amp;quot; o &amp;quot;false&amp;quot;.&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' La ruta del archivo.&lt;br /&gt;
**'''default:''' The html file is one that is shown by default when visiting /resourceName/ on the server. Only one html can be default, the rest are ignored. (true/false)&lt;br /&gt;
**'''raw:''' The html file is not parsed by the LUA interpreter and is treated as binary data. Must be used for binary files (images mainly) (true/false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Most gamemodes use [[settings system]] to let server admins to configure it how they like. For instance you could set round time and then use [[get]] and [[set]] to get the value or change it, respectively.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Minimum version requirements for this resource to run correctly. When authoring resources, the minimum version should usually be set to the current released version of MTA:SA (which at the moment is &amp;quot;{{Current Version|full}}&amp;quot;).&lt;br /&gt;
**'''client:''' The minimum client version&lt;br /&gt;
**'''server:''' The minimum server version&lt;br /&gt;
&lt;br /&gt;
== Ejemplo ==&lt;br /&gt;
Heres an example of a meta file using some of the tags mentioned:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- round length in minutes --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 for team protection off, 1 for team protection on --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  difference limit of amount of players between teams --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- ammo amounts --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Traductores==&lt;br /&gt;
&lt;br /&gt;
*Benxamix2/The Kid&lt;br /&gt;
*pekio123&lt;br /&gt;
&lt;br /&gt;
[[Category:Translated/Scripting Concepts]]&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CS/Meta.xml&amp;diff=49279</id>
		<title>CS/Meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CS/Meta.xml&amp;diff=49279"/>
		<updated>2016-09-24T17:38:19Z</updated>

		<summary type="html">&lt;p&gt;Talidan: /* Priklad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Soubor ''meta.xml'' prezentuje MTA sbirkou ''metadat'', jako je nazev ''resource'', scripty ktere ma obsahovat, a jake soubory maji byt nacteny pro poslani clientum. Je to take rozsah &amp;quot;elementu&amp;quot;. Je psana v XML, ktera je zalozena na HTML a je pribuzny XHTML.&lt;br /&gt;
&lt;br /&gt;
=Tagy=&lt;br /&gt;
XML je textovy format dat format ktery je bezne pouzivan pro prezentovani dat. MTA pouziva na XML zalozeny jazyk pro popsani metadat pro resource uzitim tagu nize:&lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Informace o tomto resource, mozne parametry jsou (jakekoliv parametry muzou byt pouzity a vypsany pomoci [[getResourceInfo]][[Image:usen.gif|Pouze v Angličtině]]):&lt;br /&gt;
** '''author:''' Autor tohoto reource&lt;br /&gt;
** '''version:''' Verze resource&lt;br /&gt;
** '''name:''' Nazev resource&lt;br /&gt;
** '''description:''' Strucny popis resource&lt;br /&gt;
** '''type:''' Typ resource, ten muze byt &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot; nebo &amp;quot;misc&amp;quot;.&lt;br /&gt;
*'''&amp;lt;script /&amp;gt;''' Zdrojove kody pro resource, mozne parametry jsou:&lt;br /&gt;
** '''src:''' Nazev souboru skriptu&lt;br /&gt;
** '''type:''' Typ kodu: &amp;quot;client&amp;quot; nebo &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;map /&amp;gt;''' Mapa pro herni mod, mozne parametry jsou:&lt;br /&gt;
**'''src:''' .map soubor (muze byt take cesta napr. &amp;quot;mapy/nazev.map&amp;quot;)&lt;br /&gt;
**'''dimension:''' Dimenze ve ktere bude mapa nactena (volitelne)&lt;br /&gt;
*'''&amp;lt;file /&amp;gt;''' client-side soubor. Obecne jsou to obrazky, .txd, .col, .dff nebo .xml files. Tyto soubory budou stazeny klienty kdyz bude resource zapnut (nebo pri pripojeni)&lt;br /&gt;
**'''src:''' nazev client-side souboru (muze byt i cesta napr. &amp;quot;images/image.png&amp;quot;)&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Obsahuje jine resource ktere tento resource vyuzije, mozne parametry:&lt;br /&gt;
**'''resource:''' Nazev resource ktery chcete spustit spolecne s timto&lt;br /&gt;
**'''minversion:''' Minimalni verze '''resource''' (volitelne)&lt;br /&gt;
**'''maxversion:''' Maximalni verze '''resource''' (volitelne)&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' Konfiguracni soubor (.xml) ktery muze resource vyuzit, mozne parametry jsou:&lt;br /&gt;
**'''src:''' Nazev konfiguracniho souboru&lt;br /&gt;
**'''type:''' Typ souboru: &amp;quot;client&amp;quot; nebo &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' Toto exportuje funkce z tohoto reosurce, takze ostatni resource je muzou vyuzit pomoci [[call]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
**'''function:''' Nzev funkce&lt;br /&gt;
**'''type''' Jaky je typ exportovane funkce server-side nebo client-side (spravne hodnoty: &amp;quot;server&amp;quot; a &amp;quot;client&amp;quot;)&lt;br /&gt;
**'''http:''' Muze byt funkce vyvolana pomoci HTTP (true/false)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' Nazev HTTP souboru (muze byt cesta)&lt;br /&gt;
**'''default:''' HTML soubor ktery je zobrazen defaultne pri navsteve /nazevResource/ na serveru. Pouze jeden HTML soubor muze byt vychozi, ostatni jsou ignorovany. (true/false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Vetsina gamemodu pouziva [[settings system]][[Image:usen.gif|Pouze v Angličtině]] Aby ho administratori serveru mohli nastavit jak chteji. Muzete pouzit funkce [[get]][[Image:usen.gif|Pouze v Angličtině]] a [[set]][[Image:usen.gif|Pouze v Angličtině]] pro zjisteni hodnoty nebo pro jeji zmenu. &lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Minimalni verze MTA ktera je potreba pro spravne fungovani resource. Kdyz vydavate resource, mela by byt tato hodnota nastavena na aktualni posledni vydanou verzi MTA (ktera nyni je &amp;quot;{{Current Version|full}}&amp;quot;).&lt;br /&gt;
**'''client:''' Minimalni verze clienta&lt;br /&gt;
**'''server:''' Maximalni verze clienta&lt;br /&gt;
&lt;br /&gt;
== Priklad ==&lt;br /&gt;
Zde je priklad mety vyuzivajici tagy zminene vyse:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- round length in minutes --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 for team protection off, 1 for team protection on --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  difference limit of amount of players between teams --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- ammo amounts --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
''Omlouvam se za preklad bez diakritiky.''&lt;br /&gt;
[[Category:Cesky]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[en:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Meta.xml&amp;diff=49278</id>
		<title>Meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Meta.xml&amp;diff=49278"/>
		<updated>2016-09-24T17:37:47Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The ''meta.xml'' file presents MTA with a set of metadata, such as the resource's name, the scripts to include, and which files to precache for sending to clients among other things. It is also the scope of &amp;quot;elements&amp;quot;. It is written in XML, which is based on HTML and is the parent of XHTML.&lt;br /&gt;
&lt;br /&gt;
=Tags=&lt;br /&gt;
XML is a textual data format which is widely used for the representation of data. MTA uses an XML-based language to describe the metadata for resources by using the tags below:&lt;br /&gt;
&lt;br /&gt;
*'''&amp;lt;info /&amp;gt;''' Information about this resource, possible parameters include (any arbitrary parameters can be used and read using [[getResourceInfo]]):&lt;br /&gt;
** '''author:''' The author of this resource&lt;br /&gt;
** '''version:''' The version of this resource&lt;br /&gt;
** '''name:''' The name of this resource&lt;br /&gt;
** '''description:''' A brief description of this resource&lt;br /&gt;
** '''type:''' The type of this resource, that can be &amp;quot;gamemode&amp;quot;, &amp;quot;script&amp;quot;, &amp;quot;map&amp;quot; or &amp;quot;misc&amp;quot;.&lt;br /&gt;
*'''&amp;lt;script /&amp;gt;''' Source code for this resource, possible parameters are:&lt;br /&gt;
** '''src:''' The file name of the source code&lt;br /&gt;
** '''type:''' The type of source code: &amp;quot;client&amp;quot;, &amp;quot;server&amp;quot; or &amp;quot;shared&amp;quot;.&lt;br /&gt;
**'''cache:''' When the script file type is &amp;quot;client&amp;quot;, this setting controls whether the file is saved on the clients' hard drive. Default is &amp;quot;true&amp;quot;. Using &amp;quot;false&amp;quot; will mean the file is not saved. ''(Note: cache=false files are started at the client first, so lua file load order might differ when mixing cache settings)''&lt;br /&gt;
**'''validate:''' If set to &amp;quot;false&amp;quot;, compatibility checks are skipped.&lt;br /&gt;
*'''&amp;lt;map /&amp;gt;''' The map for a gamemode, possible parameters are:&lt;br /&gt;
**'''src:''' .map file name (can be path too eg. &amp;quot;maps/filename.map&amp;quot;)&lt;br /&gt;
**'''dimension:''' Dimension in which the map will be loaded (optional)&lt;br /&gt;
*'''&amp;lt;file /&amp;gt;''' A client-side file. Generally these are images, .txd, .col, .dff or .xml files. They'll be downloaded by clients when the resources is started (or on join)&lt;br /&gt;
**'''src:''' client-side file name (can be path too eg. &amp;quot;images/image.png&amp;quot;)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
**'''download:''' Whether or not to be sent to the client automatically (optional). Default is &amp;quot;true&amp;quot;. Using &amp;quot;false&amp;quot; will mean they are not sent on resource start but could later be used by [[downloadFile]] (from version 1.4)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
*'''&amp;lt;include /&amp;gt;''' Include resources that this resource will use&lt;br /&gt;
**'''resource:''' Resource name that you want to start with this resource&lt;br /&gt;
**'''minversion:''' Minimum version that '''resource''' needs to be (optional)&lt;br /&gt;
**'''maxversion:''' Maximum version that '''resource''' needs to be (optional)&lt;br /&gt;
*'''&amp;lt;config /&amp;gt;''' Config file (.xml) can be accessed by resource, possible parameters are:&lt;br /&gt;
**'''src:''' The file name of the config file&lt;br /&gt;
**'''type:''' The type of the config file: &amp;quot;client&amp;quot; or &amp;quot;server&amp;quot;&lt;br /&gt;
*'''&amp;lt;export /&amp;gt;''' This exports functions from this resource, so other resources can use them with [[call]]&lt;br /&gt;
**'''function:''' The function name&lt;br /&gt;
**'''type''' Whether function is exported server-side or client-side (valid values are: &amp;quot;client&amp;quot;, &amp;quot;server&amp;quot; and &amp;quot;shared&amp;quot;)&lt;br /&gt;
**'''http:''' Can the function be called via HTTP (true/false)&lt;br /&gt;
*'''&amp;lt;html /&amp;gt;'''&lt;br /&gt;
**'''src:''' The filename for the HTTP file (can be a path)&lt;br /&gt;
**'''default:''' The html file is one that is shown by default when visiting /resourceName/ on the server. Only one html can be default, the rest are ignored. (true/false)&lt;br /&gt;
**'''raw:''' The html file is not parsed by the Lua interpreter and is treated as binary data. Must be used for binary files (images mainly) (true/false)&lt;br /&gt;
*'''&amp;lt;settings&amp;gt; &amp;lt;setting name=&amp;quot;&amp;quot; value=&amp;quot;&amp;quot;/&amp;gt; &amp;lt;/settings&amp;gt;:''' Most gamemodes use [[settings system]] to let server admins to configure it how they like. For instance you could set round time and then use [[get]] and [[set]] to get the value or change it, respectively.&lt;br /&gt;
*'''&amp;lt;min_mta_version /&amp;gt;''' Minimum version requirements for this resource to run correctly. When authoring resources, the minimum version should usually be set to the current released version of MTA:SA (which at the moment is &amp;quot;{{Current Version|full}}&amp;quot;). See example for example.&lt;br /&gt;
**'''client:''' The minimum client version&lt;br /&gt;
**'''server:''' The minimum server version&lt;br /&gt;
*'''&amp;lt;aclrequest /&amp;gt;''' A list of [[Access_Control_List|ACL]] rights this resource will need.&lt;br /&gt;
{{New items|3.0132|1.3.1 r4141|&lt;br /&gt;
*'''&amp;lt;sync_map_element_data /&amp;gt;''' Controls whether map [[Element_data|element data]] such as &amp;quot;PosX&amp;quot; and &amp;quot;DoubleSided&amp;quot; are transferred to the client. This data is usually not required by most gamemodes or resources. (Map Editor and Interiors require this to be not set to false to work). When set in a gamemode meta.xml, the setting will apply to all maps loaded by that resource.&lt;br /&gt;
**'''false:''' Disable transfer of map element data for all resources. This can reduce map download times considerably.&lt;br /&gt;
**'''true:''' Enable transfer of map element data for all resources. (If '''false''' and '''true''' are set in different resources, true will have priority and all resources will transfer map element data)&lt;br /&gt;
}}&lt;br /&gt;
{{New items|3.0140|1.4.0 r5313|&lt;br /&gt;
*'''&amp;lt;oop/&amp;gt;''' OOP - Please refer to [[OOP]] for documentation.&lt;br /&gt;
**'''false:''' Disable OOP.&lt;br /&gt;
**'''true:''' Enable OOP.&lt;br /&gt;
}}&lt;br /&gt;
{{New feature/item|3.0150|1.5.0|7308|&lt;br /&gt;
*'''&amp;lt;download_priority_group/&amp;gt;''' If not set, the download priority group for a resource defaults to 0. If this is set higher than 0, then the resource will be downloaded and started on the client earlier than other resources. If set to less than 0, the resource will be downloaded and started on the client later than other resources.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
Heres an example of a meta file using some of the tags mentioned:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;download_priority_group&amp;gt;0&amp;lt;/download_priority_group&amp;gt;&lt;br /&gt;
    &amp;lt;min_mta_version client=&amp;quot;{{Current Version|full}}&amp;quot; server=&amp;quot;{{Current Version|full}}&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;sync_map_element_data&amp;gt;false&amp;lt;/sync_map_element_data&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot; validate=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;riemann_z_demonstration.lua&amp;quot; type=&amp;quot;client&amp;quot; cache=&amp;quot;false&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;map src=&amp;quot;base.map&amp;quot; dimension=&amp;quot;1&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport1&amp;quot; type=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport2&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;exampleExport3&amp;quot; type=&amp;quot;shared&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
         &amp;lt;setting name=&amp;quot;roundlimit&amp;quot; value=&amp;quot;[6]&amp;quot; /&amp;gt; &amp;lt;!-- round length in minutes --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teamdamage&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!-- 0 for team protection off, 1 for team protection on --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teambalance&amp;quot; value=&amp;quot;[1]&amp;quot; /&amp;gt; &amp;lt;!--  difference limit of amount of players between teams --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;spazammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt; &amp;lt;!-- ammo amounts --&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;m4ammo&amp;quot; value=&amp;quot;[100]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;shotgunammo&amp;quot; value=&amp;quot;[25]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;sniperammo&amp;quot; value=&amp;quot;[20]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;ak47ammo&amp;quot; value=&amp;quot;[120]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;rifleammo&amp;quot; value=&amp;quot;[40]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;deserteagleammo&amp;quot; value=&amp;quot;[45]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;pistolammo&amp;quot; value=&amp;quot;[132]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;uziammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;tec9ammo&amp;quot; value=&amp;quot;[150]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;silencedammo&amp;quot; value=&amp;quot;[65]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;grenadeammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;satchelammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;teargasammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;molatovammo&amp;quot; value=&amp;quot;[4]&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;setting name=&amp;quot;isAllowedToShoot&amp;quot; value=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/settings&amp;gt;&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;aclrequest&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.startResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.stopResource&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
	 &amp;lt;right name=&amp;quot;function.setPlayerMuted&amp;quot; access=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
|lang=&amp;quot;xml&amp;quot;}}&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[cs:Meta.xml]]&lt;br /&gt;
[[de:Meta.xml]]&lt;br /&gt;
[[es:Sobre el archivo &amp;quot;meta.xml&amp;quot;]]&lt;br /&gt;
[[it:Meta.xml]]&lt;br /&gt;
[[pl:Meta.xml]]&lt;br /&gt;
[[ru:Meta.xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Coreconfig.xml&amp;diff=49277</id>
		<title>Coreconfig.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Coreconfig.xml&amp;diff=49277"/>
		<updated>2016-09-24T17:36:14Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This file is used to set your UI e.g. chat box color, chat font or even bind keys. You can modify it to make your chat box look better or add favourite servers manually. Coreconfig.xml is located in your MTA San Andreas 1.x\MTA\ folder with another file called [[Chatboxpresents.xml]].&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
Most of the settings are self-explained.&lt;br /&gt;
*'''nick''' - Your nickname in-game&lt;br /&gt;
*'''host''' - Last played server's IP&lt;br /&gt;
*'''port''' - Last played server's port&lt;br /&gt;
*'''password''' - Last played server's password&lt;br /&gt;
*'''qc_host''' - Quick Connect IP&lt;br /&gt;
*'''qc_port''' - Quick Connect Port&lt;br /&gt;
*'''qc_password''' - Quick Connect Password&lt;br /&gt;
*'''debugfile''' - &lt;br /&gt;
*'''console_pos''' - X, Y co-ords of the screen where console should be shown (after pressing ` (tilde) key)&lt;br /&gt;
*'''console_size''' - The size of the console after setting it's co-ordinates.&lt;br /&gt;
*'''serverbrowser_size''' - The size of the server browser.&lt;br /&gt;
*'''fps_limit''' - The limit for your FPS(Frames Per Second)&lt;br /&gt;
*'''chat_font''' - Font ID you want to be used in chat box&lt;br /&gt;
*'''chat_lines''' - How many lines you want to be displayed in chat box&lt;br /&gt;
*'''chat_color''' - Chat box background color (format is: RGBA, values between 0 - 255)&lt;br /&gt;
*'''chat_input_color''' - Background of the line shown when you type text (displayed when you press T or Y)&lt;br /&gt;
*'''chat_input_prefix_color''' - Color of the word &amp;quot;Say:&amp;quot; or &amp;quot;Team Say:&amp;quot; when you press T or Y&lt;br /&gt;
*'''chat_input_text_color''' - Color of the text you type, when you press T or Y&lt;br /&gt;
*'''chat_scale''' - Scale of the chat box, that is size of it (format is: width height, floating values between 0 - 1)&lt;br /&gt;
*'''chat_width''' - Width of the chat box, text will wrap if it reaches this end&lt;br /&gt;
*'''chat_css_style_text''' - (needs explanation)&lt;br /&gt;
*'''chat_css_style_background''' - (needs explanation)&lt;br /&gt;
*'''chat_line_life''' - (needs explanation)&lt;br /&gt;
*'''chat_line_fade_out''' - Time after which line should fade out (milliseconds)&lt;br /&gt;
*'''chat_use_cegui''' - Should chat use CEGUI? (values 0 or 1).&lt;br /&gt;
*'''text_scale''' - Scale of the text.&lt;br /&gt;
*'''invert_mouse''' - Should the mouse be inverted? (Values 0 or 1).&lt;br /&gt;
*'''fly_with_mouse''' - Should you fly with mouse? (Values 0 or 1).&lt;br /&gt;
*'''steer_with_mouse''' - Should you steer with the mouse? (Values 0 or 1).&lt;br /&gt;
*'''classic_controls''' - Should the classic controls be on? (Values 0 or 1).&lt;br /&gt;
*'''mtavolume''' - Your MTA's Volume.&lt;br /&gt;
*'''voicevolume''' - The in-game players voice volume.&lt;br /&gt;
*'''async_loading''' - (Explaination)&lt;br /&gt;
*'''menu_options''' - Contains the flags for the animated 3D menu scene (as given in the Video tab). Set to 255 to enable all options. Set to 248 to disable all options in case of problems/issues in the main menu (and not during game play).&lt;br /&gt;
&lt;br /&gt;
== Bind key ==&lt;br /&gt;
Binding key format is easy and almost everyone can bind their own keys to make the game easier to play and speed up your gaming a little bit. You can bind a command you use the most often to a key, so when you press the key that command will execute.&lt;br /&gt;
&lt;br /&gt;
Example binding key &amp;quot;h&amp;quot; which will execute /help command:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;bind key=&amp;quot;h&amp;quot; command=&amp;quot;help&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; it's that simple.&lt;br /&gt;
You can also use arguments in commands e.g. some servers have banking systems so you can /deposit money using keys too, eg: &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;bind key=&amp;quot;[&amp;quot; command=&amp;quot;deposit&amp;quot; arguments=&amp;quot;1000&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This will deposit your $1000.&lt;br /&gt;
&lt;br /&gt;
==Coreconfig.xml Files: ==&lt;br /&gt;
&amp;lt;section name=&amp;quot;1.4&amp;quot; class=&amp;quot;client&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;mainconfig&amp;gt;&lt;br /&gt;
    &amp;lt;settings&amp;gt;&lt;br /&gt;
        &amp;lt;nick&amp;gt;&amp;lt;/nick&amp;gt;&lt;br /&gt;
        &amp;lt;host&amp;gt;128.0.0.1&amp;lt;/host&amp;gt;&lt;br /&gt;
        &amp;lt;port&amp;gt;22003&amp;lt;/port&amp;gt;&lt;br /&gt;
        &amp;lt;password&amp;gt;&amp;lt;/password&amp;gt;&lt;br /&gt;
        &amp;lt;qc_host&amp;gt;192.168.1.101&amp;lt;/qc_host&amp;gt;&lt;br /&gt;
        &amp;lt;qc_port&amp;gt;22003&amp;lt;/qc_port&amp;gt;&lt;br /&gt;
        &amp;lt;qc_password&amp;gt;&amp;lt;/qc_password&amp;gt;&lt;br /&gt;
        &amp;lt;debugfile&amp;gt;&amp;lt;/debugfile&amp;gt;&lt;br /&gt;
        &amp;lt;console_pos&amp;gt;59 328&amp;lt;/console_pos&amp;gt;&lt;br /&gt;
        &amp;lt;console_size&amp;gt;689 450&amp;lt;/console_size&amp;gt;&lt;br /&gt;
        &amp;lt;serverbrowser_size&amp;gt;720 495&amp;lt;/serverbrowser_size&amp;gt;&lt;br /&gt;
        &amp;lt;fps_limit&amp;gt;100&amp;lt;/fps_limit&amp;gt;&lt;br /&gt;
        &amp;lt;chat_font&amp;gt;1&amp;lt;/chat_font&amp;gt;&lt;br /&gt;
        &amp;lt;chat_lines&amp;gt;10&amp;lt;/chat_lines&amp;gt;&lt;br /&gt;
        &amp;lt;chat_color&amp;gt;0 0 0 0&amp;lt;/chat_color&amp;gt;&lt;br /&gt;
        &amp;lt;chat_input_color&amp;gt;0 0 0 0&amp;lt;/chat_input_color&amp;gt;&lt;br /&gt;
        &amp;lt;chat_input_prefix_color&amp;gt;172 213 254 255&amp;lt;/chat_input_prefix_color&amp;gt;&lt;br /&gt;
        &amp;lt;chat_input_text_color&amp;gt;172 213 254 255&amp;lt;/chat_input_text_color&amp;gt;&lt;br /&gt;
        &amp;lt;chat_scale&amp;gt;1 1&amp;lt;/chat_scale&amp;gt;&lt;br /&gt;
        &amp;lt;chat_width&amp;gt;1.500000&amp;lt;/chat_width&amp;gt;&lt;br /&gt;
        &amp;lt;chat_css_style_text&amp;gt;0&amp;lt;/chat_css_style_text&amp;gt;&lt;br /&gt;
        &amp;lt;chat_css_style_background&amp;gt;0&amp;lt;/chat_css_style_background&amp;gt;&lt;br /&gt;
        &amp;lt;chat_line_life&amp;gt;12000&amp;lt;/chat_line_life&amp;gt;&lt;br /&gt;
        &amp;lt;chat_line_fade_out&amp;gt;3000&amp;lt;/chat_line_fade_out&amp;gt;&lt;br /&gt;
        &amp;lt;chat_use_cegui&amp;gt;0&amp;lt;/chat_use_cegui&amp;gt;&lt;br /&gt;
        &amp;lt;text_scale&amp;gt;1.000000&amp;lt;/text_scale&amp;gt;&lt;br /&gt;
        &amp;lt;invert_mouse&amp;gt;0&amp;lt;/invert_mouse&amp;gt;&lt;br /&gt;
        &amp;lt;fly_with_mouse&amp;gt;0&amp;lt;/fly_with_mouse&amp;gt;&lt;br /&gt;
        &amp;lt;steer_with_mouse&amp;gt;0&amp;lt;/steer_with_mouse&amp;gt;&lt;br /&gt;
        &amp;lt;classic_controls&amp;gt;1&amp;lt;/classic_controls&amp;gt;&lt;br /&gt;
        &amp;lt;mtavolume&amp;gt;0.500000&amp;lt;/mtavolume&amp;gt;&lt;br /&gt;
        &amp;lt;voicevolume&amp;gt;0.500000&amp;lt;/voicevolume&amp;gt;&lt;br /&gt;
        &amp;lt;async_loading&amp;gt;1&amp;lt;/async_loading&amp;gt;&lt;br /&gt;
        &amp;lt;mapalpha&amp;gt;127&amp;lt;/mapalpha&amp;gt;&lt;br /&gt;
        &amp;lt;browser_speed&amp;gt;1&amp;lt;/browser_speed&amp;gt;&lt;br /&gt;
        &amp;lt;single_download&amp;gt;0&amp;lt;/single_download&amp;gt;&lt;br /&gt;
        &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;_path&amp;gt;0&amp;lt;/code_path&amp;gt;&lt;br /&gt;
        &amp;lt;update_build_type&amp;gt;0&amp;lt;/update_build_type&amp;gt;&lt;br /&gt;
        &amp;lt;volumetric_shadows&amp;gt;0&amp;lt;/volumetric_shadows&amp;gt;&lt;br /&gt;
        &amp;lt;aspect_ratio&amp;gt;0&amp;lt;/aspect_ratio&amp;gt;&lt;br /&gt;
        &amp;lt;display_windowed&amp;gt;0&amp;lt;/display_windowed&amp;gt;&lt;br /&gt;
        &amp;lt;multimon_fullscreen_minimize&amp;gt;0&amp;lt;/multimon_fullscreen_minimize&amp;gt;&lt;br /&gt;
        &amp;lt;screenshot_path&amp;gt;C:\Program Files\MTA San Andreas 1.4\screenshots&amp;lt;/screenshot_path&amp;gt;&lt;br /&gt;
        &amp;lt;current_skin&amp;gt;Default&amp;lt;/current_skin&amp;gt;&lt;br /&gt;
        &amp;lt;chat_text_color&amp;gt;152 15 152 212&amp;lt;/chat_text_color&amp;gt;&lt;br /&gt;
        &amp;lt;fixup_flags&amp;gt;-cb-ma&amp;lt;/fixup_flags&amp;gt;&lt;br /&gt;
        &amp;lt;community_username&amp;gt;&amp;lt;/community_username&amp;gt;&lt;br /&gt;
        &amp;lt;community_password&amp;gt;&amp;lt;/community_password&amp;gt;&lt;br /&gt;
        &amp;lt;save_server_passwords&amp;gt;1&amp;lt;/save_server_passwords&amp;gt;&lt;br /&gt;
        &amp;lt;auto_refresh_browser&amp;gt;1&amp;lt;/auto_refresh_browser&amp;gt;&lt;br /&gt;
        &amp;lt;streaming_memory&amp;gt;247&amp;lt;/streaming_memory&amp;gt;&lt;br /&gt;
        &amp;lt;force_browse_other_versions&amp;gt;&amp;lt;/force_browse_other_versions&amp;gt;&lt;br /&gt;
        &amp;lt;reportsettings&amp;gt;filter2@+all,-{1000~2007},-2050,-2051,-{3120},-{3211},-{4002},-5132,-5133,-5809,-7011,-7106,-7801,-7043,-7050,-7051,-7420,-7601,-{7842~7845},-7940;max@4001;min@11&amp;lt;/reportsettings&amp;gt;&lt;br /&gt;
        &amp;lt;anisotropic&amp;gt;0&amp;lt;/anisotropic&amp;gt;&lt;br /&gt;
        &amp;lt;grass&amp;gt;0&amp;lt;/grass&amp;gt;&lt;br /&gt;
        &amp;lt;network_encryption&amp;gt;1&amp;lt;/network_encryption&amp;gt;&lt;br /&gt;
        &amp;lt;fast_clothes_loading&amp;gt;1&amp;lt;/fast_clothes_loading&amp;gt;&lt;br /&gt;
        &amp;lt;allow_screen_upload&amp;gt;1&amp;lt;/allow_screen_upload&amp;gt;&lt;br /&gt;
        &amp;lt;max_clientscript_log_kb&amp;gt;5000&amp;lt;/max_clientscript_log_kb&amp;gt;&lt;br /&gt;
    &amp;lt;/settings&amp;gt;&lt;br /&gt;
    &amp;lt;binds&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_0&amp;quot; control=&amp;quot;fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;lctrl&amp;quot; control=&amp;quot;fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse1&amp;quot; control=&amp;quot;fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;e&amp;quot; control=&amp;quot;next_weapon&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_enter&amp;quot; control=&amp;quot;next_weapon&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;q&amp;quot; control=&amp;quot;previous_weapon&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_dec&amp;quot; control=&amp;quot;previous_weapon&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_u&amp;quot; control=&amp;quot;forwards&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;w&amp;quot; control=&amp;quot;forwards&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_d&amp;quot; control=&amp;quot;backwards&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;s&amp;quot; control=&amp;quot;backwards&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_l&amp;quot; control=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;a&amp;quot; control=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_r&amp;quot; control=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;d&amp;quot; control=&amp;quot;right&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgup&amp;quot; control=&amp;quot;zoom_in&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;x&amp;quot; control=&amp;quot;zoom_in&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse_wheel_up&amp;quot; control=&amp;quot;zoom_in&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgdn&amp;quot; control=&amp;quot;zoom_out&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;z&amp;quot; control=&amp;quot;zoom_out&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse_wheel_down&amp;quot; control=&amp;quot;zoom_out&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;enter&amp;quot; control=&amp;quot;enter_exit&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;v&amp;quot; control=&amp;quot;change_camera&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;home&amp;quot; control=&amp;quot;change_camera&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;space&amp;quot; control=&amp;quot;jump&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;lshift&amp;quot; control=&amp;quot;sprint&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse3&amp;quot; control=&amp;quot;look_behind&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;c&amp;quot; control=&amp;quot;crouch&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;tab&amp;quot; control=&amp;quot;action&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;lalt&amp;quot; control=&amp;quot;walk&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;rctrl&amp;quot; control=&amp;quot;vehicle_fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;lalt&amp;quot; control=&amp;quot;vehicle_fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse1&amp;quot; control=&amp;quot;vehicle_fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;lctrl&amp;quot; control=&amp;quot;vehicle_secondary_fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_0&amp;quot; control=&amp;quot;vehicle_secondary_fire&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;a&amp;quot; control=&amp;quot;vehicle_left&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_l&amp;quot; control=&amp;quot;vehicle_left&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;d&amp;quot; control=&amp;quot;vehicle_right&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_r&amp;quot; control=&amp;quot;vehicle_right&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_u&amp;quot; control=&amp;quot;steer_forward&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;arrow_d&amp;quot; control=&amp;quot;steer_back&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;w&amp;quot; control=&amp;quot;accelerate&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;s&amp;quot; control=&amp;quot;brake_reverse&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;x&amp;quot; control=&amp;quot;radio_next&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;z&amp;quot; control=&amp;quot;radio_previous&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;F5&amp;quot; control=&amp;quot;radio_user_track_skip&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;h&amp;quot; control=&amp;quot;horn&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;2&amp;quot; control=&amp;quot;sub_mission&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_add&amp;quot; control=&amp;quot;sub_mission&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;space&amp;quot; control=&amp;quot;handbrake&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;rctrl&amp;quot; control=&amp;quot;handbrake&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;q&amp;quot; control=&amp;quot;vehicle_look_left&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;e&amp;quot; control=&amp;quot;vehicle_look_right&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse3&amp;quot; control=&amp;quot;vehicle_look_behind&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse2&amp;quot; control=&amp;quot;vehicle_mouse_look&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_4&amp;quot; control=&amp;quot;special_control_left&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_6&amp;quot; control=&amp;quot;special_control_right&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_2&amp;quot; control=&amp;quot;special_control_down&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;end&amp;quot; control=&amp;quot;special_control_down&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_8&amp;quot; control=&amp;quot;special_control_up&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;delete&amp;quot; control=&amp;quot;special_control_up&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;delete&amp;quot; control=&amp;quot;aim_weapon&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;capslock&amp;quot; control=&amp;quot;aim_weapon&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;mouse2&amp;quot; control=&amp;quot;aim_weapon&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;y&amp;quot; control=&amp;quot;conversation_yes&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;n&amp;quot; control=&amp;quot;conversation_no&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;g&amp;quot; control=&amp;quot;group_control_forwards&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;h&amp;quot; control=&amp;quot;group_control_back&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;g&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;enter_passenger&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;t&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;chatbox&amp;quot; arguments=&amp;quot;chatboxsay&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;y&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;chatbox&amp;quot; arguments=&amp;quot;teamsay 255 0 0&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;F11&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar&amp;quot; arguments=&amp;quot;-1&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_add&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_zoom_in&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_sub&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_zoom_out&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_8&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_move_north&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_2&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_move_south&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_6&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_move_east&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_4&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_move_west&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_0&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_attach&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;z&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;voiceptt&amp;quot; arguments=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;z&amp;quot; state=&amp;quot;up&amp;quot; command=&amp;quot;voiceptt&amp;quot; arguments=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgup&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;chatscrollup&amp;quot; arguments=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgup&amp;quot; state=&amp;quot;up&amp;quot; command=&amp;quot;chatscrollup&amp;quot; arguments=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgdn&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;chatscrolldown&amp;quot; arguments=&amp;quot;-1&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgdn&amp;quot; state=&amp;quot;up&amp;quot; command=&amp;quot;chatscrolldown&amp;quot; arguments=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgup&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;debugscrollup&amp;quot; arguments=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgup&amp;quot; state=&amp;quot;up&amp;quot; command=&amp;quot;debugscrollup&amp;quot; arguments=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgdn&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;debugscrolldown&amp;quot; arguments=&amp;quot;-1&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;pgdn&amp;quot; state=&amp;quot;up&amp;quot; command=&amp;quot;debugscrolldown&amp;quot; arguments=&amp;quot;0&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_div&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_opacity_down&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_mul&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_opacity_up&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;num_1&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;radar_help&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
        &amp;lt;bind key=&amp;quot;F12&amp;quot; state=&amp;quot;down&amp;quot; command=&amp;quot;screenshot&amp;quot; arguments=&amp;quot;&amp;quot;&amp;gt;&amp;lt;/bind&amp;gt;&lt;br /&gt;
    &amp;lt;/binds&amp;gt;&lt;br /&gt;
    &amp;lt;updater&amp;gt;&lt;br /&gt;
        &amp;lt;var&amp;gt;&lt;br /&gt;
            &amp;lt;version_lastchecktime&amp;gt;2012-08-31 23:36:44&amp;lt;/version_lastchecktime&amp;gt;&lt;br /&gt;
            &amp;lt;master_lastchecktime&amp;gt;2012-08-31 23:36:43&amp;lt;/master_lastchecktime&amp;gt;&lt;br /&gt;
            &amp;lt;master_highestnotifyrevision&amp;gt;2011-c-09-02&amp;lt;/master_highestnotifyrevision&amp;gt;&lt;br /&gt;
            &amp;lt;news_lastchecktime&amp;gt;2012-08-31 23:36:44&amp;lt;/news_lastchecktime&amp;gt;&lt;br /&gt;
            &amp;lt;news_lastnewsdate&amp;gt;2012-01-24&amp;lt;/news_lastnewsdate&amp;gt;&lt;br /&gt;
            &amp;lt;crashdump_historylist&amp;gt;&lt;br /&gt;
            &amp;lt;/crashdump_historylist&amp;gt;&lt;br /&gt;
        &amp;lt;/var&amp;gt;&lt;br /&gt;
        &amp;lt;mastercache&amp;gt;&lt;br /&gt;
            &amp;lt;master&amp;gt;&lt;br /&gt;
                &amp;lt;revision&amp;gt;2012-05-09&amp;lt;/revision&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server&amp;gt;http://updatesa.mtasa.com/sa/master/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server&amp;gt;http://updatesa.multitheftauto.com/sa/master/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
                &amp;lt;interval&amp;gt;12h&amp;lt;/interval&amp;gt;&lt;br /&gt;
            &amp;lt;/master&amp;gt;&lt;br /&gt;
            &amp;lt;version&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://updatesa.mtasa.com/sa/version/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;ty=%TYPE%&amp;amp;amp;da=%DATA%&amp;amp;amp;be=%BETA%&amp;amp;amp;re=%REFER%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;4&amp;quot;&amp;gt;http://updatesa.multitheftauto.com/sa/version/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;ty=%TYPE%&amp;amp;amp;da=%DATA%&amp;amp;amp;be=%BETA%&amp;amp;amp;re=%REFER%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
                &amp;lt;interval&amp;gt;12h&amp;lt;/interval&amp;gt;&lt;br /&gt;
            &amp;lt;/version&amp;gt;&lt;br /&gt;
            &amp;lt;report&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server&amp;gt;http://updatesa.mtasa.com/sa/report/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server&amp;gt;http://updatesa.multitheftauto.com/sa/report/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
                &amp;lt;interval&amp;gt;12h&amp;lt;/interval&amp;gt;&lt;br /&gt;
                &amp;lt;filter2&amp;gt;+all,-{1000~2007},-2050,-2051,-{3120},-{3211},-{4002},-5132,-5133,-5809,-7011,-7106,-7801,-7043,-7050,-7051,-7420,-7601,-{7842~7845},-7940&amp;lt;/filter2&amp;gt;&lt;br /&gt;
                &amp;lt;minsize&amp;gt;11&amp;lt;/minsize&amp;gt;&lt;br /&gt;
                &amp;lt;maxsize&amp;gt;4001&amp;lt;/maxsize&amp;gt;&lt;br /&gt;
            &amp;lt;/report&amp;gt;&lt;br /&gt;
            &amp;lt;crashdump&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://updatesa.mtasa.com/sa/crashdump/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;file=%FILE%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;4&amp;quot;&amp;gt;http://updatesa.multitheftauto.com/sa/crashdump/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;file=%FILE%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
                &amp;lt;duplicates&amp;gt;0&amp;lt;/duplicates&amp;gt;&lt;br /&gt;
                &amp;lt;maxhistorylength&amp;gt;100&amp;lt;/maxhistorylength&amp;gt;&lt;br /&gt;
            &amp;lt;/crashdump&amp;gt;&lt;br /&gt;
            &amp;lt;gtadatafiles&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://updatesa.mtasa.com/sa/gtadatafiles/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;4&amp;quot;&amp;gt;http://updatesa.multitheftauto.com/sa/gtadatafiles/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
            &amp;lt;/gtadatafiles&amp;gt;&lt;br /&gt;
            &amp;lt;gtadatafiles2&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://updatesa.mtasa.com/sa/gtadatafiles2/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
            &amp;lt;/gtadatafiles2&amp;gt;&lt;br /&gt;
            &amp;lt;trouble&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server&amp;gt;http://updatesa.multitheftauto.com/sa/trouble/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;tr=%TROUBLE%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
            &amp;lt;/trouble&amp;gt;&lt;br /&gt;
            &amp;lt;ase&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://master.multitheftauto.com/ase/mta/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://178.21.18.248/ase2.dat&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;4&amp;quot;&amp;gt;http://1mgg.com/affil/mta&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
            &amp;lt;/ase&amp;gt;&lt;br /&gt;
            &amp;lt;sidegrade&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://updatesa.mtasa.com/sa/sidegrade/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;be=%BETA%&amp;amp;amp;re=%REFER%&amp;amp;amp;wv=%WANTVER%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;4&amp;quot;&amp;gt;http://updatesa.multitheftauto.com/sa/sidegrade/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;be=%BETA%&amp;amp;amp;re=%REFER%&amp;amp;amp;wv=%WANTVER%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
                &amp;lt;nobrowselist&amp;gt;&lt;br /&gt;
                    &amp;lt;nobrowse version=&amp;quot;1.0&amp;quot;&amp;gt;1.1n;1.1N;1.2n;1.2sx;1.3n;1.3v;&amp;lt;/nobrowse&amp;gt;&lt;br /&gt;
                    &amp;lt;nobrowse version=&amp;quot;1.1&amp;quot;&amp;gt;1.1n;1.1N;1.2n;1.2sx;1.3n;1.3v;&amp;lt;/nobrowse&amp;gt;&lt;br /&gt;
                &amp;lt;/nobrowselist&amp;gt;&lt;br /&gt;
                &amp;lt;onlybrowselist&amp;gt;&lt;br /&gt;
                    &amp;lt;onlybrowse version=&amp;quot;1.1&amp;quot;&amp;gt;1.3;1.2;1.1;1.0&amp;lt;/onlybrowse&amp;gt;&lt;br /&gt;
                    &amp;lt;onlybrowse version=&amp;quot;1.2&amp;quot;&amp;gt;1.3;1.2;1.1;1.0&amp;lt;/onlybrowse&amp;gt;&lt;br /&gt;
                    &amp;lt;onlybrowse version=&amp;quot;1.3&amp;quot;&amp;gt;1.3;1.2;1.1;1.0&amp;lt;/onlybrowse&amp;gt;&lt;br /&gt;
                &amp;lt;/onlybrowselist&amp;gt;&lt;br /&gt;
            &amp;lt;/sidegrade&amp;gt;&lt;br /&gt;
            &amp;lt;news&amp;gt;&lt;br /&gt;
                &amp;lt;serverlist&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;3&amp;quot;&amp;gt;http://updatesa.multitheftauto.com/sa/news/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;be=%BETA%&amp;amp;amp;ln=%LASTNEWS%&amp;lt;/server&amp;gt;&lt;br /&gt;
                    &amp;lt;server priority=&amp;quot;4&amp;quot;&amp;gt;http://updatesa.mtasa.com/sa/news/?v=%VERSION%&amp;amp;amp;id=%ID%&amp;amp;amp;be=%BETA%&amp;amp;amp;ln=%LASTNEWS%&amp;lt;/server&amp;gt;&lt;br /&gt;
                &amp;lt;/serverlist&amp;gt;&lt;br /&gt;
                &amp;lt;interval&amp;gt;12h&amp;lt;/interval&amp;gt;&lt;br /&gt;
                &amp;lt;oldestpost&amp;gt;2010-11-02&amp;lt;/oldestpost&amp;gt;&lt;br /&gt;
                &amp;lt;maxhistorylength&amp;gt;3&amp;lt;/maxhistorylength&amp;gt;&lt;br /&gt;
            &amp;lt;/news&amp;gt;&lt;br /&gt;
            &amp;lt;misc&amp;gt;&lt;br /&gt;
                &amp;lt;debug&amp;gt;&lt;br /&gt;
                    &amp;lt;filter2&amp;gt;-all,+{500~2000}&amp;lt;/filter2&amp;gt;&lt;br /&gt;
                &amp;lt;/debug&amp;gt;&lt;br /&gt;
            &amp;lt;/misc&amp;gt;&lt;br /&gt;
        &amp;lt;/mastercache&amp;gt;&lt;br /&gt;
    &amp;lt;/updater&amp;gt;&lt;br /&gt;
    &amp;lt;serverbrowser_options&amp;gt;&lt;br /&gt;
        &amp;lt;list id=&amp;quot;0&amp;quot; include_empty=&amp;quot;1&amp;quot; include_full=&amp;quot;1&amp;quot; include_locked=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;list id=&amp;quot;1&amp;quot; include_empty=&amp;quot;1&amp;quot; include_full=&amp;quot;1&amp;quot; include_locked=&amp;quot;1&amp;quot; active=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;list id=&amp;quot;2&amp;quot; include_empty=&amp;quot;1&amp;quot; include_full=&amp;quot;1&amp;quot; include_locked=&amp;quot;1&amp;quot; include_offline=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/list&amp;gt;&lt;br /&gt;
        &amp;lt;list id=&amp;quot;3&amp;quot; include_empty=&amp;quot;1&amp;quot; include_full=&amp;quot;1&amp;quot; include_locked=&amp;quot;1&amp;quot; include_offline=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/list&amp;gt;&lt;br /&gt;
    &amp;lt;/serverbrowser_options&amp;gt;&lt;br /&gt;
    &amp;lt;recently_played_servers&amp;gt;&lt;br /&gt;
    &amp;lt;/recently_played_servers&amp;gt;&lt;br /&gt;
    &amp;lt;connect_history&amp;gt;&lt;br /&gt;
    &amp;lt;/connect_history&amp;gt;&lt;br /&gt;
    &amp;lt;server_passwords&amp;gt;&lt;br /&gt;
    &amp;lt;/server_passwords&amp;gt;&lt;br /&gt;
    &amp;lt;favourite_servers&amp;gt;&amp;lt;/favourite_servers&amp;gt;&lt;br /&gt;
&amp;lt;/mainconfig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Key names]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Control names]]&lt;br /&gt;
[[Category:Incomplete]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RenameAclGroup&amp;diff=49273</id>
		<title>RenameAclGroup</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RenameAclGroup&amp;diff=49273"/>
		<updated>2016-09-23T22:17:51Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function is used to rename an [[Aclgroup|ACL group]].&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool renameAclGroup ( string old, string new )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Required Arguments==&lt;br /&gt;
* '''old:''' name of the ACL group you want to change&lt;br /&gt;
* '''new:''' the name we want the group to be changed to&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the rename was successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function renameAclGroup( old, new )&lt;br /&gt;
	if ( type( old ) ~= &amp;quot;string&amp;quot; ) then&lt;br /&gt;
		outputDebugString( &amp;quot;Bad argument 1 @ renameAclGroup [ string expected, got &amp;quot; .. type( old ) .. &amp;quot; ] &amp;quot;, 2 )&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if ( type( new ) ~= &amp;quot;string&amp;quot; ) then&lt;br /&gt;
		outputDebugString( &amp;quot;Bad argument 2 @ renameAclGroup [ string expected, got &amp;quot; .. type( new ) .. &amp;quot; ] &amp;quot;, 2 )&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local oldACLGroup = aclGetGroup( old )&lt;br /&gt;
	&lt;br /&gt;
	if ( not oldACLGroup ) then&lt;br /&gt;
		outputDebugString( &amp;quot;Bad argument 1 @ renameAclGroup [ no acl group found with this name ] &amp;quot;, 2 )&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if ( aclGetGroup( new ) ) then&lt;br /&gt;
		outputDebugString( &amp;quot;Bad argument 2 @ renameAclGroup [ there is already a group with this name ] &amp;quot;, 2 )&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local oldACL = aclGroupListACL( oldACLGroup )&lt;br /&gt;
	local oldObjects = aclGroupListObjects( oldACLGroup )&lt;br /&gt;
	local newACLGroup = aclCreateGroup( new )&lt;br /&gt;
	&lt;br /&gt;
	for _,nameOfACL in pairs( oldACL ) do&lt;br /&gt;
		aclGroupAddACL( newACLGroup, nameOfACL )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for _,nameOfObject in pairs( oldObjects ) do&lt;br /&gt;
		aclGroupAddObject( newACLGroup, nameOfObject )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	aclDestroyGroup( oldACLGroup )&lt;br /&gt;
	aclSave( )&lt;br /&gt;
	aclReload( )&lt;br /&gt;
	&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Original author: ''Has[S]oN''&lt;br /&gt;
*Skype: ''hassan.saad2000''&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example changes a group named ''Moderator'' to ''HassoN'' when the script is loaded.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onResourceStart&amp;quot;, resourceRoot,&lt;br /&gt;
	function( )&lt;br /&gt;
		renameAclGroup( &amp;quot;Moderator&amp;quot;, &amp;quot;HassoN&amp;quot; )&lt;br /&gt;
	end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Useful Functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ConvertTextToSpeech&amp;diff=49272</id>
		<title>ConvertTextToSpeech</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ConvertTextToSpeech&amp;diff=49272"/>
		<updated>2016-09-23T22:17:12Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Useful Function}}&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
{{Warning|This function is not working anymore due to Google blocking non-user calls to their TTS API. Plase feel free to fix it by using another public and reliable TTS API.|1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This useful shared function converts some text to audible speech using Google's TTS.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;boolean, element, string convertTextToSpeech ( string text [, table/element broadcastTo = root, string language = &amp;quot;en&amp;quot; ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Required arguments==&lt;br /&gt;
* ''text'': the text to convert to speech.&lt;br /&gt;
&lt;br /&gt;
==Optional arguments==&lt;br /&gt;
* ''broadcastTo'': if it's a regular indexed table, the speech will be broadcasted to the players contained in it. If it's a element, the speech will be heard by the players which are children of that element. This parameter is '''ONLY''' serverside; if you're using this function clientside this will be considered as the ''language'' argument.&lt;br /&gt;
* ''language'': defines the language of the TTS output.&lt;br /&gt;
&lt;br /&gt;
==Returns==&lt;br /&gt;
* This function returns ''[[nil]]'' and outputs an error if an argument it's not valid.&lt;br /&gt;
* If called serverside and if all arguments are valid, this function returns ''true'' if the client was successully told to play the TTS (althrough this doesn't mean that the client will always play the speech); ''false'' otherwise.&lt;br /&gt;
* If called clientside and if all arguments are valid, this function returns ''true'', the corresponding [[sound]] element and its URL if the sound could theorically be played (althrough it may not play); ''[[nil]]'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Function source==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEvent(&amp;quot;playTTS&amp;quot;, true) -- Add the event&lt;br /&gt;
&lt;br /&gt;
local function playTTS(text, lang)&lt;br /&gt;
    local URL = &amp;quot;http://translate.google.com/translate_tts?tl=&amp;quot; .. lang .. &amp;quot;&amp;amp;q=&amp;quot; .. text&lt;br /&gt;
    -- Play the TTS. BASS returns the sound element even if it can not be played.&lt;br /&gt;
    return true, playSound(URL), URL&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;playTTS&amp;quot;, root, playTTS)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Shared (server and client)&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function convertTextToSpeech(text, broadcastTo, lang)&lt;br /&gt;
    -- Ensure first argument is valid&lt;br /&gt;
    assert(type(text) == &amp;quot;string&amp;quot;, &amp;quot;Bad argument 1 @ convertTextToSpeech [ string expected, got &amp;quot; .. type(text) .. &amp;quot;]&amp;quot;)&lt;br /&gt;
    assert(#text &amp;lt;= 100, &amp;quot;Bad argument 1 @ convertTextToSpeech [ too long string; 100 characters maximum ]&amp;quot;)&lt;br /&gt;
    if triggerClientEvent then -- Is this function called serverside?&lt;br /&gt;
        -- Ensure second and third arguments are valid&lt;br /&gt;
        assert(broadcastTo == nil or type(broadcastTo) == &amp;quot;table&amp;quot; or isElement(broadcastTo), &amp;quot;Bad argument 2 @ convertTextToSpeech [ table/element expected, got &amp;quot; .. type(broadcastTo) .. &amp;quot;]&amp;quot;)&lt;br /&gt;
        assert(lang == nil or type(lang) == &amp;quot;string&amp;quot;, &amp;quot;Bad argument 3 @ convertTextToSpeech [ string expected, got &amp;quot; .. type(lang) .. &amp;quot;]&amp;quot;)&lt;br /&gt;
        -- Tell the client to play the speech&lt;br /&gt;
        return triggerClientEvent(broadcastTo or root, &amp;quot;playTTS&amp;quot;, root, text, lang or &amp;quot;en&amp;quot;)&lt;br /&gt;
    else -- This function is executed clientside&lt;br /&gt;
        local lang = broadcastTo&lt;br /&gt;
        -- Ensure second argument is valid&lt;br /&gt;
        assert(lang == nil or type(lang) == &amp;quot;string&amp;quot;, &amp;quot;Bad argument 2 @ convertTextToSpeech [ string expected, got &amp;quot; .. type(lang) .. &amp;quot;]&amp;quot;)&lt;br /&gt;
        return playTTS(text, lang or &amp;quot;en&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
*Original author: ''Has[S]oN''.&lt;br /&gt;
*Skype: ''hassan.saad2000''&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
This example disables text chat and converts that text to a speech audible to nearby players. '''NOTE''': this example requires 1.4 in order to work.&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local function tellClientsToPlayTTS(text, type)&lt;br /&gt;
    if type == 0 and #text &amp;lt;= 100 then -- We only want to replace normal chat if possible&lt;br /&gt;
        local x, y, z = getElementPosition(source)&lt;br /&gt;
        local col = createColSphere(x, y, z, 30) -- We need this to get nearby players&lt;br /&gt;
        triggerClientEvent(getElementsWithinColShape(col, &amp;quot;player&amp;quot;), &amp;quot;playChatTTS&amp;quot;, source, text) -- Tell the nearby clients to play the sound&lt;br /&gt;
        destroyElement(col)&lt;br /&gt;
        cancelEvent() -- Replace text chat&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerChat&amp;quot;, root, tellClientsToPlayTTS)&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEvent(&amp;quot;playChatTTS&amp;quot;, true) -- Add the event&lt;br /&gt;
&lt;br /&gt;
local function playChatTTS(text)&lt;br /&gt;
    local lang = (getLocalization().code):sub(1, 2) -- Output the TTS in the local player language, but don't bother about variants&lt;br /&gt;
    local _, speech, URL = convertTextToSpeech(text, lang)&lt;br /&gt;
    -- Convert that speech to a 3D sound&lt;br /&gt;
    destroyElement(speech)&lt;br /&gt;
    local x, y, z = getElementPosition(source)&lt;br /&gt;
    local speech = playSound3D(URL, x, y, z)&lt;br /&gt;
    attachElements(speech, source) -- Make the sound follow the player&lt;br /&gt;
    setElementDimension(speech, getElementDimension(source))&lt;br /&gt;
    setSoundMinDistance(speech, 15)&lt;br /&gt;
    setSoundMaxDistance(speech, 30)&lt;br /&gt;
    -- Tricky thing ahead: make the player mouth move, but without rendering him unable to move&lt;br /&gt;
    setPedAnimation(source, &amp;quot;ped&amp;quot;, &amp;quot;factalk&amp;quot;, 0, true)&lt;br /&gt;
    setPedAnimation(source, &amp;quot;ped&amp;quot;, &amp;quot;factalk&amp;quot;, 0, true)&lt;br /&gt;
    -- Reset the player mouth after the speech has ended&lt;br /&gt;
    setTimer(function(player)&lt;br /&gt;
        if isElement(player) then&lt;br /&gt;
            setPedAnimation(player) -- Clear the animation&lt;br /&gt;
        end&lt;br /&gt;
    end, math.max(getSoundLength(speech) * 1000, 50), 1, source)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;playChatTTS&amp;quot;, root, playChatTTS)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Useful Functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/xmlNodeGetChildren&amp;diff=49270</id>
		<title>RU/xmlNodeGetChildren</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/xmlNodeGetChildren&amp;diff=49270"/>
		<updated>2016-09-23T20:51:51Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{RU/Server client function}}&lt;br /&gt;
&lt;br /&gt;
Возвращает все аттрибуты выбранного [[XML узел|XML узла]].&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{RU/Server client function}}&lt;br /&gt;
&lt;br /&gt;
Эта функция возвращает всех потомков [[XML узел|XML узла]].&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;table/xmlnode xmlNodeGetChildren ( xmlnode parent, [ int index ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{RU/OOP||[[xmlnode]]:getChildren|children|}}&lt;br /&gt;
&lt;br /&gt;
===Обязательные параметры===&lt;br /&gt;
* '''parent:''' [[XML узел]] из которого получаем потомков.&lt;br /&gt;
===Не обязательные параметры===&lt;br /&gt;
* '''index:''' Если вы хотите получить одного потомка, введите его индекс(порядковый номер, счет от 0). Т.е. что-бы получить первого потомка, пишите 0, что-бы получить третьего потомка пишите 2, и т.д.&lt;br /&gt;
&lt;br /&gt;
===Возвращает===&lt;br /&gt;
Если '''index''' не указан, возвращает таблицу со всеми потомками. Если '''index''' указан, возвращает соответствующего по счету потомка. Если узлов не найдено, возвращает пустую таблицу. В случае неправильного регистра, возвращает ''false''.&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Предположим вы создали .xml файл со случайными приветственными сообщениями:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;messages&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;Добро пожаловать на ДМ сервер, наслаждайтесь пребыванием здесь.&amp;lt;/message&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;Добро пожаловать. Будьте уверены вы получите бесплатную пиццу от Мэтта!&amp;lt;/message&amp;gt;&lt;br /&gt;
    &amp;lt;message&amp;gt;Вечеринка на пляже ЛС, будьте там&amp;lt;/message&amp;gt;&lt;br /&gt;
&amp;lt;/messages&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для того что-бы показать случайное сообщение из списка, входящим пользователям, используйте код:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onResourceStart&amp;quot;, getResourceRootElement(),&lt;br /&gt;
    function()&lt;br /&gt;
        local xml = xmlLoadFile(&amp;quot;welcome.xml&amp;quot;)             -- открываем XML файл&lt;br /&gt;
        local messageNodes = xmlNodeGetChildren(xml)       -- получаем всех потомков корневого узла(&amp;lt;messages&amp;gt;)&lt;br /&gt;
        g_WelcomeMessages = {}                             -- создаем новую глобальную переменную, для хранения сообщений в ней&lt;br /&gt;
        for i,node in ipairs(messageNodes) do              -- пробегаем все узлы сообщений&lt;br /&gt;
            g_WelcomeMessages[i] = xmlNodeGetValue(node)   -- получаем текст из узла&lt;br /&gt;
        end&lt;br /&gt;
        xmlUnloadFile(xml)                                 -- закрываем XML файл&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, getRootElement(),&lt;br /&gt;
    function()&lt;br /&gt;
        local numMessages = #g_WelcomeMessages                        -- получаем количество сообщений&lt;br /&gt;
        local message = g_WelcomeMessages[math.random(numMessages)]   -- выбираем случайное сообщение&lt;br /&gt;
        outputChatBox(message, source, 0, 255, 0)                     -- выводит сообщение зашедшему игроки&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/XML_functions}}&lt;br /&gt;
[[en:xmlNodeGetChildren]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Quaternion&amp;diff=49269</id>
		<title>Quaternion</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Quaternion&amp;diff=49269"/>
		<updated>2016-09-23T20:50:40Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;Quaternion&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Quaternion is used to define the rotation angle by GTA:SA game engine, which is different from MTASA which is based on Euler angle&lt;br /&gt;
This function returns the Euler angle(rotx,roty,rotz) from quaternion(rotx,roty,rotz,rotw).this is non-mtasa function, user need to put this function in your lua scripts.&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float, float, float fromQuaternion ( rotx,roty,rotz,rotw)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''rotx,roty,rotz,rotw''': The quaternion from IPL file&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
* '''rotx,roty,rotz''': The Euler angle&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server- and/or clientside Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function math.arad(number)&lt;br /&gt;
	if type(number) == &amp;quot;number&amp;quot; then&lt;br /&gt;
		return (number/(math.pi*2))*360&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function fromQuaternion(x,y,z,w)&lt;br /&gt;
	local heading = math.atan2(2*(w*x+y*z),1-2*(x^2+y^2))&lt;br /&gt;
	local attitude = math.asin(w*y-z*x) &lt;br /&gt;
	local bank = math.atan2(2*(w*z+x*y),1-2*(y^2+z^2))&lt;br /&gt;
	return math.arad(heading),math.arad(attitude),math.arad(bank)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server- and/or clientside Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
function math.arad(number)&lt;br /&gt;
	if type(number) == &amp;quot;number&amp;quot; then&lt;br /&gt;
		return (number/(math.pi*2))*360&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function fromQuaternion(x,y,z,w)&lt;br /&gt;
	local heading = math.atan2(2*(w*x+y*z),1-2*(x^2+y^2))&lt;br /&gt;
	local attitude = math.asin(w*y-z*x) &lt;br /&gt;
	local bank = math.atan2(2*(w*z+x*y),1-2*(y^2+z^2))&lt;br /&gt;
	return math.arad(heading),math.arad(attitude),math.arad(bank)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local rotx, roty, rotx, rotw = 233,666,888,999  -- you can read the Quaternion from IPL file&lt;br /&gt;
createObject ( 1337, 5540.6654, 1020.55122, 1240.545,fromQuaternion(rotx, roty, rotx, rotw))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: KawaNoII (http://www.chinesemta.com)&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Acesso_web_via_recursos&amp;diff=49268</id>
		<title>Acesso web via recursos</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Acesso_web_via_recursos&amp;diff=49268"/>
		<updated>2016-09-23T20:49:43Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;O Multi Theft Auto disponibiliza uma interface web a ser usada pelos recursos de diferentes formas. A proposta deste artigo é descrever-las e explicar sua utilização.&lt;br /&gt;
&lt;br /&gt;
==Introdução==&lt;br /&gt;
Há dois componentes chaves desse ecossistema. O primeiro é um servidor web comum, o qual permite os navegadores demandarem páginas e arquivos presentes no recurso. O segundo é um componente que gerencia chamadas realizadas pelos navegadores à funções exportadas de seu recurso.&lt;br /&gt;
&lt;br /&gt;
==Páginas==&lt;br /&gt;
===Especificando componentes no arquivo meta===&lt;br /&gt;
É possível definir certos arquivos acessíveis via servidor web em seu recurso. Para fazer isso é só adicionar:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;nome-do-arquivo.ext&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Você pode acessar esse arquivo ao digitar o link: &amp;lt;nowiki&amp;gt;http://host:port/nome-do-recurso/nome-do-arquivo.ext&amp;lt;/nowiki&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Um exemplo seria um servidor local usando a porta http padrão e com o ''webmap'' iniciado: http://127.0.0.1:22005/webmap/map.htm&lt;br /&gt;
&lt;br /&gt;
===Arquivos binários===&lt;br /&gt;
Tirando a possibilidade de você errar o nome, os arquivos usando a ''tag'' html podem ser de qualquer tipo. Se eles forem binários (como imagens, .zip), será necessário especificar isso na ''tag'' usando ''raw=true''. Isso significa que ele não será pre-processado antes de serem enviado ao servidor web.  &lt;br /&gt;
&lt;br /&gt;
Um exemplo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;image.gif&amp;quot; raw=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Arquivos Processados===&lt;br /&gt;
Se um arquivo não for binário, então terá de ser pré-processado antes de ser retornado ao cliente. Esse processamento funciona de um jeito muito parecido com PHP ou ASP, mas usa o método do LUA. Você pode inserir scripts do MTA em uma página HTML, controlando sua saída. Quase todas as funções funcionam, incluindo determinadas [[Template:HTTP functions|Funções HTTP]], como [[httpWrite]]; o qual escreve um texto no buffer.&lt;br /&gt;
&lt;br /&gt;
Por exemplo:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        Esse recurso é chamado de &amp;lt;* httpWrite( getResourceName(getThisResource()) ) *&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Há também uma maneira mais simples (muito utilizada no PHP e ASP) de se escrever o código acima:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        Esse recurso é chamado de &amp;lt;* = getResourceName(getThisResource()) *&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Junto com as funções HTTP, o Lua trabalha com variáveis específicas que contém informações sobre a página demandada:&lt;br /&gt;
* table '''requestHeaders''': É uma tabela contendo todas as ''headers'' requisitadas junto com a página. Você pode definir quais serão retornadas com [[httpSetResponseHeader]].&lt;br /&gt;
* table '''form''': Essa tabela abriga todos os dados enviados à página usando ''HTTP POST'' seguidos de quaisquer variáveis enviadas à ''querystring'' usando HTTP GET.&lt;br /&gt;
* table '''cookies''': Essa contém todos os cookies. É possível altera-los usando [[httpSetResponseCookie]].&lt;br /&gt;
* string '''hostname''': É uma ''string'' contendo o endereço de IP ou o nome do host da página requisitada.&lt;br /&gt;
* string '''url''': É a URL da página.&lt;br /&gt;
* account '''user''': Retorna a conta do usuário atual.&lt;br /&gt;
&lt;br /&gt;
É importante lembrar que os arquivos estão em uma máquina virtual separada do resto do seu recurso. Como também, se desejar chamar alguma função presente no script dele, ela terá de ser exportada, e mais tarde, usando-a chamando o [[call]] na página criada.&lt;br /&gt;
&lt;br /&gt;
==Calls==&lt;br /&gt;
É possível definir certas funções a serem chamadas via HTTP. Todos os SDKs (listados abaixo) lhe permitem fazer isso remotamente.&lt;br /&gt;
&lt;br /&gt;
Para fazer isto, é só adicionar a linha abaixo em seu meta.xml:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;export function='functionName' http='true' /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A sua função pode ser escrita normalmente e retornar quantas variáveis for preciso; incluindo tabelas, recursos, e o mais importante: elementos. Em contrapartida, ''não'' é possível retornar qualquer variável do tipo ''userdata'', como ''[[xmlnode|xmlnodes]]'' ou funções.&lt;br /&gt;
&lt;br /&gt;
==Protocolos==&lt;br /&gt;
{{Dica|Não é preciso aprender isso, a não ser que você esteja escrevendo seu próprio código de ''HTTP request''. Se desejar, use uma das [[#SDK|SDKs listadas abaixo]].}}&lt;br /&gt;
&lt;br /&gt;
Chamadas são feitas ao se utilizar ''&amp;lt;nowiki&amp;gt;http://&amp;lt;IP&amp;gt;:&amp;lt;porta&amp;gt;/&amp;lt;recurso&amp;gt;/call/&amp;lt;função-exportada&amp;gt;&amp;lt;/nowiki&amp;gt;' usando ''HTTP POST''. O corpo do comando pode ser uma ''array'' JSON contendo argumentos a serem enviados à função.&lt;br /&gt;
&lt;br /&gt;
A resposta HTTP também será uma ''array'' JSON contendo valor(es) retornados pela função.&lt;br /&gt;
&lt;br /&gt;
O servidor suporta autenticação HTTP básica e você poderá configurar-la via ACL e pelo sistema padrão de contas.&lt;br /&gt;
&lt;br /&gt;
===Chamadas via interface web HTTP===&lt;br /&gt;
Chamadas são praticamente a coisa mais fácil a ser feita pela interface web.&lt;br /&gt;
&lt;br /&gt;
Primeiro, adicione esta linha no meta:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include resource=&amp;quot;ajax&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segundo, adicione o código a seguir dentro de &amp;lt;head&amp;gt; na página da qual deseja chamar a função:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;* = exports.ajax:start(getResourceName(getThisResource())) *&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a partir de agora, é só digitar um bloco em javascript e chamar as funções quase como se fossem locais. A única diferença é que as chamadas são assíncronas. Não se esqueça de especificar uma função a qual receberá o retorno HTTP no último argumento.&lt;br /&gt;
&lt;br /&gt;
Aí vai um exemplo:&lt;br /&gt;
&lt;br /&gt;
'''meta.xml'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
   &amp;lt;include resource=&amp;quot;ajax&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;script src='code.lua' /&amp;gt;&lt;br /&gt;
   &amp;lt;html src='page.htm' default='true' /&amp;gt;&lt;br /&gt;
   &amp;lt;export function='showChatMessage' http='true' /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''code.lua'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function showChatMessage ( message )&lt;br /&gt;
    outputChatBox ( message )&lt;br /&gt;
    return 5;&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''page.htm'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = exports.ajax:start(getResourceName(getThisResource())) *&amp;gt;&lt;br /&gt;
        &amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;
            function say() {&lt;br /&gt;
                var message = document.getElementById('message')&lt;br /&gt;
                showChatMessage ( message.value, &lt;br /&gt;
                    function ( number ) {&lt;br /&gt;
                        // the function has been called and returned something&lt;br /&gt;
                        message.value = &amp;quot;The function returned &amp;quot; + number;&lt;br /&gt;
                    }&lt;br /&gt;
                );&lt;br /&gt;
            }&lt;br /&gt;
        &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;input type='text' id='message' /&amp;gt;&amp;lt;input type='button' value='say' onclick='say();' /&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É possível ver alguns exemplos um pouco complexos de como se utiliza esse método nos recursos''resourcebrowser'', ''resourcemanager'' e ''webadmin''.&lt;br /&gt;
&lt;br /&gt;
==Garantindo segurança na interface web==&lt;br /&gt;
O [[PT-BR/ACL|ACL]] contém um certo número de permissões que podem afetar a maneira como os arquivos são acessados.&lt;br /&gt;
{{Componente_ultrapassado|3.0139|1.3.1|&lt;br /&gt;
* general.http: Se for desativada, nenhum dos arquivos http poderão ser acessados (excluindo os do cliente)&lt;br /&gt;
** '''É importante lembrar''': ''Se essa for ativada, todos os recursos (definidos nesse ACL) ganharão acesso automaticamente. Para desabilitar isso em recursos com funções exportadas, é preciso explicitar o bloqueio.''&lt;br /&gt;
** '''É importante lembrar''': ''Se for ativada em um ACL contendo um usuário sem senha (ex: user.*, user.guest ou user.http_guest), é recomendado bloquear o acesso à recursos que contém funções exportadas ao HTTP.''&lt;br /&gt;
* resource.'''Nome-do-recurso''': Se for desabilitada, nenhum dos arquivos do recurso poderão ser acessados&lt;br /&gt;
* resource.'''Nome-do-recurso'''.file.'''Nome-do-arquivo''': Se for desabilitada, este não poderá ser acessado&lt;br /&gt;
* resource.'''Nome-do-recurso'''.function.'''Nome-da-função''': Se for desabilitada, a função não poderá ser chamada&lt;br /&gt;
&lt;br /&gt;
Todos esses acima funciona com outras permissões do ACL; ou seja, é possível desabilita-los para usuários comuns ou só permitir acesso aos administradores. Ou até mesmo a outro grupo de usuários credenciados.&lt;br /&gt;
}}&lt;br /&gt;
{{Novo_componente|3.0139|1.3.1|&lt;br /&gt;
* '''resource.Nome-do-recurso.http''': Se for habilitada, o recurso será acessível a partir do endereço: http://ip_do_servidor:22005/Nome_do_recurso/&lt;br /&gt;
Isso funciona para outras permissões do ACL também, ou seja, é possível habilitar-la só a administradores ou um grupo específico.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==SDK==&lt;br /&gt;
Há alguns dos tão conhecidos SDKs disponíveis para interagir com o servidor a partir de outras linguagens de programação. Com isso, é possível (em teoria) escrever gamemodes completos. Na prática, é uma má ideia, porém útil para estatísticas e administração. O SDK de PHP é o mais desenvolvido. Sinta-se a vontade de modificar ou criar seu próprio SDK - não se esqueça de nos mandar uma cópia, por favor!&lt;br /&gt;
&lt;br /&gt;
* [[JavaSDK|Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP SDK]]&lt;br /&gt;
* [[CSharp SDK|C# SDK]]&lt;br /&gt;
&lt;br /&gt;
==Veja mais==&lt;br /&gt;
[[callRemote]] - Permite a chamada de funções em páginas PHP (com o SDK próprio) e incluise em outros servidores.&lt;br /&gt;
[[Category:Conceitos_de_Scripting]]&lt;br /&gt;
[[en:Resource Web Access]]&lt;br /&gt;
[[ru:Resource Web Access]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Shadertest_resource&amp;diff=49267</id>
		<title>Shadertest resource</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Shadertest_resource&amp;diff=49267"/>
		<updated>2016-09-23T20:49:10Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example resource for testing [[shader|shaders]]&lt;br /&gt;
&lt;br /&gt;
File layout:&lt;br /&gt;
    shadertest&lt;br /&gt;
        meta.xml&lt;br /&gt;
        clientscript.lua&lt;br /&gt;
        clientshader.fx&lt;br /&gt;
        hurry.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
meta.xml contains this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;clientscript.lua&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;clientshader.fx&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;hurry.png&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clientscript.lua contains this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, resourceRoot,&lt;br /&gt;
    function()&lt;br /&gt;
        myShader,tecName = dxCreateShader( &amp;quot;clientshader.fx&amp;quot; )&lt;br /&gt;
        myImage = dxCreateTexture( &amp;quot;hurry.png&amp;quot; )&lt;br /&gt;
        if myShader and myImage then&lt;br /&gt;
            dxSetShaderValue( myShader, &amp;quot;tex0&amp;quot;, myImage )&lt;br /&gt;
            outputChatBox( &amp;quot;Shader using techinque &amp;quot; .. tecName )&lt;br /&gt;
        else&lt;br /&gt;
            outputChatBox( &amp;quot;Problem - use: debugscript 3&amp;quot; )&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
addEventHandler( &amp;quot;onClientRender&amp;quot;, root,&lt;br /&gt;
    function()&lt;br /&gt;
        if myShader then&lt;br /&gt;
             dxDrawImage( 200, 300, 400, 200, myShader, 0, 0, 0, tocolor(255,255,0) )&lt;br /&gt;
        end&lt;br /&gt;
   end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
clientshader.fx contains this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
    // Insert your fabulous crap here&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
hurry.png is copied from the race resource. i.e. '''race/img/hurry.png'''&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DE/Xml&amp;diff=49266</id>
		<title>DE/Xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DE/Xml&amp;diff=49266"/>
		<updated>2016-09-23T20:48:04Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;XML steht für ''Extensible Markup Language''.&lt;br /&gt;
XML kann in MTA verwendet werden, um Daten zu lesen oder zu schreiben.&lt;br /&gt;
MTA Mapdateien sind auch im XML-Format. &lt;br /&gt;
&lt;br /&gt;
Beispiel für XML:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Slothman&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Stealth&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;help.xml&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noiseblip.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;mission_timer.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_server.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;gadgets_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;stealthmain_client.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;noisebar.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;spycam.lua&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.txd&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;riot_shield.col&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;armor.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;camera.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;cloak.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;goggles.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;mine.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;radar.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;shield.png&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;scoreboard&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;killmessages&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;maplimits&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Ähnliche Skriptingfunktionen==&lt;br /&gt;
&lt;br /&gt;
{{XML functions}}&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Xmlnode]]&lt;br /&gt;
*[[Meta.xml]]&lt;br /&gt;
*[[Resource:Editor/EDF]]&lt;br /&gt;
*[http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=22247 Meta.xml generator]&lt;br /&gt;
*[http://en.wikipedia.org/wiki/XML XML on Wikipedia]&lt;br /&gt;
*[http://www.w3.org/XML/ W3C XML homepage]&lt;br /&gt;
&lt;br /&gt;
[[Category:DE/Skripting Konzepte]]&lt;br /&gt;
&lt;br /&gt;
[[en:Xml]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=JavaSDK&amp;diff=49265</id>
		<title>JavaSDK</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=JavaSDK&amp;diff=49265"/>
		<updated>2016-09-23T20:47:11Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This SDK allows you to call exported MTA functions from Java over HTTP.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
To use it, you need to add library to your class-path.&lt;br /&gt;
It's included in the zip file below.&lt;br /&gt;
&lt;br /&gt;
To get started, copy modules/ml_sockets into your modules folder.And load that.&lt;br /&gt;
After that, copy resources/jsdk into your resources folder.And start that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Classes==&lt;br /&gt;
===com.mtasa.elements.Resource===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
public String getName();&lt;br /&gt;
public com.mtasa.MTA getServer();&lt;br /&gt;
public void setServer(com.mtasa.MTA newServer);&lt;br /&gt;
public String getResourceInfo(String attr);&lt;br /&gt;
public boolean setResourceInfo(String attr, String newVal);&lt;br /&gt;
public boolean stopResource();&lt;br /&gt;
public boolean startResource();&lt;br /&gt;
public com.mtasa.LuaArgs call(String functionName,LuaArgs parameters);&lt;br /&gt;
public String toString();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===com.mtasa.elements.Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
public String getType();&lt;br /&gt;
public boolean is_a(Class&amp;lt;?&amp;gt; compareElement);&lt;br /&gt;
public boolean clearElementVisibleTo(Element visibleTo);&lt;br /&gt;
public Element cloneElement();&lt;br /&gt;
public boolean destroyElement();&lt;br /&gt;
public Point3D getElementPosition();&lt;br /&gt;
public boolean setElementPosition(double x,double y,double z);&lt;br /&gt;
public boolean setElementPosition(Point3D points);&lt;br /&gt;
public Point3D getElementRotation();&lt;br /&gt;
public boolean setElementRotation(double x,double y,double z);&lt;br /&gt;
public boolean setElementRotation(Point3D points);&lt;br /&gt;
public int getElementAlpha();&lt;br /&gt;
public boolean setElementAlpha(int alpha);&lt;br /&gt;
public float getElementHealth();&lt;br /&gt;
public boolean setElementHealth(float health);&lt;br /&gt;
public int getElementModel();&lt;br /&gt;
public boolean setElementModel(int model);&lt;br /&gt;
public int getElementInterior();&lt;br /&gt;
public boolean setElementInterior(int interior);&lt;br /&gt;
public int getElementDimension();&lt;br /&gt;
public boolean setElementDimension(int dimension);&lt;br /&gt;
public Point3D getElementVelocity();&lt;br /&gt;
public boolean setElementVelocity(double x,double y,double z);&lt;br /&gt;
public boolean setElementVelocity(Point3D points);&lt;br /&gt;
public boolean isElementVisibleTo(Element element);&lt;br /&gt;
public boolean setElementVisibleTo(Element element,boolean visible);&lt;br /&gt;
public boolean isElementFrozen();&lt;br /&gt;
public boolean setElementFrozen(boolean frozen);&lt;br /&gt;
public String getElementID();&lt;br /&gt;
public boolean setElementID(String new_id);&lt;br /&gt;
public String getElementData(String data_name);&lt;br /&gt;
public boolean setElementData(String data_name,String newVal);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===com.mtasa.elements.Ped extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Cloth Types&lt;br /&gt;
public static final int CLOTH_SHIRT = 0;&lt;br /&gt;
public static final int CLOTH_HEAD = 1;&lt;br /&gt;
public static final int CLOTH_TROUSERS = 2;&lt;br /&gt;
public static final int CLOTH_SHOES = 3;&lt;br /&gt;
public static final int CLOTH_TATTOOS_LEFT_UPPER_ARM = 4;&lt;br /&gt;
public static final int CLOTH_TATTOOS_LEFT_LOWER_ARM = 5;&lt;br /&gt;
public static final int CLOTH_TATTOOS_RIGHT_UPPER_ARM = 6;&lt;br /&gt;
public static final int CLOTH_TATTOOS_RIGHT_LOWER_ARM = 7;&lt;br /&gt;
public static final int CLOTH_TATTOOS_BACK = 8;&lt;br /&gt;
public static final int CLOTH_TATTOOS_LEFT_CHEST = 9;&lt;br /&gt;
public static final int CLOTH_TATTOOS_RIGHT_CHEST = 10;&lt;br /&gt;
public static final int CLOTH_TATTOOS_STOMACH = 11;&lt;br /&gt;
public static final int CLOTH_TATTOOS_LOWER_BACK = 12;&lt;br /&gt;
public static final int CLOTH_NECKLACE = 13;&lt;br /&gt;
public static final int CLOTH_WATCH = 14;&lt;br /&gt;
public static final int CLOTH_GLASSES = 15;&lt;br /&gt;
public static final int CLOTH_HAT = 16;&lt;br /&gt;
public static final int CLOTH_EXTRA = 17;&lt;br /&gt;
&lt;br /&gt;
// Fighting Styles&lt;br /&gt;
public static final int STYLE_STANDARD = 4;&lt;br /&gt;
public static final int STYLE_BOXING = 5;&lt;br /&gt;
public static final int STYLE_KUNG_FU = 6;&lt;br /&gt;
public static final int STYLE_KNEE_HEAD = 7;&lt;br /&gt;
public static final int STYLE_GRAB_KICK = 15;&lt;br /&gt;
public static final int STYLE_ELBOWS = 16;&lt;br /&gt;
&lt;br /&gt;
// Ped stats&lt;br /&gt;
public static final int PROGRESS_MADE = 0;&lt;br /&gt;
public static final int TOTAL_PROGRESS = 1;&lt;br /&gt;
public static final int LONGEST_BASKETBALL = 2;&lt;br /&gt;
&lt;br /&gt;
public static final int DIST_FOOT = 3;&lt;br /&gt;
public static final int DIST_CAR = 4;&lt;br /&gt;
public static final int DIST_BIKE = 5;&lt;br /&gt;
public static final int DIST_BOAT = 6;&lt;br /&gt;
public static final int DIST_GOLF_CART = 7;&lt;br /&gt;
public static final int DIST_HELICOPTOR = 8;&lt;br /&gt;
public static final int DIST_PLANE = 9;&lt;br /&gt;
public static final int LONGEST_WHEELIE_DIST = 10;&lt;br /&gt;
public static final int LONGEST_STOPPIE_DIST = 11;&lt;br /&gt;
public static final int LONGEST_2WHEEL_DIST = 12;&lt;br /&gt;
&lt;br /&gt;
public static final int WEAPON_BUDGET = 13;&lt;br /&gt;
public static final int FASHION_BUDGET = 14;&lt;br /&gt;
public static final int PROPERTY_BUDGET = 15;&lt;br /&gt;
public static final int SPRAYING_BUDGET = 16;&lt;br /&gt;
&lt;br /&gt;
public static final int LONGEST_WHEELIE_TIME = 17;&lt;br /&gt;
public static final int LONGEST_STOPPIE_TIME = 18;&lt;br /&gt;
public static final int LONGEST_2WHEEL_TIME = 19;&lt;br /&gt;
public static final int FOOD_BUDGET = 20;&lt;br /&gt;
&lt;br /&gt;
public static final int FAT = 21;&lt;br /&gt;
public static final int STAMINA = 22;&lt;br /&gt;
public static final int BODY_MUSCLE = 23;&lt;br /&gt;
public static final int MAX_HEALTH = 24;&lt;br /&gt;
public static final int SEX_APPEAL = 25;&lt;br /&gt;
&lt;br /&gt;
public static final int DIST_SWIMMING = 26;&lt;br /&gt;
public static final int DIST_CYCLE = 27;&lt;br /&gt;
public static final int DIST_TREADMILL = 28;&lt;br /&gt;
public static final int DIST_EXCERSISE_BIKE = 29;&lt;br /&gt;
public static final int TATTOO_BUDGET = 30;&lt;br /&gt;
public static final int HAIRDRESSING_BUDGET = 31;&lt;br /&gt;
public static final int PROSTITUTE_BUDGET = 33;&lt;br /&gt;
&lt;br /&gt;
public static final int MONEY_SPENT_GAMBLING = 35;&lt;br /&gt;
public static final int MONEY_MADE_PIMPING = 36;&lt;br /&gt;
public static final int MONEY_WON_GAMBLING = 37;&lt;br /&gt;
public static final int BIGGEST_GAMBLING_WIN = 38;&lt;br /&gt;
public static final int BIGGEST_GAMBLING_LOSS = 39;&lt;br /&gt;
public static final int LARGEST_BURGLARY_SWAG = 40;&lt;br /&gt;
public static final int MONEY_MADE_BURGLARY = 41;&lt;br /&gt;
public static final int LONGEST_TREADMILL_TIME = 44;&lt;br /&gt;
public static final int LONGEST_EXCERSISE_BIKE_TIME = 45;&lt;br /&gt;
public static final int HEAVIEST_WEIGHT_BENCH_PRESS = 46;&lt;br /&gt;
public static final int HEAVIEST_WEIGHT_DUMBELLS = 47;&lt;br /&gt;
public static final int BEST_TIME_HOTRING = 48;&lt;br /&gt;
public static final int BEST_TIME_BMX = 49;&lt;br /&gt;
public static final int LONGEST_CHASE_TIME = 51;&lt;br /&gt;
public static final int LAST_CHASE_TIME = 52;&lt;br /&gt;
public static final int WAGE_BILL = 53;&lt;br /&gt;
public static final int STRIP_CLUB_BUDGET = 54;&lt;br /&gt;
public static final int CAR_MOD_BUDGET = 55;&lt;br /&gt;
public static final int TIME_SPENT_SHOPPING = 56;&lt;br /&gt;
public static final int TOTAL_SHOPPING_BUDGET = 62;&lt;br /&gt;
public static final int TIME_SPENT_UNDERWATER = 63;&lt;br /&gt;
&lt;br /&gt;
public static final int RESPECT_TOTAL = 64;&lt;br /&gt;
public static final int RESPECT_GIRLFRIEND = 65;&lt;br /&gt;
public static final int RESPECT_CLOTHES = 66;&lt;br /&gt;
public static final int RESPECT_FITNESS = 67;&lt;br /&gt;
public static final int RESPECT = 68;&lt;br /&gt;
&lt;br /&gt;
public static final int WEAPONTYPE_PISTOL_SKILL = 69;&lt;br /&gt;
public static final int WEAPONTYPE_PISTOL_SILENCED_SKILL = 70;&lt;br /&gt;
public static final int WEAPONTYPE_DESERT_EAGLE_SKILL = 71;&lt;br /&gt;
public static final int WEAPONTYPE_SHOTGUN_SKILL = 72;&lt;br /&gt;
public static final int WEAPONTYPE_SAWNOFF_SHOTGUN_SKILL = 73;&lt;br /&gt;
public static final int WEAPONTYPE_SPAS12_SHOTGUN_SKILL = 74;&lt;br /&gt;
public static final int WEAPONTYPE_MICRO_UZI_SKILL = 75;&lt;br /&gt;
public static final int WEAPONTYPE_MP5_SKILL = 76;&lt;br /&gt;
public static final int WEAPONTYPE_AK47_SKILL = 77;&lt;br /&gt;
public static final int WEAPONTYPE_M4_SKILL = 78;&lt;br /&gt;
public static final int WEAPONTYPE_SNIPERRIFLE_SKILL = 79;&lt;br /&gt;
public static final int SEX_APPEAL_CLOTHES = 80;&lt;br /&gt;
public static final int GAMBLING = 81;&lt;br /&gt;
&lt;br /&gt;
public static final int PEOPLE_KILLED_BY_OTHERS = 120;&lt;br /&gt;
public static final int PEOPLE_KILLED_BY_PLAYER = 121;&lt;br /&gt;
public static final int CARS_DESTROYED = 122;&lt;br /&gt;
public static final int BOATS_DESTROYED = 123;&lt;br /&gt;
public static final int HELICOPTORS_DESTROYED = 124;&lt;br /&gt;
public static final int PROPERTY_DESTROYED = 125;&lt;br /&gt;
public static final int ROUNDS_FIRED = 126;&lt;br /&gt;
public static final int EXPLOSIVES_USED = 127;&lt;br /&gt;
public static final int BULLETS_HIT = 128;&lt;br /&gt;
public static final int TYRES_POPPED = 129;&lt;br /&gt;
public static final int HEADS_POPPED = 130;&lt;br /&gt;
public static final int WANTED_STARS_ATTAINED = 131;&lt;br /&gt;
public static final int WANTED_STARS_EVADED = 132;&lt;br /&gt;
public static final int TIMES_ARRESTED = 133;&lt;br /&gt;
public static final int DAYS_PASSED = 134;&lt;br /&gt;
public static final int TIMES_DIED = 135;&lt;br /&gt;
public static final int TIMES_SAVED = 136;&lt;br /&gt;
public static final int TIMES_CHEATED = 137;&lt;br /&gt;
public static final int SPRAYINGS = 138;&lt;br /&gt;
public static final int MAX_JUMP_DISTANCE = 139;&lt;br /&gt;
public static final int MAX_JUMP_HEIGHT = 140;&lt;br /&gt;
public static final int MAX_JUMP_FLIPS = 141;&lt;br /&gt;
public static final int MAX_JUMP_SPINS = 142;&lt;br /&gt;
public static final int BEST_STUNT = 143;&lt;br /&gt;
public static final int UNIQUE_JUMPS_FOUND = 144;&lt;br /&gt;
public static final int UNIQUE_JUMPS_DONE = 145;&lt;br /&gt;
public static final int MISSIONS_ATTEMPTED = 146;&lt;br /&gt;
public static final int MISSIONS_PASSED = 147;&lt;br /&gt;
public static final int TOTAL_MISSIONS = 148;&lt;br /&gt;
public static final int TAXI_MONEY_MADE = 149;&lt;br /&gt;
public static final int PASSENGERS_DELIVERED_IN_TAXI = 150;&lt;br /&gt;
public static final int LIVES_SAVED = 151;&lt;br /&gt;
public static final int CRIMINALS_CAUGHT = 152;&lt;br /&gt;
public static final int FIRES_EXTINGUISHED = 153;&lt;br /&gt;
public static final int PIZZAS_DELIVERED = 154;&lt;br /&gt;
public static final int ASSASSINATIONS = 155;&lt;br /&gt;
public static final int LATEST_DANCE_SCORE = 156;&lt;br /&gt;
public static final int VIGILANTE_LEVEL = 157;&lt;br /&gt;
public static final int AMBULANCE_LEVEL = 158;&lt;br /&gt;
public static final int FIREFIGHTER_LEVEL = 159;&lt;br /&gt;
public static final int DRIVING_SKILL = 160;&lt;br /&gt;
public static final int TRUCK_MISSIONS_PASSED = 161;&lt;br /&gt;
public static final int TRUCK_MONEY_MADE = 162;&lt;br /&gt;
public static final int RECRUITED_GANG_MEMBERS_KILLED = 163;&lt;br /&gt;
public static final int ARMOUR = 164;&lt;br /&gt;
public static final int ENERGY = 165;&lt;br /&gt;
public static final int PHOTOS_TAKEN = 166;&lt;br /&gt;
public static final int KILL_FRENZIES_ATTEMPTED = 167;&lt;br /&gt;
public static final int KILL_FRENZIES_PASSED = 168;&lt;br /&gt;
public static final int FLIGHT_TIME = 169;&lt;br /&gt;
public static final int TIMES_DROWNED = 170;&lt;br /&gt;
public static final int NUM_GIRLS_PIMPED = 171;&lt;br /&gt;
public static final int BEST_POSITION_HOTRING = 172;&lt;br /&gt;
public static final int FLIGHT_TIME_JETPACK = 173;&lt;br /&gt;
public static final int SHOOTING_RANGE_SCORE = 174;&lt;br /&gt;
public static final int VALET_CARS_PARKED = 175;&lt;br /&gt;
public static final int KILLS_SINCE_LAST_CHECKPOINT = 176;&lt;br /&gt;
public static final int TOTAL_LEGITIMATE_KILLS = 177;&lt;br /&gt;
public static final int BLOODRING_KILLS = 178;&lt;br /&gt;
public static final int BLOODRING_TIME = 179;&lt;br /&gt;
public static final int NO_MORE_HURRICANES = 180;&lt;br /&gt;
public static final int CITIES_PASSED = 181;&lt;br /&gt;
public static final int POLICE_BRIBES = 182;&lt;br /&gt;
public static final int CARS_STOLEN = 183;&lt;br /&gt;
public static final int CURRENT_GIRLFRIENDS = 184;&lt;br /&gt;
public static final int BAD_DATES = 185;&lt;br /&gt;
public static final int GIRLS_DATED = 186;&lt;br /&gt;
public static final int TIMES_SCORED_WITH_GIRL = 187;&lt;br /&gt;
public static final int DATES = 188;&lt;br /&gt;
public static final int GIRLS_DUMPED = 189;&lt;br /&gt;
public static final int TIMES_VISITED_PROSTITUTE = 190;&lt;br /&gt;
public static final int HOUSES_BURGLED = 191;&lt;br /&gt;
public static final int SAFES_CRACKED = 192;&lt;br /&gt;
public static final int STOLEN_ITEMS_SOLD = 194;&lt;br /&gt;
public static final int EIGHT_BALLS_IN_POOL = 195;&lt;br /&gt;
public static final int WINS_IN_POOL = 196;&lt;br /&gt;
public static final int LOSSES_IN_POOL = 197;&lt;br /&gt;
public static final int VISITS_TO_GYM = 198;&lt;br /&gt;
public static final int MEALS_EATEN = 200;&lt;br /&gt;
public static final int UNDERWATER_STAMINA = 225;&lt;br /&gt;
public static final int BIKE_SKILL = 229;&lt;br /&gt;
public static final int CYCLE_SKILL = 230;&lt;br /&gt;
// Functions:&lt;br /&gt;
public boolean addPedClothes(String texture,String model, int type);&lt;br /&gt;
public boolean doesPedHaveJetPack();&lt;br /&gt;
public String[] getPedClothes(int clothesType);&lt;br /&gt;
public int getPedFightingStyle();&lt;br /&gt;
public boolean setPedFightingStyle(int style);&lt;br /&gt;
public float getPedGravity();&lt;br /&gt;
public boolean setPedGravity(float style);&lt;br /&gt;
public int getPedSkin();&lt;br /&gt;
public boolean setPedSkin(int skin);&lt;br /&gt;
public float getPedRotation();&lt;br /&gt;
public boolean setPedRotation(float rot);&lt;br /&gt;
public boolean givePedJetpack();&lt;br /&gt;
public boolean removePedJetpack();&lt;br /&gt;
public Vehicle getPedOccupiedVehicle();&lt;br /&gt;
public float getPedStat(int stat);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===com.mtasa.elements.Player extends Ped===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
All Ped Functions;&lt;br /&gt;
public String getPlayerName();&lt;br /&gt;
public String getPlayerName(boolean removecolorcodes);&lt;br /&gt;
public String getPlayerIP();&lt;br /&gt;
public String getPlayerSerial();&lt;br /&gt;
public int getPlayerMoney();&lt;br /&gt;
public int getPlayerPing();&lt;br /&gt;
public Team getPlayerTeam();&lt;br /&gt;
public int getPlayerWantedLevel();&lt;br /&gt;
public boolean givePlayerMoney(int money);&lt;br /&gt;
public boolean isPlayerMuted();&lt;br /&gt;
public boolean setPlayerMoney(int money);&lt;br /&gt;
public boolean setPlayerMuted(boolean muted);&lt;br /&gt;
public boolean setPlayerTeam(Team team);&lt;br /&gt;
public boolean spawnPlayer(double x,double y,double z);&lt;br /&gt;
public boolean spawnPlayer(Point3D p);&lt;br /&gt;
public boolean spawnPlayer(Point3D point,double rot,int skin,int interior,int dimension,Team team);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===com.mtasa.elements.Blip extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Functions will be added soon..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.elements.CollisionShape extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Functions will be added soon..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.elements.GTAObject extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Functions will be added soon..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.elements.Pickup extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Functions will be added soon..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.elements.RadarArea extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Functions will be added soon..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.elements.Team extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Functions will be added soon..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.elements.Vehicle extends Element===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All Element Functions;&lt;br /&gt;
// Functions will be added soon..&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.functions.ElementFuncs===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
public MTA getServer();&lt;br /&gt;
public void setServer(MTA server);&lt;br /&gt;
public static String type_to_string(Class&amp;lt;? extends Element&amp;gt; type);&lt;br /&gt;
public &amp;lt;E extends Element&amp;gt; E[] getElementsByType(Class&amp;lt;E&amp;gt; type);&lt;br /&gt;
public Object[] getElementsByType(String type);&lt;br /&gt;
public Element createElement(String type);&lt;br /&gt;
public Element getElementByID(String id);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.functions.Output===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
public static final int LEVEL_CUSTOM = 0;&lt;br /&gt;
public static final int LEVEL_ERROR = 1;&lt;br /&gt;
public static final int LEVEL_WARNING = 2;&lt;br /&gt;
public static final int LEVEL_INFO = 3;&lt;br /&gt;
&lt;br /&gt;
// Functions:&lt;br /&gt;
&lt;br /&gt;
public MTA getServer();&lt;br /&gt;
public void setServer(MTA server);&lt;br /&gt;
public boolean outputChatBox(Object message);&lt;br /&gt;
public boolean outputChatBox(Object message,Element toElement);&lt;br /&gt;
public boolean outputChatBox(Object message,Element toElement,int r,int g,int b);&lt;br /&gt;
public boolean outputChatBox(Object message,Element toElement,int r,int g,int b,boolean colorcoded);&lt;br /&gt;
public boolean outputConsole(Object message);&lt;br /&gt;
public boolean outputConsole(Object message,Element toElement);&lt;br /&gt;
public boolean outputDebugString(Object message);&lt;br /&gt;
public boolean outputDebugString(Object message,int dlevel);&lt;br /&gt;
public boolean outputDebugString(Object message,int dlevel,int r,int g,int b);&lt;br /&gt;
public boolean outputServerLog(Object message);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===com.mtasa.functions.PlayerFuncs===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
public MTA getServer();&lt;br /&gt;
public void setServer(MTA server);&lt;br /&gt;
public Player getPlayerFromName(String name);&lt;br /&gt;
public Player getPlayerFromNamePart(String name);&lt;br /&gt;
public Player[] getAlivePlayers();&lt;br /&gt;
public Player[] getDeadPlayers();&lt;br /&gt;
public Player getRandomPlayer();&lt;br /&gt;
public int getPlayerCount()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==com.mtasa.LuaArgs extends java.util.List==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All list functions.So, you can use in generic for.&lt;br /&gt;
public MTA getServer();&lt;br /&gt;
public void setServer(MTA server);&lt;br /&gt;
public Element parseElement(int index);&lt;br /&gt;
public Player parsePlayer(int index);&lt;br /&gt;
public Pickup parsePickup(int index);&lt;br /&gt;
public Ped parsePed(int index);&lt;br /&gt;
public Blip parseBlip(int index);&lt;br /&gt;
public CollisionShape parseCollisionShape(int index);&lt;br /&gt;
public GTAObject parseGTAObject(int index);&lt;br /&gt;
public RadarArea parseRadarArea(int index);&lt;br /&gt;
public Team parseTeam(int index);&lt;br /&gt;
public Vehicle parseVehicle(int index) ;&lt;br /&gt;
public Resource parseResource(int index) ;&lt;br /&gt;
public String parseString(int index);&lt;br /&gt;
public Boolean parseBoolean(int index);&lt;br /&gt;
public Double parseDouble(int index);&lt;br /&gt;
public Float parseFloat(int index);&lt;br /&gt;
public Integer parseInt (int index);&lt;br /&gt;
public String toJson();&lt;br /&gt;
public void loadFromJSON(String json);&lt;br /&gt;
public Object[] jsonToObject(String json);&lt;br /&gt;
public static String toJson(Object o);&lt;br /&gt;
public static Object[] fromJson(String j);&lt;br /&gt;
public Object get(int index);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==com.mtasa.MTA==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
public Output out;&lt;br /&gt;
public Element rootElement;&lt;br /&gt;
public PlayerFuncs players;&lt;br /&gt;
public ElementFuncs elements;&lt;br /&gt;
public static final String RESOURCE = &amp;quot;jsdk&amp;quot;; // JavaSDK Resource Name.&lt;br /&gt;
&lt;br /&gt;
// Functions;&lt;br /&gt;
public void sockOpen(); // Port will used in callJava (Changed)&lt;br /&gt;
public Element parseElement(Object o);&lt;br /&gt;
public Resource parseResource(Object o);&lt;br /&gt;
public void sockClose();&lt;br /&gt;
public int getSocketPort();&lt;br /&gt;
public LuaArgs call(String resource,String function,LuaArgs args); // Function must be exported and given http=&amp;quot;true&amp;quot;&lt;br /&gt;
public LuaArgs callFunction(String function,LuaArgs args); // This is for calling server-side functions.(etc:getElementByType)&lt;br /&gt;
public LuaArgs luaArg(Object i); // This is for only 1 parameter arguments.&lt;br /&gt;
// callJava Functions;&lt;br /&gt;
public void addInputEvent(InputEvent e); // Only usable with callJava and sockOpen&lt;br /&gt;
public void removeInputEvent(InputEvent e); // Only usable with callJava and sockOpen&lt;br /&gt;
public void clearInputEvent(); // Only usable with callJava and sockOpen&lt;br /&gt;
public ArrayList&amp;lt;InputEvent&amp;gt; getInputEvents(InputEvent e); // Only usable with callJava and sockOpen&lt;br /&gt;
&lt;br /&gt;
// Getter-Setter;&lt;br /&gt;
public void setHost(String host);&lt;br /&gt;
public String getHost();&lt;br /&gt;
public void setPort(int port);&lt;br /&gt;
public int getPort();&lt;br /&gt;
public void setUsername(String username);&lt;br /&gt;
public String getUsername();&lt;br /&gt;
public void setPassword(String password);&lt;br /&gt;
public String getPassword();&lt;br /&gt;
public String getCharset();&lt;br /&gt;
public void setCharset(String charset);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==com.mtasa.InputEvent( Interface )==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
public void onAction(LuaArgs args, String input) throws MTAException&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==com.mtasa.MTAException extends Exception==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java5&amp;quot;&amp;gt;&lt;br /&gt;
All exception functions;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
MTA server = new MTA(&amp;quot;localhost&amp;quot;,22005,&amp;quot;admin&amp;quot;,&amp;quot;12345&amp;quot;); // Sweet, we are creating a new instance and connection.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* Example 1: */&lt;br /&gt;
Player[] players = server.elements.getElementsByType(Player.class); // ElementFuncs deployed in server.elements :)&lt;br /&gt;
server.out.outputChatBox(&amp;quot;There are &amp;quot;+players.length+&amp;quot; players&amp;quot;,server.rootElement,180,25,25,false); // You don't need getRootElement(), it's deployed in server.rootElement variable.&lt;br /&gt;
LuaArgs ret = server.call(&amp;quot;rcon&amp;quot;,&amp;quot;getThisResource&amp;quot;,null); // We are calling getThisResource in rcon bot.It's exported :)&lt;br /&gt;
Resource thisRes = ret.parseResource(0); // Now, we parsed argument to Resource object.&lt;br /&gt;
Player playerRancho = server.players.getPlayerFromName(&amp;quot;Rancho&amp;quot;); // We're getting player named Rancho, if he has a colorcode. We must add this &lt;br /&gt;
if (playerRancho != null){ // If playerRancho exists&lt;br /&gt;
	server.out.outputChatBox(&amp;quot;&amp;lt;PM&amp;gt; JavaSDK: #0055FFHello Sweety&amp;quot;,playerRancho,255,255,255,true);&lt;br /&gt;
}else{ // else&lt;br /&gt;
	server.out.outputDebugString(&amp;quot;There is no named player RANCHO!&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* Example 2 : */&lt;br /&gt;
Ped[] peds = server.elements.getElementsByType(Ped.class); // We deployed Peds in the peds variable.&lt;br /&gt;
for (Ped ped: peds){ // Generic for, (foreach)&lt;br /&gt;
	if (ped.doesPedHaveJetPack()) // If ped has a jetpack&lt;br /&gt;
		ped.removePedJetpack(); // remove him jetpack&lt;br /&gt;
	else // else&lt;br /&gt;
		ped.givePedJetpack(); // give him jetpack &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* Example 3: */&lt;br /&gt;
Element[] myElements = server.elements.getElementsByType(&amp;quot;myElement&amp;quot;); // Now we get elements by the string type&lt;br /&gt;
// To do :)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* Example 4: for callJava */&lt;br /&gt;
server.sockOpen(); // callJava open ports&lt;br /&gt;
server.addInputEvent(new InputEvent(){&lt;br /&gt;
	@Override&lt;br /&gt;
	public void onAction(LuaArgs args, String input) throws MTAException{&lt;br /&gt;
		String event = args.parseString(0); // Argumant 1 :) It's not default argument :)&lt;br /&gt;
		if (event.equals(&amp;quot;onMyCall&amp;quot;)){&lt;br /&gt;
			System.out.println(&amp;quot;onMyCall: &amp;quot;+args.parseString(1));&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
// lua file:&lt;br /&gt;
for k,v in ipairs(exports.jsdk:getConnections()) do&lt;br /&gt;
    exports.jsdk:callJava(v,&amp;quot;onMyCall&amp;quot;,&amp;quot;Hello&amp;quot;);&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/* Example 5: is_a */&lt;br /&gt;
Player playerRancho = server.players.getPlayerFromName(&amp;quot;Rancho&amp;quot;); // We're getting player named Rancho, if he has a colorcode. We must add this &lt;br /&gt;
&lt;br /&gt;
if (playerRancho != null){ // If playerRancho exists&lt;br /&gt;
	LuaArgs myCallbackargs = new LuaArgs(server); // create new instance&lt;br /&gt;
	myCallbackargs.add(playerRancho); // add a new argument&lt;br /&gt;
	myCallbackargs.add(&amp;quot;How are u?&amp;quot;); // add a new argument&lt;br /&gt;
	LuaArgs ret = server.call(&amp;quot;rcon&amp;quot;,&amp;quot;returnElement&amp;quot;,myCallbackargs); // call the howAre function into rcon resource, and send the 2 parameter :) myCallbackargs&lt;br /&gt;
	for (Object o: ret){ // generic for returns&lt;br /&gt;
		Element e = (Element)o;&lt;br /&gt;
		server.out.outputServerLog(&amp;quot;Returned value is a player?: &amp;quot;+o.is_a(Player.class));&lt;br /&gt;
	}&lt;br /&gt;
}else{ // else&lt;br /&gt;
	server.out.outputDebugString(&amp;quot;There is no named player RANCHO!&amp;quot;);&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*[http://forum.mtasa.com/viewtopic.php?f=148&amp;amp;t=46367 For more examples / tutorials]&lt;br /&gt;
==More complex example==&lt;br /&gt;
[[Image:ExamplaSDK.png]]&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
* You cannot currently compare two Resource or Element objects that you expect to be identical - you need to do a &amp;quot;deep compare&amp;quot;, comparing either the &amp;quot;id&amp;quot; fields or the &amp;quot;name&amp;quot; fields.&lt;br /&gt;
* The zip contains src, and javadoc&lt;br /&gt;
==Download==&lt;br /&gt;
* [https://rapidshare.com/files/3674532513/JavaSDK.zip Download Version 0.2]&lt;br /&gt;
* [http://www.solidfiles.com/d/7713c8510b/ Download Version 0.1]&lt;br /&gt;
==Contact==&lt;br /&gt;
If you have any questions/suggestions you can contact author on MTA forum.&lt;br /&gt;
*[http://forum.mtasa.com/memberlist.php?mode=viewprofile&amp;amp;u=51246 Skyline (laserlaser)]&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=49264</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=49264"/>
		<updated>2016-09-23T20:46:18Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Сервер Multi Theft Auto предоставляет веб-интерфейс, который может различными способами использоваться ресурсами. Цель данной статьи - объяснить, что это за способы и как их можно использовать.&lt;br /&gt;
&lt;br /&gt;
==Обзор==&lt;br /&gt;
У данной системы две ключевые составные части. Первая - стандартный веб-сервер, разрешающий веб-браузерам запрашивать страницы и файлы, которые входят в ресурсы. Вторая - система, разрешающая браузерам вызывать функции, которые вы экспортировали из своих ресурсов.&lt;br /&gt;
&lt;br /&gt;
==Страницы==&lt;br /&gt;
===Указание файла в meta===&lt;br /&gt;
В meta-файле вашего ресурса вы можете указать доступность определенных файлов через веб-браузер. Чтобы это сделать, добавьте строку:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;имяфайла.расширение&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Затем вы сможете получить доступ к этому файлу через веб-браузер по адресу: http://адрес:порт/имяресурса/имяфайла.расширение&amp;lt;br/&amp;gt;&lt;br /&gt;
Например, на локальном сервере, использующем http-порт по умолчанию с запущенным webmap это: http://127.0.0.1:22005/webmap/map.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Бинарные файлы===&lt;br /&gt;
Несмотря на обманчивое название, файлы, указанные с использованием узла html, могут быть любого типа. Если они являются бинарными (двоичными) файлами (типа картинок, zip-архивов), вам понадобится указать это в meta-файле, добавив ''raw=&amp;quot;true&amp;quot;'' к узлу (строке с) ''html''. Это значит, что файлы не будут предварительно обрабатываться перед отправкой веб-браузеру.&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;image.gif&amp;quot; raw=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Анализируемые файлы===&lt;br /&gt;
Если файл не имеет в meta-файле пометки &amp;quot;raw&amp;quot;, тогда перед тем, как быть возвращенным клиенту, он проходит через процессор предварительной обработки. Этот препроцессор в целом работает как в PHP или ASP, но использует LUA. Вы можете встраивать стандартные MTA-скрипты вовнутрь HTML-страниц, имея контроль над выводом. Работают почти все стандартные функции MTA, плюс к ним добавляются еще некоторые специальные [[Template:HTTP functions|HTTP функции]], такие как [[httpWrite]] - функция, выводящая текст в буфер.&lt;br /&gt;
&lt;br /&gt;
Например:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        Этот ресурс называется &amp;lt;* httpWrite( getResourceName(getThisResource()) ) *&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Имеется краткая альтернатива (совместно с PHP и ASP) этого кода, а это значит, что код выше можно также записать как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        Этот ресурс называется &amp;lt;* = getResourceName(getThisResource()) *&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отдельно от HTTP функций, встроенный Lua имеет доступ к следующим переменным среды, содержащим информацию про то, как была запрошена страница:&lt;br /&gt;
* table '''requestHeaders''': Эта таблица содержит все заголовки, которые были запрошены со страницей. Вы можете установить возвращаемые заголовки через использование [[httpSetResponseHeader]]. &lt;br /&gt;
* table '''form''': Эта таблица содержит все данные формы, переданные странице с использованием HTTP POST совмщенно с любыми переменными, переданными в строке запроса с HTTP GET.&lt;br /&gt;
* table '''cookies''': Это таблица со всеми cookies. Вы можете редактировать cookies с использованием [[httpSetResponseCookie]].&lt;br /&gt;
* string '''hostname''': Это строка, содержащая IP адрес или имя хоста, запросившего страницу.&lt;br /&gt;
* string '''url''': Это URL страницы.&lt;br /&gt;
* account '''user''': Это аккаунт текущего пользователя.&lt;br /&gt;
&lt;br /&gt;
Важно заметить, что анализируемые файлы запущены в отдельной от остального кода вашего ресурса виртуальной машине. Следовательно, если вы хотите вызвать функцию из основного кода вашего ресурса, вам понадобится ее экспортировать и воспользоваться функцией [[call]] из анализируемого файла.&lt;br /&gt;
&lt;br /&gt;
==Вызовы==&lt;br /&gt;
Вы можете указать, чтобы определенные экспортированные функции вашего ресурса могли быть вызваны через HTTP-интерфейс. Все SDK (указанные ниже) позволяют вам вызывать эти функции удаленно. &lt;br /&gt;
&lt;br /&gt;
Для указания экспортированной функции, доступной по http, добавьте в файл meta.xml следующее:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;export function='functionName' http='true' /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы можете писать свою функцию как и любую другую обычную, возвращать сколько вам угодно много значений, включия таблицы, ресурсы и, что более важно, элементы. Тем не менее вы ''не можете'' возвращать другие значения 'userdata' типа [[xmlnode|xmlnodes]] или функций.&lt;br /&gt;
&lt;br /&gt;
===Протокол===&lt;br /&gt;
{{note_box|Вам не нужно этого знать за исключением случаев, если вы пишете свой собственный код HTTP-запроса. Можно просто воспользоваться одним из [[#SDK|SDK, указанных ниже]].}}&lt;br /&gt;
&lt;br /&gt;
Вызовы выполняются через запрос ''&amp;lt;nowiki&amp;gt;http://&amp;lt;ваш IP&amp;gt;:&amp;lt;ваш порт&amp;gt;/&amp;lt;имя_ресурса&amp;gt;/call/&amp;lt;имя_экспортированной_функции&amp;gt;&amp;lt;/nowiki&amp;gt;'' с использованием HTTP POST. Тело запроса должно быть JSON массивом из аргументов для функции.&lt;br /&gt;
&lt;br /&gt;
Запрос возвратит JSON-массив значений, возвращенных функцией как HTTP-ответ.&lt;br /&gt;
&lt;br /&gt;
Сервер поддерживает HTTP Basic идентификацию, вы можете конфигурировать доступ через ACL и встроенную систему аккаунтов.&lt;br /&gt;
&lt;br /&gt;
===Вызовы из HTTP веб-интерфейса===&lt;br /&gt;
Вызовы, вероятно, наиболее легки из веб-интерфейса и могут выполняться практически без усилий.&lt;br /&gt;
&lt;br /&gt;
Во-первых, добавьте в файл meta.xml следующее:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;include resource=&amp;quot;ajax&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Во-вторых, в секцию &amp;lt;head&amp;gt; страницы, из который вы хотите производить вызов, добавьте следующее:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;* = exports.ajax:start(getResourceName(getThisResource())) *&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Наконец, вы можете создать на своей странице javascript-блок и вызывать свои функции практически так же, как если бы они были локальными. Единственное различие в том, что вызовы асинхронны - вам следует указывать callback-функцию последним аргументом для своего вызова. Она будет использоваться для возврата каких-либо значений основной функцией.&lt;br /&gt;
&lt;br /&gt;
Вот простой пример.&lt;br /&gt;
&lt;br /&gt;
'''meta.xml'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
   &amp;lt;include resource=&amp;quot;ajax&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;script src='code.lua' /&amp;gt;&lt;br /&gt;
   &amp;lt;html src='page.htm' default='true' /&amp;gt;&lt;br /&gt;
   &amp;lt;export function='showChatMessage' http='true' /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''code.lua'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function showChatMessage ( message )&lt;br /&gt;
    outputChatBox ( message )&lt;br /&gt;
    return 5;&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''page.htm'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = exports.ajax:start(getResourceName(getThisResource())) *&amp;gt;&lt;br /&gt;
        &amp;lt;script type='text/javascript'&amp;gt;&lt;br /&gt;
            function say() {&lt;br /&gt;
                var message = document.getElementById('message')&lt;br /&gt;
                showChatMessage ( message.value, &lt;br /&gt;
                    function ( number ) {&lt;br /&gt;
                        // функция была вызвана и что-то вернула&lt;br /&gt;
                        message.value = &amp;quot;Функция вернула &amp;quot; + number;&lt;br /&gt;
                    }&lt;br /&gt;
                );&lt;br /&gt;
            }&lt;br /&gt;
        &amp;lt;/script&amp;gt;&lt;br /&gt;
    &amp;lt;/head&amp;gt;&lt;br /&gt;
    &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;input type='text' id='message' /&amp;gt;&amp;lt;input type='button' value='say' onclick='say();' /&amp;gt;&lt;br /&gt;
    &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вы можете видеть (довольно сложные) образцы того, как это можно сделать, в ресурсах ''resourcebrowser'', ''resourcemanager'' и ''webadmin''.&lt;br /&gt;
&lt;br /&gt;
==Обезопашивание веб-интерфейса==&lt;br /&gt;
[[ACL]] предоставляет некоторое количество прав, которые могут влиять на то, какие файлы смогут быть доступны.&lt;br /&gt;
* general.http: Если выключен, никакие из http файлов не будут доступны (за исключением игровых клиентов)&lt;br /&gt;
* resource.'''ResourceName''': Если выключен, никакие из файлов ресурса не будут доступны&lt;br /&gt;
* resource.'''ResourceName'''.file.'''FileName''': Если выключен, файл с данным названием не будет доступен&lt;br /&gt;
* resource.'''ResourceName'''.function.'''FunctionName''': Если выключен, функцию невозможно будет вызвать&lt;br /&gt;
Они работают как и другие ACL права - вы можете их отключить для обычных пользователей и просто включить для группы Admin, или любой другой, которой вы пожелаете.&lt;br /&gt;
&lt;br /&gt;
==SDK==&lt;br /&gt;
Доступно некоторое количество так называемых 'SDK', которые позволяют вам сообщаться с сервером через другие языки программирования. С их помощью вы (теоретически) можете писать целые игровые режимы. На практике, возможно, не очень хорошая идея, но это тем не менее является очень полезным для статистики и администрирования. PHP SDK - наиболее развитая версия. Не стесняйтесь модифицировать или создавать собственные SDK - если решитесь, пожалуйста, пришлите нам копию.&lt;br /&gt;
&lt;br /&gt;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP SDK]]&lt;br /&gt;
* [[CSharp SDK|C# SDK]]&lt;br /&gt;
&lt;br /&gt;
==Также смотрите==&lt;br /&gt;
[[callRemote]] - Позволяет игровым серверам вызывать функции на PHP-страницах (с PHP SDK) и других игровых серверах.&lt;br /&gt;
[[Category:Понятия скриптинга]]&lt;br /&gt;
[[en:Resource Web Access]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetOffsetFromXYZ&amp;diff=49263</id>
		<title>GetOffsetFromXYZ</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetOffsetFromXYZ&amp;diff=49263"/>
		<updated>2016-09-23T20:45:30Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function can be used to get the relative x,y,z positions from an element and a world position.&lt;br /&gt;
Requires the [[Lua matrix library]].&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;table getOffsetFromXYZ( mat, vector )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Arguments===&lt;br /&gt;
* '''mat''': a Matrix from the source vehicle&lt;br /&gt;
* '''vector''': an x,y,z position&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a table containing the relative x, y, z positions.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server- and/or clientside Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function getOffsetFromXYZ( mat, vec )&lt;br /&gt;
    -- make sure our matrix is setup correctly 'cos MTA used to set all of these to 1.&lt;br /&gt;
    mat[1][4] = 0&lt;br /&gt;
    mat[2][4] = 0&lt;br /&gt;
    mat[3][4] = 0&lt;br /&gt;
    mat[4][4] = 1&lt;br /&gt;
    mat = matrix.invert( mat )&lt;br /&gt;
    local offX = vec[1] * mat[1][1] + vec[2] * mat[2][1] + vec[3] * mat[3][1] + mat[4][1]&lt;br /&gt;
    local offY = vec[1] * mat[1][2] + vec[2] * mat[2][2] + vec[3] * mat[3][2] + mat[4][2]&lt;br /&gt;
    local offZ = vec[1] * mat[1][3] + vec[2] * mat[2][3] + vec[3] * mat[3][3] + mat[4][3]&lt;br /&gt;
    return {offX, offY, offZ}&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
TODO&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
--todo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Modules/bIRC&amp;diff=49262</id>
		<title>RU/Modules/bIRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Modules/bIRC&amp;diff=49262"/>
		<updated>2016-09-23T20:45:09Z</updated>

		<summary type="html">&lt;p&gt;Talidan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;#0099AA&amp;quot; subcaption=&amp;quot;Basic IRC Module&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
{{Outdated|Разработка данного модуля, похоже, остановилась, смотрите [[RU/Resource:Irc|resource:irc]].}}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Module_Info|&lt;br /&gt;
  name           = ml_birc |&lt;br /&gt;
  version        = 1.0 |&lt;br /&gt;
  author         = [[User:Awwu|Awwu]] &amp;lt;awwugta@gmail.com&amp;gt; |&lt;br /&gt;
  module_website = ''Нету'' |&lt;br /&gt;
  download_link  = ''Скоро'' |&lt;br /&gt;
  license        = ''Без лицензии'' |&lt;br /&gt;
  written_in     = Неизвестно |&lt;br /&gt;
  operating_system = Только Windows |&lt;br /&gt;
  compatible_with = 1.0 |&lt;br /&gt;
}}&lt;br /&gt;
Базовый IRC модуль (bIRC) предоставляет полнофункциональный IRC echo для сервера MTA:SA. На данный момент доступен только для Windows серверов на MTA:SA 1.0 (другие не протестированы).&lt;br /&gt;
&lt;br /&gt;
==Установка==&lt;br /&gt;
Распакуйте файл ml_birc.dll в папку ''server\mods\deathmatch\modules\'' вашего сервера.&lt;br /&gt;
&lt;br /&gt;
===mtaserver.conf===&lt;br /&gt;
Добавьте следующую строку в mtaserver.conf вашего сервера:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;module src=&amp;quot;ml_birc&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Предоставляемый функционал скриптинга==&lt;br /&gt;
{{ml_birc functions}}&lt;br /&gt;
{{ml_birc callbacks}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Модули]]&lt;br /&gt;
&lt;br /&gt;
[[en:Modules/bIRC]]&lt;/div&gt;</summary>
		<author><name>Talidan</name></author>
	</entry>
</feed>