<?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=JHXP</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=JHXP"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/JHXP"/>
	<updated>2026-05-02T11:20:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Changes_in_1.6.1&amp;diff=82419</id>
		<title>Changes in 1.6.1</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Changes_in_1.6.1&amp;diff=82419"/>
		<updated>2025-08-26T17:50:27Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Added a redirect to the changelog page for 1.7.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Changes in 1.7]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Grouppage-helper&amp;diff=79009</id>
		<title>MediaWiki:Grouppage-helper</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Grouppage-helper&amp;diff=79009"/>
		<updated>2024-04-05T18:23:41Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Protected &amp;quot;MediaWiki:Grouppage-helper&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multi Theft Auto: Wiki:Helpers&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Grouppage-helper&amp;diff=79008</id>
		<title>MediaWiki:Grouppage-helper</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Grouppage-helper&amp;diff=79008"/>
		<updated>2024-04-05T18:23:32Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Created page with &amp;quot;Multi Theft Auto: Wiki:Helpers&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Multi Theft Auto: Wiki:Helpers&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper-member&amp;diff=79007</id>
		<title>MediaWiki:Group-helper-member</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper-member&amp;diff=79007"/>
		<updated>2024-04-05T18:22:19Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Protected &amp;quot;MediaWiki:Group-helper-member&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;helper&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper-member&amp;diff=79006</id>
		<title>MediaWiki:Group-helper-member</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper-member&amp;diff=79006"/>
		<updated>2024-04-05T18:22:10Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Created page with &amp;quot;helper&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;helper&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper&amp;diff=79005</id>
		<title>MediaWiki:Group-helper</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper&amp;diff=79005"/>
		<updated>2024-04-05T18:20:32Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Protected &amp;quot;MediaWiki:Group-helper&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Helpers&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper&amp;diff=79004</id>
		<title>MediaWiki:Group-helper</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MediaWiki:Group-helper&amp;diff=79004"/>
		<updated>2024-04-05T18:20:01Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Created page with &amp;quot;Helpers&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Helpers&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=ES/Funciones_del_cliente&amp;diff=64333</id>
		<title>ES/Funciones del cliente</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=ES/Funciones_del_cliente&amp;diff=64333"/>
		<updated>2019-09-14T16:10:53Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Original author: Lukio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;client&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
{{Adding_Pages_to_Categories_and_Templates}}&lt;br /&gt;
Esta página enumera todas las '''client-side''' funciones de secuencias de comandos que se han implementado y están disponibles como funciones nativas del Deathmatch mod. Para solicitar una función o evento, utilice [[Requested Functions and Events]] &amp;quot;Funciones y eventos solicitados&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Para más funciones, comprobar el [[UsefulFunctions|useful functions page]]. &amp;quot;Funciones útiles | página de funciones útiles&amp;quot;&lt;br /&gt;
TOC&lt;br /&gt;
&lt;br /&gt;
==Funciones de Audio==&lt;br /&gt;
{{Client_audio_functions}}&lt;br /&gt;
&lt;br /&gt;
==Funciones Blip==&lt;br /&gt;
{{Client_blip_functions}}&lt;br /&gt;
&lt;br /&gt;
==Funciones del Navegador==&lt;br /&gt;
{{CEF_functions}}&lt;br /&gt;
&lt;br /&gt;
==Funciones de la Camara==&lt;br /&gt;
{{Client_camera_functions}}&lt;br /&gt;
&lt;br /&gt;
==Ropa y Funciones Corporales==&lt;br /&gt;
{{Client_Clothes_and_body_functions}}&lt;br /&gt;
&lt;br /&gt;
==Funciones de Colisión==&lt;br /&gt;
{{Client_collision_shape_functions}}&lt;br /&gt;
&lt;br /&gt;
==Funciones del Cursor==&lt;br /&gt;
{{Client_cursor_functions}}&lt;br /&gt;
&lt;br /&gt;
==Funciones de Dibujo==&lt;br /&gt;
{{Drawing_functions}}&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&amp;diff=52564</id>
		<title>Template:Current Version</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&amp;diff=52564"/>
		<updated>2017-10-07T18:51:47Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Updated current version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{{1|}}}|master|1.5|&lt;br /&gt;
{{#ifeq:{{{1|}}}|short|1.5|&lt;br /&gt;
{{#ifeq:{{{1|}}}|fullnodots|155|&lt;br /&gt;
{{#ifeq:{{{1|}}}|full|1.5.5|        3.0155      }}&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=PL/Known_Issues_-_FAQ&amp;diff=51533</id>
		<title>PL/Known Issues - FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=PL/Known_Issues_-_FAQ&amp;diff=51533"/>
		<updated>2017-07-03T16:13:39Z</updated>

		<summary type="html">&lt;p&gt;JHXP: /* Mam GTA San Andreas w wersji Steam. Czy mogę grać w MTA:SA? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note_box|Przed sprawdzeniem problemu upewnij się, czy wszystko jest [http://wiki.multitheftauto.com/wiki/Up-to-date na bieżąco].}}&lt;br /&gt;
Napisz tutaj swoją propozycję Q&amp;amp;A, dotyczącą znanych problemów z MTA:SA i ich rozwiązanie, zwłaszcza prosimy zgłaszać problemy, które są napotykane aktualnie oraz które mogą być spotykane przez użytkowników w ostatecznej wersji.&lt;br /&gt;
Zapraszamy również do edytowania gramatyki i poprawiania zdań na mądre.&lt;br /&gt;
&lt;br /&gt;
* [[PL/Resource:Editor#FAQ|Edytor Map FAQ/Znane problemy można znaleźć tutaj.]]&amp;lt;br&amp;gt;&lt;br /&gt;
* [[MTA 0.5r2 Known Issues|Znane problemy dotyczące MTA 0.5r2 można znaleźć tutaj .]]&lt;br /&gt;
&lt;br /&gt;
==Klient==&lt;br /&gt;
&lt;br /&gt;
===Ogólne===&lt;br /&gt;
&lt;br /&gt;
====Mam GTA San Andreas w wersji Steam. Czy mogę grać w MTA:SA?====&lt;br /&gt;
&lt;br /&gt;
:Tak, możesz grać w MTA:SA 1.5 i wyższe jeśli posiadasz GTA San Andreas zakupioną (lub zarejestrowaną) na platformie Steam. Wystarczy, że zainstalujesz grę GTASA poprzez Steam, a następnie ściągniesz i zainstalujesz klienta MTA:SA, a niezbędne zmiany wykonają się automatycznie.:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Poniższy opis dotyczy WYŁĄCZNIE MTA:SA w wersji 1.4 i niższych:&lt;br /&gt;
:''GTA:SA w wersji Steam jest obecnie niekompatybilne z MTA:SA. Jednakże, wykonując kilka prostych kroków, wersja Steam może działać bez problemu:''&lt;br /&gt;
&lt;br /&gt;
:''*'''Opcja 1:''' Znajdź '''GTA SA 1.00 No CD'''(Google znajdzie potrzebny plik). Należy uzyskać 1.00 Cracked / NOCD EXE, nie obraz płyty.''&lt;br /&gt;
&lt;br /&gt;
::''*Otwórz plik Winrar'em lub innym narzędziem do archiwizacji, a w nim powinien być gta_sa.exe. Umieść ten plik w twoim katalogu instalacyjnym. Jest to zwykle  '''C:\Program Files\Steam\steamapps\common\grand theft auto san andreas'''. Żadne pliki nie muszą być wymieniane w czasie tego procesu.''&lt;br /&gt;
&lt;br /&gt;
:''Procedura ta nie ma wpływu na wersję steam GTA:SA, ale pozwoli to na działanie MTA:SA.''&lt;br /&gt;
&lt;br /&gt;
:''*'''Opcja 2:''' Użyj nieoficjalną [http://forums.steampowered.com/forums/showthread.php?t=1952458 łatkę] obniżającą wersję steam GTA:SA, należy obniżyć wersję do 1.0, a nie do 1.01.''&lt;br /&gt;
&lt;br /&gt;
====Czy MTA:SA jest kompatybilne z GTA San Andreas w wersji 1.01 lub 2.00?====&lt;br /&gt;
&lt;br /&gt;
:Nie. Jednak jest możliwość zmiany wersji na 1.00 - zobacz [https://forum.mtasa.com/viewtopic.php?t=15151 ten temat forum], aby uzyskać instrukcje jak to zrobić.&lt;br /&gt;
&lt;br /&gt;
====Czarny ekran/zawieszony ekran powitalny GTA:SA====&lt;br /&gt;
&lt;br /&gt;
:*'''MTA:SA pokazuje stale czarny ekran lub zawieszony ekran powitalny GTA:SA.'''&lt;br /&gt;
&lt;br /&gt;
:Może to być konieczne, aby podczas / po ekranie powitalnym w GTA:SA trzeba było dać swój wkład w celu pominięcia filmu poprawnie. Spróbuj kliknąć lewy przycisk myszy kilka razy lub naciskając kilka klawiszy.&lt;br /&gt;
&lt;br /&gt;
:*'''MTA:SA pokazuje stale czarny ekran po ekranie powitalnym GTA:SA (ewentualnie z tekstem w prawym dolnym rogu).'''&lt;br /&gt;
&lt;br /&gt;
:Może być to spowodowane brakiem wsparcia dla DirectX lub funkcji karty graficznej w systemie, które są potrzebne do uruchomienia dynamicznie renderowanego menu. To dynamiczne menu jest domyślnie włączone. Można go wyłączyć, otwierając [http://wiki.multitheftauto.com/wiki/Coreconfig.xml coreconfig.xml](głowny folder MTA:SA\katalog MTA) i zmieniając wartość menu_options do 248.&lt;br /&gt;
&lt;br /&gt;
====Zatrzymanie się MTA po ekranie powitalnym====&lt;br /&gt;
&lt;br /&gt;
:*'''Nic się nie dzieje po ekranie powitalnym 'Stop playing with yourself' '''&lt;br /&gt;
&lt;br /&gt;
:Jeśli używasz NVIDIA GeForce, spróbuj wyłączyć nView Desktop Manager przed włączeniem MTA.&lt;br /&gt;
&lt;br /&gt;
:Również spróbować usunąć plik ustawień GTA San Andreas (&amp;quot;gta_sa.set&amp;quot;) w folderze &amp;quot;Dokumenty\GTA San Andreas User Files&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:Jeśli to wszystko zawiedzie sprawdź czy twoje oprogramowanie antywirusowe nie blokuje MTA.&lt;br /&gt;
&lt;br /&gt;
====Błąd MTA po ekranie powitalnym====&lt;br /&gt;
&lt;br /&gt;
:*'''MTA wywala po logu 'Stop playing with yourself'. Zarówno tryb pojedynczego gracza jak i MTA:Race działało przedtem dobrze.&lt;br /&gt;
&lt;br /&gt;
:Spróbuj pobrać najnowsze pliki DirectX Runtime ze strony [http://www.microsoft.com/en-us/download/details.aspx?id=35 Microsoft] . Sprawdź również w Menedżerze zadań, czy proces gta_sa.exe nie jest już uruchomiony.&lt;br /&gt;
&lt;br /&gt;
:Jeżeli masz ustawioną niestandardową rozdzielczość (np. 960x720), spróbuj zmienić rozdzielczość na powszechnie obsługiwaną (np. 640 × 480, 800 × 600, 1024 × 768, 1152 × 864, 1280 × 1024) poprzez uruchomienie Grand Theft Auto: San Andreas w trybie pojedynczego gracza, wyznaczając nową rozdzielczość.&lt;br /&gt;
&lt;br /&gt;
:Jeśli jesteś użytkownikiem systemu Windows Vista lub Windows 7, wykonaj następujące czynności:&lt;br /&gt;
&lt;br /&gt;
:*Włącz tryb kompatybilności dla systemu Windows XP SP3 zarówno dla Multi Theft auto.exe jak i gta_sa.exe, ustaw ich poziom uprawnień do &amp;quot;Uruchom ten program jako administrator&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:*Skonfiguruj zapobieganie wykonywaniu danych: Użyj ustawień Włącz funkcję DEP dla wszystkich programów i usług oprócz tych wybranych&lt;br /&gt;
. Kliknij dodaj i znajdź &amp;quot;Multi Theft auto.exe&amp;quot; oraz &amp;quot;gta_sa.exe&amp;quot; i dodaj je.&lt;br /&gt;
&lt;br /&gt;
:*Uruchom MTA jako administrator.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;Pliki danych zostały zmienione&amp;quot;====&lt;br /&gt;
&lt;br /&gt;
:*Komunikat informujący o błędzie &amp;quot;pliki danych San Andreas zostały zmienione&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:Można to naprawić poprzez zainstalowanie tej [http://updatesa.mtasa.com/sa/files/GTASA-data-1.0.4.exe poprawki](aktualnie brak). &lt;br /&gt;
&lt;br /&gt;
Jeśli to nie zadziała, spróbuj ponownie zainstalować GTA San Andreas.&lt;br /&gt;
&lt;br /&gt;
====Błąd po dołączeniu do dowolnego serwera====&lt;br /&gt;
&lt;br /&gt;
:*'''MTA:SA wywala po dołączeniu do dowolnego serwera. Tryb pojedynczego gracza działa dobrze.'''&lt;br /&gt;
&lt;br /&gt;
:Modyfikacje mogą źle wpływać na działanie MTA:SA. Zawsze należy używać czystego GTA:SA do grania w MTA:SA.&lt;br /&gt;
&lt;br /&gt;
====Sterowanie nie działa====&lt;br /&gt;
&lt;br /&gt;
:*'''Moje ustawienia nie wydają się działać tak, jak powinny.'''&lt;br /&gt;
&lt;br /&gt;
:Spróbuj użyć polecenie 'copygtacontrols' w konsoli.&lt;br /&gt;
&lt;br /&gt;
==== Incorrect models ====&lt;br /&gt;
:* '''Woman model's breasts look awkward ingame / I'm seeing odd, spider-like shaped player models.'''&lt;br /&gt;
&lt;br /&gt;
:This is caused by the way GTA handles player stats. To fix this, be sure to set both fat and muscles player stats to 0, when you're changing player skin.&lt;br /&gt;
&lt;br /&gt;
==== Niepoprawne działanie drive-by ====&lt;br /&gt;
:* '''Drive-by nie działa tak jak powinno'''&lt;br /&gt;
&lt;br /&gt;
:Drive-by jest obsługiwane przez skrypt i może być zależne od załadowanego trybu gry.&lt;br /&gt;
&lt;br /&gt;
==== Unsaved settings ====&lt;br /&gt;
:* '''My MTA setting(s) didn't get saved (...) I crashed.'''&lt;br /&gt;
&lt;br /&gt;
:First, configure the MTA the way you want to, then exit the game and launch it again. Settings should get saved. Alternatively, try removing the coreconfig.xml file, then configure it and quit the game.&lt;br /&gt;
&lt;br /&gt;
==== Wsparcie dla pada ====&lt;br /&gt;
:* '''MTA nie rozpoznaje mojego pada'''&lt;br /&gt;
&lt;br /&gt;
:Ensure that your controller is the first controller recognised by Windows (MTA will only use the first controller).  You can configure your gamepad in options in MTASA's main menu.&lt;br /&gt;
&lt;br /&gt;
:Upewnij się, że twój kontroler jest pierwszym rozpoznanym kontrolerem przez system Windows (MTA używa jedynie pierwszego kontrolera). Możesz skonfigurować swojego pada w opcjach MTA:SA w głównym menu.&lt;br /&gt;
&lt;br /&gt;
==== Free mouselook not working properly ====&lt;br /&gt;
:* '''MTA doesnt recognise my mouse'''&lt;br /&gt;
&lt;br /&gt;
:Some people got problems with their mouse in MTA. They can use it in the menu, connect to a server, but they can't use the mouse for free look.&lt;br /&gt;
:This problem can be solved by entering a server, click your Win/Windows key at your keyboard once, and then click your mouse.&lt;br /&gt;
:If that doesn't work try starting GTA in Singleplayer, go to options &amp;gt; controler setup and set &amp;quot;Configuration&amp;quot; to &amp;quot;Mouse + Keys&amp;quot; instead of &amp;quot;Joypad&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Server browser not working ====&lt;br /&gt;
:* '''The in-game server browser shows &amp;quot;Loading&amp;quot; but does not come up with any servers'''&lt;br /&gt;
&lt;br /&gt;
:Depending on the type and status of the internet connection you are using, it can take up to a few seconds for the server browser to retrieve all the servers. Please wait a little longer for the results to appear.&lt;br /&gt;
&lt;br /&gt;
:If all else fails, you can logon to [http://www.game-monitor.com/search.php?game=mta GameMonitor], and click the green play icon to play on that server.&lt;br /&gt;
&lt;br /&gt;
==== Invalid serial number ====&lt;br /&gt;
:* '''I am getting an 'Invalid serial number' error when trying to launch or play the game'''&lt;br /&gt;
&lt;br /&gt;
:You are running an outdated version of Multi Theft Auto. Head over to the [http://mtasa.com/ main page] and download the latest version of Multi Theft Auto.&lt;br /&gt;
&lt;br /&gt;
==== 'Network module not compatible!' on MTA:SA launch ====&lt;br /&gt;
:* '''I am getting 'Network module not compatible!' error message upon launching MTA:SA&lt;br /&gt;
&lt;br /&gt;
:This could mean that your MTA:SA install is incomplete or broken. Reinstall it.&lt;br /&gt;
&lt;br /&gt;
==== 'No such mod installed (deathmatch)' ====&lt;br /&gt;
:* '''I am getting a 'No such mod installed (deathmatch)' error message when trying to connect to any server&lt;br /&gt;
&lt;br /&gt;
:'''Option 1:''' Simply re-install MTA. &amp;lt;br&amp;gt;&lt;br /&gt;
:'''Option 2:''' Run both gta_sa.exe and Multi Theft Auto.exe with administrator privileges.&lt;br /&gt;
&lt;br /&gt;
==== Nie znaleziono plików D3dx9_**.dll ====&lt;br /&gt;
:* '''Kiedy uruchamiam MTA:SA, pojawia się błąd - Nie znaleziono plików D3dx9_**.dll (** = cyfry).&lt;br /&gt;
&lt;br /&gt;
:Oznacza to, że DirectX 9 nie jest zainstalowany, bądź nieaktualny.&lt;br /&gt;
:Zainstalować/zaktualizować DirectX możesz ze strony firmy Microsoft - [http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3 DirectX End-User Runtime Web Installer].&lt;br /&gt;
&lt;br /&gt;
==== CRC mismatch ====&lt;br /&gt;
:* '''When joining a server, the chatbox shows 'CRC mismatch'&lt;br /&gt;
:This is a server problem. Tell the owner to look at the server section of this page.&lt;br /&gt;
&lt;br /&gt;
==== 'Error loading netc.dll module! (Error 14001)' on MTA:SA launch ====&lt;br /&gt;
:* Full error message:&lt;br /&gt;
:''Error loading netc.dll module! (Error 14001: The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.)''&lt;br /&gt;
&lt;br /&gt;
:Make sure you have installed Microsoft Visual C++ 2008 regular and SP1 redistributable packages (x86):&lt;br /&gt;
&lt;br /&gt;
:[http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&amp;amp;displaylang=en Microsoft Visual C++ 2008 Redistributable package (x86)]&lt;br /&gt;
&lt;br /&gt;
:[http://www.microsoft.com/download/en/details.aspx?id=5582 Microsoft Visual C++ 2008 SP1 Redistributable package (x86)]&lt;br /&gt;
&lt;br /&gt;
==== 'Error 1935. An error occurred during the installation of assembly 'Microsoft.VC90.ATL...' ====&lt;br /&gt;
: Download the 'Fix it' helper from here: [http://support.microsoft.com/default.aspx?scid=kb;en-us;946414]&lt;br /&gt;
&lt;br /&gt;
==== Twój antywirus ostrzega Cię o użytkowaniu MTA:SA ====&lt;br /&gt;
:* '''Twój antywirus informuje Cię, że MTA:SA bądź jego instalator jest złośliwym oprogramowaniem bądź wirusem.'''&lt;br /&gt;
:MTA '''NIE''' zawiera żadnych wirusów, złośliwych oprogramowań, programów szpiegujących, ani żadnej licencji oprogramowania typu &amp;quot;adware&amp;quot;. Powinieneś przeinstalować MTA:SA [http://mtasa.com stąd] jeśli wątpisz we właściwość Twojej kopii MTA:SA.&lt;br /&gt;
&lt;br /&gt;
==== Kiedy pobierane są duże mapy, postęp pobierania zatrzymuje się ====&lt;br /&gt;
:* '''Kiedy pobierane są duże mapy, postęp pobierania zatrzymuje się, lecz transmisja trwa nadal.'''&lt;br /&gt;
:Problem został naprawiony w [http://forum.mtasa.com/viewtopic.php?f=31&amp;amp;t=39555#p402093 MTA:SA 1.3].&lt;br /&gt;
&lt;br /&gt;
=== Windows Vista® / Windows 7-specific ===&lt;br /&gt;
&lt;br /&gt;
==== Crash on connect ====&lt;br /&gt;
:* '''I seem to crash whenever I connect to a server just before I go in-game on Vista'''&lt;br /&gt;
&lt;br /&gt;
:This seems to be an issue with the Microsoft DirectX April 2006 SDK Redistributable DLL file (d3dx9_30.dll) when running in compatibility mode. Please make sure that compatibility mode is competely turned off for  '''both''' your GTA_SA.exe and Multi Theft Auto.exe executables.&lt;br /&gt;
&lt;br /&gt;
==== Clock manipulation error ====&lt;br /&gt;
:* '''I am getting 'Clock manipulation detected!' error message upon launching MTA:SA&lt;br /&gt;
&lt;br /&gt;
:This is caused by incorrect system date/time being set (which could be a result of wrong settings or a faulty battery on the pc's motherboard). Setting time and date again should fix the problem.&lt;br /&gt;
&lt;br /&gt;
:It might also happen if you are using an AMD Athlon 64 X2 processor with some old drivers. Update them at [http://support.amd.com/us/Pages/drivers.aspx AMD's site].&lt;br /&gt;
&lt;br /&gt;
==== Halt on launch ====&lt;br /&gt;
:* '''When I launch MTA:SA, nothing happens (GTA_SA.exe is running but not loading up)&lt;br /&gt;
&lt;br /&gt;
:Run MTA:SA with Administrator privileges. To do this, right click on the installer executable, choose 'Properties', go into 'Compatibility' tab and tick the check box on the last field and try again.&lt;br /&gt;
&lt;br /&gt;
==== General GTA problems ====&lt;br /&gt;
:* '''I have unexplainable GTA problems or crashes'''&lt;br /&gt;
&lt;br /&gt;
:Make sure your computer as well as your GTA install meet the [[Deathmatch_Client_Manual#System_requirements|minimum requirements]] and that you are not running in any 98/2000/XP/2003 compatibility modes.&lt;br /&gt;
&lt;br /&gt;
:Also try the solutions from these pages:&lt;br /&gt;
:* http://www.gtaforums.com/index.php?showtopic=273549&amp;amp;view=findpost&amp;amp;p=4537502&lt;br /&gt;
:* http://pullmonkey.com/2007/4/30/how-i-got-gta-san-andreas-to-work-with-a-crappy-os-vista&lt;br /&gt;
&lt;br /&gt;
==== Performance Issues Sandy Bridge / Second Generation Intel Core ====&lt;br /&gt;
:* '''Slow MTA performance on Sandy Bridge Processors while other games and San Andreas Singleplayer run fine.'''&lt;br /&gt;
:There seems to be a issue in combination with the Windows power profile running in power saving mode, you can solve this issue by changing the power profile to high performance when playing MTA:SA.&lt;br /&gt;
:* Topic about this issue: [http://forum.mtasa.com/viewtopic.php?f=104&amp;amp;t=31745 Sandy Bridge performance issues?]&lt;br /&gt;
&lt;br /&gt;
==Serwer==&lt;br /&gt;
===Ogólne===&lt;br /&gt;
====Fatal error 3====&lt;br /&gt;
:*'''Dostaję Fatal error 3 ilekroć połączę się z serwerem.'''&lt;br /&gt;
:Ten błąd zdarza się, gdy serwer próbuje się połączyć i nie jest w stanie dostarczyć wymaganych plików do pobrania bo nie ma włączonego pobierania http. Należy ustawić '''httpdownload''' w konfiguracji na '''1'''.&lt;br /&gt;
====Download error 9: Error downloading requested files====&lt;br /&gt;
:*'''Dostaję Download error 9: Error downloading requested files, kiedy łączę się ze swoim serwerem.&lt;br /&gt;
: Ten błąd zdarza się, gdy serwer próbuje się połączyć, aby pobrać pliki. Powoduje to błąd HTTP 404(Nie znaleziono) i błąd u ciebie.&lt;br /&gt;
:*Jeśli korzystasz z wbudowanego serwera ('''httpserver''' jest ustawiony na '''1''' i '''httpdownloadurl''' jest pusty), upewnij się, że serwer HTTP jest dostępny (można sprawdzić dostęp za pomocą przeglądarki) dla każdego.&lt;br /&gt;
:*Po skonfigurowaniu zewnętrznego serwera WWW('''httpdownloadurl''' jest ustawiony na niestandardowy adres URL), upewnij się, że HTTP jest dostępny i upewnij się, że przeczytałeś [http://wiki.multitheftauto.com/wiki/Deathmatch_Server_Manual#Configuring_an_external_web_server konfigurowanie zewnętrznego serwera WWW].&lt;br /&gt;
====CRC mismatch====&lt;br /&gt;
:*'''Kiedy klient dołączy do mojego serwera, jego ChatBox pokazuje &amp;quot;CRC mismatch&amp;quot;'''&lt;br /&gt;
:CRC mismatch występuje, gdy:&lt;br /&gt;
:*Pliki serwerowe zostały zmienione, ale zasób nie został ponownie uruchomiony/odświeżony.&lt;br /&gt;
:*Zewnętrzny serwer HTTP jest używany, a pliki nie są zsynchronizowane.&lt;br /&gt;
====Brakujące konta====&lt;br /&gt;
:Plik ''accounts.xml'' nie jest używany od 1.0.4, został zastąpiony plikiem o nazwie ''internal.db''. Aby zapewnić, że informacje starego konta będą migrowane:&lt;br /&gt;
:*Zatrzymaj serwer&lt;br /&gt;
:*Upewnij się, że twój stary ''accounts.xml'' jest poprawny.&lt;br /&gt;
:*Usuń ''internal.db''&lt;br /&gt;
:*Uruchom serwer&lt;br /&gt;
====Brakujące zasoby====&lt;br /&gt;
:Od 1.0.4, nazwy zasobów nie mogą zawierać kropek.&lt;br /&gt;
====Download error 28====&lt;br /&gt;
:Spróbuj wyłączyć aplikacje antywirusowe lub zapory. Jeśli tak to działa, spróbuj dodać wyjątek do zapory, aby umożliwić połączenie się twojego portu http.&lt;br /&gt;
====Znikające konto====&lt;br /&gt;
:Informacje o koncie (lub czegokolwiek innego) nie są poprawnie zapisywane, może być to spowodowane uszkodzeniem bazy danych. Od wersji 2836, serwer sprawdza integralność plików baz danych SQLite na starcie. Jeśli zgłasza błąd bazy danych, przeczytaj [http://wiki.multitheftauto.com/wiki/How_to_repair_the_database_files jak naprawić pliki bazy danych].&lt;br /&gt;
:Jeśli używasz starszej wersji i masz kłopoty, takie jak znikanie konta, należy uaktualnić serwer do [http://nightly.multitheftauto.com/ ostatniej wersji].&lt;br /&gt;
====Problemy związane z Windows'em====&lt;br /&gt;
: Nie zgłaszano problemów w 1.3.5.&lt;br /&gt;
====Problemy związane z Linux'em====&lt;br /&gt;
====Domyślnie nohup tworzy nieskończenie wielki nohup.out====&lt;br /&gt;
:Tymczasowe rozwiązanie to wyłączyć plik nohup: 'nohup ./mta_server &amp;gt; /dev/null &amp;amp;'&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&amp;diff=50758</id>
		<title>Template:Current Version</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Current_Version&amp;diff=50758"/>
		<updated>2017-04-22T03:45:45Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Updated current version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{{1|}}}|master|1.5|&lt;br /&gt;
{{#ifeq:{{{1|}}}|short|1.5|&lt;br /&gt;
{{#ifeq:{{{1|}}}|fullnodots|154|&lt;br /&gt;
{{#ifeq:{{{1|}}}|full|1.5.4|        3.0154      }}&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Category:Pages_with_broken_file_links&amp;diff=50227</id>
		<title>Category:Pages with broken file links</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Category:Pages_with_broken_file_links&amp;diff=50227"/>
		<updated>2017-01-01T18:58:53Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Removed Vandalism&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=50226</id>
		<title>Strona główna</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Strona_g%C5%82%C3%B3wna&amp;diff=50226"/>
		<updated>2017-01-01T18:56:05Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Removed Vandalism&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;/*border: 1px solid #D8D8D8;*/ padding-left: 15px; padding-right: 15px; height: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Mtalogo.png|left|100px|link=http://wiki.multitheftauto.com/]]'''Witaj na polskiej wiki [[PL/Multi Theft Auto|Multi Theft Auto]].''' Znajdziesz tutaj wiele informacji na temat korzystania z Multi Theft Auto.&lt;br /&gt;
 &lt;br /&gt;
Jest wiele [[PL/How you can help|rzeczy które możesz zrobić]], aby pomóc nam w rozwijaniu MTA - stworzyć mapę, tryb gry, pomóc w dokumentowaniu funkcji, napisać przykładowy kod, napisać poradnik lub po prostu grać w MTA i zgłaszać błędy, które znajdziesz.&lt;br /&gt;
&lt;br /&gt;
Jeśli masz jakieś pytania bądź problemy związane z pisaniem skryptów, zapytaj nas na [[PL/IRC Channel|kanale IRC]].&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;[ Stop playing with yourself ]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background: #FFFCF2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Input-gaming.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Graj&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #FFEEAA; border: 1px solid #FFCD19;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=http://mtasa.com/]] ''' [http://mtasa.com/ Pobierz Multi Theft Auto: San Andreas {{Current Version|full}}]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[PL/Where to buy GTASA|Gdzie kupić GTASA]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[PL/Polish_MTA_version|Polska wersja MTA:SA]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[PL/Client Manual|Obsługa klienta]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
&amp;lt;!-- * [[PL/Changes_in_{{padleft:|3|{{Current Version|full}}}}| Zmiany w {{padleft:|3|{{Current Version|full}}}}]] --&amp;gt;&lt;br /&gt;
* [[PL/Changes_in_{{padleft:|5|{{Current Version|full}}}}| Zmiany w {{padleft:|5|{{Current Version|full}}}}]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[PL/Known_Issues_-_FAQ|Znane problemy]] [[Image:Plflag.png|Artykuł w języku polskim]]/[[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [[PL/Migracja_z_MTA:Race_do_MTA:SA_1.0.x|Migracja z MTA:Race do MTA:SA {{padleft:|3|{{Current Version|full}}}}]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[PL/Server Manual|Obsługa serwera]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[Map manager|Menadżer map]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;Edytor map&amp;lt;/h3&amp;gt;&lt;br /&gt;
*[[PL/Resource:Editor|Instrukcja]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Resource:Editor/EDF|Edytor Właściwości Mapy]] [[Image:Plflag.png|Artykuł w języku polskim]]/[[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Pluginy]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
*[[PL/Resource:Editor#FAQ|Najczęściej zadawane pytania]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Package-x-generic.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Bazy danych&amp;lt;/h3&amp;gt;&lt;br /&gt;
Ta sekcja opisuje wszystkie możliwości Lua umożliwiane przez MTA lub zasoby.&lt;br /&gt;
* [[PL/Category:Resource|Katalog zasobów]] - Musisz je poznać, aby tworzyć właściwe skrypty&lt;br /&gt;
* [[PL/Client side scripts|Skrypty po stronie klienta]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[Modules|Moduły]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-development.png‎‎‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Rozwijanie Multi Theft Auto&amp;lt;/h3&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=http://nightly.mtasa.com/]] [http://nightly.mtasa.com/ Nightly builds]&lt;br /&gt;
* [[Compiling_MTASA|Kompilacja MTASA na Windows]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [[Building_MTASA_Server_on_GNU_Linux|Kompilacja MTASA na GNU/Linux]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [[Coding guidelines|Wytyczne dot. pisania kodu]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue Repozytorium Github]&lt;br /&gt;
* [[Roadmap]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [http://bugs.mtasa.com/ Bugtracker]&lt;br /&gt;
* [[Branches|Branże]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-office.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Polskie Wiki - jak możesz pomóc?&amp;lt;/h3&amp;gt;&lt;br /&gt;
* Pomóż tłumaczyć hasła, przy których jest angielska flaga&lt;br /&gt;
* Twórz hasła, które istnieją w angielskiej wiki, a których u nas brakuje&lt;br /&gt;
** Staraj się, aby nowe artykuły miały takie same nazwy (angielskie), a jedynie poprzedzane były przedrostkiem PL/ - przykład: [[PL/Character_Skins]]&lt;br /&gt;
* Zwołaj znajomych, informuj na forach, niech inni dowiedzą się o takiej możliwości!&lt;br /&gt;
* Jeśli nie masz pomysłu na edycję, wykonaj coś z [[PL/Todo|tej listy]]. Możesz ją także rozbudować.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Internet-group-chat.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Społeczność&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [http://forum.multitheftauto.com/ Forum]&lt;br /&gt;
* IRC: [irc://irc.multitheftauto.com/mta irc.multitheftauto.com #mta]&lt;br /&gt;
* [http://community.mtasa.com/ MTA Community]  - dodaj lub pobierz skrypty&lt;br /&gt;
* [http://twitter.com/#!/MTAQA/ Twitter] - [http://www.youtube.com/user/MTAQA Youtube] - [http://plus.google.com/102014133442331779727/ Google+] - [http://www.moddb.com/mods/multi-theft-auto-san-andreas ModDB]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Accessories-text-editor.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Skryptowanie&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Wstęp do pisania skryptów|Wstęp do pisania skryptów]] [[Image:Plflag.png|Artykuł w języku polskim]]/[[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [[Introduction to Scripting the GUI|Wstęp do pisania skryptów GUI]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [[Debugging|Poradnik debugowania]] [[Image:usen.gif|Artykuł w języku angielskim]] - Jak znaleźć błędy w swoich skryptach&lt;br /&gt;
* [[Resources|Wstęp do zasobów]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
** [[Resource Web Access|Dostęp WWW do zasobów]] [[Image:usen.gif|Artykuł w języku angielskim]] - Jak pisać strony WWW z wykorzystaniem zasobów&lt;br /&gt;
** [[:Category:Resource|Katalog zasobów]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
** [[PL/Meta.xml|Meta.xml]] [[Image:Plflag.png|Artykuł w języku polskim]] - każdy zasób jest definiowany przez plik meta&lt;br /&gt;
** [[ACL]] [[Image:usen.gif|Artykuł w języku angielskim]] - Access Control List, który jest niezbędny, aby skrypty działały&lt;br /&gt;
* [[Writing_Gamemodes|Pisanie gamemodów]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [[Useful_Functions|Przydatne funkcje]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
Linki na fora&lt;br /&gt;
* [https://forum.mtasa.com/forum/71-scripting/ Forum na temat skryptowania]&lt;br /&gt;
* [https://forum.mtasa.com/forum/123-tutorials/ Forum z poradnikami do skryptowania]&lt;br /&gt;
* [https://forum.mtasa.com/topic/24702-mtasa-wiki-offline-copies-online-mirrors/ Kopie Wiki]&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:start-here.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Pomoc dotycząca LUA&amp;lt;/h3&amp;gt;&lt;br /&gt;
Strony zaprojektowane, by pomóc Ci zrozumieć język LUA.&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
**[http://www.lua.org/manual/5.1/#index Internal Lua functions reference]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.sourceforge.net/manual/0.5.1/nixstaller_10.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#F2F2FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Preferences-system.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Odwołania&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[PL/Funkcje po stronie klienta|Funkcje po stronie klienta]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[PL/Client Scripting Events|Zdarzenia po stronie klienta]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
* [[Server Scripting Functions|Funkcje po stronie serwera]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
* [[Server Scripting Events|Zdarzenia po stronie serwera]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[PL/MTA Classes|Klasy MTA]] [[Image:Plflag.png|Artykuł w języku polskim]]/[[Image:usen.gif|Artykuł w języku angielskim]] -- Szczegółowe opisy wszystkich typów MTA&lt;br /&gt;
** [[Element|Elementy MTA]] [[Image:usen.gif|Artykuł w języku angielskim]] / [[Element tree|Drzewo elementów]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:System-file-manager.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;[[PL/Id|Listy ID]]&amp;lt;/h3&amp;gt;&lt;br /&gt;
*[[PL/Animations|Animacje]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Character Skins|Skiny postaci]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/CJ_Clothes|Ubrania]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Garage|Garaże]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Interior IDs|Interiory]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Material IDs|Materiały]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Projectiles|Pociski]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Radar Blips|Znaczniki]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Sounds|Dźwięki]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Vehicle IDs|Pojazdy]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Vehicle Colors|Kolory pojazdów]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Vehicle Upgrades|Modyfikacje pojazdów]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[Vehicle variants|Warianty pojazdów]] [[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
*[[PL/Vehicle component manipulation|Manipulowanie komponentami pojazdów]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Weapons|Bronie]] [[Image:Plflag.png|Artykuł w języku polskim]]&lt;br /&gt;
*[[PL/Weather|Pogoda]] [[Image:Plflag.png|Artykuł w języku polskim]]/[[Image:usen.gif|Artykuł w języku angielskim]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Osi symbol.png|75px|link=http://opensource.org/|left]]&lt;br /&gt;
'''Multi Theft Auto''' jest '''Otwartym Oprogramowaniem'''. &lt;br /&gt;
&amp;lt;br/&amp;gt;To znaczy, że każdy może pomóc w byciu Multi Theft Auto lepszym!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding-left: 15px; padding-right: 15px;&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
[[File:MTALogo_8ball.png|left|85px|link=Archive]]&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''O [[PL/Multi Theft Auto|Multi Theft Auto]]'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[PL/Archive|Archiwum]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[Press Coverage|MTA w mediach]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[http://code.google.com/p/mtasa-blue/people/list Developerzy]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''Multi Theft Auto 0.5'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[PL/Archive#Multi_Theft_Auto_0.5|Pobierz]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[MTA 0.5r2 Known Issues|Zauważone problemy]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''Statystyki Wiki'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFARTICLES}} artykuły&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFPAGES}} strony&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFFILES}} pliki&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 240px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFEDITS}} edycji&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFADMINS}} administratorów&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFUSERS}} zarejestrowanych użytkowników&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFACTIVEUSERS}} aktywnych użytkowników&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{Languages list|pl}}&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Archive&amp;diff=50223</id>
		<title>Archive</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Archive&amp;diff=50223"/>
		<updated>2017-01-01T18:44:52Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Jaysds1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;/*border: 1px solid #D8D8D8;*/ padding: 5px; height: 100%; text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
'''Multi Theft Auto Archive'''&lt;br /&gt;
&lt;br /&gt;
[[File:MTALogo_8ball.png|100px|link=Archive]]&lt;br /&gt;
&lt;br /&gt;
[ Eliminating the need to play with yourself since [[Version History#List_of_.28released.29_versions|2003]] ]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Multi Theft Auto 0.5&amp;lt;/h3&amp;gt;{{Important Note|MTA does '''not''' contain any viruses, malware, adware or spyware. It is flagged as a '''false positive''' because of the way the executable is packed. But make sure you download it from a safe place (i.e. the MTA website or the link below)! }}&amp;lt;!-- The main download location for 0.5r2 seems down (http://files.mtasa.com/apps/0.5r2/mta05r2_full_installer.exe), replaced with Towncivilian's link. --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #FFEEAA; border: 1px solid #FFCD19;&amp;quot;&amp;gt;[[File:Go-down.png|link=http://hosting.jworld137.com/files/mta05r2_full_installer.exe]] ''' [https://mega.co.nz/#!DFNz2JSY!3-Yc3y0ek40HG7MTrH6kxuphmojlzqtBrCeQ4feM84U Download Multi Theft Auto 0.5r2]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[MTA 0.5r2 Known Issues|Known Issues]]&lt;br /&gt;
* [[MTA 0.5 Installation|Installation Manual]]&lt;br /&gt;
* Windows Server: [https://mega.co.nz/#!DFNz2JSY!3-Yc3y0ek40HG7MTrH6kxuphmojlzqtBrCeQ4feM84U Installer] - [https://mega.co.nz/#!WIVERLZa!XJAmm5pWgBc-D1VswWIfVdaQcEVEQ8siuWL4YKoxTIw Zipped]&lt;br /&gt;
* Linux Server: [https://docs.google.com/file/d/0B5mpmm482r0VY3dGckxaQldXZE0/edit?pli=1 tar.gz] [https://mega.co.nz/#!2EMyXILI!TUiqaxmHigIEW-QwZR7XrTLVLWk6NtHrukLLe9HC73s Backup tar.gz]&lt;br /&gt;
* [https://forum.mtasa.com/viewforum.php?f=136 Forum]&lt;br /&gt;
* IRC: [irc://irc.gtanet.com/#mta3vc irc.gtanet.com #mta3vc]&lt;br /&gt;
=== Gamemodes ===&lt;br /&gt;
* [[MTA:VC Deathmatch Gamemode|Vice City Deathmatch]]&lt;br /&gt;
* [[MTA:VC Stunt Gamemode|Vice City Stunt]]&lt;br /&gt;
* [[GTA3 SSV|GTA3 Shoreside Vale]]&lt;br /&gt;
* [[GTA3 Portland]]&lt;br /&gt;
* [[GTA3 Staunton]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 85%; padding-top: 10px;&amp;quot;&amp;gt;MTA 0.5 works with GTA III and Vice City.&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;MTA: San Andreas Race&amp;lt;/h3&amp;gt;&lt;br /&gt;
{{Warning|MTA: San Andreas Race is not supported. It has been replaced with [[Upgrading from MTA:Race|MTA: San Andreas {{Current Version|full}}]] and the [[Resource:Race|race resource]].}}&lt;br /&gt;
* [http://files.mtasa.com/apps/1.0/race/ Race File Archive]&lt;br /&gt;
* [[MTA:SA Race FAQ|Frequently Asked Questions (FAQ)]]&lt;br /&gt;
* [[Blue]] - Information about the ''Blue Core'' for race.&lt;br /&gt;
* [[MTA:SA Race-Windows Server Guide|Windows Server Guide]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 85%; padding-top: 10px;&amp;quot;&amp;gt;MTA:San Andreas Race only works on Windows XP&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;[[Multi Theft Auto]] General&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Press Coverage]]&lt;br /&gt;
* [[Version History]]&lt;br /&gt;
* [[Timeline]] - 2003-2006&lt;br /&gt;
* [http://files.mtasa.com/web/ Archived Websites]&lt;br /&gt;
* [http://files.mtasa.com/ File Archive]&lt;br /&gt;
* [[MTA Vault]] - Screenshots of previous versions&lt;br /&gt;
* [[Previous-car-method|Previous Car Method]] - Explanation how vehicle sync worked in GTA3:MTA 0.1a and 0.2a&lt;br /&gt;
* [[Car-Killers|Car Killers]] - Explanation of car killing&lt;br /&gt;
* [[MTA Addons]] - Various MTA addons&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Multi Theft Auto Community&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Dictionary]]&lt;br /&gt;
* [https://forum.mtasa.com/viewforum.php?f=81 Forum Archive]&lt;br /&gt;
* [http://files.mtasa.com/web/gta3mta_irc_stats/ Early #gta3mta IRC stats]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Scripting / MTA:mA&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[MTA:mA|MTA:mA History]]&lt;br /&gt;
** [http://files.mtasa.com/apps/tools/MTAmA/MTAmA324.zip Download MTA:mA 3.24 for MTA 0.5]&lt;br /&gt;
** &amp;lt;span style=&amp;quot;text-decoration: line-through;&amp;quot;&amp;gt;[http://files.mtasa.com/apps/tools/MTAmA/MTAmA4.zip Download MTA:mA 4.00 for MTA: San Andreas Race]&amp;lt;/span&amp;gt; (Not Recommended)&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size: 85%; padding-top: 10px;&amp;quot;&amp;gt;MTA:mA requires [http://www.mirc.com/ mIRC].&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;MTA: San Andreas (Deathmatch) 1.x.x&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[:Category:Deprecated]] - Old and deprecated (LUA) functions and events.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;gallery perrow=5 caption=&amp;quot;Screenshots&amp;quot;&amp;gt;&lt;br /&gt;
File:Am4.jpg|GTA3:AM Vehicle Sync&lt;br /&gt;
File:3b3.jpg|GTA3:MTA&amp;lt;br&amp;gt;Testing of the actor system&lt;br /&gt;
File:Vc0.1-1.jpg|MTA:VC 0.1&lt;br /&gt;
File:Vc0.1-3.jpg|MTA:VC 0.1&lt;br /&gt;
File:800px-Robber.jpg|MTA 0.5 VC Robber spawn&lt;br /&gt;
File:GTA3 SSV CopSpawn.jpg|MTA 0.5 Cop Spawn on GTA3's Shoreside Vale&lt;br /&gt;
File:SSV_Scramble.png|MTA 0.5 Mini mission on GTA3's Shoreside Vale&lt;br /&gt;
File:MTASA-Race-Racing.jpg|Racing in MTA: San Andreas Race&lt;br /&gt;
File:MTASA-Race-Mainmenu.png|The main menu of MTA: San Andreas Race&lt;br /&gt;
File:Sa-airrace.jpg|Airplane race in MTA: San Andreas Race&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Press_Coverage&amp;diff=50222</id>
		<title>Press Coverage</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Press_Coverage&amp;diff=50222"/>
		<updated>2017-01-01T18:44:45Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by JHXP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Needs Checking|Please fix the dead links and/or re-upload the files.}}&lt;br /&gt;
&lt;br /&gt;
The following is a list of press coverage during MTA's history, it may not be full and only contains the sources we are aware of.&lt;br /&gt;
&lt;br /&gt;
=Written press=&lt;br /&gt;
&lt;br /&gt;
* Power Unlimited | March 2003 - [http://files.mtasa.com/media/Power_Unlimited-2003_Mar.jpg Page 1], [http://files.mtasa.com/media/Power_Unlimited-2003_Mar-Translation.txt Translation]&lt;br /&gt;
* PC Gamer | May 2003 - [http://files.mtasa.com/media/PC_Gamer-2003_May.jpg Page 1]&lt;br /&gt;
* Hyper | September 2003 - [http://files.mtasa.com/media/Hyper-2003_Sep-AU.jpg Page 1], [http://files.mtasa.com/media/Hyper-2003_Sep-AU-Translation.txt Translation]&lt;br /&gt;
* Igromania | September 2003 [http://files.mtasa.com/media/Igromania-2003_Sep_1-RU.jpg Page 1], [http://files.mtasa.com/media/Igromania-2003_Sep_2-RU.jpg Page 2], [http://files.mtasa.com/media/Igromania-2003_Sep-RU-Translation.txt Translation], [http://www.igromania.ru/articles/46216/Multi_Theft_Auto_Setevoi_bespredel_Osnovy_igry_v_GTA_3_po_ceti_i_cherez_internet.htm On-line copy]&lt;br /&gt;
* Computer Games | October 2003 - [http://files.mtasa.com/media/Computer_Games-2003_Oct.jpg Page 1]&lt;br /&gt;
* PC Gameplay | December 2003 - [http://files.mtasa.com/media/PC_Gameplay-2003_Dec.jpg Page 1], [http://files.mtasa.com/media/PC_Gameplay-2003_Dec-Translation.txt Translation]&lt;br /&gt;
* PC Gamer | April 2004 - [http://files.mtasa.com/media/1.0/Images/pcgamer.jpg Page 1]&lt;br /&gt;
* GamePro | June 2005 - [http://files.mtasa.com/media/GamePro_June_2005_4.jpg Page 1]&lt;br /&gt;
* PC Zone | March 2006 - [http://files.mtasa.com/media/PCZone_March_2006.jpg Page 1]&lt;br /&gt;
* Igromania | April 2006&lt;br /&gt;
* GameStar | January 2008 - [http://files.mtasa.com/media/1.0/Images/mtaongamestarscan.jpg Page 1]&lt;br /&gt;
* Total PC Gaming | Issue 26, October 2009 - [http://files.mtasa.com/media/TPCG_Issue_26.pdf Page 1] (preprint) (included on DVD)&lt;br /&gt;
&lt;br /&gt;
=TV=&lt;br /&gt;
&lt;br /&gt;
* G4TV.com | [http://www.youtube.com/watch?v=B6FqSiJBMgM Multi Theft Auto @ G4TV.com @ YouTube] | October 10 2003&lt;br /&gt;
&lt;br /&gt;
=Internet=&lt;br /&gt;
&lt;br /&gt;
While MTA has been mentioned and reviewed in a lot of articles, and here is a list of those which were recorded.  It is worth noting that this list is very incomplete.&lt;br /&gt;
&lt;br /&gt;
* 1UP.com | [http://www.1up.com/features/fan-theft-auto Fan Theft Auto] | [https://archive.is/ojGXK Snapshot] | Unknown? (2003-2005)&lt;br /&gt;
{{Quote|&lt;br /&gt;
What would an online version of Grand Theft Auto: Vice City be like? What if there had been a Grand Theft Auto game for the Nintendo Entertainment System back in the days when this system reigned? For fans of Grand Theft Auto, they don't just dream these what-ifs -- they bring them to life.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* MegaGames | [http://www.megagames.com/news/multiplayer-killing-spree-vc?tab=description Multiplayer Killing Spree in VC] | [https://archive.is/Izs2U Snapshot] | April 04 2003&lt;br /&gt;
{{Quote|&lt;br /&gt;
A mention in Eurogamer brought the efforts of the Multi Theft Auto team to our attenion and following a short multiplayer session we are sold on the MTA:VC mod.&lt;br /&gt;
Not satisfied with applying their genius to creating a multiplayer mod for GTA 3, the team focused on Vice City and their efforts have been finally rewarded with a very enjoyable multiplayer experience.&lt;br /&gt;
&lt;br /&gt;
Although extremely addictive and interesting the GTA Vice City multiplayer client is buggy and not for those gamers that have been hand-reared by the big studios. If you enjoy a decent rampage through the murky depths of Vice City however, you will definitely love this.&lt;br /&gt;
&lt;br /&gt;
Although installation is fairly simple and straightforward, make sure you read and understand the extensive FAQ on the developer's web site, a link to which can be found by following the download tab.&lt;br /&gt;
Weighing in at 500 kb the MTA:VC client is a lot of pleasure from a very small package, enjoy.}}&lt;br /&gt;
* IGN | [http://pc.ign.com/articles/519/519510p2.html True Crime - Streets of L.A. review] | [https://archive.is/YXj9E Snapshot] | May 27 2004&lt;br /&gt;
&lt;br /&gt;
{{Quote|The on-foot combat modes, Dojo Master and Battle Master, feel more like minigames than full-fledged modes. Dojo Master, the melee mode, has exactly one round. You knock the guy out and boom, the round ends and you're kicked to a summary screen. And the camera was just plain not right, seemingly unable to properly pull back and frame the scene. I had to move myself out of the way of the camera many times so I could see what was going on. Battle Master, also known as &amp;quot;last man standing,&amp;quot; is also exactly one round, with very small maps and only one life per player. '''All in all, multiplayer doesn't rise to the level of something I'd recommend over, say, Multi-Theft Auto'''.''}}&lt;br /&gt;
&lt;br /&gt;
* IGN | [http://pc.ign.com/articles/605/605982p1.html GTA San Andreas PC Hands-On] | [https://archive.is/aqBhh Snapshot] | April 19 2005&lt;br /&gt;
&lt;br /&gt;
{{Quote|Other than that, there won't be any new content--no new vehicles, weapons, missions, et cetera. '''Nor will Rockstar add any multiplayer, but I think it's safe to expect another Multi-Theft Auto from the MTA Team not too long after release'''.}}&lt;br /&gt;
&lt;br /&gt;
* Gamespy [http://xbox360.gamespy.com/xbox-360/saints-row/718937p1.html Saints Row preview] | August 29 2006&lt;br /&gt;
&lt;br /&gt;
{{Quote|In spite of its popularity among console owners, it is PC gamers who've reaped the most benefits from the Grand Theft Auto series. '''Besides the numerous skins and tweaks available, one of the most infamous mods for GTA is the one known as Multi Theft Auto'''. The modification allows players to get online and battle against other players for dominance. '''The idea has extended to other sandbox-style games, but like their single-player counterparts, the MTA cloning worked about as well as the GTA cloning.''' That is, no one's really come close to emulating it. Anyone involved in Saints Row who says that GTA had no influence on their title probably also has some beachfront property in Omaha to sell you.&lt;br /&gt;
&lt;br /&gt;
With that out of the way, THQ sponsored an event in San Francisco to preview the multiplayer portion of Volition's next-gen title. We didn't go near the single-player portion of the game, instead opting to stay on the designated path of system link gameplay to see how Saints Row performs. '''What we saw was the concept of what would be known as another GTA clone extended to its next logical point on the 360: cloning Multi Theft Auto.'''}}&lt;br /&gt;
&lt;br /&gt;
* OSDir.com | [http://osdir.com/Article4775.phtml Multi Theft Auto: Hacking Multi-Player Into Grand Theft Auto With Open Source] | March 29 2005&lt;br /&gt;
&lt;br /&gt;
:OSDir.com did an interview with four of MTA's developers about the open source software they use in the process of creating MTA.&lt;br /&gt;
&lt;br /&gt;
* Fileplanet | [http://files.mtasa.com/media/FilePlanet-Mar_2006.jpg Frontpage] | March 16 2006&lt;br /&gt;
&lt;br /&gt;
:MTA was covered for several days on the Fileplanet frontpage after the initial MTA:SA release.&lt;br /&gt;
&lt;br /&gt;
* Global Gaming | [http://www.ggl.com/?controller=News&amp;amp;id=2982&amp;amp;method=article Homebrews: Multi-Theft Auto] | May 5 2006&lt;br /&gt;
&lt;br /&gt;
* Mega Games | [http://www.megagames.com/news/multi-theft-auto-san-andreas Multi Theft Auto - San Andreas] | February 6 2006&lt;br /&gt;
{{Quote|&lt;br /&gt;
Fans of the Grand Theft Auto series of games will, no doubt, be familiar with the efforts of the Multi Theft Auto team and their wonderful MTA:VC which allowed multi-player mayhem to spill onto the streets of Vice City.&lt;br /&gt;
&lt;br /&gt;
Following 8 months of hard work, the multiplayer modification is now available for GTA:SA. Most gamers were very disappointed to find out that RockStar did not plan to introduce a multiplayer mode for GTA:SA, even though MTA:VC had clearly demonstrated how desired such a feature would be. PC gamers can now enjoy multiplayer fun in the streets of San Andreas with a new, feature-rich version of MTA utilising the brand new Blue core.&lt;br /&gt;
&lt;br /&gt;
From the creator's blog: The process of developing this release has been a lot of hard work and quite a few long nights, especially when most of our team members are busy with their real lives, but now weŒre glad to announce that weŒre finally ready to show you our work. WeŒve been looking forward to this for a very long time and weŒre certainly very happy with how it looks. We hope you like it too! Smile&lt;br /&gt;
&lt;br /&gt;
This release also features a very easy to use map editor allowing anyone to create a map containing spawnpoints, checkpoints, objects and &amp;quot;pickups&amp;quot;. The maps created can be added to an MTA server and played online with your friends at any time.&lt;br /&gt;
&lt;br /&gt;
This version of MTA features a new game mode called Race while expect frequent improvements and updates from the developers.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Neowin | [http://www.neowin.net/index.php?act=view&amp;amp;id=32142 Multi Theft Auto: San Andreas Released] | January 24 2006&lt;br /&gt;
{{Quote|&lt;br /&gt;
Popular action game Grand Theft Auto: San Andreas was always a single player game from the beginning (except the parts where a second player can shoot from the car, but that's hardly multiplayer). But as of yesterday, the talented team of programmers that brought us Multi Theft Auto: Vice City have released their new multiplayer mod for San Andreas.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Games Galore | [http://games.techwhack.com/54/multi-theft-auto/ Multi Theft Auto] | September 4 2006&lt;br /&gt;
{{Quote|&lt;br /&gt;
The nice people at Multi Theft Auto have this article up, discussing their new core technology that will be deployed in future versions of MultiTheftAuto.&lt;br /&gt;
&lt;br /&gt;
The new core technology, codenamed ‘blue’, offers many of the features that have been requested by the software’s users over the last year and a half, these include: Support for boats, support for firing from vehicles, support for drive-bys, and support for planes.&lt;br /&gt;
&lt;br /&gt;
As well as supporting all these features, the new core will introduce a revolutionary new way of writing modifications for Vice City, combining the existing methods with a fully integrated C++ add-on system, giving anyone who wishes to the ability to create complex and exciting mods, far beyond the possibilities of ‘traditional’ methods.”&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* GameSpot | [http://www.gamespot.com/pages/unions/read_article.php?topic_id=24250612&amp;amp;union_id=338 MTA: San Andreas Is Here!!!] | January 24 2006&lt;br /&gt;
&lt;br /&gt;
* Slashdot | [http://games.slashdot.org/article.pl?sid=08%2F11%2F24%2F0237259&amp;amp; Multi Theft Auto - San Andreas Goes Open Source] | November 24 2008&lt;br /&gt;
&lt;br /&gt;
* Linux Magazine | [http://www.linux-magazine.com/Online/News/Open-Source-Mod-for-Grand-Theft-Auto Open-Source Mod for Grand Theft Auto] | November 24 2008&lt;br /&gt;
{{Quote|&lt;br /&gt;
&amp;quot;Today we are marking a new milestone in the history of Multi Theft Auto [...] we have made the decision to re-launch Multi Theft Auto as an open-source project.&amp;quot; The developer announcement on the Grand Theft Auto website comes just before the official release of the multiplayer mod of GTA version 1.0.&lt;br /&gt;
&lt;br /&gt;
Since 2003, up to 16 developers have worked on the multiplayer-modus. Work which included not only Reverse Engineering and LUA scripting, but also manufacturer Rockstar concepted extensions for the single-player modus GTA-3, as in GTA III, GTA: Vice City and GTA: San Andreas. Server and clients offering the original game can be found on the project website.&lt;br /&gt;
&lt;br /&gt;
The announcement on the GTA page continues, &amp;quot;Of course, the migration to open-source is more than just slamming your undocumented source code in a zip up for anyone that is interested.&amp;quot; The repository code has been cleaned up, accurate documentation and headers have been added and proper credits to authors noted.&lt;br /&gt;
&lt;br /&gt;
The release of the source code is supposed to encourage the contribution of external developers. To this end, the bugtracker has been opened and access to the build system made available. A clean and stable multiplayer extension requires more than a memory address and offsets, say the developers.&lt;br /&gt;
The code can be viewed at the Google Code Repository and a detailed developer Wiki provides insights to programming and scripting.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* GamingBolt | [http://gamingbolt.com/15-modders-who-changed-pc-gaming 15 Modders who changed PC gaming] | March 20 2010&lt;br /&gt;
:The MTA Team were labelled as one of 15 modders who changed PC gaming,  turning Grand Theft Auto San Andreas into ''&amp;quot;into the one truly decent, fully functioning multiplayer segment to a great game&amp;quot;''.&lt;br /&gt;
{{Quote|&lt;br /&gt;
Grand Theft Auto San Andreas takes the award for having the largest living GTA universe. Some argue that it was the best game in the franchise- and the massive amounts of free roaming and the (slight) emphasis on realism really helped push the game above and beyond people’s expectations. One thing the game didn’t have though, was multiplayer. This was sorely missed in a game with so much racing and free roaming potential, but luckily the good folks behind MTA found a solution. What started out as an experiment with crude forms of online racing has turned into the one truly decent, fully functioning multiplayer segment to a great game.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* PCGames.de | [http://www.pcgames.de/Bestenlisten-Thema-203022/Bilder/Die-Top-10-der-einflussreichsten-Modder-Diese-Mods-haben-die-Branche-aufgemischt-744688/galerie/1274990/ Die Top 10 der einflussreichsten Modder (Top 10 Most Influential Modders) ] | April 9 2010&lt;br /&gt;
&lt;br /&gt;
:The MTA Team were classed as one of the Top 10 most influential modders of all time.&lt;br /&gt;
&lt;br /&gt;
* usercreated | [http://usercreated.org/2010/04/12/unmissable-mods-month-multi-theft-auto/ Unmissable Mods Month: Multi Theft Auto ] | April 12 2010&lt;br /&gt;
&lt;br /&gt;
:Multi Theft Auto was characterized as an &amp;quot;''Unmissable mod''&amp;quot; that was &amp;quot;''an incredibly elegant way of forcing multiplayer onto an engine that was never designed for it in the first place''&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* 1UP.com | [http://www.1up.com/do/reviewPage?pager.offset=1&amp;amp;cId=3180268&amp;amp;p=2 APB Review] | July 6 2010&lt;br /&gt;
:Multi Theft Auto distinguished as a ''&amp;quot;cheaper, better multiplayer PC [game]&amp;quot;'' to All Points Bulletin, a commercial RPG.&lt;br /&gt;
&lt;br /&gt;
* FilePlanet Blog | [http://blog.fileplanet.com/2011/08/29/monday-mod-multi-theft-auto-san-andreas/ Monday Mod: Multi Theft Auto: San Andreas] | August 29 2011&lt;br /&gt;
:Multi Theft Auto was praised for the ''&amp;quot;[the charm] from the user generated content all thanks to the Multi Theft Auto toolkit&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
* ModDB [http://www.moddb.com/events/2011-mod-of-the-year-awards/features/moty-players-choice-mod-of-the-year 2011 Mod of the Year - Players Choice #1] | 2011&lt;br /&gt;
&lt;br /&gt;
* Gamers Association | [http://www.gamers-association.com/2013/01/mtasainterview/ Interviewing the Minds Behind Multi Theft Auto: San Andreas] | January 6 2013&lt;br /&gt;
{{Quote|&lt;br /&gt;
A few days back I was lucky enough to have the privilege of getting to ask the developers behind Multi Theft Auto: San Andreas some questions. For those of you who are unaware of exactly what MTA:SA is, it’s Multiplayer Grand Theft Auto: San Andreas on the surface, but it’s also so much more. If you’re interested in getting your hands on some sweet borderline-MMO free-roaming goodness, then you can download the mod at Multi Theft Auto’s website. You are going to need to pick up the PC version of GTA: San Andreas, though (it’s totally worth it).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* Rock, Paper, Shotgun | [https://www.rockpapershotgun.com/2016/09/15/why-a-million-people-still-play-multiplayer-grand-theft-auto-san-andreas-every-month/ Why A Million People Still Play Multiplayer Grand Theft Auto: San Andreas Every Month] | September 15 2016&lt;br /&gt;
{{Quote|&lt;br /&gt;
I asked one of the MTA developers, a chemical engineer named Dan, to help me understand what makes this San Andreas multiplayer community tic. Dan started out as a Multi Theft Auto player back before San Andreas even came out — when the mod was available for GTA 3 and Vice City. He was drawn in by its accessibility. “At the time the big game was Counter-Strike,” he recalls. He downloaded it and gave it a shot, but it seemed impenetrable. “I’d jump in and get shot immediately and have to wait like three minutes to jump into the next round.” But with Multi Theft Auto he didn’t have to worry about being killed constantly by skilled players. He could just drive around and have fun.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
File:ModDB.png|ModDB Frontpage. October, 2009&lt;br /&gt;
File:Mtafileplanet.jpg|Fileplanet Frontpage. March, 2006&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other Media =&lt;br /&gt;
* MTA Forum | [http://forum.mtasa.com/viewtopic.php?f=5&amp;amp;t=128#p810 2003 official R* reaction] | 2003&lt;br /&gt;
{{Quote|&lt;br /&gt;
Hi Blokker,&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
I had a look at the first version of Multi Theft Auto and was very impressed with what you guys did. &lt;br /&gt;
It looks like there is a lot of work to be done yet but a lot of progress has been made already. &lt;br /&gt;
I'm looking forward to playing GTAIII as a multiplayer game.&lt;br /&gt;
Being from Holland myself it's good to see the old 'hacking culture' is still going strong in the Lowlands.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
I also have to say the web site itself looks very professional. It's a shame the project will no doubt get delayed somewhat when Vice City comes out for the PC.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Keep up the good work.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Technical manager&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Rockstar North.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Historical]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=AR/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D9%87&amp;diff=50221</id>
		<title>AR/الصفحه الرئيسيه</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=AR/%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D9%84%D8%B1%D8%A6%D9%8A%D8%B3%D9%8A%D9%87&amp;diff=50221"/>
		<updated>2017-01-01T18:44:42Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Ahmed Ly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding: 5px; height: 130px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Mtalogo.png|left|100px]].Multi Theft Auto ستجد هنا معلومات غنية عن استخدام .'''Multi Theft Auto أهلا بك فى الويكي الخاص ب''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--هناك العديد من [[كيف يمكنك المساعده|الإشياء الممكن ان تساعدنا بها]] كصنع خريطه وصنع مود--&amp;gt;&lt;br /&gt;
.[[IRC Channel]] أو [irc://irc.gtanet.com/Arab_scripting Arab_scripting] إذا كان لديك أي أسئلة أو مشاكل تتعلق بالبرمجة ، يمكنك السؤال على&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px dotted #AAAAAA;padding:4px 8px 8px 8px;margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
====مكتبات====&lt;br /&gt;
&lt;br /&gt;
* [[AR/Math|  math مكتبة ]] [[Image:Sa.png|اللغة العربية|20px]]&lt;br /&gt;
* [[AR/String|  string مكتبة ]] [[Image:Sa.png|اللغة العربية|20px]]&lt;br /&gt;
* [[AR/Table|  table مكتبة ]] [[Image:Sa.png|اللغة العربية|20px]]&lt;br /&gt;
* [[AR/Other|  مكتبات اخرى ]] [[Image:Sa.png|اللغة العربية|20px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Input-gaming.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== لعب ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #FFEEAA;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=http://mtasa.com/]] ''' [http://mtasa.com/ تحميل لعبة ام تي اي اخر اصدار {{Current Version|full}}]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[AR/دليل اللاعب|(Client) دليل اللاعب]] [[Image:Sa.png|اللغة العربية|20px]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Changes_in_{{padleft:|3|{{Current Version|full}}}}| {{padleft:|3|{{Current Version|full}}}} التغيرات فى ]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|مشاكل معروفه]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Upgrading_from_MTA:Race|MTA:SA {{padleft:|3|{{Current Version|full}}}} الى MTA:RACE المهاجرة من]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Server_Manual|(Server) دليل السيرفر]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Map_manager|ادارة الخرائط]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== صنع الخرائط ===&lt;br /&gt;
*[[Resource:Editor|دليل]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
*[[Resource:Editor/EDF|EDF صيغة]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
*[[Resource:Editor/Plugins|الاضافات]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
*[[Resource:Editor#FAQ|أسئلة وأجوبة]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Package-x-generic.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== قواعد البيانات ===&lt;br /&gt;
MTA لـ (Resources) فى صنع المودات Lua يوضح هذا القسم امكانيات &lt;br /&gt;
* [[:Category:Resource|(Resources)]] كتالوج المودات&lt;br /&gt;
* [[Client side scripts]]&lt;br /&gt;
* [[Modules]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-development.png‎‎‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Multi Theft Auto تطوير ===&lt;br /&gt;
[[File:Go-down.png|link=http://nightly.mtasa.com/]] [http://nightly.mtasa.com/ Nightly builds]&lt;br /&gt;
* [[Compiling_MTASA|Compiling MTASA on Windows]]&lt;br /&gt;
* [[Building_MTASA_Server_on_Mac_OS_X|Compiling MTASA on Mac OS X]]&lt;br /&gt;
* [[Building_MTASA_Server_on_GNU_Linux|Compiling MTASA on GNU/Linux]]&lt;br /&gt;
* [[Coding guidelines]]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue Main Github repository]&lt;br /&gt;
* [[Roadmap]]&lt;br /&gt;
* [http://bugs.mtasa.com/ Bugtracker]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-office.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Wiki - كيف يمكنك المساعدة ===&lt;br /&gt;
* [[:Category:Incomplete|تكملة الوثائق الغير مكتملة]]&lt;br /&gt;
* [[:Category:Needs_Example |eventsو لل functionsاضف مثال لل]].&lt;br /&gt;
* [[:Category:Needs Checking|مراجعة والتحقق من الصفحات التي تحتاج التحقق]]&lt;br /&gt;
* كتابة دروس لمساعدة الناس&lt;br /&gt;
* ترجمة صفحات الويكي&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Internet-group-chat.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== المجتمع ===&lt;br /&gt;
* [http://forum.multitheftauto.com/ المنتدى]&lt;br /&gt;
* IRC: [irc://irc.multitheftauto.com/mta irc.multitheftauto.com #mta]&lt;br /&gt;
* [http://community.mtasa.com/ MTA Community] - تنزيل ومشاركة المودات&lt;br /&gt;
* [http://twitter.com/#!/MTAQA/ Twitter] - [http://www.youtube.com/user/MTAQA Youtube] - [http://plus.google.com/102014133442331779727/ Google+] - [http://www.moddb.com/mods/multi-theft-auto-san-andreas ModDB]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Accessories-text-editor.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== (Scripting) البرمجة ===&lt;br /&gt;
* [[AR/مقدمه في البرمجه|مقدمه في البرمجه]] [[Image:Sa.png|اللغة العربية|20px]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Introduction to Scripting the GUI| مقدمة فى برمجة الواجهة الرسومية]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Debugging|كيفية البحث عن الأخطاء فى السكربت]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
* [[Resources|(Resources) مقدمة فى المودات]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
** [[الوصول الى المودات عن طريق الويب]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
** [[:Category:Resource|(Resources) كتالوج المودات]] [[Image:flag_us.png|اللغة الأنجليزية|20px]]&lt;br /&gt;
** [[Meta.xml]] - الذى يحدد ذلك (meta.xml) ملف التعريف (Resources) وراء كل المودات&lt;br /&gt;
** [[ACL]] - و هذا أمر حيوى لسكربتات معقدة للعمل Access Control List&lt;br /&gt;
* [[Writing_Gamemodes|Gamemodes كتابة]]&lt;br /&gt;
* [[Useful_Functions|وظائف مفيدة]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:start-here.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
====LUA تعلميات عامه حول====	&lt;br /&gt;
صفحات مصممه للمساعدة في فهم اللغه&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;LUA دليل البرمجة في]&lt;br /&gt;
**[http://www.lua.org/manual/5.1/#index Lua  دليل وظائف]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua ويكي]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html Nixstaller من  Lua أرشادات عامة في]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#E5E5FF;&amp;quot;&amp;gt;&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[AR/Client Scripting Functions|Client-side Functions]] [[Image:Sa.png|اللغة العربية|20px]] جاري الترجمة&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[AR/Server Scripting Functions|Server-side Functions]] [[Image:Sa.png|اللغة العربية|20px]] تم الترجمة جزئياً&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:System-file-manager.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
====[[Id|قائمة الأي دي]]====&lt;br /&gt;
*[[Animations|الحركات]]&lt;br /&gt;
*[[Character Skins|الشخصيات]]&lt;br /&gt;
*[[CJ_Clothes|CJ ملابس]]&lt;br /&gt;
*[[Garage|الكراجات]]&lt;br /&gt;
*[[Interior IDs|المحلات]]&lt;br /&gt;
*[[Material IDs|الادوات]]&lt;br /&gt;
*[[Projectiles|الصواريخ والمقذوفات]]&lt;br /&gt;
*[[Radar Blips|ايقونات الرادار]]&lt;br /&gt;
*[[Sounds|الإصوات]]&lt;br /&gt;
*[[Vehicle IDs|السيارات]]&lt;br /&gt;
*[[Vehicle Colors|الوان السيارات]]&lt;br /&gt;
*[[Vehicle Upgrades|اضافات السيارات]]&lt;br /&gt;
*[[Vehicle variants|متغيرات السيارات]]&lt;br /&gt;
*[[Weapons|الاسلحه]]&lt;br /&gt;
*[[Weather|الجو]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Osi symbol.png|75px|link=http://opensource.org/]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
أفضل(Multi Theft Auto)هي مصدر مفتوح هذا يعني ان اي شخص يمكن ان يساهم لجعل '''MTA'''&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 5px;&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''About Multi Theft Auto'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[Archive]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[Press Coverage]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[http://code.google.com/p/mtasa-blue/people/list Developers]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''Multi Theft Auto 0.5'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[Archive#Multi_Theft_Auto_0.5|Download]]&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;[[MTA 0.5r2 Known Issues|Known Issues]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;ul style=&amp;quot;list-style: none; width: 200px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;'''Wiki Stats'''&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFARTICLES}} Articles&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFPAGES}} Pages&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;{{NUMBEROFUSERS}} Registered Users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{Languages list|ar}}&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CS/hlavni&amp;diff=50220</id>
		<title>CS/hlavni</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CS/hlavni&amp;diff=50220"/>
		<updated>2017-01-01T18:44:40Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Miki785&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding: 5px; height: 130px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Mtalogo.png|left|100px]]'''Vítejte na Multi Theft Auto Wiki!''' Na této wiki najdete bohaté informace jak používat Multi Theft Auto.&lt;br /&gt;
&lt;br /&gt;
'''Do ceskeho jazyka je prelozeno velice malo stranek, uplny seznam prelozenych stranek naleznete zde: [http://wiki.multitheftauto.com/wiki/Category:Cesky]'''&lt;br /&gt;
&lt;br /&gt;
Je tu spousta [[How you can help|věcí kterými nám můžete pomoci]] zlepšit MTA - vytvorit mapu, herní mód, pomoci zdokumentovat informace o funkcích, napsat ukázkové kódy, Psát tutoriály, nebo jen hrát MTA a hlásit bugy na které narazíte.&lt;br /&gt;
&lt;br /&gt;
Pokuď máte něaké problémy se scriptovánním, neváhejte nám napsat na náš [[IRC Channel]].&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;''Přestaň hrát sám se sebou'' (''Stop playing with yourself!'')&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Input-gaming.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Hraní ===&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #FFEEAA;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=http://mtasa.com/]] ''' [http://mtasa.com/ Stáhněte Multi Theft Auto: San Andreas {{Current Version|full}}]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* [[CS/Client Manual|Klient Manuál]]&lt;br /&gt;
* [[Changes_in_1.1| Změny v 1.1]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|Známé problémy]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Upgrading_from_MTA:Race|Migrace z MTA:Race na MTA:SA 1.0.x]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Server Manual]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Map manager|Map Manager]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&lt;br /&gt;
=== Map Editor ===&lt;br /&gt;
*[[Resource:Editor|Manual]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Resource:Editor/EDF|Editor Definition Format]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Resource:Editor/Plugins|Plugins]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Resource:Editor#FAQ|Nejčastější dotazy]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Package-x-generic.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
====Databáze====&lt;br /&gt;
Tato sekce diskutuje o všech možnostech v LUA nebo informace o resources.&lt;br /&gt;
* [[:Category:Resource|Resource katalog]][[Image:usen.gif|Pouze v Angličtině]] - Musíte se naučit jak správně psát scripty.&lt;br /&gt;
* [[Client side scripts|Client side scripty]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Modules]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-development.png‎‎‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
====Rozširujeme Multi Theft Auto====&lt;br /&gt;
[[File:Go-down.png|link=http://nightly.mtasa.com/]] [http://nightly.mtasa.com/ Noční buildy]&lt;br /&gt;
* [[Compiling_MTASA|Kompilace MTASA na Windows]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Building_MTASA_Server_on_Mac_OS_X|Kompilace MTASA NA Mac OS X]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Building_MTASA_Server_on_GNU_Linux|Kompilace MTASA na GNU/Linux]]&lt;br /&gt;
* [[Coding guidelines|Scriptovací pokyny|]]&lt;br /&gt;
* [http://code.google.com/p/mtasa-blue Google Code SVN][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Roadmap]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [http://bugs.mtasa.com/ Bugtracker][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-office.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Wiki - Jak můžete pomoci ===&lt;br /&gt;
* Dokončete dokumentaci pro [[:Category:Incomplete|Nedokončené funkce]].[[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[:Category:Needs_Example |Pridejte ukázky k funkcím]].[[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* Prohlídněte a potvrďte [[:Category:Needs Checking|stránky které potrebují kontrolu]].[[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* Pište tutoriály abyste pomohli nováčkům.&lt;br /&gt;
* Prekládejte wiki stránky.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Internet-group-chat.png‎]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Komunita ===&lt;br /&gt;
* [http://forum.multitheftauto.com/ Forum][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* IRC: [irc://irc.multitheftauto.com/mta irc.multitheftauto.com #mta][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [http://community.mtasa.com/ MTA Community][[Image:usen.gif|Pouze v Angličtině]] - Sdílejte a stahujte resources.&lt;br /&gt;
* [http://www.youtube.com/user/MTAQA Youtube Channel][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| width=&amp;quot;50%&amp;quot; style=&amp;quot;vertical-align:top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Accessories-text-editor.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
=== Skriptování ===&lt;br /&gt;
* [[Scripting Introduction|Úvod do skriptování]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Introduction to Scripting the GUI|Úvod do skriptování GUI]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]][[Image:usen.gif|Pouze v Angličtině]] - Jak nalézt chyby ve vašich scriptech.&lt;br /&gt;
* [[Resources|Úvod do resources]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
** [[Resource Web Access]][[Image:usen.gif|Pouze v Angličtině]] - Jak můžete psát webové stránky s resources.&lt;br /&gt;
** [[:Category:Resource|Resource Katalog]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
** [[CZ/Meta.xml|Meta.xml]] - Za každým resource je Meta která jej definuje.&lt;br /&gt;
** [[ACL]][[Image:usen.gif|Pouze v Angličtině]] - Access Control List, toto je důležite pro komplexní skripty aby fungovali.&lt;br /&gt;
* [[Writing_Gamemodes|Psaní herních módů]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Useful_Functions|Užitečné funkce]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:start-here.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
====Obecná pomoc s LUA====&lt;br /&gt;
Stránky které tu jsou od toho aby vám pomohli chápat jazyk LUA&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programováni v LUA&amp;quot; Manual][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
**[http://www.lua.org/manual/5.1/#index reference vnitrních LUA funkcí][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[http://nixstaller.berlios.de/manual/0.2/nixstaller_9.html Obecný průvodce pro Lua od Nixstaller][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#CCCCFF;&amp;quot;&amp;gt;&lt;br /&gt;
====Reference====&lt;br /&gt;
* [[Client Scripting Functions|Client-side Funkce]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Eventy]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Funkce]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Eventy]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]][[Image:usen.gif|Pouze v Angličtině]] - Detailní vysvětlení všech MTA prvků&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:System-file-manager.png]]&amp;lt;/div&amp;gt;&lt;br /&gt;
====[[Id|Seznamy ID]][[Image:usen.gif|Pouze v Angličtině]]====&lt;br /&gt;
*[[Animations|Animace]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Character Skins|Skiny]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[CJ_Clothes|Oblečení]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Garage|ID garáží]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Interior IDs|ID iteriérů]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Material IDs|ID materiálů]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Projectiles|Projektily]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Radar Blips|Radarové ikonky]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Sounds|Zvuky]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Vehicle IDs|ID Vozidel]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Vehicle Colors|Barvy vozidel]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Vehicle Upgrades|Upgrady(tuning) vozidel]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Vehicle variants|Variace vozidel]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Weapons|Zpraně]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
*[[Weather|Počasí]][[Image:usen.gif|Pouze v Angličtině]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Osi symbol.png|75px|link=http://opensource.org/]]&lt;br /&gt;
'''Multi Theft Auto''' je '''Open Source'''. &lt;br /&gt;
To znamená že se může kažý zapojit aby udělal MTA eště lepším! &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
{{Languages list|cs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Cesky]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MTA_0.5r2_Known_Issues&amp;diff=50219</id>
		<title>MTA 0.5r2 Known Issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MTA_0.5r2_Known_Issues&amp;diff=50219"/>
		<updated>2017-01-01T18:44:31Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Dvorapa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MTA0.5 page}}&lt;br /&gt;
__NOTOC__This applies to MTA 0.5r2 (both GTA3:MTA and MTA:VC). The known issues for MTA:SA 1.x can be found [[Known_Issues_-_FAQ | here]].&lt;br /&gt;
&lt;br /&gt;
== Client issues: ==&lt;br /&gt;
*'''Australian and German EXEs (and possibly others) may produce an &amp;quot;invalid executable&amp;quot; error when you try to start a game.'''&lt;br /&gt;
As Australian and German EXEs don't work reliably with MTA, this shouldn't be a huge problem. Try to obtain a standard EXE. You can try [http://forum.mtasa.com/viewtopic.php?f=50&amp;amp;t=12180 '''Talidan''''s invalid executable patcher].&lt;br /&gt;
*'''Crash when MTA:VC DM is loading.'''&lt;br /&gt;
Make sure you run GTA3 or Vice City at least once in single player without MTA before actually running it with MTA. If that doesn't work, try [http://updates.rockstargames.com/patches/vicecity/vicepatch_11.zip the Vice 1.1 patch]. If that still doesn't work, post in [http://forum.mtasa.com/viewforum.php?f=50 the support forum].&lt;br /&gt;
*'''Freeze when the client tries to display dialog asking for game path.'''&lt;br /&gt;
There have been a couple of occurrence of this, and we'd be interested to see why this is. You can avoid it by manually setting the path in the mta.ini in the Multi Theft Auto directory.&lt;br /&gt;
&lt;br /&gt;
For Vice City, your mta.ini should contain (replace the path if necessary):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[Game-VC]&lt;br /&gt;
Version=0&lt;br /&gt;
Location=C:\Program Files\Rockstar Games\Grand Theft Auto Vice City\gta-vc.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For GTA3:MTA, your mta.ini should contain (replace the path if necessary):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;[Game-GTA3]&lt;br /&gt;
Version=1&lt;br /&gt;
Location=C:\Program Files\Rockstar Games\GTAIII\gta3.exe&amp;lt;/pre&amp;gt;&lt;br /&gt;
*'''XFire crashes game during loading.'''&lt;br /&gt;
Both XFire and MTA use similar methods for integrating themselves into the game. We've contacted XFire to offer our support for them in implementing support for MTA, but they haven't responded. If you wish to use XFire in MTA, contact XFire. In the meantime, disable XFire before you play.&lt;br /&gt;
*'''MTA claims &amp;quot;Suspected Trainer Usage.&amp;quot;'''&lt;br /&gt;
Try closing every other open window first, then if that doesn't work restart MTA. If that doesn't work, try reinstalling MTA 0.5r2.&lt;br /&gt;
*'''You join a server and are told you are banned, even though you aren't in the ban list.'''&lt;br /&gt;
The cause of this is unknown. You may be banned by a over-general ban in the server's ban list.&lt;br /&gt;
*'''Client crashes when you join a server.'''&lt;br /&gt;
This crash may be caused by the client trying to download the rich text MOTD specified by the server and failing (e.g. the site its trying to get it from is down, or the URL is invalid). If this happens, the client will crash.&lt;br /&gt;
*'''You have quite a few files on your computer called mtachat.txt.'''&lt;br /&gt;
mtachat.txt, as you probably guessed, stores a chat log. This feature was added at the last moment and not properly tested. Consequently, this problem has occurred. This is probably due to how the client has been launched (the start path determines where it saves the chat, not the install path). Feel free to delete any files you don't want.&lt;br /&gt;
*'''Upon clicking &amp;quot;Start Game&amp;quot; the client informs you your client is modified.'''&lt;br /&gt;
Click '''Start Game''' again.&lt;br /&gt;
*'''When playing GTA3 you receive an &amp;quot;Invalid Executable&amp;quot; error.'''&lt;br /&gt;
This is probably because you are using GTA3 version 1.0 instead of 1.1. You can get the GTA3 1.1 patch [http://updates.rockstargames.com/patches/grandtheftauto3/GTA3patch1.1.zip here]. If this doesn't work, or you already have GTA3 1.1, make sure you have the USA/UK EXE; you can try '''Talidan''''s [http://forum.mtasa.com/viewtopic.php?f=50&amp;amp;t=12180 invalid executable patcher]. Failing that, try to obtain one elsewhere.&lt;br /&gt;
*'''Your virus scanner informs you that the Multi Theft Auto 0.5r2 executable is a virus or malware.'''&lt;br /&gt;
MTA does &amp;lt;u&amp;gt;not&amp;lt;/u&amp;gt; contain any viruses, malware, adware or spyware. It is flagged as a false positive because of the way the executable is packed. Ensure you only download the client from our site. [http://dl.dropbox.com/u/12783812/mta05r2_full_installer.exe This link] is uploaded by our account. Use this if you doubt the validity of your copy of MTA.&lt;br /&gt;
*'''You get a crash at the address 652F30 when starting the game.'''&lt;br /&gt;
Ensure your game language is set to English.&lt;br /&gt;
&lt;br /&gt;
== Gameplay issues: ==&lt;br /&gt;
*'''MTA:VC (either map) crashes when you try to get on a motorcycle as passenger when it has no driver, as well as a couple other crashes in certain circumstances with motorcycles'''&lt;br /&gt;
Sorry, I was unable to fix this for 0.5r2. This may be fixed in a future release.&lt;br /&gt;
*'''MTA:VC DM: You are unable to jump or sprint when a Molotov is your active weapon, but you are able to jump and sprint with Grenades'''&lt;br /&gt;
This will be fixed in a future release if there is one.&lt;br /&gt;
*'''MTA:VC (either map): after exiting spectator mode, you may see a brief glimpse of Tommy falling and potentially receiving fall damage; once you spawn with a skin, you have less than 100 health'''&lt;br /&gt;
This will be fixed in a future release if there is one.&lt;br /&gt;
*'''GTA3:MTA, Turismo/Shoreside Scramble gamemode: During a race, if another racer dies, every living racer crashes.'''&lt;br /&gt;
I was also unable to fix this issue for 0.5r2. This may be fixed in a future release.&lt;br /&gt;
*'''GTA3:SSV, Van Heist gamemode: The home base marker flickers, and if the Securicar explodes, then the damage meter shows negative'''&lt;br /&gt;
Live with it, neither were worth my time to fix for 0.5r2. This may be fixed in a future release.&lt;br /&gt;
&lt;br /&gt;
== Server issues: ==&lt;br /&gt;
*'''You receive the error &amp;quot;ERROR: The ServerName, ServerPort, GameMap, GameHour, GameMins, Weather and BannedFile MUST be specified in the configuration file&amp;quot; when you run your server, and all fields are filled in. ''Only affects Server Patch 1 Hotfix'''''&lt;br /&gt;
Ensure that your server name is 49 characters or less. This is a misleading error.&lt;br /&gt;
*'''Your client times out as soon as you connect to a server. Players all time out when they connect to your server.'''&lt;br /&gt;
This has been an unknown problem for quite some time now, but it seems it is caused not by MTA or the MTAServer but by MTA:mA, or more specifically scripts running on it. If the scripts send multiple messages to the player when they join it is highly likely to time them out. This results in nobody being able to play. &lt;br /&gt;
&lt;br /&gt;
For now a fix is available for MTA:mA [http://forum.mtasa.com/viewtopic.php?p=181919#181919 here] (hopefully GRS will also be updated soon).&lt;br /&gt;
&lt;br /&gt;
Please follow '''Aeron''''s instructions regarding its use.&lt;br /&gt;
&lt;br /&gt;
A big thank-you to '''Mike''' for discovering the cause of this problem and '''Aeron''' for getting a fix out so quickly.&lt;br /&gt;
&lt;br /&gt;
[[ru:MTA_0.5r2_Known_Issues]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Vice_City]]&lt;br /&gt;
[[Category:GTA3]]&lt;br /&gt;
[[Category:MTA_0.5]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Vehicle_Colors&amp;diff=50218</id>
		<title>Vehicle Colors</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Vehicle_Colors&amp;diff=50218"/>
		<updated>2017-01-01T18:44:29Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by GabWas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are the vehicle colors you can use with [[setVehicleColor]] and [[getVehicleColor]].&lt;br /&gt;
{{Vehicle colors}}&lt;br /&gt;
&lt;br /&gt;
==Vehicle Functions==&lt;br /&gt;
{{Vehicle functions}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
[[ru:Vehicle colors]]&lt;br /&gt;
[[de:Fahrzeugfarben]]&lt;br /&gt;
[[pl:Vehicle Colors]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Vehicle_variants&amp;diff=50217</id>
		<title>Vehicle variants</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Vehicle_variants&amp;diff=50217"/>
		<updated>2017-01-01T18:44:24Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Wielebny&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Custom Variants ==&lt;br /&gt;
With the introduction of vehicle variants we now have the ability to add custom variants using custom models. Variants can be anything from different adverts to additional parts of the model..&lt;br /&gt;
[[Image:Infernus.png|200px|thumb|left|Custom Infernus Variant]]&lt;br /&gt;
&lt;br /&gt;
==How to Add Variants==&lt;br /&gt;
Adding variants requires modifying your DFF by adding a part of the model you wish to be a variant and naming it extra1, extra2, extra3, extra4 or extra5 then setting it's parent to the chassis_dummy this tells GTA it has variant information and after this your variant will work in MTA.&lt;br /&gt;
&lt;br /&gt;
==Spawning Custom Variants==&lt;br /&gt;
Spawning custom variants is more complicated as we do not know the variants are there so the random variant spawner (TM) will not spawn the added variant.&lt;br /&gt;
&lt;br /&gt;
A way around this is to implicitly specify which variant you require in createVehicle this will bypass our random variant spawner (TM) and allow you to spawn it.&lt;br /&gt;
&lt;br /&gt;
Any invalid variant will show up as the default model with no variation.&lt;br /&gt;
 &lt;br /&gt;
==GTA Variants==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: auto; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Vehicle Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Vehicle ID&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; class=&amp;quot;unsortable&amp;quot; | Variants&lt;br /&gt;
|-&lt;br /&gt;
| Ambulance&lt;br /&gt;
| 416&lt;br /&gt;
| Numbers: 0 = 37, 1 = 71&lt;br /&gt;
|-&lt;br /&gt;
| Trailer 1&lt;br /&gt;
| 435&lt;br /&gt;
| Side Ads: 0 = Cok-o-Pops, 1 = Munky Juice, 2 = Hinterland, 3 = Zip, 4 = RS Haul, 5 = Ranch&lt;br /&gt;
|-&lt;br /&gt;
| Trailer 2&lt;br /&gt;
| 450&lt;br /&gt;
| Contents: 0 = Filled with gravel/coal/stone&lt;br /&gt;
|-&lt;br /&gt;
| Bagboxb&lt;br /&gt;
| 607&lt;br /&gt;
| Contents: 0,1,2 = Various distributions of loose baggage&lt;br /&gt;
|-&lt;br /&gt;
| Baggage&lt;br /&gt;
| 485&lt;br /&gt;
| Rear Cargo Items: 0 = Earmuffs, 1 = Small Case, 2 = Large Case&lt;br /&gt;
|-&lt;br /&gt;
| Barracks&lt;br /&gt;
| 433&lt;br /&gt;
| Bed Covering: 0 = Opaque Fabric, 1 = Camo Netting&lt;br /&gt;
|-&lt;br /&gt;
| Benson&lt;br /&gt;
| 499&lt;br /&gt;
| Side Ads: 0 = Shady Industries, 1 = LSD, 2 = The Uphill Gardener, 3 = Discount Furniture&lt;br /&gt;
|-&lt;br /&gt;
| BF-400&lt;br /&gt;
| 581&lt;br /&gt;
| Exhausts: 0 = Single Type1, 1 = Single Type2, 2 = Dual Type3 - Fairings (with Windshields): 3 = Half-size, 4 = Full-size&lt;br /&gt;
|-&lt;br /&gt;
| BF Injection&lt;br /&gt;
| 424&lt;br /&gt;
| Body: 0 = Side Panels&lt;br /&gt;
|-&lt;br /&gt;
| Bloodring Banger&lt;br /&gt;
| 504&lt;br /&gt;
| Numbers/Roof Color: 0 = 328/White, 1 = 464/Check, 2 = 172/Check, 3 = 100/White, 4 = 284/White, 5 = 505/Check&lt;br /&gt;
|-&lt;br /&gt;
| Bobcat&lt;br /&gt;
| 422&lt;br /&gt;
| Bed Items: 0 = Spare Tire, 1 = Sprunk Cans&lt;br /&gt;
|-&lt;br /&gt;
| Burrito&lt;br /&gt;
| 482&lt;br /&gt;
| Roof Items: 0 = Roof Lights + Spoiler&lt;br /&gt;
|-&lt;br /&gt;
| Caddy&lt;br /&gt;
| 457&lt;br /&gt;
| Rear Cargo (Driver Side): 0 = Golfbag1, 1 = Satchel1, 2 = Golfbag2, Rear Cargo (Pass Side): 3 = Satchel2, 4 = Golfbag3, 5 = Golfbag4&lt;br /&gt;
|-&lt;br /&gt;
| Camper&lt;br /&gt;
| 483&lt;br /&gt;
| 0 = Open Curtains &amp;amp; Second Bench Seat, 1 = Open Roof Vent, Closed Curtains, Bed in Back, Peace Sign&lt;br /&gt;
|-&lt;br /&gt;
| Cheetah&lt;br /&gt;
| 415&lt;br /&gt;
| Side Mirrors: 0 = Single, Placed High, 1 = Dual, Placed Normally&lt;br /&gt;
|-&lt;br /&gt;
| Coach&lt;br /&gt;
| 437&lt;br /&gt;
| Name on Side: 0 = Big O Tours, 1 = Bikini Line&lt;br /&gt;
|-&lt;br /&gt;
| Coastguard&lt;br /&gt;
| 472&lt;br /&gt;
| Various Items 0 = Items all Over, 1 = Items Grouped in Back, 2 = Items all Over + 2 Oars in Front&lt;br /&gt;
|-&lt;br /&gt;
| FCR-900&lt;br /&gt;
| 521&lt;br /&gt;
| Exhausts: 0 = Single Type1, 1 = Dual Type1, 2 = Dual Type2, Fairings (with Windshields): 3 = Half-size, 4 = Full-size&lt;br /&gt;
|-&lt;br /&gt;
| Fire Truck&lt;br /&gt;
| 407&lt;br /&gt;
| Numbers: 0 = 64, 1 = 16, 2 = 47&lt;br /&gt;
|-&lt;br /&gt;
| Flatbed&lt;br /&gt;
| 455&lt;br /&gt;
| Numbers: 0 = 64, 1 = 16, 2 = 47&lt;br /&gt;
|-&lt;br /&gt;
| Hotknife&lt;br /&gt;
| 434&lt;br /&gt;
| 0 = Partial Engine Cover&lt;br /&gt;
|-&lt;br /&gt;
| Hotring Racer 2&lt;br /&gt;
| 502&lt;br /&gt;
| Numbers: 0 = 96, 1 = 67, 2 = 73, 3 = 52, 4 = 45, 5 = 14&lt;br /&gt;
|-&lt;br /&gt;
| Hotring Racer 3&lt;br /&gt;
| 503&lt;br /&gt;
| Numbers: 0 = 82, 1 = 26, 2 = 65, 3 = 07, 4 = 36, 5 = 60&lt;br /&gt;
|-&lt;br /&gt;
| Kart&lt;br /&gt;
| 571&lt;br /&gt;
| Body Panels: 0 = Both Sides, 1 = Steering Column&lt;br /&gt;
|-&lt;br /&gt;
| Launch&lt;br /&gt;
| 595&lt;br /&gt;
| Roofs: 0 = Over passenger section, 1 = Over driver section&lt;br /&gt;
|-&lt;br /&gt;
| Marquis&lt;br /&gt;
| 484&lt;br /&gt;
| 0 = Windshield over Cabin Entrance&lt;br /&gt;
|-&lt;br /&gt;
| Mesa&lt;br /&gt;
| 500&lt;br /&gt;
| 0 = Roof Over Back, 1 = Roll Bar in Back&lt;br /&gt;
|-&lt;br /&gt;
| Monster 2&lt;br /&gt;
| 556&lt;br /&gt;
| 0 = Roof Spoiler, 1 = Roof Lights, 2 = Roll Bar with Lights&lt;br /&gt;
|-&lt;br /&gt;
| Monster 3&lt;br /&gt;
| 557&lt;br /&gt;
| 0 = Couldn't Determine 1 = Roof Lights&lt;br /&gt;
|-&lt;br /&gt;
| Mr. Whoopee&lt;br /&gt;
| 423&lt;br /&gt;
| Rear Sign: 0 = Cherry Popping Good, 1 = Slow Children Ahead&lt;br /&gt;
|-&lt;br /&gt;
| Mule&lt;br /&gt;
| 414&lt;br /&gt;
| Side Ads: 0 = Toy Corner, 1 = Binco, 2 = Semi, 3 = Shafted Appliances&lt;br /&gt;
|-&lt;br /&gt;
| NRG-500&lt;br /&gt;
| 522&lt;br /&gt;
| Exhausts: 0 = Single Pair1, 1 = Single Pair2, 2 = Dual Pair2 - Fairings (with Windshields): 3 = Smooth, 4 = With Side Cutouts&lt;br /&gt;
|-&lt;br /&gt;
| Patriot&lt;br /&gt;
| 470&lt;br /&gt;
| Cargo Area 0 = Low Cover, 1 = Roof/High Cover, 2 = Roll Bar&lt;br /&gt;
|-&lt;br /&gt;
| Perennial&lt;br /&gt;
| 404&lt;br /&gt;
| Cargo Area 0 = Low Cover, 1 = Roof/High Cover, 2 = Roll Bar&lt;br /&gt;
|-&lt;br /&gt;
| Picador&lt;br /&gt;
| 600&lt;br /&gt;
| Items in Bed: 0 = Planks, 1 = Sprunk Cans&lt;br /&gt;
|-&lt;br /&gt;
| Pony&lt;br /&gt;
| 413&lt;br /&gt;
| 0 = Sound System in Back&lt;br /&gt;
|-&lt;br /&gt;
| Reefer&lt;br /&gt;
| 453&lt;br /&gt;
| Items in Back: 0 = Boxes of Fish, 1 = Bench&lt;br /&gt;
|-&lt;br /&gt;
| Romero&lt;br /&gt;
| 442&lt;br /&gt;
| Coffins: 0 = Brown Style1, 1 = Black Style2, 2 = Brown Style3&lt;br /&gt;
|-&lt;br /&gt;
| Rumpo&lt;br /&gt;
| 440&lt;br /&gt;
| Side Ads: 0 = Cok-o-Pops, 1 = Harry Plums, 2 = Dick Goblin's, 3 = Final Build, 4 = Transfender, 5 = Wheel Arch Angels&lt;br /&gt;
|-&lt;br /&gt;
| Sadler&lt;br /&gt;
| 543&lt;br /&gt;
| Items in Bed: 0 = Two Propane Tanks &amp;amp; Crate, 1 = Two Barrels, 2 = Sprunk Cans, 3 = Open Crates, 4+ = Empty bed&lt;br /&gt;
|-&lt;br /&gt;
| Damaged Sadler&lt;br /&gt;
| 605&lt;br /&gt;
| Items in Bed: 0 = Two Propane Tanks &amp;amp; Crate, 1 = Two Barrels, 2 = Sprunk Cans, 3 = Open Crates, 4+ = Empty bed&lt;br /&gt;
|-&lt;br /&gt;
| Securicar&lt;br /&gt;
| 428&lt;br /&gt;
| Side Logo: 0 = Chuff, 1 = Lock&amp;amp;Load&lt;br /&gt;
|-&lt;br /&gt;
| Slamvan&lt;br /&gt;
| 535&lt;br /&gt;
| Steering Wheel: 0 = Normal, 1 = Chain (Default has none!)&lt;br /&gt;
|-&lt;br /&gt;
| Stallion&lt;br /&gt;
| 439&lt;br /&gt;
| Roof: 0 = Hardtop, 1 = Softtop (up), 2 = Softtop (folded)&lt;br /&gt;
|-&lt;br /&gt;
| Super GT&lt;br /&gt;
| 506&lt;br /&gt;
| 0 = Full Roof&lt;br /&gt;
|-&lt;br /&gt;
| S.W.A.T.&lt;br /&gt;
| 601&lt;br /&gt;
| Number: 0 = 1, 1 = 9, 2 = 6, 3 = 7&lt;br /&gt;
|-&lt;br /&gt;
| Berkley's RC Van&lt;br /&gt;
| 459&lt;br /&gt;
| 0 = Boxes of Toys in Back&lt;br /&gt;
|-&lt;br /&gt;
| Tram&lt;br /&gt;
| 449&lt;br /&gt;
| 0,1,2,3 = (4 defined extras, but I don't know what they are)&lt;br /&gt;
|-&lt;br /&gt;
| Trashmaster&lt;br /&gt;
| 408&lt;br /&gt;
| 0 = Some bits of trash sticking out of the back&lt;br /&gt;
|-&lt;br /&gt;
| Tug&lt;br /&gt;
| 583&lt;br /&gt;
| Case in Back: 0 = Red Case, 1 = Green Case&lt;br /&gt;
|-&lt;br /&gt;
| Utility Van&lt;br /&gt;
| 552&lt;br /&gt;
| 0 = Cones, Barrel in back + Cone lying on passenger side rail, 1 = Cones, Barrel in back + Cone lying on driver side rail&lt;br /&gt;
|-&lt;br /&gt;
| Walton&lt;br /&gt;
| 478&lt;br /&gt;
| Items in Bed: 0 = Two Propane Tanks, 1 = Open Crates, 2 = Propane Tank and Barrel&lt;br /&gt;
|-&lt;br /&gt;
| Windsor&lt;br /&gt;
| 555&lt;br /&gt;
| 0 = Roof, 1 = No Roof&lt;br /&gt;
|-&lt;br /&gt;
| Yankee&lt;br /&gt;
| 456&lt;br /&gt;
| Side Ads: 0 = Big Gas, 1 = RS Haul, 2 = Star Balls, 3 = Flower Power&lt;br /&gt;
|-&lt;br /&gt;
| ZR-350&lt;br /&gt;
| 477&lt;br /&gt;
| 0 = Rear Spoiler&lt;br /&gt;
|- class=&amp;quot;sortbottom&amp;quot;&lt;br /&gt;
! Vehicle Name&lt;br /&gt;
! Vehicle ID&lt;br /&gt;
! Variants&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Above table serialized in Lua:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local vehicleModelVariants={&lt;br /&gt;
  [404]={0,1,2},&lt;br /&gt;
  [407]={0,1,2},&lt;br /&gt;
  [408]={0},&lt;br /&gt;
  [413]={0},&lt;br /&gt;
  [414]={0,1,2,3},&lt;br /&gt;
  [415]={0,1},&lt;br /&gt;
  [416]={0,1},&lt;br /&gt;
  [422]={0,1},&lt;br /&gt;
  [423]={0,1},&lt;br /&gt;
  [424]={0},&lt;br /&gt;
  [428]={0,1},&lt;br /&gt;
  [433]={0,1},                                                                                                                                         &lt;br /&gt;
  [434]={0},                                                                                                                                           &lt;br /&gt;
  [435]={0,1,2,3,4,5},                                                                                                                                 &lt;br /&gt;
  [437]={0,1},                                                                                                                                         &lt;br /&gt;
  [439]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [440]={0,1,2,3,4,5},                                                                                                                                 &lt;br /&gt;
  [442]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [449]={0,1,2,3,4},                                                                                                                                   &lt;br /&gt;
  [450]={0},                                                                                                                                           &lt;br /&gt;
  [453]={0,1},                                                                                                                                         &lt;br /&gt;
  [455]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [456]={0,1,2,3},                                                                                                                                     &lt;br /&gt;
  [457]={0,1,2,3,4,5},                                                                                                                                 &lt;br /&gt;
  [459]={0},                                                                                                                                           &lt;br /&gt;
  [470]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [472]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [477]={0},                                                                                                                                           &lt;br /&gt;
  [478]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [482]={0},                                                                                                                                           &lt;br /&gt;
  [483]={0,1},                                                                                                                                         &lt;br /&gt;
  [484]={0},                                                                                                                                           &lt;br /&gt;
  [485]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [499]={0,1,2,3},                                                                                                                                     &lt;br /&gt;
  [500]={0,1},                                                                                                                                         &lt;br /&gt;
  [502]={0,1,2,3,4,5},                                                                                                                                 &lt;br /&gt;
  [503]={0,1,2,3,4,5},                                                                                                                                 &lt;br /&gt;
  [504]={0,1,2,3,4,5},                                                                                                                                 &lt;br /&gt;
  [506]={0},                                                                                                                                           &lt;br /&gt;
  [521]={0,1,2,3,4},                                                                                                                                   &lt;br /&gt;
  [522]={0,1,2,3,4},                                                                                                                                   &lt;br /&gt;
  [535]={0,1},  &lt;br /&gt;
  [543]={0,1,2,3,4},                                                                                                                                       &lt;br /&gt;
  [552]={0,1},                                                                                                                                         &lt;br /&gt;
  [555]={0,1},                                                                                                                                         &lt;br /&gt;
  [556]={0,1,2},                                                                                                                                       &lt;br /&gt;
  [557]={0,1},                                                                                                                                         &lt;br /&gt;
  [571]={0,1},                                                                                                                                         &lt;br /&gt;
  [581]={0,1,2,3,4},                                                                                                                                   &lt;br /&gt;
  [583]={0,1},                                                                                                                                         &lt;br /&gt;
  [595]={0,1},                                                                                                                                         &lt;br /&gt;
  [600]={0,1},                                                                                                                                         &lt;br /&gt;
  [601]={0,1,2,3},                                                                                                                                     &lt;br /&gt;
  [605]={0,1,2,3,4},                                                                                                                                     &lt;br /&gt;
  [607]={0,1,2},                                                                                                                                       &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
[[ru:Vehicle variants]]&lt;br /&gt;
[[de:Fahrzeug Varianten]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Weapons&amp;diff=50216</id>
		<title>Weapons</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Weapons&amp;diff=50216"/>
		<updated>2017-01-01T18:44:22Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by AlexTMjugador&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Scripting functions that ask for a weapon ID need an integer that refers to the GTASA weapon ID list. They are listed below.&lt;br /&gt;
{{Note|&lt;br /&gt;
*Clip size () denotes clip size when the weapon is dual wielded. Weapons without this specification are not dual wield weapons.&lt;br /&gt;
*GTASA [[Weapon_skill_levels|weapon stats]] will affect movement, accuracy, damage, and dual wield capability. See [[setPedStat]] to change these stats. The default MTA server package comes with a resource called &amp;quot;defaultStats&amp;quot; that sets GTASA weapon stats to 999. See the weapon stats link for more info.&lt;br /&gt;
*For death reasons, especially in event handlers for onPlayerWasted or similar, also have a look at the [[Death Reasons]].&lt;br /&gt;
*'''Name''' is compatible with functions [[getWeaponNameFromID]], [[getWeaponIDFromName]].&lt;br /&gt;
}}&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;text-align:center; margin: 1em auto 1em auto; border:1px solid black&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Slot || class=&amp;quot;unsortable&amp;quot; | Type || class=&amp;quot;unsortable&amp;quot; | Image || Name || ID || class=&amp;quot;unsortable&amp;quot; | Model ID || class=&amp;quot;unsortable&amp;quot; | Clip || class=&amp;quot;unsortable&amp;quot; | Sharing slot ammo&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 0&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Hand&lt;br /&gt;
| [[Image:Fist.png]] || align=&amp;quot;left&amp;quot; | Fist || 0 || - || -&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Knuckle.png]] || align=&amp;quot;left&amp;quot; | Brassknuckle || 1 || 331 || -&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;8&amp;quot; | 1&lt;br /&gt;
! rowspan=&amp;quot;8&amp;quot; | Melee&lt;br /&gt;
| [[Image:Golfclub.png]] || align=&amp;quot;left&amp;quot; | Golfclub || 2 || 333 || -&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Nitestik.png]] || align=&amp;quot;left&amp;quot; | Nightstick || 3 || 334 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Knife.png]] || align=&amp;quot;left&amp;quot; | Knife || 4 || 335 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Bat.png]] || align=&amp;quot;left&amp;quot; | Bat || 5 || 336 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Shovel.png]] || align=&amp;quot;left&amp;quot; | Shovel || 6 || 337 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Poolcue.png]] || align=&amp;quot;left&amp;quot; | Poolstick || 7 || 338 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Katana.png]] || align=&amp;quot;left&amp;quot; | Katana || 8 || 339 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Saw.png]] || align=&amp;quot;left&amp;quot; | Chainsaw || 9 || 341 || -&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | 2&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Handguns&lt;br /&gt;
| [[Image:Colt45.png]] || align=&amp;quot;left&amp;quot; | Colt 45 || 22 || 346 || 17 (34)&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | '''No'''&amp;lt;br/&amp;gt;''Replacing handgun resets slot 2 ammo''&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Silenced.png]] || align=&amp;quot;left&amp;quot; | Silenced || 23 || 347 || 17&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Deagle.png]] || align=&amp;quot;left&amp;quot; | Deagle || 24 || 348 || 7&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | 3&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Shotguns&lt;br /&gt;
| [[Image:Shotgun.png]] || align=&amp;quot;left&amp;quot; | Shotgun || 25 || 349 || 1&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Sawnoff.png]] || align=&amp;quot;left&amp;quot; | Sawed-off || 26 || 350 || 2 (4)&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Spas12.png]] || align=&amp;quot;left&amp;quot; | Combat Shotgun || 27 || 351 || 7&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | 4&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Sub-Machine Guns&lt;br /&gt;
| [[Image:Mac10.png]] || align=&amp;quot;left&amp;quot; | Uzi || 28 || 352 || 50 (100)&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Mp5.png]] || align=&amp;quot;left&amp;quot; | MP5 || 29 || 353 || 30&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Tec9.png]] || align=&amp;quot;left&amp;quot; | Tec-9 || 32 || 372 || 50 (100)&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 5&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Assault Rifles&lt;br /&gt;
| [[Image:Ak47.png]] || align=&amp;quot;left&amp;quot; | AK-47 || 30 || 355 || 30&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | Yes&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:M4.png]] || align=&amp;quot;left&amp;quot; | M4 || 31 || 356 || 50&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | 6&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Rifles&lt;br /&gt;
| [[Image:Rifle.png]] || align=&amp;quot;left&amp;quot; | Rifle || 33 || 357 || 1&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; | '''No'''&amp;lt;br/&amp;gt;''Replacing rifle resets slot 6 ammo''&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Sniper.png]] || align=&amp;quot;left&amp;quot; | Sniper || 34 || 358 || 1&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | 7&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Heavy Weapons&lt;br /&gt;
| [[Image:Rocketla.png]] || align=&amp;quot;left&amp;quot; | Rocket Launcher || 35 || 359 || 1&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | '''No'''&amp;lt;br/&amp;gt;''Replacing heavy weapon resets slot 7 ammo''&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Heatseek.png]] || align=&amp;quot;left&amp;quot; | Rocket Launcher HS || 36 || 360 || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Flame.png]] || align=&amp;quot;left&amp;quot; | Flamethrower || 37 || 361 || 50&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Minigun.png]] || align=&amp;quot;left&amp;quot; | Minigun || 38 || 362 || 500&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | 8&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Projectiles&lt;br /&gt;
| [[Image:Grenade.png]] || align=&amp;quot;left&amp;quot; | Grenade || 16 || 342 || 1&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; | '''No'''&amp;lt;br/&amp;gt;''Replacing projectile resets slot 8 ammo''&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Teargas.png]] || align=&amp;quot;left&amp;quot; | Teargas || 17 || 343 || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Molotov.png]] || align=&amp;quot;left&amp;quot; | Molotov || 18 || 344 || 1&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Satchel.png]] || align=&amp;quot;left&amp;quot; | Satchel || 39 || 363 || 1&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | 9&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Special 1&lt;br /&gt;
| [[Image:Spraycan.png]] || align=&amp;quot;left&amp;quot; | Spraycan || 41 || 365 || 500&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | '''No'''&amp;lt;br/&amp;gt;''Replacing slot 9 weapon resets slot 9 ammo''&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Fire_ex.png]] || align=&amp;quot;left&amp;quot; | Fire Extinguisher || 42 || 366 || 500&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Camera.png]] || align=&amp;quot;left&amp;quot; | Camera || 43 || 367 || 36&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | 10&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | Gifts&lt;br /&gt;
| [[Image:Dildo1.png]] || align=&amp;quot;left&amp;quot; | Dildo || 10 || 321 || -&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Dildo2.png]] || align=&amp;quot;left&amp;quot; | Dildo || 11 || 322 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Vibe1.png]] || align=&amp;quot;left&amp;quot; | Vibrator || 12 || 323 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Flowers.png]] || align=&amp;quot;left&amp;quot; | Flower || 14 || 325 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Cane.png]] || align=&amp;quot;left&amp;quot; | Cane || 15 || 326 || -&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | 11&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Special 2&lt;br /&gt;
| [[Image:Irgoggle.png]] || align=&amp;quot;left&amp;quot; | Nightvision || 44 || 368 || -&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; | -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Irgoggle.png]] || align=&amp;quot;left&amp;quot; | Infrared || 45 || 369 || -&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:Paracute.png]] || align=&amp;quot;left&amp;quot; | Parachute || 46 || 371 || -&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; | 12&lt;br /&gt;
! rowspan=&amp;quot;1&amp;quot; | Satchel Detonator&lt;br /&gt;
| [[Image:Bomb.png]] || align=&amp;quot;left&amp;quot; | Bomb || 40 || 364 || -&lt;br /&gt;
| rowspan=&amp;quot;1&amp;quot; | -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Client Functions==&lt;br /&gt;
{{Client_weapon_functions}}&lt;br /&gt;
==Server Function==&lt;br /&gt;
{{Weapon functions}}&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
[[it:Armi]]&lt;br /&gt;
[[ru:Weapons]]&lt;br /&gt;
[[de:Waffen]]&lt;br /&gt;
[[pl:Weapons]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Vehicle_component_manipulation&amp;diff=50214</id>
		<title>Vehicle component manipulation</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Vehicle_component_manipulation&amp;diff=50214"/>
		<updated>2017-01-01T18:44:19Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Roma ™&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Vehicle component manipulation ==&lt;br /&gt;
With the introduction of vehicle component movement we now have the ability to manipulate parts of the model independently on a per vehicle basis which includes hiding parts, moving parts and rotating parts relative to the vehicle they are currently on.&lt;br /&gt;
&lt;br /&gt;
== The Abilities ==&lt;br /&gt;
Position: You can reposition a component relative to it's chassis or parent&lt;br /&gt;
&lt;br /&gt;
Rotate: You can rotate the component around it's axis&lt;br /&gt;
&lt;br /&gt;
Hide/Show: You can hide the component so it no longer shows or shows&lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
Adding components is very simple if you have any previous modelling experience each model part can have a name this name acts as a unique identifier for the part.&lt;br /&gt;
&lt;br /&gt;
for ease of use it is possible to add hidden by default components by prefixing this name with a # in the model file though it will not work on anything the game recognizes for instance wheels cannot be hidden by default so it might be best to prefix anything you wish to add.&lt;br /&gt;
&lt;br /&gt;
like so:&lt;br /&gt;
''#''hellokitty&lt;br /&gt;
&lt;br /&gt;
This can be re-shown any time and the shown flag is persistent across streaming unless you re-hide it after.&lt;br /&gt;
&lt;br /&gt;
Any components need to be under the chassis dummy at least. &lt;br /&gt;
&lt;br /&gt;
== Simple things ==&lt;br /&gt;
The scripting functions make things like adding wheels very easy it should be fairly easy to add and spin wheels by copying the rotation from others into your wheel each frame and you can hide the originals using the hide function if need be.&lt;br /&gt;
&lt;br /&gt;
This could be useful for an insane amount of wheels on a tank!&lt;br /&gt;
&lt;br /&gt;
or just making more than 2 props work on planes&lt;br /&gt;
&lt;br /&gt;
Generally speaking things that spin are fairly easy to do it's more complex animations that require the hardest work but eventually there should be an animation library on google code when it's finished to help with this.&lt;br /&gt;
&lt;br /&gt;
== An interesting idea ==&lt;br /&gt;
It should be theoretically possible to add different types of doors to one model e.g. gull wings and scissor doors which could work like so:&lt;br /&gt;
&lt;br /&gt;
Hide the original door&lt;br /&gt;
&lt;br /&gt;
say the rotation of your normal door is between 0 and 45 degrees so you use that as a base for your movement&lt;br /&gt;
&lt;br /&gt;
take that rotation and apply it on another axis for a different type of door or split it between axis each frame to get smooth door movement of the new door ( BONUS: it even works with swinging doors! )&lt;br /&gt;
&lt;br /&gt;
== James bond style ==&lt;br /&gt;
Guns, guns and ... rockets? are the order of the day secret panels with hidden rockets? no problem!&lt;br /&gt;
&lt;br /&gt;
== More advanced ==&lt;br /&gt;
There are no limits on the amount of moving, hidden or showing parts and anything hidden will not be rendered so you can add thousands of parts hidden and you should not have to worry about them slowing anything down.&lt;br /&gt;
&lt;br /&gt;
This means that there is nothing stopping anyone from making a fully transforming transformer robot which changes from a car to a robot but this will require a lot of work on both the modelling and scripting side.&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Weather&amp;diff=50213</id>
		<title>Weather</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Weather&amp;diff=50213"/>
		<updated>2017-01-01T18:44:18Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Tails&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Weather can be changed using [[setWeather]] and [[setWeatherBlended]] functions. In GTA: SA, every weather has different parameters for the sunrise, morning, midday, noon, afternoon, sunset, night and midnight, so a weather can vary a lot deppending of the time of the day.&lt;br /&gt;
&lt;br /&gt;
{{New feature|3|1.0|&lt;br /&gt;
Non-standard weather ID's between 20 and 255 are also supported, but they might be buggy at some moments of the day.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
MTA: SA has custom weather functions which can modify how a weather is rendered, but in this list the weathers are described without taking that into account. Also, using [[setWeatherBlended]] allows for more undocumented effects.&lt;br /&gt;
&lt;br /&gt;
For a complete weather gallery, containing images of every weather ID (0 to 255) shot at every in-game hour, visit [http://dev.prineside.com/en/gtasa_weather_id/ this page].&lt;br /&gt;
&lt;br /&gt;
==Default GTA: SA weathers (registered in timecyc.dat)==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Weather ID || Name from ''timecyc.dat'' || Screenshots at 12:00 PM || Description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| EXTRASUNNY_LA&lt;br /&gt;
| [[File:Weather 0.png|150px|thumb|center|Applies a heat haze effect]]&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; style=&amp;quot;margin-left:10px; | In singleplayer, these are '''Los Santos specific weathers'''.&amp;lt;br&amp;gt;They are clear weathers, with blue sky and few clouds.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
| SUNNY_LA&lt;br /&gt;
| [[File:Weather 1.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| EXTRASUNNY_SMOG_LA&lt;br /&gt;
| [[File:Weather 2.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| SUNNY_SMOG_LA&lt;br /&gt;
| [[File:Weather 3.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 4&lt;br /&gt;
| CLOUDY_LA&lt;br /&gt;
| [[File:Weather 4.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 5&lt;br /&gt;
| SUNNY_SF&lt;br /&gt;
| [[File:Weather 5.png|150px|thumb|center]]&lt;br /&gt;
| rowspan=&amp;quot;5&amp;quot; style=&amp;quot;margin-left:10px; | In singleplayer, these are '''San Fierro specific weathers'''.&amp;lt;br&amp;gt;They are more diverse than Los Santos': some of them are clear, but others are rainy or foggy.&lt;br /&gt;
|-&lt;br /&gt;
! 6&lt;br /&gt;
| EXTRASUNNY_SF&lt;br /&gt;
| [[File:Weather 6.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 7&lt;br /&gt;
| CLOUDY_SF&lt;br /&gt;
| [[File:Weather 7.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 8&lt;br /&gt;
| RAINY_SF&lt;br /&gt;
| [[File:Weather 8.png|150px|thumb|center|Starts a thunderstorm, with rain and lighthings]]&lt;br /&gt;
|-&lt;br /&gt;
! 9&lt;br /&gt;
| FOGGY_SF&lt;br /&gt;
| [[File:Weather 9.png|150px|thumb|center|Starts a cloudy, dense fog]]&lt;br /&gt;
|-&lt;br /&gt;
! 10&lt;br /&gt;
| SUNNY_VEGAS&lt;br /&gt;
| [[File:Weather 10.png|150px|thumb|center]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;margin-left:10px; | In singleplayer, these are '''Las Venturas specific weathers'''.&amp;lt;br&amp;gt;They are clear, dry weathers.&lt;br /&gt;
|-&lt;br /&gt;
! 11&lt;br /&gt;
| EXTRASUNNY_VEGAS&lt;br /&gt;
| [[File:Weather 11.png|150px|thumb|center|Applies scorching hot weather, with a heat haze effect]]&lt;br /&gt;
|-&lt;br /&gt;
! 12&lt;br /&gt;
| CLOUDY_VEGAS&lt;br /&gt;
| [[File:Weather 12.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 13&lt;br /&gt;
| EXTRASUNNY_COUNTRYSIDE&lt;br /&gt;
| [[File:Weather 13.png|150px|thumb|center]]&lt;br /&gt;
| rowspan=&amp;quot;4&amp;quot; style=&amp;quot;margin-left:10px; | In singleplayer, these are '''Los Santos countryside specific weathers'''.&amp;lt;br&amp;gt;They are dull, hazy, diverse weathers, with rainy ones.&lt;br /&gt;
|-&lt;br /&gt;
! 14&lt;br /&gt;
| SUNNY_COUNTRYSIDE&lt;br /&gt;
| [[File:Weather 14.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 15&lt;br /&gt;
| CLOUDY_COUNTRYSIDE&lt;br /&gt;
| [[File:Weather 15.png|150px|thumb|center]]&lt;br /&gt;
|-&lt;br /&gt;
! 16&lt;br /&gt;
| RAINY_COUNTRYSIDE&lt;br /&gt;
| [[File:Weather 16.png|150px|thumb|center|Starts a thunderstorm]]&lt;br /&gt;
|-&lt;br /&gt;
! 17&lt;br /&gt;
| EXTRASUNNY_DESERT&lt;br /&gt;
| [[File:Weather 17.png|150px|thumb|center|Apply a heat haze effect]]&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; style=&amp;quot;margin-left:10px; | In singleplayer, these are '''Bone County specific weathers'''.&amp;lt;br&amp;gt;They are clear, dry, scorching hot weathers.&lt;br /&gt;
|-&lt;br /&gt;
! 18&lt;br /&gt;
| SUNNY_DESERT&lt;br /&gt;
| [[File:Weather 18.png|150px|thumb|center|Apply a heat haze effect]]&lt;br /&gt;
|-&lt;br /&gt;
! 19&lt;br /&gt;
| SANDSTORM_DESERT&lt;br /&gt;
| [[File:Weather 19.png|150px|thumb|center|Starts a dense sandstorm]]&lt;br /&gt;
|-&lt;br /&gt;
! 20&lt;br /&gt;
| UNDERWATER&lt;br /&gt;
| [[File:Weather 20.png|150px|thumb|center]]&lt;br /&gt;
| style=&amp;quot;margin-left:10px; | In singleplayer, this is probably the '''weather used internally when camera is underwater'''.&amp;lt;br&amp;gt;It is greenish and cloudy, so it appears to be a kind of contaminated weather.&lt;br /&gt;
|-&lt;br /&gt;
! 21&lt;br /&gt;
| EXTRACOLOURS_1&lt;br /&gt;
| [[File:Weather 21.png|150px|thumb|center|Adds a purple-ish color to the sky and objects]]&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; style=&amp;quot;margin-left:10px; | In singleplayer, these are weathers '''used in interiors'''.&amp;lt;br&amp;gt;They are somewhat strange, dark weathers with gradiented skyline colors.&lt;br /&gt;
|-&lt;br /&gt;
! 22&lt;br /&gt;
| EXTRACOLOURS_2&lt;br /&gt;
| [[File:Weather 22.png|150px|thumb|center|Adds a black-white sky and a uniform light to objects]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Other weather IDs==&lt;br /&gt;
* '''23 to 26:''' Pale orange weather.&lt;br /&gt;
* '''27 to 29:''' Fresh blue weather.&lt;br /&gt;
* '''30 to 32:''' Dark, cloudy, teal weather.&lt;br /&gt;
* '''33:''' Dark, cloudy, brown weather.&lt;br /&gt;
* '''34:''' Blue/purple, regular weather.&lt;br /&gt;
* '''35:''' Dull brown weather.&lt;br /&gt;
* '''36 to 38:''' Bright, foggy, orange weather.&lt;br /&gt;
* '''39:''' Very bright weather. Night looks like day.&lt;br /&gt;
* '''40 to 42:''' Blue/purple, cloudy weather.&lt;br /&gt;
* '''43:''' Toxic, contaminated clouds weather.&lt;br /&gt;
* '''44:''' Black/white sky weather, similar to '''22'''.&lt;br /&gt;
* '''45 to 60:''' Normal seeming weather with graphical bugs at evening.&lt;br /&gt;
* '''100:''' Strange weather which makes objects disappear.&lt;br /&gt;
* '''118:''' Stormy weather with pink sky and crystal water.&lt;br /&gt;
* '''126 to 150:''' Horrible flashing red bugged weather.&lt;br /&gt;
* '''151 to 175:''' Far draw distance weather with pink, purple and turquoise clouds.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
[[id|ID lists]]&lt;br /&gt;
&lt;br /&gt;
[[pl:Weather]]&lt;br /&gt;
[[ru:Weather]]&lt;br /&gt;
[[es:Climas]]&lt;br /&gt;
[[de:Wetter]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Material_IDs&amp;diff=50212</id>
		<title>Material IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Material_IDs&amp;diff=50212"/>
		<updated>2017-01-01T18:44:15Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Cazomino05&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Introduction=&lt;br /&gt;
This is a list of GTA:SA's material ID numbers, as listed in the surfinfo.dat.&lt;br /&gt;
&lt;br /&gt;
==Default==&lt;br /&gt;
* '''0:''' Default&lt;br /&gt;
* '''1:''' Tarmac&lt;br /&gt;
* '''2:''' Tarmac (fucked)&lt;br /&gt;
* '''3:''' Tarmac (really fucked)&lt;br /&gt;
&lt;br /&gt;
==Concrete==&lt;br /&gt;
* '''4:''' Pavement&lt;br /&gt;
* '''5:''' Pavement (fucked)&lt;br /&gt;
* '''7:''' Concrete (fucked)&lt;br /&gt;
* '''8:''' Painted Ground&lt;br /&gt;
* '''34:''' Concrete (beach)&lt;br /&gt;
* '''89:''' Concrete&lt;br /&gt;
* '''127:''' Poolside&lt;br /&gt;
* '''135:''' Docklands&lt;br /&gt;
* '''136:''' Industrial&lt;br /&gt;
* '''137:''' Industrial Jetty&lt;br /&gt;
* '''138:''' Concrete (litter)&lt;br /&gt;
* '''139:''' Alley Rubbish&lt;br /&gt;
* '''144:''' Airport Ground&lt;br /&gt;
* '''165:''' Floor (concrete)&lt;br /&gt;
&lt;br /&gt;
==Gravel==&lt;br /&gt;
* '''6:''' Gravel&lt;br /&gt;
* '''85:''' Roadside&lt;br /&gt;
* '''101:''' Rubble&lt;br /&gt;
* '''134:''' Building Site&lt;br /&gt;
* '''140:''' Junkyard Piles&lt;br /&gt;
&lt;br /&gt;
==Grass==&lt;br /&gt;
* '''9:''' Grass (short lush)&lt;br /&gt;
* '''10:''' Grass (medium lush)&lt;br /&gt;
* '''11:''' Grass (long lush)&lt;br /&gt;
* '''12:''' Grass (short dry)&lt;br /&gt;
* '''13:''' Grass (medium dry)&lt;br /&gt;
* '''14:''' Grass (long dry)&lt;br /&gt;
* '''15:''' Golf Grass (rough) &lt;br /&gt;
* '''16:''' Golf Grass (smooth) &lt;br /&gt;
* '''17:''' Steep Slidy Grass &lt;br /&gt;
* '''20:''' Meadow &lt;br /&gt;
* '''80:''' Grass (short) &lt;br /&gt;
* '''81:''' Grass (meadow) &lt;br /&gt;
* '''82:''' Grass (dry) &lt;br /&gt;
* '''115:''' Grass (wee flowers) &lt;br /&gt;
* '''116:''' Grass (dry tall)&lt;br /&gt;
* '''117:''' Grass (lush tall)&lt;br /&gt;
* '''118:''' Grass (green mix)&lt;br /&gt;
* '''119:''' Grass (brown mix)&lt;br /&gt;
* '''120:''' Grass (low) &lt;br /&gt;
* '''121:''' Grass (rocky) &lt;br /&gt;
* '''122:''' Grass (small trees) &lt;br /&gt;
* '''125:''' Grass (weeds) &lt;br /&gt;
* '''146:''' Grass (light) &lt;br /&gt;
* '''147:''' Grass (lighter) &lt;br /&gt;
* '''148:''' Grass (lighter 2) &lt;br /&gt;
* '''149:''' Grass (mid 1) &lt;br /&gt;
* '''150:''' Grass (mid 2) &lt;br /&gt;
* '''151:''' Grass (dark) &lt;br /&gt;
* '''152:''' Grass (dark 2) &lt;br /&gt;
* '''153:''' Grass (dirt mix) &lt;br /&gt;
* '''160:''' Park Grass &lt;br /&gt;
&lt;br /&gt;
==Dirt==&lt;br /&gt;
* '''19:''' Flower Bed&lt;br /&gt;
* '''21:''' Waste Ground&lt;br /&gt;
* '''22:''' Woodland Ground&lt;br /&gt;
* '''24:''' Mud (wet)&lt;br /&gt;
* '''25:''' Mud (dry)&lt;br /&gt;
* '''26:''' Dirt&lt;br /&gt;
* '''27:''' Dirt Track&lt;br /&gt;
* '''40:''' Corn Field&lt;br /&gt;
* '''83:''' Woodland&lt;br /&gt;
* '''84:''' Wood Dense&lt;br /&gt;
* '''87:''' Flowerbed&lt;br /&gt;
* '''88:''' Waste Ground&lt;br /&gt;
* '''100:''' Riverbed&lt;br /&gt;
* '''110:''' Marsh&lt;br /&gt;
* '''123:''' Dirt (rocky)&lt;br /&gt;
* '''124:''' Dirt (weeds)&lt;br /&gt;
* '''126:''' River Edge&lt;br /&gt;
* '''128:''' Forest (stumps)&lt;br /&gt;
* '''129:''' Forest (sticks)&lt;br /&gt;
* '''130:''' Forest (leaves)&lt;br /&gt;
* '''132:''' Forest (dry)&lt;br /&gt;
* '''133:''' Sparse Flowers&lt;br /&gt;
* '''141:''' Junkyard Ground&lt;br /&gt;
* '''142:''' Dump&lt;br /&gt;
* '''145:''' Cornfield&lt;br /&gt;
* '''155:''' Riverbed (shallow)&lt;br /&gt;
* '''156:''' Riverbed (weeds)&lt;br /&gt;
&lt;br /&gt;
==Sand==&lt;br /&gt;
* '''28:''' Sand (deep)&lt;br /&gt;
* '''29:''' Sand (medium)&lt;br /&gt;
* '''30:''' Sand (compact)&lt;br /&gt;
* '''31:''' Sand (arid)&lt;br /&gt;
* '''32:''' Sand (more)&lt;br /&gt;
* '''33:''' Sand (beach)&lt;br /&gt;
* '''74:''' Sand&lt;br /&gt;
* '''75:''' Sand (dense)&lt;br /&gt;
* '''76:''' Sand (arid)&lt;br /&gt;
* '''77:''' Sand (compact)&lt;br /&gt;
* '''78:''' Sand (rocky)&lt;br /&gt;
* '''79:''' Sand (beach)&lt;br /&gt;
* '''86:''' Roadside Des&lt;br /&gt;
* '''96:''' Underwater (lush)&lt;br /&gt;
* '''97:''' Underwater (barren)&lt;br /&gt;
* '''98:''' Underwater (coral)&lt;br /&gt;
* '''99:''' Underwater (deep)&lt;br /&gt;
* '''131:''' Desert Rocks&lt;br /&gt;
* '''143:''' Cactus Dense&lt;br /&gt;
* '''157:''' Seaweed&lt;br /&gt;
&lt;br /&gt;
==Glass==&lt;br /&gt;
* '''45:''' Glass&lt;br /&gt;
* '''46:''' Glass Windows (large)&lt;br /&gt;
* '''47:''' Glass Windows (small)&lt;br /&gt;
* '''175:''' Unbreakable Glass&lt;br /&gt;
&lt;br /&gt;
==Wood==&lt;br /&gt;
* '''42:''' Wood (crates)&lt;br /&gt;
* '''43:''' Wood (solid)&lt;br /&gt;
* '''44:''' Wood (thin)&lt;br /&gt;
* '''70:''' Wood (bench)&lt;br /&gt;
* '''72:''' Floorboard&lt;br /&gt;
* '''73:''' Stairs (wood)&lt;br /&gt;
* '''172:''' Wood Picket Fence&lt;br /&gt;
* '''173:''' Wood Slatted Fence&lt;br /&gt;
* '''174:''' Wood Ranch Fence&lt;br /&gt;
&lt;br /&gt;
==Metal==&lt;br /&gt;
* '''50:''' Garage Door&lt;br /&gt;
* '''51:''' Thick Metal Plate&lt;br /&gt;
* '''52:''' Scaffold Pole&lt;br /&gt;
* '''53:''' Lamp Post&lt;br /&gt;
* '''54:''' Metal Gate&lt;br /&gt;
* '''55:''' Metal Chain fence&lt;br /&gt;
* '''56:''' Girder&lt;br /&gt;
* '''57:''' Fire Hydrant&lt;br /&gt;
* '''58:''' Container&lt;br /&gt;
* '''59:''' News Vendor&lt;br /&gt;
* '''63:''' Car&lt;br /&gt;
* '''64:''' Car (panel)&lt;br /&gt;
* '''65:''' Car (moving component)&lt;br /&gt;
* '''162:''' Stairs (metal)&lt;br /&gt;
* '''164:''' Floor (metal)&lt;br /&gt;
* '''167:''' Thin Metal Sheet&lt;br /&gt;
* '''168:''' Metal Barrel&lt;br /&gt;
* '''171:''' Metal Dumpster&lt;br /&gt;
&lt;br /&gt;
==Stone==&lt;br /&gt;
* '''18:''' Steep Cliff&lt;br /&gt;
* '''35:''' Rock (dry)&lt;br /&gt;
* '''36:''' Rock (wet)&lt;br /&gt;
* '''37:''' Rock (cliff)&lt;br /&gt;
* '''69:''' Transparent Stone&lt;br /&gt;
* '''109:''' Mountain&lt;br /&gt;
* '''154:''' Riverbed (stone)&lt;br /&gt;
* '''161:''' Stairs (stone)&lt;br /&gt;
&lt;br /&gt;
==Vegetation==&lt;br /&gt;
* '''23:''' Vegetation&lt;br /&gt;
* '''41:''' Hedge&lt;br /&gt;
* '''111:''' Bushy&lt;br /&gt;
* '''112:''' Bushy (mix)&lt;br /&gt;
* '''113:''' Bushy (dry)&lt;br /&gt;
* '''114:''' Bushy (mid)&lt;br /&gt;
&lt;br /&gt;
==Water==&lt;br /&gt;
* '''38:''' Water (riverbed)&lt;br /&gt;
* '''39:''' Water (shallow)&lt;br /&gt;
&lt;br /&gt;
==Misc==&lt;br /&gt;
* '''48:''' Empty1&lt;br /&gt;
* '''49:''' Empty2&lt;br /&gt;
* '''60:''' Wheelbase&lt;br /&gt;
* '''61:''' Cardboard Box&lt;br /&gt;
* '''62:''' Ped&lt;br /&gt;
* '''66:''' Transparent Cloth&lt;br /&gt;
* '''67:''' Rubber&lt;br /&gt;
* '''68:''' Plastic&lt;br /&gt;
* '''71:''' Carpet&lt;br /&gt;
* '''90:''' Office Desk&lt;br /&gt;
* '''91:''' 711 Shelf 1&lt;br /&gt;
* '''92:''' 711 Shelf 2&lt;br /&gt;
* '''93:''' 711 Shelf 3&lt;br /&gt;
* '''94:''' Restuarant Table&lt;br /&gt;
* '''95:''' Bar Table&lt;br /&gt;
* '''102:''' Bedroom Floor&lt;br /&gt;
* '''103:''' Kitchen Floor&lt;br /&gt;
* '''104:''' Livingroom Floor&lt;br /&gt;
* '''105:''' corridor Floor&lt;br /&gt;
* '''106:''' 711 Floor&lt;br /&gt;
* '''107:''' Fast Food Floor&lt;br /&gt;
* '''108:''' Skanky Floor&lt;br /&gt;
* '''158:''' Door&lt;br /&gt;
* '''159:''' Plastic Barrier&lt;br /&gt;
* '''163:''' Stairs (carpet)&lt;br /&gt;
* '''166:''' Bin Bag&lt;br /&gt;
* '''169:''' Plastic Cone&lt;br /&gt;
* '''170:''' Plastic Dumpster&lt;br /&gt;
* '''176:''' Hay Bale&lt;br /&gt;
* '''177:''' Gore&lt;br /&gt;
* '''178:''' Rail Track&lt;br /&gt;
&lt;br /&gt;
=Source=&lt;br /&gt;
The group names and readable material names have been extracted from Collision File Editor II by Steve M[http://www.steve-m.com/downloads/tools/colleditor2/].&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[de:Material IDs]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=50211</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=50211"/>
		<updated>2017-01-01T18:44:13Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Walid&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;San Andreas Interior ID list.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%; text-align:center;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 0&lt;br /&gt;
|-&lt;br /&gt;
| '''Normal world''' &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 1&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 1''' || 224.6351 || 1289.012 || 1082.141 &lt;br /&gt;
|-&lt;br /&gt;
| '''The Wellcome Pump (Catalina?)''' || 681.65 || -452.86 || -25.62&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 1''' || 446.6941 || -9.7977 || 1000.7340&lt;br /&gt;
|-&lt;br /&gt;
| '''Caligulas Casino''' || 2235.2524 || 1708.5146 || 1010.6129&lt;br /&gt;
|-&lt;br /&gt;
| '''Denise's Place''' || 244.0892 || 304.8456 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Shamal cabin''' || 1.6127 || 34.7411 || 1199.0&lt;br /&gt;
|-&lt;br /&gt;
| '''Liberty City''' || -750.80 || 491.00 || 1371.70&lt;br /&gt;
|-&lt;br /&gt;
| '''Sweet's House''' || 2525.0420 || -1679.1150 || 1015.4990&lt;br /&gt;
|-&lt;br /&gt;
| '''Transfender''' || 621.7850 || -12.5417 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 4''' || 2216.5400 || -1076.2900 || 1050.4840&lt;br /&gt;
|-&lt;br /&gt;
| '''Trials(Hyman Memorial?) Stadium''' || -1401.13 || 106.110 || 1032.273&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 1''' || 1405.3120 || -8.2928 || 1000.9130&lt;br /&gt;
|-&lt;br /&gt;
| '''Doherty Garage''' || -2042.42 || 178.59 || 28.84    &lt;br /&gt;
|-&lt;br /&gt;
| '''Sindacco Abatoir''' || 963.6078 || 2108.3970 || 1011.0300&lt;br /&gt;
|-&lt;br /&gt;
| '''Sub Urban''' || 203.8173 || -46.5385 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Wu Zi Mu's Betting place''' || -2159.9260 || 641.4587 || 1052.3820&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 2&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ryder's House''' || 2464.2110 || -1697.9520 || 1013.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Angel Pine Trailer''' || 0.3440 || -0.5140 || 1000.5490¨&lt;br /&gt;
|-&lt;br /&gt;
| '''The Pig Pen''' || 1213.4330 ||-6.6830 || 1000.9220&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Crack Palace''' || 1523.7510 || -46.0458 || 1002.1310&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Smoke's Crack Palace''' || 2543.6610 || -1303.9320 || 1025.0700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 2''' || 225.756 || 1240.000 || 1082.149&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 3''' || 447.470 || 1398.348 || 1084.305&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 4''' || 491.740 || 1400.541 || 1080.265&lt;br /&gt;
|-&lt;br /&gt;
| '''Katie's Place''' || 267.2290 || 304.7100 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Loco Low Co.''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
| '''Reece's Barbershop''' || 612.5910 || -75.6370 || 997.9920&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 3&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Jizzy's Pleasure Domes''' || -2636.7190 || 1402.9170 || 906.4609&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel''' || 940.6520 || -18.4860 || 1000.9300&lt;br /&gt;
|-&lt;br /&gt;
| '''Brothel 2''' || 967.5334 || -53.0245 || 1001.1250&lt;br /&gt;
|-&lt;br /&gt;
| '''BDups Apartment''' || 1527.38 || -11.02 || 1002.10 &lt;br /&gt;
|-&lt;br /&gt;
| '''Bike School''' || 1494.3350 || 1305.6510 || 1093.2890&lt;br /&gt;
|-&lt;br /&gt;
| '''Big Spread Ranch''' || 1210.2570 || -29.2986 || 1000.8790&lt;br /&gt;
|-&lt;br /&gt;
| '''LV Tattoo Parlour''' || -204.4390 || -43.6520 || 1002.2990&lt;br /&gt;
|-&lt;br /&gt;
| '''LVPD HQ''' || 289.7703 || 171.7460 || 1007.1790&lt;br /&gt;
|-&lt;br /&gt;
| '''OG Loc's House''' || 516.8890 || -18.4120 || 1001.5650&lt;br /&gt;
|-&lt;br /&gt;
| '''Pro-Laps''' || 207.3560 || -138.0029 || 1003.3130&lt;br /&gt;
|-&lt;br /&gt;
| '''Las Venturas Planning Dep.''' || 374.6708 || 173.8050 || 1008.3893&lt;br /&gt;
|-&lt;br /&gt;
| '''Record Label Hallway''' || 1038.2190 || 6.9905 || 1001.2840&lt;br /&gt;
|-&lt;br /&gt;
| '''Driving School''' || -2027.9200 || -105.1830 || 1035.1720&lt;br /&gt;
|-&lt;br /&gt;
| '''Johnson House''' || 2496.0500 || -1693.9260 || 1014.7420&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room'''&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 5''' || 234.733 || 1190.391 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Gay Gordo's Barbershop''' || 418.6530 || -82.6390 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
| '''Helena's Place''' || 292.4459 || 308.7790 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
| '''Inside Track Betting''' || 826.8863 || 5.5091 || 1004.4830&lt;br /&gt;
|-&lt;br /&gt;
| '''Sex Shop''' || -106.7268 || -19.6444 || 1000.7190&lt;br /&gt;
|-&lt;br /&gt;
| '''Wheel Arch Angels''' || 614.3889 || -124.0991 || 997.9950&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 4&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 1''' || -27.3769 || -27.6416 || 1003.5570&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 2''' || 285.8000 || -84.5470 || 1001.5390&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || -262.91 || 1454.966 || 1084.367&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || 221.4296 || 1142.423 || 1082.609&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || 261.1168 || 1286.519 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || 460.0 || -88.43 || 999.62 &lt;br /&gt;
|-&lt;br /&gt;
| '''Dirtbike Stadium''' || -1435.8690 || -662.2505 || 1052.4650&lt;br /&gt;
|-&lt;br /&gt;
| '''Michelle's Place''' || 302.6404 || 304.8048 || 999.1484&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 5&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Madd Dogg's Mansion''' || 1272.9116 || -768.9028 || 1090.5097&lt;br /&gt;
|-&lt;br /&gt;
| '''Well Stacked Pizza Co.''' || 377.7758 || -126.2766 || 1001.4920&lt;br /&gt;
|-&lt;br /&gt;
| '''Victim''' || 221.3310 || -6.6169 || 1005.1977&lt;br /&gt;
|-&lt;br /&gt;
| '''Burning Desire House''' || 2351.1540 || -1180.5770 || 1027.9770&lt;br /&gt;
|-&lt;br /&gt;
| '''Barbara's Place'''&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || 22.79996 || 1404.642 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || 228.9003 || 1114.477 || 1080.992&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 11''' || 140.5631 || 1369.051 || 1083.864&lt;br /&gt;
|-&lt;br /&gt;
| '''The Crack Den''' || 322.1117 || 1119.3270 || 1083.8830&lt;br /&gt;
|-&lt;br /&gt;
| '''Police Station (Barbara's)''' || 322.72 || 306.43 || 999.15&lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 1''' || 448.7435 || -110.0457 || 1000.0772&lt;br /&gt;
|-&lt;br /&gt;
| '''Ganton Gym''' || 768.0793 || 5.8606 || 1000.7160&lt;br /&gt;
|-&lt;br /&gt;
| '''Vank Hoff Hotel ''' || 2232.8210 || -1110.0180 || 1050.8830&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 6&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 3''' || 297.4460 || -109.9680 || 1001.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 4''' || 317.2380 || -168.0520 || 999.5930&lt;br /&gt;
|-&lt;br /&gt;
| '''LSPD HQ ''' || 246.4510 || 65.5860 ||1003.6410&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 3''' || 2333.0330 || -1073.9600 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 5''' || 2194.2910 || -1204.0150 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 6''' || 2308.8710 || -1210.7170 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Cobra Marital Arts Gym''' || 774.0870 ||-47.9830 || 1000.5860&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 2''' || -26.7180 || -55.9860 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Millie's Bedroom''' || 344.5200 || 304.8210 || 999.1480&lt;br /&gt;
|-&lt;br /&gt;
| '''Fanny Batter's Brothel''' || 744.2710 || 1437.2530 || 1102.7030&lt;br /&gt;
|-&lt;br /&gt;
| '''Restaurant 2''' || 443.9810 || -65.2190 || 1050.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || 234.319 || 1066.455 || 1084.208&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || -69.049 || 1354.056 || 1080.211&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 7&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-Nation 5 (2 Floors)''' || 315.3850 || -142.2420 || 999.6010&lt;br /&gt;
|-&lt;br /&gt;
| '''8-Track Stadium''' || -1417.8720 || -276.4260 || 1051.1910&lt;br /&gt;
|-&lt;br /&gt;
| '''Below the Belt Gym''' || 774.2430 || -76.0090 || 1000.6540&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 8&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 2'''&lt;br /&gt;
|-&lt;br /&gt;
| '''Colonel Fuhrberger's House''' || 2807.8990 || -1172.9210 || 1025.5700&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 22''' || -42.490 || 1407.644 || 1084.43&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 9&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Unknown safe house''' || 2253.1740 || -1139.0100 || 1050.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''Andromada Cargo hold''' || 315.48 || 984.13 || 1959.11&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 12''' || 85.32596 || 1323.585 || 1083.859&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || 260.3189 || 1239.663 || 1084.258&lt;br /&gt;
|-&lt;br /&gt;
| '''Cluckin' Bell''' || 365.67 || -11.61 || 1000.87&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 10&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Four Dragons Casino''' || 2009.4140 || 1017.8990 || 994.4680&lt;br /&gt;
|-&lt;br /&gt;
| '''RC Zero's Battlefield''' || -975.5766 || 1061.1312 || 1345.6719&lt;br /&gt;
|-&lt;br /&gt;
| '''Burger Shot''' || 366.4220 || -73.4700 || 1001.5080&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 14''' || 21.241 || 1342.153 || 1084.375 &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room(Four Dragons Maintenance)''' || 1891.3960 ||1018.1260 || 31.8820&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe House 1'''&lt;br /&gt;
|-&lt;br /&gt;
| '''Hashbury safe house''' || 2264.5231 || -1210.5229 || 1049.0234&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 3''' || 6.0780 || -28.6330 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Abandoned AC Tower''' || 419.6140 || 2536.6030 || 10.0000&lt;br /&gt;
|-&lt;br /&gt;
| '''SFPD HQ''' || 246.4410 || 112.1640 || 1003.2190&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 11&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''The Four Dragons Office''' || 2011.6030 || 1017.0230 || 39.0910&lt;br /&gt;
|-&lt;br /&gt;
| '''Los Santos safe house''' &lt;br /&gt;
|-&lt;br /&gt;
| '''Ten Green Bottles Bar''' || 502.3310 || -70.6820 || 998.7570&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 12&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Budget Inn Motel Room'''&lt;br /&gt;
|-&lt;br /&gt;
| '''The Casino''' || 1132.9450 || -8.6750 || 1000.6800&lt;br /&gt;
|-&lt;br /&gt;
| '''Macisla's Barbershop''' || 411.6410 || -51.8460 || 1001.8980&lt;br /&gt;
|-&lt;br /&gt;
| '''Safe house 7''' || 2237.2970 || -1077.9250 || 1049.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Modern safe house''' || 2324.4990 || -1147.0710 || 1050.7100&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 13&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
|'''LS Atrium''' || 1724.33 || -1625.784 || 20.211&lt;br /&gt;
|-&lt;br /&gt;
|'''CJ's Garage''' || -2043.966 || 172.932 || 28.835&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 14&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Kickstart Stadium''' || -1464.5360 || 1557.6900 || 1052.5310&lt;br /&gt;
|-&lt;br /&gt;
| '''Didier Sachs''' || 204.1789 || -165.8740 || 1000.5230&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Front ext.)''' || -1827.1473 || 7.2074 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Francis Int. Airport (Baggage Claim/Ticket Sales)''' || -1855.5687 || 41.2631 || 1061.1435&lt;br /&gt;
|-&lt;br /&gt;
| '''Wardrobe''' || 255.7190 || -41.1370 || 1002.0230&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 15&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Binco''' || 207.5430 || -109.0040 || 1005.1330&lt;br /&gt;
|-&lt;br /&gt;
| '''Blood Bowl Stadium''' || -1394.20 || 987.62 || 1023.96&lt;br /&gt;
|-&lt;br /&gt;
| '''Jefferson Motel''' || 2217.6250 || -1150.6580 || 1025.7970&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || -285.711 || 1470.697 || 1084.375&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 18''' || 327.808 || 1479.74 || 1084.438&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 19''' || 375.572 || 1417.439 || 1081.328&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 20''' || 384.644 || 1471.479 || 1080.195&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 21''' || 295.467 || 1474.697 || 1080.258&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 16&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 4''' || -25.3730 || -139.6540 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''LS Tattoo Parlour''' || -204.5580 || -25.6970 || 1002.2730&lt;br /&gt;
|-&lt;br /&gt;
| '''Sumoring? stadium''' || -1400 || 1250 ||  1040 &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 17&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 5''' || -25.3930 || -185.9110 || 1003.5470&lt;br /&gt;
|-&lt;br /&gt;
| '''Club''' || 493.4687 || -23.0080 || 1000.6796&lt;br /&gt;
|-&lt;br /&gt;
| '''Rusty Brown's - Ring Donuts''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
| '''The Sherman's Dam Generator Hall''' || -942.1320 || 1849.1420 || 5.0050&lt;br /&gt;
|-&lt;br /&gt;
| '''Hemlock Tattoo''' || 377.0030 || -192.5070 || 1000.6330&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{|  class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|ID 18&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Interior Name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| X&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Y&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Z&lt;br /&gt;
|-&lt;br /&gt;
| '''Lil Probe Inn''' || -227.0280 || 1401.2290 || 27.7690&lt;br /&gt;
|-&lt;br /&gt;
| '''24/7 shop 6''' || -30.9460 || -89.6090 || 1003.5490&lt;br /&gt;
|-&lt;br /&gt;
| '''Atrium''' || 1726.1370 || -1645.2300 || 20.2260&lt;br /&gt;
|-&lt;br /&gt;
| '''Warehouse 2''' || 1296.6310 || 0.5920 || 1001.0230&lt;br /&gt;
|-&lt;br /&gt;
| '''Zip''' || 161.4620 || -91.3940 || 1001.8050&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Interior Functions==&lt;br /&gt;
*[[getElementInterior]]&lt;br /&gt;
*[[setElementInterior]]&lt;br /&gt;
==See Also==&lt;br /&gt;
[[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[de:Interior IDs]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Garage&amp;diff=50210</id>
		<title>Garage</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Garage&amp;diff=50210"/>
		<updated>2017-01-01T18:44:11Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Krisu477&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Every openable garage in San Andreas can be opened or closed through the [[setGarageOpen]] function.&lt;br /&gt;
&lt;br /&gt;
The garage IDs and their descriptions are listed below:&lt;br /&gt;
{{Garages}}&lt;br /&gt;
&lt;br /&gt;
==Garage Functions==&lt;br /&gt;
{{Template:Garage_functions}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
[[ru:Garage]]&lt;br /&gt;
[[de:Garage]]&lt;br /&gt;
[[pl:Garage]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Character_Skins&amp;diff=50209</id>
		<title>Character Skins</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Character_Skins&amp;diff=50209"/>
		<updated>2017-01-01T18:44:08Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Tails&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Skins that the player may use (pedestrian skins).&lt;br /&gt;
&lt;br /&gt;
*[[All Skins Page]] - Not recommended for slow Internet&lt;br /&gt;
*[[Special Skins Page]] - New skins available after MTA 1.1&lt;br /&gt;
*[[Gang Skins]]&lt;br /&gt;
*[[Female Skins]]&lt;br /&gt;
*[[Male Skins]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
mixedSkins = {0, 1, 2, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312}&lt;br /&gt;
maleSkins = {0, 1, 2, 7, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 57, 58, 59, 60, 61, 62, 66, 67, 68, 70, 71, 72, 73, 78, 79, 80, 81, 82, 83, 84, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 120, 121, 122, 123, 124, 125, 126, 127, 128, 132, 133, 134, 135, 136, 137, 142, 143, 144, 146, 147, 153, 154, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 177, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 200, 202, 203, 204, 206, 209, 210, 212, 213, 217, 220, 221, 222, 223, 227, 228, 229, 230, 234, 235, 236, 239, 240, 241, 242, 247, 248, 249, 250, 252, 253, 254, 255, 258, 259, 260, 261, 262, 264, 265, 266, 267, 268, 269, 270, 271, 272, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 294, 295, 296, 297, 299, 300, 301, 302, 303, 305, 306, 307, 308, 309, 310, 311, 312}&lt;br /&gt;
femaleSkins = {9, 10, 11, 12, 13, 31, 38, 39, 40, 41, 53, 54, 55, 56, 63, 64, 69, 75, 76, 77, 85, 87, 88, 89, 90, 91, 92, 93, 129, 130, 131, 138, 139, 140, 141, 145, 148, 150, 151, 152, 157, 169, 172, 178, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 201, 205, 207, 211, 214, 215, 216, 218, 219, 224, 225, 226, 231, 232, 233, 237, 238, 243, 244, 245, 246, 251, 256, 257, 263, 298, 304}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{New items|3.0160|1.6.0|&lt;br /&gt;
* The following ID's were unused by GTA SA, so in MTA SA we have applied the same character skin to each of the following ID's. This allows servers to apply skin mods to these new ID's. These are the new 236 ID's you can use for new skins:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
3, 4, 5, 6, 8, 42, 65, 74, 86, 119, 149, 208, 273, 289, 329, 340, 382, 383, 398, 399,&lt;br /&gt;
612, 613, 614, 662, 663, 665, 666, 667, 668, 699, 793, 794, 795, 796, 797, 798, 799, 907,&lt;br /&gt;
908, 909, 965, 999, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205,&lt;br /&gt;
1206, 1326, 1573, 1699, 2883, 2884, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144,&lt;br /&gt;
3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159,&lt;br /&gt;
3160, 3161, 3162, 3163, 3164, 3165, 3166, 3176, 3177, 3179, 3180, 3181, 3182, 3183,&lt;br /&gt;
3184, 3185, 3186, 3188, 3189, 3190, 3191, 3192, 3194, 3195, 3196, 3197, 3198, 3199, 3200,&lt;br /&gt;
3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3215,&lt;br /&gt;
3216, 3217, 3218, 3219, 3220, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231,&lt;br /&gt;
3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3245, 3247, 3248, 3251, 3254,&lt;br /&gt;
3266, 3348, 3349, 3416, 3429, 3610, 3611, 3784, 3870, 3871, 3883, 3889, 3974, 4542, 4543,&lt;br /&gt;
4544, 4545, 4546, 4547, 4548, 4549, 4763, 4764, 4765, 4766, 4767, 4768, 4769, 4770, 4771,&lt;br /&gt;
4772, 4773, 4774, 4775, 4776, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785, 4786,&lt;br /&gt;
4787, 4788, 4789, 4790, 4791, 4792, 4793, 4794, 4795, 4796, 4797, 4798, 4799, 4800, 4801,&lt;br /&gt;
4802, 4803, 4804, 4805, 5090, 5104, 5376, 5377, 5378, 5379, 5380, 5381, 5382, 5383,&lt;br /&gt;
5384, 5385, 5386, 5387, 5388, 5389&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|7701}}--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sectioned Skin Pages:'''&lt;br /&gt;
----&lt;br /&gt;
*[[Skins Page 1]]: 7, 9-29&lt;br /&gt;
*[[Skins Page 2]]: 30-41, 43-52&lt;br /&gt;
*[[Skins Page 3]]: 53-64, 66-73, 75-76&lt;br /&gt;
*[[Skins Page 4]]: 77-85, 87-99&lt;br /&gt;
*[[Skins Page 5]]: 100-118, 120-122&lt;br /&gt;
*[[Skins Page 6]]: 123-144&lt;br /&gt;
*[[Skins Page 7]]: 145-148, 150-167&lt;br /&gt;
*[[Skins Page 8]]: 168-189&lt;br /&gt;
*[[Skins Page 9]]: 190-207, 209-212&lt;br /&gt;
*[[Skins Page 10]]: 213-234&lt;br /&gt;
*[[Skins Page 11]]: 235-238, 240-257&lt;br /&gt;
*[[Skins Page 12]]: 258-264, 274-288&lt;br /&gt;
*[[Skins Page 13]]: 290-312&lt;br /&gt;
&lt;br /&gt;
==Notes:==&lt;br /&gt;
*Last valid skin ID: 312&lt;br /&gt;
&lt;br /&gt;
*The following pairs of IDs produce same character (1st ID used in lists, 2nd disabled)&lt;br /&gt;
**118:119 &lt;br /&gt;
**148:149&lt;br /&gt;
&lt;br /&gt;
*Non-working IDs&lt;br /&gt;
**3 4 5 6 8 42 65 74 86 119 149 208 273 289&lt;br /&gt;
&lt;br /&gt;
==Skin functions==&lt;br /&gt;
{{Template:Skin_functions}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
[[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[tr:Karakter Tipleri]]&lt;br /&gt;
[[it:Skin Personaggi]]&lt;br /&gt;
[[ru:Character Skins]]&lt;br /&gt;
[[es:Skins de Personajes]]&lt;br /&gt;
[[de:Charakterskins]]&lt;br /&gt;
[[zh-cn:角色皮肤]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Animations&amp;diff=50208</id>
		<title>Animations</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Animations&amp;diff=50208"/>
		<updated>2017-01-01T18:44:06Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Lexr128&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__{{Animations}}&lt;br /&gt;
==airport==&lt;br /&gt;
* thrw_barl_thrw &lt;br /&gt;
==attractors==&lt;br /&gt;
* stepsit_in&lt;br /&gt;
* stepsit_loop&lt;br /&gt;
* stepsit_out &lt;br /&gt;
==bar==&lt;br /&gt;
* barcustom_get&lt;br /&gt;
* barcustom_loop&lt;br /&gt;
* barcustom_order&lt;br /&gt;
* barman_idle&lt;br /&gt;
* barserve_bottle&lt;br /&gt;
* barserve_give&lt;br /&gt;
* barserve_glass&lt;br /&gt;
* barserve_in&lt;br /&gt;
* barserve_loop&lt;br /&gt;
* barserve_order&lt;br /&gt;
* dnk_stndf_loop&lt;br /&gt;
* dnk_stndm_loop &lt;br /&gt;
==baseball==&lt;br /&gt;
* bat_1&lt;br /&gt;
* bat_2&lt;br /&gt;
* bat_3&lt;br /&gt;
* bat_4&lt;br /&gt;
* bat_block&lt;br /&gt;
* bat_hit_1&lt;br /&gt;
* bat_hit_2&lt;br /&gt;
* bat_hit_3&lt;br /&gt;
* bat_idle&lt;br /&gt;
* bat_m&lt;br /&gt;
* bat_part &lt;br /&gt;
==bd_fire==&lt;br /&gt;
* bd_fire1&lt;br /&gt;
* bd_fire2&lt;br /&gt;
* bd_fire3&lt;br /&gt;
* bd_gf_wave&lt;br /&gt;
* bd_panic_01&lt;br /&gt;
* bd_panic_02&lt;br /&gt;
* bd_panic_03&lt;br /&gt;
* bd_panic_04&lt;br /&gt;
* bd_panic_loop&lt;br /&gt;
* grlfrd_kiss_03&lt;br /&gt;
* m_smklean_loop&lt;br /&gt;
* playa_kiss_03&lt;br /&gt;
* wash_up &lt;br /&gt;
==beach==&lt;br /&gt;
* bather&lt;br /&gt;
* lay_bac_loop&lt;br /&gt;
* parksit_m_loop&lt;br /&gt;
* parksit_w_loop&lt;br /&gt;
* sitnwait_loop_w &lt;br /&gt;
==benchpress==&lt;br /&gt;
* gym_bp_celebrate&lt;br /&gt;
* gym_bp_down&lt;br /&gt;
* gym_bp_getoff&lt;br /&gt;
* gym_bp_geton&lt;br /&gt;
* gym_bp_up_a&lt;br /&gt;
* gym_bp_up_b&lt;br /&gt;
* gym_bp_up_smooth &lt;br /&gt;
==bf_injection==&lt;br /&gt;
* bf_getin_lhs&lt;br /&gt;
* bf_getin_rhs&lt;br /&gt;
* bf_getout_lhs&lt;br /&gt;
* bf_getout_rhs &lt;br /&gt;
==biked==&lt;br /&gt;
* biked_back&lt;br /&gt;
* biked_drivebyft&lt;br /&gt;
* biked_drivebylhs&lt;br /&gt;
* biked_drivebyrhs&lt;br /&gt;
* biked_fwd&lt;br /&gt;
* biked_getoffback&lt;br /&gt;
* biked_getofflhs&lt;br /&gt;
* biked_getoffrhs&lt;br /&gt;
* biked_hit&lt;br /&gt;
* biked_jumponl&lt;br /&gt;
* biked_jumponr&lt;br /&gt;
* biked_kick&lt;br /&gt;
* biked_left&lt;br /&gt;
* biked_passenger&lt;br /&gt;
* biked_pushes&lt;br /&gt;
* biked_ride&lt;br /&gt;
* biked_right&lt;br /&gt;
* biked_shuffle&lt;br /&gt;
* biked_still &lt;br /&gt;
==bikeh==&lt;br /&gt;
* bikeh_back&lt;br /&gt;
* bikeh_drivebyft&lt;br /&gt;
* bikeh_drivebylhs&lt;br /&gt;
* bikeh_drivebyrhs&lt;br /&gt;
* bikeh_fwd&lt;br /&gt;
* bikeh_getoffback&lt;br /&gt;
* bikeh_getofflhs&lt;br /&gt;
* bikeh_getoffrhs&lt;br /&gt;
* bikeh_hit&lt;br /&gt;
* bikeh_jumponl&lt;br /&gt;
* bikeh_jumponr&lt;br /&gt;
* bikeh_kick&lt;br /&gt;
* bikeh_left&lt;br /&gt;
* bikeh_passenger&lt;br /&gt;
* bikeh_pushes&lt;br /&gt;
* bikeh_ride&lt;br /&gt;
* bikeh_right&lt;br /&gt;
* bikeh_still &lt;br /&gt;
==bikeleap==&lt;br /&gt;
* bk_blnce_in&lt;br /&gt;
* bk_blnce_out&lt;br /&gt;
* bk_jmp&lt;br /&gt;
* bk_rdy_in&lt;br /&gt;
* bk_rdy_out&lt;br /&gt;
* struggle_cesar&lt;br /&gt;
* struggle_driver&lt;br /&gt;
* truck_driver&lt;br /&gt;
* truck_getin &lt;br /&gt;
==bikes==&lt;br /&gt;
* bikes_back&lt;br /&gt;
* bikes_drivebyft&lt;br /&gt;
* bikes_drivebylhs&lt;br /&gt;
* bikes_drivebyrhs&lt;br /&gt;
* bikes_fwd&lt;br /&gt;
* bikes_getoffback&lt;br /&gt;
* bikes_getofflhs&lt;br /&gt;
* bikes_getoffrhs&lt;br /&gt;
* bikes_hit&lt;br /&gt;
* bikes_jumponl&lt;br /&gt;
* bikes_jumponr&lt;br /&gt;
* bikes_kick&lt;br /&gt;
* bikes_left&lt;br /&gt;
* bikes_passenger&lt;br /&gt;
* bikes_pushes&lt;br /&gt;
* bikes_ride&lt;br /&gt;
* bikes_right&lt;br /&gt;
* bikes_snatch_l&lt;br /&gt;
* bikes_snatch_r&lt;br /&gt;
* bikes_still &lt;br /&gt;
==bikev==&lt;br /&gt;
* bikev_back&lt;br /&gt;
* bikev_drivebyft&lt;br /&gt;
* bikev_drivebylhs&lt;br /&gt;
* bikev_drivebyrhs&lt;br /&gt;
* bikev_fwd&lt;br /&gt;
* bikev_getoffback&lt;br /&gt;
* bikev_getofflhs&lt;br /&gt;
* bikev_getoffrhs&lt;br /&gt;
* bikev_hit&lt;br /&gt;
* bikev_jumponl&lt;br /&gt;
* bikev_jumponr&lt;br /&gt;
* bikev_kick&lt;br /&gt;
* bikev_left&lt;br /&gt;
* bikev_passenger&lt;br /&gt;
* bikev_pushes&lt;br /&gt;
* bikev_ride&lt;br /&gt;
* bikev_right&lt;br /&gt;
* bikev_still &lt;br /&gt;
==bike_dbz==&lt;br /&gt;
* pass_driveby_bwd&lt;br /&gt;
* pass_driveby_fwd&lt;br /&gt;
* pass_driveby_lhs&lt;br /&gt;
* pass_driveby_rhs &lt;br /&gt;
==bmx==&lt;br /&gt;
* bmx_back&lt;br /&gt;
* bmx_bunnyhop&lt;br /&gt;
* bmx_drivebyft&lt;br /&gt;
* bmx_driveby_lhs&lt;br /&gt;
* bmx_driveby_rhs&lt;br /&gt;
* bmx_fwd&lt;br /&gt;
* bmx_getoffback&lt;br /&gt;
* bmx_getofflhs&lt;br /&gt;
* bmx_getoffrhs&lt;br /&gt;
* bmx_jumponl&lt;br /&gt;
* bmx_jumponr&lt;br /&gt;
* bmx_left&lt;br /&gt;
* bmx_pedal&lt;br /&gt;
* bmx_pushes&lt;br /&gt;
* bmx_ride&lt;br /&gt;
* bmx_right&lt;br /&gt;
* bmx_sprint&lt;br /&gt;
* bmx_still &lt;br /&gt;
==bomber==&lt;br /&gt;
* bom_plant&lt;br /&gt;
* bom_plant_2idle&lt;br /&gt;
* bom_plant_crouch_in&lt;br /&gt;
* bom_plant_crouch_out&lt;br /&gt;
* bom_plant_in&lt;br /&gt;
* bom_plant_loop &lt;br /&gt;
==box==&lt;br /&gt;
* boxhipin&lt;br /&gt;
* boxhipup&lt;br /&gt;
* boxshdwn&lt;br /&gt;
* boxshup&lt;br /&gt;
* bxhipwlk&lt;br /&gt;
* bxhwlki&lt;br /&gt;
* bxshwlk&lt;br /&gt;
* bxshwlki&lt;br /&gt;
* bxwlko&lt;br /&gt;
* catch_box &lt;br /&gt;
==bsktball==&lt;br /&gt;
* bball_def_jump_shot&lt;br /&gt;
* bball_def_loop&lt;br /&gt;
* bball_def_stepl&lt;br /&gt;
* bball_def_stepr&lt;br /&gt;
* bball_dnk&lt;br /&gt;
* bball_dnk_gli&lt;br /&gt;
* bball_dnk_gli_o&lt;br /&gt;
* bball_dnk_lnch&lt;br /&gt;
* bball_dnk_lnch_o&lt;br /&gt;
* bball_dnk_lnd&lt;br /&gt;
* bball_dnk_o&lt;br /&gt;
* bball_idle&lt;br /&gt;
* bball_idle2&lt;br /&gt;
* bball_idle2_o&lt;br /&gt;
* bball_idleloop&lt;br /&gt;
* bball_idleloop_o&lt;br /&gt;
* bball_idle_o&lt;br /&gt;
* bball_jump_cancel&lt;br /&gt;
* bball_jump_cancel_o&lt;br /&gt;
* bball_jump_end&lt;br /&gt;
* bball_jump_shot&lt;br /&gt;
* bball_jump_shot_o&lt;br /&gt;
* bball_net_dnk_o&lt;br /&gt;
* bball_pickup&lt;br /&gt;
* bball_pickup_o&lt;br /&gt;
* bball_react_miss&lt;br /&gt;
* bball_react_score&lt;br /&gt;
* bball_run&lt;br /&gt;
* bball_run_o&lt;br /&gt;
* bball_skidstop_l&lt;br /&gt;
* bball_skidstop_l_o&lt;br /&gt;
* bball_skidstop_r&lt;br /&gt;
* bball_skidstop_r_o&lt;br /&gt;
* bball_walk&lt;br /&gt;
* bball_walkstop_l&lt;br /&gt;
* bball_walkstop_l_o&lt;br /&gt;
* bball_walkstop_r&lt;br /&gt;
* bball_walkstop_r_o&lt;br /&gt;
* bball_walk_o&lt;br /&gt;
* bball_walk_start&lt;br /&gt;
* bball_walk_start_o &lt;br /&gt;
==buddy==&lt;br /&gt;
* buddy_crouchfire&lt;br /&gt;
* buddy_crouchreload&lt;br /&gt;
* buddy_fire&lt;br /&gt;
* buddy_fire_poor&lt;br /&gt;
* buddy_reload &lt;br /&gt;
==bus==&lt;br /&gt;
* bus_close&lt;br /&gt;
* bus_getin_lhs&lt;br /&gt;
* bus_getin_rhs&lt;br /&gt;
* bus_getout_lhs&lt;br /&gt;
* bus_getout_rhs&lt;br /&gt;
* bus_jacked_lhs&lt;br /&gt;
* bus_open&lt;br /&gt;
* bus_open_rhs&lt;br /&gt;
* bus_pullout_lhs &lt;br /&gt;
==camera==&lt;br /&gt;
* camcrch_cmon&lt;br /&gt;
* camcrch_idleloop&lt;br /&gt;
* camcrch_stay&lt;br /&gt;
* camcrch_to_camstnd&lt;br /&gt;
* camstnd_cmon&lt;br /&gt;
* camstnd_idleloop&lt;br /&gt;
* camstnd_lkabt&lt;br /&gt;
* camstnd_to_camcrch&lt;br /&gt;
* piccrch_in&lt;br /&gt;
* piccrch_out&lt;br /&gt;
* piccrch_take&lt;br /&gt;
* picstnd_in&lt;br /&gt;
* picstnd_out&lt;br /&gt;
* picstnd_take &lt;br /&gt;
==car==&lt;br /&gt;
* fixn_car_loop&lt;br /&gt;
* fixn_car_out&lt;br /&gt;
* flag_drop&lt;br /&gt;
* sit_relaxed&lt;br /&gt;
* tap_hand&lt;br /&gt;
* tyd2car_bump&lt;br /&gt;
* tyd2car_high&lt;br /&gt;
* tyd2car_low&lt;br /&gt;
* tyd2car_med&lt;br /&gt;
* tyd2car_turnl&lt;br /&gt;
* tyd2car_turnr &lt;br /&gt;
==carry==&lt;br /&gt;
* crry_prtial&lt;br /&gt;
* liftup&lt;br /&gt;
* liftup05&lt;br /&gt;
* liftup105&lt;br /&gt;
* putdwn&lt;br /&gt;
* putdwn05&lt;br /&gt;
* putdwn105 &lt;br /&gt;
==car_chat==&lt;br /&gt;
* carfone_in&lt;br /&gt;
* carfone_loopa&lt;br /&gt;
* carfone_loopa_to_b&lt;br /&gt;
* carfone_loopb&lt;br /&gt;
* carfone_loopb_to_a&lt;br /&gt;
* carfone_out&lt;br /&gt;
* car_sc1_bl&lt;br /&gt;
* car_sc1_br&lt;br /&gt;
* car_sc1_fl&lt;br /&gt;
* car_sc1_fr&lt;br /&gt;
* car_sc2_fl&lt;br /&gt;
* car_sc3_br&lt;br /&gt;
* car_sc3_fl&lt;br /&gt;
* car_sc3_fr&lt;br /&gt;
* car_sc4_bl&lt;br /&gt;
* car_sc4_br&lt;br /&gt;
* car_sc4_fl&lt;br /&gt;
* car_sc4_fr&lt;br /&gt;
* car_talkm_in&lt;br /&gt;
* car_talkm_loop&lt;br /&gt;
* car_talkm_out &lt;br /&gt;
==casino==&lt;br /&gt;
* cards_in&lt;br /&gt;
* cards_loop&lt;br /&gt;
* cards_lose&lt;br /&gt;
* cards_out&lt;br /&gt;
* cards_pick_01&lt;br /&gt;
* cards_pick_02&lt;br /&gt;
* cards_raise&lt;br /&gt;
* cards_win&lt;br /&gt;
* dealone&lt;br /&gt;
* manwinb&lt;br /&gt;
* manwind&lt;br /&gt;
* roulette_bet&lt;br /&gt;
* roulette_in&lt;br /&gt;
* roulette_loop&lt;br /&gt;
* roulette_lose&lt;br /&gt;
* roulette_out&lt;br /&gt;
* roulette_win&lt;br /&gt;
* slot_bet_01&lt;br /&gt;
* slot_bet_02&lt;br /&gt;
* slot_in&lt;br /&gt;
* slot_lose_out&lt;br /&gt;
* slot_plyr&lt;br /&gt;
* slot_wait&lt;br /&gt;
* slot_win_out&lt;br /&gt;
* wof &lt;br /&gt;
==chainsaw==&lt;br /&gt;
* csaw_1&lt;br /&gt;
* csaw_2&lt;br /&gt;
* csaw_3&lt;br /&gt;
* csaw_g&lt;br /&gt;
* csaw_hit_1&lt;br /&gt;
* csaw_hit_2&lt;br /&gt;
* csaw_hit_3&lt;br /&gt;
* csaw_part&lt;br /&gt;
* idle_csaw&lt;br /&gt;
* weapon_csaw&lt;br /&gt;
* weapon_csawlo &lt;br /&gt;
==choppa==&lt;br /&gt;
* choppa_back&lt;br /&gt;
* choppa_bunnyhop&lt;br /&gt;
* choppa_drivebyft&lt;br /&gt;
* choppa_driveby_lhs&lt;br /&gt;
* choppa_driveby_rhs&lt;br /&gt;
* choppa_fwd&lt;br /&gt;
* choppa_getoffback&lt;br /&gt;
* choppa_getofflhs&lt;br /&gt;
* choppa_getoffrhs&lt;br /&gt;
* choppa_jumponl&lt;br /&gt;
* choppa_jumponr&lt;br /&gt;
* choppa_left&lt;br /&gt;
* choppa_pedal&lt;br /&gt;
* choppa_pushes&lt;br /&gt;
* choppa_ride&lt;br /&gt;
* choppa_right&lt;br /&gt;
* choppa_sprint&lt;br /&gt;
* choppa_still &lt;br /&gt;
==clothes==&lt;br /&gt;
* clo_buy&lt;br /&gt;
* clo_in&lt;br /&gt;
* clo_out&lt;br /&gt;
* clo_pose_hat&lt;br /&gt;
* clo_pose_in&lt;br /&gt;
* clo_pose_in_o&lt;br /&gt;
* clo_pose_legs&lt;br /&gt;
* clo_pose_loop&lt;br /&gt;
* clo_pose_out&lt;br /&gt;
* clo_pose_out_o&lt;br /&gt;
* clo_pose_shoes&lt;br /&gt;
* clo_pose_torso&lt;br /&gt;
* clo_pose_watch &lt;br /&gt;
==coach==&lt;br /&gt;
* coach_inl&lt;br /&gt;
* coach_inr&lt;br /&gt;
* coach_opnl&lt;br /&gt;
* coach_opnr&lt;br /&gt;
* coach_outl&lt;br /&gt;
* coach_outr &lt;br /&gt;
==colt45==&lt;br /&gt;
* 2guns_crouchfire&lt;br /&gt;
* colt45_crouchfire&lt;br /&gt;
* colt45_crouchreload&lt;br /&gt;
* colt45_fire&lt;br /&gt;
* colt45_fire_2hands&lt;br /&gt;
* colt45_reload&lt;br /&gt;
* sawnoff_reload &lt;br /&gt;
==cop_ambient==&lt;br /&gt;
* copbrowse_in&lt;br /&gt;
* copbrowse_loop&lt;br /&gt;
* copbrowse_nod&lt;br /&gt;
* copbrowse_out&lt;br /&gt;
* copbrowse_shake&lt;br /&gt;
* coplook_in&lt;br /&gt;
* coplook_loop&lt;br /&gt;
* coplook_nod&lt;br /&gt;
* coplook_out&lt;br /&gt;
* coplook_shake&lt;br /&gt;
* coplook_think&lt;br /&gt;
* coplook_watch &lt;br /&gt;
==cop_dvbyz==&lt;br /&gt;
* cop_dvby_b&lt;br /&gt;
* cop_dvby_ft&lt;br /&gt;
* cop_dvby_l&lt;br /&gt;
* cop_dvby_r &lt;br /&gt;
==crack==&lt;br /&gt;
* bbalbat_idle_01&lt;br /&gt;
* bbalbat_idle_02&lt;br /&gt;
* crckdeth1&lt;br /&gt;
* crckdeth2&lt;br /&gt;
* crckdeth3&lt;br /&gt;
* crckdeth4&lt;br /&gt;
* crckidle1&lt;br /&gt;
* crckidle2&lt;br /&gt;
* crckidle3&lt;br /&gt;
* crckidle4 &lt;br /&gt;
==crib==&lt;br /&gt;
* crib_console_loop&lt;br /&gt;
* crib_use_switch&lt;br /&gt;
* ped_console_loop&lt;br /&gt;
* ped_console_loose&lt;br /&gt;
* ped_console_win &lt;br /&gt;
==dam_jump==&lt;br /&gt;
* dam_dive_loop&lt;br /&gt;
* dam_land&lt;br /&gt;
* dam_launch&lt;br /&gt;
* jump_roll&lt;br /&gt;
* sf_jumpwall &lt;br /&gt;
==dancing==&lt;br /&gt;
* bd_clap&lt;br /&gt;
* bd_clap1&lt;br /&gt;
* dance_loop&lt;br /&gt;
* dan_down_a&lt;br /&gt;
* dan_left_a&lt;br /&gt;
* dan_loop_a&lt;br /&gt;
* dan_right_a&lt;br /&gt;
* dan_up_a&lt;br /&gt;
* dnce_m_a&lt;br /&gt;
* dnce_m_b&lt;br /&gt;
* dnce_m_c&lt;br /&gt;
* dnce_m_d&lt;br /&gt;
* dnce_m_e &lt;br /&gt;
==dealer==&lt;br /&gt;
* dealer_deal&lt;br /&gt;
* dealer_idle&lt;br /&gt;
* dealer_idle_01&lt;br /&gt;
* dealer_idle_02&lt;br /&gt;
* dealer_idle_03&lt;br /&gt;
* drugs_buy&lt;br /&gt;
* shop_pay &lt;br /&gt;
==dildo==&lt;br /&gt;
* dildo_1&lt;br /&gt;
* dildo_2&lt;br /&gt;
* dildo_3&lt;br /&gt;
* dildo_block&lt;br /&gt;
* dildo_g&lt;br /&gt;
* dildo_hit_1&lt;br /&gt;
* dildo_hit_2&lt;br /&gt;
* dildo_hit_3&lt;br /&gt;
* dildo_idle &lt;br /&gt;
==dodge==&lt;br /&gt;
* cover_dive_01&lt;br /&gt;
* cover_dive_02&lt;br /&gt;
* crushed&lt;br /&gt;
* crush_jump &lt;br /&gt;
==dozer==&lt;br /&gt;
* dozer_align_lhs&lt;br /&gt;
* dozer_align_rhs&lt;br /&gt;
* dozer_getin_lhs&lt;br /&gt;
* dozer_getin_rhs&lt;br /&gt;
* dozer_getout_lhs&lt;br /&gt;
* dozer_getout_rhs&lt;br /&gt;
* dozer_jacked_lhs&lt;br /&gt;
* dozer_jacked_rhs&lt;br /&gt;
* dozer_pullout_lhs&lt;br /&gt;
* dozer_pullout_rhs &lt;br /&gt;
==drivebys==&lt;br /&gt;
* gang_drivebylhs&lt;br /&gt;
* gang_drivebylhs_bwd&lt;br /&gt;
* gang_drivebylhs_fwd&lt;br /&gt;
* gang_drivebyrhs&lt;br /&gt;
* gang_drivebyrhs_bwd&lt;br /&gt;
* gang_drivebyrhs_fwd&lt;br /&gt;
* gang_drivebytop_lhs&lt;br /&gt;
* gang_drivebytop_rhs &lt;br /&gt;
==fat==&lt;br /&gt;
* fatidle&lt;br /&gt;
* fatidle_armed&lt;br /&gt;
* fatidle_csaw&lt;br /&gt;
* fatidle_rocket&lt;br /&gt;
* fatrun&lt;br /&gt;
* fatrun_armed&lt;br /&gt;
* fatrun_csaw&lt;br /&gt;
* fatrun_rocket&lt;br /&gt;
* fatsprint&lt;br /&gt;
* fatwalk&lt;br /&gt;
* fatwalkstart&lt;br /&gt;
* fatwalkstart_csaw&lt;br /&gt;
* fatwalkst_armed&lt;br /&gt;
* fatwalkst_rocket&lt;br /&gt;
* fatwalk_armed&lt;br /&gt;
* fatwalk_csaw&lt;br /&gt;
* fatwalk_rocket&lt;br /&gt;
* idle_tired &lt;br /&gt;
==fight_b==&lt;br /&gt;
* fightb_1&lt;br /&gt;
* fightb_2&lt;br /&gt;
* fightb_3&lt;br /&gt;
* fightb_block&lt;br /&gt;
* fightb_g&lt;br /&gt;
* fightb_idle&lt;br /&gt;
* fightb_m&lt;br /&gt;
* hitb_1&lt;br /&gt;
* hitb_2&lt;br /&gt;
* hitb_3 &lt;br /&gt;
==fight_c==&lt;br /&gt;
* fightc_1&lt;br /&gt;
* fightc_2&lt;br /&gt;
* fightc_3&lt;br /&gt;
* fightc_block&lt;br /&gt;
* fightc_blocking&lt;br /&gt;
* fightc_g&lt;br /&gt;
* fightc_idle&lt;br /&gt;
* fightc_m&lt;br /&gt;
* fightc_spar&lt;br /&gt;
* hitc_1&lt;br /&gt;
* hitc_2&lt;br /&gt;
* hitc_3 &lt;br /&gt;
==fight_d==&lt;br /&gt;
* fightd_1&lt;br /&gt;
* fightd_2&lt;br /&gt;
* fightd_3&lt;br /&gt;
* fightd_block&lt;br /&gt;
* fightd_g&lt;br /&gt;
* fightd_idle&lt;br /&gt;
* fightd_m&lt;br /&gt;
* hitd_1&lt;br /&gt;
* hitd_2&lt;br /&gt;
* hitd_3 &lt;br /&gt;
==fight_e==&lt;br /&gt;
* fightkick&lt;br /&gt;
* fightkick_b&lt;br /&gt;
* hit_fightkick&lt;br /&gt;
* hit_fightkick_b &lt;br /&gt;
==finale==&lt;br /&gt;
* fin_climb_in&lt;br /&gt;
* fin_cop1_climbout2&lt;br /&gt;
* fin_cop1_loop&lt;br /&gt;
* fin_cop1_stomp&lt;br /&gt;
* fin_hang_l&lt;br /&gt;
* fin_hang_loop&lt;br /&gt;
* fin_hang_r&lt;br /&gt;
* fin_hang_slip&lt;br /&gt;
* fin_jump_on&lt;br /&gt;
* fin_land_car&lt;br /&gt;
* fin_land_die&lt;br /&gt;
* fin_legsup&lt;br /&gt;
* fin_legsup_l&lt;br /&gt;
* fin_legsup_loop&lt;br /&gt;
* fin_legsup_r&lt;br /&gt;
* fin_let_go &lt;br /&gt;
==finale2==&lt;br /&gt;
* fin_cop1_climbout&lt;br /&gt;
* fin_cop1_fall&lt;br /&gt;
* fin_cop1_loop&lt;br /&gt;
* fin_cop1_shot&lt;br /&gt;
* fin_cop1_swing&lt;br /&gt;
* fin_cop2_climbout&lt;br /&gt;
* fin_switch_p&lt;br /&gt;
* fin_switch_s &lt;br /&gt;
==flame==&lt;br /&gt;
* flame_fire &lt;br /&gt;
==flowers==&lt;br /&gt;
* flower_attack&lt;br /&gt;
* flower_attack_m&lt;br /&gt;
* flower_hit &lt;br /&gt;
==food==&lt;br /&gt;
* eat_burger&lt;br /&gt;
* eat_chicken&lt;br /&gt;
* eat_pizza&lt;br /&gt;
* eat_vomit_p&lt;br /&gt;
* eat_vomit_sk&lt;br /&gt;
* ff_dam_bkw&lt;br /&gt;
* ff_dam_fwd&lt;br /&gt;
* ff_dam_left&lt;br /&gt;
* ff_dam_right&lt;br /&gt;
* ff_die_bkw&lt;br /&gt;
* ff_die_fwd&lt;br /&gt;
* ff_die_left&lt;br /&gt;
* ff_die_right&lt;br /&gt;
* ff_sit_eat1&lt;br /&gt;
* ff_sit_eat2&lt;br /&gt;
* ff_sit_eat3&lt;br /&gt;
* ff_sit_in&lt;br /&gt;
* ff_sit_in_l&lt;br /&gt;
* ff_sit_in_r&lt;br /&gt;
* ff_sit_look&lt;br /&gt;
* ff_sit_loop&lt;br /&gt;
* ff_sit_out_180&lt;br /&gt;
* ff_sit_out_l_180&lt;br /&gt;
* ff_sit_out_r_180&lt;br /&gt;
* shp_thank&lt;br /&gt;
* shp_tray_in&lt;br /&gt;
* shp_tray_lift&lt;br /&gt;
* shp_tray_lift_in&lt;br /&gt;
* shp_tray_lift_loop&lt;br /&gt;
* shp_tray_lift_out&lt;br /&gt;
* shp_tray_out&lt;br /&gt;
* shp_tray_pose&lt;br /&gt;
* shp_tray_return &lt;br /&gt;
==freeweights==&lt;br /&gt;
* gym_barbell&lt;br /&gt;
* gym_free_a&lt;br /&gt;
* gym_free_b&lt;br /&gt;
* gym_free_celebrate&lt;br /&gt;
* gym_free_down&lt;br /&gt;
* gym_free_loop&lt;br /&gt;
* gym_free_pickup&lt;br /&gt;
* gym_free_putdown&lt;br /&gt;
* gym_free_up_smooth &lt;br /&gt;
==gangs==&lt;br /&gt;
* dealer_deal&lt;br /&gt;
* dealer_idle&lt;br /&gt;
* drnkbr_prtl&lt;br /&gt;
* drnkbr_prtl_f&lt;br /&gt;
* drugs_buy&lt;br /&gt;
* hndshkaa&lt;br /&gt;
* hndshkba&lt;br /&gt;
* hndshkca&lt;br /&gt;
* hndshkcb&lt;br /&gt;
* hndshkda&lt;br /&gt;
* hndshkea&lt;br /&gt;
* hndshkfa&lt;br /&gt;
* hndshkfa_swt&lt;br /&gt;
* invite_no&lt;br /&gt;
* invite_yes&lt;br /&gt;
* leanidle&lt;br /&gt;
* leanin&lt;br /&gt;
* leanout&lt;br /&gt;
* prtial_gngtlka&lt;br /&gt;
* prtial_gngtlkb&lt;br /&gt;
* prtial_gngtlkc&lt;br /&gt;
* prtial_gngtlkd&lt;br /&gt;
* prtial_gngtlke&lt;br /&gt;
* prtial_gngtlkf&lt;br /&gt;
* prtial_gngtlkg&lt;br /&gt;
* prtial_gngtlkh&lt;br /&gt;
* prtial_hndshk_01&lt;br /&gt;
* prtial_hndshk_biz_01&lt;br /&gt;
* shake_cara&lt;br /&gt;
* shake_cark&lt;br /&gt;
* shake_carsh&lt;br /&gt;
* smkcig_prtl&lt;br /&gt;
* smkcig_prtl_f &lt;br /&gt;
==ghands==&lt;br /&gt;
* gsign1&lt;br /&gt;
* gsign1lh&lt;br /&gt;
* gsign2&lt;br /&gt;
* gsign2lh&lt;br /&gt;
* gsign3&lt;br /&gt;
* gsign3lh&lt;br /&gt;
* gsign4&lt;br /&gt;
* gsign4lh&lt;br /&gt;
* gsign5&lt;br /&gt;
* gsign5lh&lt;br /&gt;
* lhgsign1&lt;br /&gt;
* lhgsign2&lt;br /&gt;
* lhgsign3&lt;br /&gt;
* lhgsign4&lt;br /&gt;
* lhgsign5&lt;br /&gt;
* rhgsign1&lt;br /&gt;
* rhgsign2&lt;br /&gt;
* rhgsign3&lt;br /&gt;
* rhgsign4&lt;br /&gt;
* rhgsign5 &lt;br /&gt;
==ghetto_db==&lt;br /&gt;
* gdb_car2_ply&lt;br /&gt;
* gdb_car2_smo&lt;br /&gt;
* gdb_car2_swe&lt;br /&gt;
* gdb_car_ply&lt;br /&gt;
* gdb_car_ryd&lt;br /&gt;
* gdb_car_smo&lt;br /&gt;
* gdb_car_swe &lt;br /&gt;
==goggles==&lt;br /&gt;
* goggles_put_on &lt;br /&gt;
==graffiti==&lt;br /&gt;
* graffiti_chkout&lt;br /&gt;
* spraycan_fire &lt;br /&gt;
==graveyard==&lt;br /&gt;
* mrnf_loop&lt;br /&gt;
* mrnm_loop&lt;br /&gt;
* prst_loopa &lt;br /&gt;
==grenade==&lt;br /&gt;
* weapon_start_throw&lt;br /&gt;
* weapon_throw&lt;br /&gt;
* weapon_throwu &lt;br /&gt;
==gymnasium==&lt;br /&gt;
* gymshadowbox&lt;br /&gt;
* gym_bike_celebrate&lt;br /&gt;
* gym_bike_fast&lt;br /&gt;
* gym_bike_faster&lt;br /&gt;
* gym_bike_getoff&lt;br /&gt;
* gym_bike_geton&lt;br /&gt;
* gym_bike_pedal&lt;br /&gt;
* gym_bike_slow&lt;br /&gt;
* gym_bike_still&lt;br /&gt;
* gym_jog_falloff&lt;br /&gt;
* gym_shadowbox&lt;br /&gt;
* gym_tread_celebrate&lt;br /&gt;
* gym_tread_falloff&lt;br /&gt;
* gym_tread_getoff&lt;br /&gt;
* gym_tread_geton&lt;br /&gt;
* gym_tread_jog&lt;br /&gt;
* gym_tread_sprint&lt;br /&gt;
* gym_tread_tired&lt;br /&gt;
* gym_tread_walk&lt;br /&gt;
* gym_walk_falloff&lt;br /&gt;
* pedals_fast&lt;br /&gt;
* pedals_med&lt;br /&gt;
* pedals_slow&lt;br /&gt;
* pedals_still &lt;br /&gt;
==haircuts==&lt;br /&gt;
* brb_beard_01&lt;br /&gt;
* brb_buy&lt;br /&gt;
* brb_cut&lt;br /&gt;
* brb_cut_in&lt;br /&gt;
* brb_cut_out&lt;br /&gt;
* brb_hair_01&lt;br /&gt;
* brb_hair_02&lt;br /&gt;
* brb_in&lt;br /&gt;
* brb_loop&lt;br /&gt;
* brb_out&lt;br /&gt;
* brb_sit_in&lt;br /&gt;
* brb_sit_loop&lt;br /&gt;
* brb_sit_out &lt;br /&gt;
==heist9==&lt;br /&gt;
* cas_g2_gasko&lt;br /&gt;
* swt_wllpk_l&lt;br /&gt;
* swt_wllpk_l_back&lt;br /&gt;
* swt_wllpk_r&lt;br /&gt;
* swt_wllpk_r_back&lt;br /&gt;
* swt_wllshoot_in_l&lt;br /&gt;
* swt_wllshoot_in_r&lt;br /&gt;
* swt_wllshoot_out_l&lt;br /&gt;
* swt_wllshoot_out_r&lt;br /&gt;
* use_swipecard &lt;br /&gt;
==int_house==&lt;br /&gt;
* bed_in_l&lt;br /&gt;
* bed_in_r&lt;br /&gt;
* bed_loop_l&lt;br /&gt;
* bed_loop_r&lt;br /&gt;
* bed_out_l&lt;br /&gt;
* bed_out_r&lt;br /&gt;
* lou_in&lt;br /&gt;
* lou_loop&lt;br /&gt;
* lou_out&lt;br /&gt;
* wash_up &lt;br /&gt;
==int_office==&lt;br /&gt;
* ff_dam_fwd&lt;br /&gt;
* off_sit_2idle_180&lt;br /&gt;
* off_sit_bored_loop&lt;br /&gt;
* off_sit_crash&lt;br /&gt;
* off_sit_drink&lt;br /&gt;
* off_sit_idle_loop&lt;br /&gt;
* off_sit_in&lt;br /&gt;
* off_sit_read&lt;br /&gt;
* off_sit_type_loop&lt;br /&gt;
* off_sit_watch &lt;br /&gt;
==int_shop==&lt;br /&gt;
* shop_cashier&lt;br /&gt;
* shop_in&lt;br /&gt;
* shop_looka&lt;br /&gt;
* shop_lookb&lt;br /&gt;
* shop_loop&lt;br /&gt;
* shop_out&lt;br /&gt;
* shop_pay&lt;br /&gt;
* shop_shelf &lt;br /&gt;
==jst_buisness==&lt;br /&gt;
* girl_01&lt;br /&gt;
* girl_02&lt;br /&gt;
* player_01&lt;br /&gt;
* smoke_01 &lt;br /&gt;
==kart==&lt;br /&gt;
* kart_getin_lhs&lt;br /&gt;
* kart_getin_rhs&lt;br /&gt;
* kart_getout_lhs&lt;br /&gt;
* kart_getout_rhs &lt;br /&gt;
==kissing==&lt;br /&gt;
* bd_gf_wave&lt;br /&gt;
* gfwave2&lt;br /&gt;
* gf_carargue_01&lt;br /&gt;
* gf_carargue_02&lt;br /&gt;
* gf_carspot&lt;br /&gt;
* gf_streetargue_01&lt;br /&gt;
* gf_streetargue_02&lt;br /&gt;
* gift_get&lt;br /&gt;
* gift_give&lt;br /&gt;
* grlfrd_kiss_01&lt;br /&gt;
* grlfrd_kiss_02&lt;br /&gt;
* grlfrd_kiss_03&lt;br /&gt;
* playa_kiss_01&lt;br /&gt;
* playa_kiss_02&lt;br /&gt;
* playa_kiss_03 &lt;br /&gt;
==knife==&lt;br /&gt;
* kill_knife_ped_damage&lt;br /&gt;
* kill_knife_ped_die&lt;br /&gt;
* kill_knife_player&lt;br /&gt;
* kill_partial&lt;br /&gt;
* knife_1&lt;br /&gt;
* knife_2&lt;br /&gt;
* knife_3&lt;br /&gt;
* knife_4&lt;br /&gt;
* knife_block&lt;br /&gt;
* knife_g&lt;br /&gt;
* knife_hit_1&lt;br /&gt;
* knife_hit_2&lt;br /&gt;
* knife_hit_3&lt;br /&gt;
* knife_idle&lt;br /&gt;
* knife_part&lt;br /&gt;
* weapon_knifeidle &lt;br /&gt;
==lapdan1==&lt;br /&gt;
* lapdan_d&lt;br /&gt;
* lapdan_p &lt;br /&gt;
==lapdan2==&lt;br /&gt;
* lapdan_d&lt;br /&gt;
* lapdan_p &lt;br /&gt;
==lapdan3==&lt;br /&gt;
* lapdan_d&lt;br /&gt;
* lapdan_p &lt;br /&gt;
==lowrider==&lt;br /&gt;
* f_smklean_loop&lt;br /&gt;
* lrgirl_bdbnce&lt;br /&gt;
* lrgirl_hair&lt;br /&gt;
* lrgirl_hurry&lt;br /&gt;
* lrgirl_idleloop&lt;br /&gt;
* lrgirl_idle_to_l0&lt;br /&gt;
* lrgirl_l0_bnce&lt;br /&gt;
* lrgirl_l0_loop&lt;br /&gt;
* lrgirl_l0_to_l1&lt;br /&gt;
* lrgirl_l12_to_l0&lt;br /&gt;
* lrgirl_l1_bnce&lt;br /&gt;
* lrgirl_l1_loop&lt;br /&gt;
* lrgirl_l1_to_l2&lt;br /&gt;
* lrgirl_l2_bnce&lt;br /&gt;
* lrgirl_l2_loop&lt;br /&gt;
* lrgirl_l2_to_l3&lt;br /&gt;
* lrgirl_l345_to_l1&lt;br /&gt;
* lrgirl_l3_bnce&lt;br /&gt;
* lrgirl_l3_loop&lt;br /&gt;
* lrgirl_l3_to_l4&lt;br /&gt;
* lrgirl_l4_bnce&lt;br /&gt;
* lrgirl_l4_loop&lt;br /&gt;
* lrgirl_l4_to_l5&lt;br /&gt;
* lrgirl_l5_bnce&lt;br /&gt;
* lrgirl_l5_loop&lt;br /&gt;
* m_smklean_loop&lt;br /&gt;
* m_smkstnd_loop&lt;br /&gt;
* prtial_gngtlkb&lt;br /&gt;
* prtial_gngtlkc&lt;br /&gt;
* prtial_gngtlkd&lt;br /&gt;
* prtial_gngtlke&lt;br /&gt;
* prtial_gngtlkf&lt;br /&gt;
* prtial_gngtlkg&lt;br /&gt;
* prtial_gngtlkh&lt;br /&gt;
* rap_a_loop&lt;br /&gt;
* rap_b_loop&lt;br /&gt;
* rap_c_loop&lt;br /&gt;
* sit_relaxed&lt;br /&gt;
* tap_hand &lt;br /&gt;
==md_chase==&lt;br /&gt;
* carhit_hangon&lt;br /&gt;
* carhit_tumble&lt;br /&gt;
* donutdrop&lt;br /&gt;
* fen_choppa_l1&lt;br /&gt;
* fen_choppa_l2&lt;br /&gt;
* fen_choppa_l3&lt;br /&gt;
* fen_choppa_r1&lt;br /&gt;
* fen_choppa_r2&lt;br /&gt;
* fen_choppa_r3&lt;br /&gt;
* hangon_stun_loop&lt;br /&gt;
* hangon_stun_turn&lt;br /&gt;
* md_bike_2_hang&lt;br /&gt;
* md_bike_jmp_bl&lt;br /&gt;
* md_bike_jmp_f&lt;br /&gt;
* md_bike_lnd_bl&lt;br /&gt;
* md_bike_lnd_die_bl&lt;br /&gt;
* md_bike_lnd_die_f&lt;br /&gt;
* md_bike_lnd_f&lt;br /&gt;
* md_bike_lnd_roll&lt;br /&gt;
* md_bike_lnd_roll_f&lt;br /&gt;
* md_bike_punch&lt;br /&gt;
* md_bike_punch_f&lt;br /&gt;
* md_bike_shot_f&lt;br /&gt;
* md_hang_lnd_roll&lt;br /&gt;
* md_hang_loop &lt;br /&gt;
==md_end==&lt;br /&gt;
* end_sc1_ply&lt;br /&gt;
* end_sc1_ryd&lt;br /&gt;
* end_sc1_smo&lt;br /&gt;
* end_sc1_swe&lt;br /&gt;
* end_sc2_ply&lt;br /&gt;
* end_sc2_ryd&lt;br /&gt;
* end_sc2_smo&lt;br /&gt;
* end_sc2_swe &lt;br /&gt;
==medic==&lt;br /&gt;
* cpr &lt;br /&gt;
==misc==&lt;br /&gt;
* bitchslap&lt;br /&gt;
* bmx_celebrate&lt;br /&gt;
* bmx_comeon&lt;br /&gt;
* bmx_idleloop_01&lt;br /&gt;
* bmx_idleloop_02&lt;br /&gt;
* bmx_talkleft_in&lt;br /&gt;
* bmx_talkleft_loop&lt;br /&gt;
* bmx_talkleft_out&lt;br /&gt;
* bmx_talkright_in&lt;br /&gt;
* bmx_talkright_loop&lt;br /&gt;
* bmx_talkright_out&lt;br /&gt;
* bng_wndw&lt;br /&gt;
* bng_wndw_02&lt;br /&gt;
* case_pickup&lt;br /&gt;
* door_jet&lt;br /&gt;
* grab_l&lt;br /&gt;
* grab_r&lt;br /&gt;
* hiker_pose&lt;br /&gt;
* hiker_pose_l&lt;br /&gt;
* idle_chat_02&lt;br /&gt;
* kat_throw_k&lt;br /&gt;
* kat_throw_o&lt;br /&gt;
* kat_throw_p&lt;br /&gt;
* pass_rifle_o&lt;br /&gt;
* pass_rifle_ped&lt;br /&gt;
* pass_rifle_ply&lt;br /&gt;
* pickup_box&lt;br /&gt;
* plane_door&lt;br /&gt;
* plane_exit&lt;br /&gt;
* plane_hijack&lt;br /&gt;
* plunger_01&lt;br /&gt;
* plyrlean_loop&lt;br /&gt;
* plyr_shkhead&lt;br /&gt;
* run_dive&lt;br /&gt;
* scratchballs_01&lt;br /&gt;
* seat_lr&lt;br /&gt;
* seat_talk_01&lt;br /&gt;
* seat_talk_02&lt;br /&gt;
* seat_watch&lt;br /&gt;
* smalplane_door&lt;br /&gt;
* smlplane_door &lt;br /&gt;
==mtb==&lt;br /&gt;
* mtb_back&lt;br /&gt;
* mtb_bunnyhop&lt;br /&gt;
* mtb_drivebyft&lt;br /&gt;
* mtb_driveby_lhs&lt;br /&gt;
* mtb_driveby_rhs&lt;br /&gt;
* mtb_fwd&lt;br /&gt;
* mtb_getoffback&lt;br /&gt;
* mtb_getofflhs&lt;br /&gt;
* mtb_getoffrhs&lt;br /&gt;
* mtb_jumponl&lt;br /&gt;
* mtb_jumponr&lt;br /&gt;
* mtb_left&lt;br /&gt;
* mtb_pedal&lt;br /&gt;
* mtb_pushes&lt;br /&gt;
* mtb_ride&lt;br /&gt;
* mtb_right&lt;br /&gt;
* mtb_sprint&lt;br /&gt;
* mtb_still &lt;br /&gt;
==muscular==&lt;br /&gt;
* msclewalkst_armed&lt;br /&gt;
* msclewalkst_csaw&lt;br /&gt;
* mscle_rckt_run&lt;br /&gt;
* mscle_rckt_walkst&lt;br /&gt;
* mscle_run_csaw&lt;br /&gt;
* muscleidle&lt;br /&gt;
* muscleidle_armed&lt;br /&gt;
* muscleidle_csaw&lt;br /&gt;
* muscleidle_rocket&lt;br /&gt;
* musclerun&lt;br /&gt;
* musclerun_armed&lt;br /&gt;
* musclesprint&lt;br /&gt;
* musclewalk&lt;br /&gt;
* musclewalkstart&lt;br /&gt;
* musclewalk_armed&lt;br /&gt;
* musclewalk_csaw&lt;br /&gt;
* musclewalk_rocket &lt;br /&gt;
==nevada==&lt;br /&gt;
* nevada_getin&lt;br /&gt;
* nevada_getout &lt;br /&gt;
==on_lookers==&lt;br /&gt;
* lkaround_in&lt;br /&gt;
* lkaround_loop&lt;br /&gt;
* lkaround_out&lt;br /&gt;
* lkup_in&lt;br /&gt;
* lkup_loop&lt;br /&gt;
* lkup_out&lt;br /&gt;
* lkup_point&lt;br /&gt;
* panic_cower&lt;br /&gt;
* panic_hide&lt;br /&gt;
* panic_in&lt;br /&gt;
* panic_loop&lt;br /&gt;
* panic_out&lt;br /&gt;
* panic_point&lt;br /&gt;
* panic_shout&lt;br /&gt;
* pointup_in&lt;br /&gt;
* pointup_loop&lt;br /&gt;
* pointup_out&lt;br /&gt;
* pointup_shout&lt;br /&gt;
* point_in&lt;br /&gt;
* point_loop&lt;br /&gt;
* point_out&lt;br /&gt;
* shout_01&lt;br /&gt;
* shout_02&lt;br /&gt;
* shout_in&lt;br /&gt;
* shout_loop&lt;br /&gt;
* shout_out&lt;br /&gt;
* wave_in&lt;br /&gt;
* wave_loop&lt;br /&gt;
* wave_out &lt;br /&gt;
==otb==&lt;br /&gt;
* betslp_in&lt;br /&gt;
* betslp_lkabt&lt;br /&gt;
* betslp_loop&lt;br /&gt;
* betslp_out&lt;br /&gt;
* betslp_tnk&lt;br /&gt;
* wtchrace_cmon&lt;br /&gt;
* wtchrace_in&lt;br /&gt;
* wtchrace_loop&lt;br /&gt;
* wtchrace_lose&lt;br /&gt;
* wtchrace_out&lt;br /&gt;
* wtchrace_win &lt;br /&gt;
==parachute==&lt;br /&gt;
* fall_skydive&lt;br /&gt;
* fall_skydive_accel&lt;br /&gt;
* fall_skydive_die&lt;br /&gt;
* fall_skydive_l&lt;br /&gt;
* fall_skydive_r&lt;br /&gt;
* para_decel&lt;br /&gt;
* para_decel_o&lt;br /&gt;
* para_float&lt;br /&gt;
* para_float_o&lt;br /&gt;
* para_land&lt;br /&gt;
* para_land_o&lt;br /&gt;
* para_land_water&lt;br /&gt;
* para_land_water_o&lt;br /&gt;
* para_open&lt;br /&gt;
* para_open_o&lt;br /&gt;
* para_rip_land_o&lt;br /&gt;
* para_rip_loop_o&lt;br /&gt;
* para_rip_o&lt;br /&gt;
* para_steerl&lt;br /&gt;
* para_steerl_o&lt;br /&gt;
* para_steerr&lt;br /&gt;
* para_steerr_o &lt;br /&gt;
==park==&lt;br /&gt;
* tai_chi_in&lt;br /&gt;
* tai_chi_loop&lt;br /&gt;
* tai_chi_out &lt;br /&gt;
==paulnmac==&lt;br /&gt;
* piss_in&lt;br /&gt;
* piss_loop&lt;br /&gt;
* piss_out&lt;br /&gt;
* pnm_argue1_a&lt;br /&gt;
* pnm_argue1_b&lt;br /&gt;
* pnm_argue2_a&lt;br /&gt;
* pnm_argue2_b&lt;br /&gt;
* pnm_loop_a&lt;br /&gt;
* pnm_loop_b&lt;br /&gt;
* wank_in&lt;br /&gt;
* wank_loop&lt;br /&gt;
* wank_out &lt;br /&gt;
==ped==&lt;br /&gt;
* abseil&lt;br /&gt;
* arrestgun&lt;br /&gt;
* atm&lt;br /&gt;
* bike_elbowl&lt;br /&gt;
* bike_elbowr&lt;br /&gt;
* bike_fallr&lt;br /&gt;
* bike_fall_off&lt;br /&gt;
* bike_pickupl&lt;br /&gt;
* bike_pickupr&lt;br /&gt;
* bike_pullupl&lt;br /&gt;
* bike_pullupr&lt;br /&gt;
* bomber&lt;br /&gt;
* car_alignhi_lhs&lt;br /&gt;
* car_alignhi_rhs&lt;br /&gt;
* car_align_lhs&lt;br /&gt;
* car_align_rhs&lt;br /&gt;
* car_closedoorl_lhs&lt;br /&gt;
* car_closedoorl_rhs&lt;br /&gt;
* car_closedoor_lhs&lt;br /&gt;
* car_closedoor_rhs&lt;br /&gt;
* car_close_lhs&lt;br /&gt;
* car_close_rhs&lt;br /&gt;
* car_crawloutrhs&lt;br /&gt;
* car_dead_lhs&lt;br /&gt;
* car_dead_rhs&lt;br /&gt;
* car_doorlocked_lhs&lt;br /&gt;
* car_doorlocked_rhs&lt;br /&gt;
* car_fallout_lhs&lt;br /&gt;
* car_fallout_rhs&lt;br /&gt;
* car_getinl_lhs&lt;br /&gt;
* car_getinl_rhs&lt;br /&gt;
* car_getin_lhs&lt;br /&gt;
* car_getin_rhs&lt;br /&gt;
* car_getoutl_lhs&lt;br /&gt;
* car_getoutl_rhs&lt;br /&gt;
* car_getout_lhs&lt;br /&gt;
* car_getout_rhs&lt;br /&gt;
* car_hookertalk&lt;br /&gt;
* car_jackedlhs&lt;br /&gt;
* car_jackedrhs&lt;br /&gt;
* car_jumpin_lhs&lt;br /&gt;
* car_lb&lt;br /&gt;
* car_lb_pro&lt;br /&gt;
* car_lb_weak&lt;br /&gt;
* car_ljackedlhs&lt;br /&gt;
* car_ljackedrhs&lt;br /&gt;
* car_lshuffle_rhs&lt;br /&gt;
* car_lsit&lt;br /&gt;
* car_open_lhs&lt;br /&gt;
* car_open_rhs&lt;br /&gt;
* car_pulloutl_lhs&lt;br /&gt;
* car_pulloutl_rhs&lt;br /&gt;
* car_pullout_lhs&lt;br /&gt;
* car_pullout_rhs&lt;br /&gt;
* car_qjacked&lt;br /&gt;
* car_rolldoor&lt;br /&gt;
* car_rolldoorlo&lt;br /&gt;
* car_rollout_lhs&lt;br /&gt;
* car_rollout_rhs&lt;br /&gt;
* car_shuffle_rhs&lt;br /&gt;
* car_sit&lt;br /&gt;
* car_sitp&lt;br /&gt;
* car_sitplo&lt;br /&gt;
* car_sit_pro&lt;br /&gt;
* car_sit_weak&lt;br /&gt;
* car_tune_radio&lt;br /&gt;
* climb_idle&lt;br /&gt;
* climb_jump&lt;br /&gt;
* climb_jump2fall&lt;br /&gt;
* climb_jump_b&lt;br /&gt;
* climb_pull&lt;br /&gt;
* climb_stand&lt;br /&gt;
* climb_stand_finish&lt;br /&gt;
* cower&lt;br /&gt;
* crouch_roll_l&lt;br /&gt;
* crouch_roll_r&lt;br /&gt;
* dam_arml_frmbk&lt;br /&gt;
* dam_arml_frmft&lt;br /&gt;
* dam_arml_frmlt&lt;br /&gt;
* dam_armr_frmbk&lt;br /&gt;
* dam_armr_frmft&lt;br /&gt;
* dam_armr_frmrt&lt;br /&gt;
* dam_legl_frmbk&lt;br /&gt;
* dam_legl_frmft&lt;br /&gt;
* dam_legl_frmlt&lt;br /&gt;
* dam_legr_frmbk&lt;br /&gt;
* dam_legr_frmft&lt;br /&gt;
* dam_legr_frmrt&lt;br /&gt;
* dam_stomach_frmbk&lt;br /&gt;
* dam_stomach_frmft&lt;br /&gt;
* dam_stomach_frmlt&lt;br /&gt;
* dam_stomach_frmrt&lt;br /&gt;
* door_lhinge_o&lt;br /&gt;
* door_rhinge_o&lt;br /&gt;
* drivebyl_l&lt;br /&gt;
* drivebyl_r&lt;br /&gt;
* driveby_l&lt;br /&gt;
* driveby_r&lt;br /&gt;
* drive_boat&lt;br /&gt;
* drive_boat_back&lt;br /&gt;
* drive_boat_l&lt;br /&gt;
* drive_boat_r&lt;br /&gt;
* drive_l&lt;br /&gt;
* drive_lo_l&lt;br /&gt;
* drive_lo_r&lt;br /&gt;
* drive_l_pro&lt;br /&gt;
* drive_l_pro_slow&lt;br /&gt;
* drive_l_slow&lt;br /&gt;
* drive_l_weak&lt;br /&gt;
* drive_l_weak_slow&lt;br /&gt;
* drive_r&lt;br /&gt;
* drive_r_pro&lt;br /&gt;
* drive_r_pro_slow&lt;br /&gt;
* drive_r_slow&lt;br /&gt;
* drive_r_weak&lt;br /&gt;
* drive_r_weak_slow&lt;br /&gt;
* drive_truck&lt;br /&gt;
* drive_truck_back&lt;br /&gt;
* drive_truck_l&lt;br /&gt;
* drive_truck_r&lt;br /&gt;
* drown&lt;br /&gt;
* duck_cower&lt;br /&gt;
* endchat_01&lt;br /&gt;
* endchat_02&lt;br /&gt;
* endchat_03&lt;br /&gt;
* ev_dive&lt;br /&gt;
* ev_step&lt;br /&gt;
* facanger&lt;br /&gt;
* facgum&lt;br /&gt;
* facsurp&lt;br /&gt;
* facsurpm&lt;br /&gt;
* factalk&lt;br /&gt;
* facurios&lt;br /&gt;
* fall_back&lt;br /&gt;
* fall_collapse&lt;br /&gt;
* fall_fall&lt;br /&gt;
* fall_front&lt;br /&gt;
* fall_glide&lt;br /&gt;
* fall_land&lt;br /&gt;
* fall_skydive&lt;br /&gt;
* fight2idle&lt;br /&gt;
* fighta_1&lt;br /&gt;
* fighta_2&lt;br /&gt;
* fighta_3&lt;br /&gt;
* fighta_block&lt;br /&gt;
* fighta_g&lt;br /&gt;
* fighta_m&lt;br /&gt;
* fightidle&lt;br /&gt;
* fightshb&lt;br /&gt;
* fightshf&lt;br /&gt;
* fightsh_bwd&lt;br /&gt;
* fightsh_fwd&lt;br /&gt;
* fightsh_left&lt;br /&gt;
* fightsh_right&lt;br /&gt;
* flee_lkaround_01&lt;br /&gt;
* floor_hit&lt;br /&gt;
* floor_hit_f&lt;br /&gt;
* fucku&lt;br /&gt;
* gang_gunstand&lt;br /&gt;
* gas_cwr&lt;br /&gt;
* getup&lt;br /&gt;
* getup_front&lt;br /&gt;
* gum_eat&lt;br /&gt;
* guncrouchbwd&lt;br /&gt;
* guncrouchfwd&lt;br /&gt;
* gunmove_bwd&lt;br /&gt;
* gunmove_fwd&lt;br /&gt;
* gunmove_l&lt;br /&gt;
* gunmove_r&lt;br /&gt;
* gun_2_idle&lt;br /&gt;
* gun_butt&lt;br /&gt;
* gun_butt_crouch&lt;br /&gt;
* gun_stand&lt;br /&gt;
* handscower&lt;br /&gt;
* handsup&lt;br /&gt;
* hita_1&lt;br /&gt;
* hita_2&lt;br /&gt;
* hita_3&lt;br /&gt;
* hit_back&lt;br /&gt;
* hit_behind&lt;br /&gt;
* hit_front&lt;br /&gt;
* hit_gun_butt&lt;br /&gt;
* hit_l&lt;br /&gt;
* hit_r&lt;br /&gt;
* hit_walk&lt;br /&gt;
* hit_wall&lt;br /&gt;
* idlestance_fat&lt;br /&gt;
* idlestance_old&lt;br /&gt;
* idle_armed&lt;br /&gt;
* idle_chat&lt;br /&gt;
* idle_csaw&lt;br /&gt;
* idle_gang1&lt;br /&gt;
* idle_hbhb&lt;br /&gt;
* idle_rocket&lt;br /&gt;
* idle_stance&lt;br /&gt;
* idle_taxi&lt;br /&gt;
* idle_tired&lt;br /&gt;
* jetpack_idle&lt;br /&gt;
* jog_femalea&lt;br /&gt;
* jog_malea&lt;br /&gt;
* jump_glide&lt;br /&gt;
* jump_land&lt;br /&gt;
* jump_launch&lt;br /&gt;
* jump_launch_r&lt;br /&gt;
* kart_drive&lt;br /&gt;
* kart_l&lt;br /&gt;
* kart_lb&lt;br /&gt;
* kart_r&lt;br /&gt;
* kd_left&lt;br /&gt;
* kd_right&lt;br /&gt;
* ko_shot_face&lt;br /&gt;
* ko_shot_front&lt;br /&gt;
* ko_shot_stom&lt;br /&gt;
* ko_skid_back&lt;br /&gt;
* ko_skid_front&lt;br /&gt;
* ko_spin_l&lt;br /&gt;
* ko_spin_r&lt;br /&gt;
* pass_smoke_in_car&lt;br /&gt;
* phone_in&lt;br /&gt;
* phone_out&lt;br /&gt;
* phone_talk&lt;br /&gt;
* player_sneak&lt;br /&gt;
* player_sneak_walkstart&lt;br /&gt;
* roadcross&lt;br /&gt;
* roadcross_female&lt;br /&gt;
* roadcross_gang&lt;br /&gt;
* roadcross_old&lt;br /&gt;
* run_1armed&lt;br /&gt;
* run_armed&lt;br /&gt;
* run_civi&lt;br /&gt;
* run_csaw&lt;br /&gt;
* run_fat&lt;br /&gt;
* run_fatold&lt;br /&gt;
* run_gang1&lt;br /&gt;
* run_left&lt;br /&gt;
* run_old&lt;br /&gt;
* run_player&lt;br /&gt;
* run_right&lt;br /&gt;
* run_rocket&lt;br /&gt;
* run_stop&lt;br /&gt;
* run_stopr&lt;br /&gt;
* run_wuzi&lt;br /&gt;
* seat_down&lt;br /&gt;
* seat_idle&lt;br /&gt;
* seat_up&lt;br /&gt;
* shot_leftp&lt;br /&gt;
* shot_partial&lt;br /&gt;
* shot_partial_b&lt;br /&gt;
* shot_rightp&lt;br /&gt;
* shove_partial&lt;br /&gt;
* smoke_in_car&lt;br /&gt;
* sprint_civi&lt;br /&gt;
* sprint_panic&lt;br /&gt;
* sprint_wuzi&lt;br /&gt;
* swat_run&lt;br /&gt;
* swim_tread&lt;br /&gt;
* tap_hand&lt;br /&gt;
* tap_handp&lt;br /&gt;
* turn_180&lt;br /&gt;
* turn_l&lt;br /&gt;
* turn_r&lt;br /&gt;
* walk_armed&lt;br /&gt;
* walk_civi&lt;br /&gt;
* walk_csaw&lt;br /&gt;
* walk_doorpartial&lt;br /&gt;
* walk_drunk&lt;br /&gt;
* walk_fat&lt;br /&gt;
* walk_fatold&lt;br /&gt;
* walk_gang1&lt;br /&gt;
* walk_gang2&lt;br /&gt;
* walk_old&lt;br /&gt;
* walk_player&lt;br /&gt;
* walk_rocket&lt;br /&gt;
* walk_shuffle&lt;br /&gt;
* walk_start&lt;br /&gt;
* walk_start_armed&lt;br /&gt;
* walk_start_csaw&lt;br /&gt;
* walk_start_rocket&lt;br /&gt;
* walk_wuzi&lt;br /&gt;
* weapon_crouch&lt;br /&gt;
* woman_idlestance&lt;br /&gt;
* woman_run&lt;br /&gt;
* woman_runbusy&lt;br /&gt;
* woman_runfatold&lt;br /&gt;
* woman_runpanic&lt;br /&gt;
* woman_runsexy&lt;br /&gt;
* woman_walkbusy&lt;br /&gt;
* woman_walkfatold&lt;br /&gt;
* woman_walknorm&lt;br /&gt;
* woman_walkold&lt;br /&gt;
* woman_walkpro&lt;br /&gt;
* woman_walksexy&lt;br /&gt;
* woman_walkshop&lt;br /&gt;
* xpressscratch &lt;br /&gt;
==player_dvbys==&lt;br /&gt;
* plyr_drivebybwd&lt;br /&gt;
* plyr_drivebyfwd&lt;br /&gt;
* plyr_drivebylhs&lt;br /&gt;
* plyr_drivebyrhs &lt;br /&gt;
==playidles==&lt;br /&gt;
* shift&lt;br /&gt;
* shldr&lt;br /&gt;
* stretch&lt;br /&gt;
* strleg&lt;br /&gt;
* time &lt;br /&gt;
==police==&lt;br /&gt;
* coptraf_away&lt;br /&gt;
* coptraf_come&lt;br /&gt;
* coptraf_left&lt;br /&gt;
* coptraf_stop&lt;br /&gt;
* cop_getoutcar_lhs&lt;br /&gt;
* cop_move_fwd&lt;br /&gt;
* crm_drgbst_01&lt;br /&gt;
* door_kick&lt;br /&gt;
* plc_drgbst_01&lt;br /&gt;
* plc_drgbst_02 &lt;br /&gt;
==pool==&lt;br /&gt;
* pool_chalkcue&lt;br /&gt;
* pool_idle_stance&lt;br /&gt;
* pool_long_shot&lt;br /&gt;
* pool_long_shot_o&lt;br /&gt;
* pool_long_start&lt;br /&gt;
* pool_long_start_o&lt;br /&gt;
* pool_med_shot&lt;br /&gt;
* pool_med_shot_o&lt;br /&gt;
* pool_med_start&lt;br /&gt;
* pool_med_start_o&lt;br /&gt;
* pool_place_white&lt;br /&gt;
* pool_short_shot&lt;br /&gt;
* pool_short_shot_o&lt;br /&gt;
* pool_short_start&lt;br /&gt;
* pool_short_start_o&lt;br /&gt;
* pool_walk&lt;br /&gt;
* pool_walk_start&lt;br /&gt;
* pool_xlong_shot&lt;br /&gt;
* pool_xlong_shot_o&lt;br /&gt;
* pool_xlong_start&lt;br /&gt;
* pool_xlong_start_o &lt;br /&gt;
==poor==&lt;br /&gt;
* winwash_start&lt;br /&gt;
* winwash_wash2beg &lt;br /&gt;
==python==&lt;br /&gt;
* python_crouchfire&lt;br /&gt;
* python_crouchreload&lt;br /&gt;
* python_fire&lt;br /&gt;
* python_fire_poor&lt;br /&gt;
* python_reload &lt;br /&gt;
==quad==&lt;br /&gt;
* quad_back&lt;br /&gt;
* quad_driveby_ft&lt;br /&gt;
* quad_driveby_lhs&lt;br /&gt;
* quad_driveby_rhs&lt;br /&gt;
* quad_fwd&lt;br /&gt;
* quad_getoff_b&lt;br /&gt;
* quad_getoff_lhs&lt;br /&gt;
* quad_getoff_rhs&lt;br /&gt;
* quad_geton_lhs&lt;br /&gt;
* quad_geton_rhs&lt;br /&gt;
* quad_hit&lt;br /&gt;
* quad_kick&lt;br /&gt;
* quad_left&lt;br /&gt;
* quad_passenger&lt;br /&gt;
* quad_reverse&lt;br /&gt;
* quad_ride&lt;br /&gt;
* quad_right &lt;br /&gt;
==quad_dbz==&lt;br /&gt;
* pass_driveby_bwd&lt;br /&gt;
* pass_driveby_fwd&lt;br /&gt;
* pass_driveby_lhs&lt;br /&gt;
* pass_driveby_rhs &lt;br /&gt;
==rapping==&lt;br /&gt;
* laugh_01&lt;br /&gt;
* rap_a_in&lt;br /&gt;
* rap_a_loop&lt;br /&gt;
* rap_a_out&lt;br /&gt;
* rap_b_in&lt;br /&gt;
* rap_b_loop&lt;br /&gt;
* rap_b_out&lt;br /&gt;
* rap_c_loop &lt;br /&gt;
==rifle==&lt;br /&gt;
* rifle_crouchfire&lt;br /&gt;
* rifle_crouchload&lt;br /&gt;
* rifle_fire&lt;br /&gt;
* rifle_fire_poor&lt;br /&gt;
* rifle_load &lt;br /&gt;
==riot==&lt;br /&gt;
* riot_angry&lt;br /&gt;
* riot_angry_b&lt;br /&gt;
* riot_challenge&lt;br /&gt;
* riot_chant&lt;br /&gt;
* riot_fuku&lt;br /&gt;
* riot_punches&lt;br /&gt;
* riot_shout &lt;br /&gt;
==rob_bank==&lt;br /&gt;
* cat_safe_end&lt;br /&gt;
* cat_safe_open&lt;br /&gt;
* cat_safe_open_o&lt;br /&gt;
* cat_safe_rob&lt;br /&gt;
* shp_handsup_scr &lt;br /&gt;
==rocket==&lt;br /&gt;
* idle_rocket&lt;br /&gt;
* rocketfire&lt;br /&gt;
* run_rocket&lt;br /&gt;
* walk_rocket&lt;br /&gt;
* walk_start_rocket &lt;br /&gt;
==rustler==&lt;br /&gt;
* plane_align_lhs&lt;br /&gt;
* plane_close&lt;br /&gt;
* plane_getin&lt;br /&gt;
* plane_getout&lt;br /&gt;
* plane_open &lt;br /&gt;
==ryder==&lt;br /&gt;
* ryd_beckon_01&lt;br /&gt;
* ryd_beckon_02&lt;br /&gt;
* ryd_beckon_03&lt;br /&gt;
* ryd_die_pt1&lt;br /&gt;
* ryd_die_pt2&lt;br /&gt;
* van_crate_l&lt;br /&gt;
* van_crate_r&lt;br /&gt;
* van_fall_l&lt;br /&gt;
* van_fall_r&lt;br /&gt;
* van_lean_l&lt;br /&gt;
* van_lean_r&lt;br /&gt;
* van_pickup_e&lt;br /&gt;
* van_pickup_s&lt;br /&gt;
* van_stand&lt;br /&gt;
* van_stand_crate&lt;br /&gt;
* van_throw &lt;br /&gt;
==scratching==&lt;br /&gt;
* scdldlp&lt;br /&gt;
* scdlulp&lt;br /&gt;
* scdrdlp&lt;br /&gt;
* scdrulp&lt;br /&gt;
* sclng_l&lt;br /&gt;
* sclng_r&lt;br /&gt;
* scmid_l&lt;br /&gt;
* scmid_r&lt;br /&gt;
* scshrtl&lt;br /&gt;
* scshrtr&lt;br /&gt;
* sc_ltor&lt;br /&gt;
* sc_rtol &lt;br /&gt;
==shamal==&lt;br /&gt;
* shamal_align&lt;br /&gt;
* shamal_getin_lhs&lt;br /&gt;
* shamal_getout_lhs&lt;br /&gt;
* shamal_open &lt;br /&gt;
==shop==&lt;br /&gt;
* rob_2idle&lt;br /&gt;
* rob_loop&lt;br /&gt;
* rob_loop_threat&lt;br /&gt;
* rob_shifty&lt;br /&gt;
* rob_stickup_in&lt;br /&gt;
* shp_duck&lt;br /&gt;
* shp_duck_aim&lt;br /&gt;
* shp_duck_fire&lt;br /&gt;
* shp_gun_aim&lt;br /&gt;
* shp_gun_duck&lt;br /&gt;
* shp_gun_fire&lt;br /&gt;
* shp_gun_grab&lt;br /&gt;
* shp_gun_threat&lt;br /&gt;
* shp_handsup_scr&lt;br /&gt;
* shp_jump_glide&lt;br /&gt;
* shp_jump_land&lt;br /&gt;
* shp_jump_launch&lt;br /&gt;
* shp_rob_givecash&lt;br /&gt;
* shp_rob_handsup&lt;br /&gt;
* shp_rob_react&lt;br /&gt;
* shp_serve_end&lt;br /&gt;
* shp_serve_idle&lt;br /&gt;
* shp_serve_loop&lt;br /&gt;
* shp_serve_start&lt;br /&gt;
* smoke_ryd &lt;br /&gt;
==shotgun==&lt;br /&gt;
* shotgun_crouchfire&lt;br /&gt;
* shotgun_fire&lt;br /&gt;
* shotgun_fire_poor &lt;br /&gt;
==silenced==&lt;br /&gt;
* crouchreload&lt;br /&gt;
* silencecrouchfire&lt;br /&gt;
* silence_fire&lt;br /&gt;
* silence_reload &lt;br /&gt;
==skate==&lt;br /&gt;
* skate_idle&lt;br /&gt;
* skate_run&lt;br /&gt;
* skate_sprint &lt;br /&gt;
==smoking==&lt;br /&gt;
* f_smklean_loop&lt;br /&gt;
* m_smklean_loop&lt;br /&gt;
* m_smkstnd_loop&lt;br /&gt;
* m_smk_drag&lt;br /&gt;
* m_smk_in&lt;br /&gt;
* m_smk_loop&lt;br /&gt;
* m_smk_out&lt;br /&gt;
* m_smk_tap &lt;br /&gt;
==sniper==&lt;br /&gt;
* weapon_sniper &lt;br /&gt;
==spraycan==&lt;br /&gt;
* spraycan_fire&lt;br /&gt;
* spraycan_full &lt;br /&gt;
==strip==&lt;br /&gt;
* ply_cash&lt;br /&gt;
* pun_cash&lt;br /&gt;
* pun_holler&lt;br /&gt;
* pun_loop&lt;br /&gt;
* strip_a&lt;br /&gt;
* strip_b&lt;br /&gt;
* strip_c&lt;br /&gt;
* strip_d&lt;br /&gt;
* strip_e&lt;br /&gt;
* strip_f&lt;br /&gt;
* strip_g&lt;br /&gt;
* str_a2b&lt;br /&gt;
* str_b2a&lt;br /&gt;
* str_b2c&lt;br /&gt;
* str_c1&lt;br /&gt;
* str_c2&lt;br /&gt;
* str_c2b&lt;br /&gt;
* str_loop_a&lt;br /&gt;
* str_loop_b&lt;br /&gt;
* str_loop_c &lt;br /&gt;
==sunbathe==&lt;br /&gt;
* batherdown&lt;br /&gt;
* batherup&lt;br /&gt;
* lay_bac_in&lt;br /&gt;
* lay_bac_out&lt;br /&gt;
* parksit_m_idlea&lt;br /&gt;
* parksit_m_idleb&lt;br /&gt;
* parksit_m_idlec&lt;br /&gt;
* parksit_m_in&lt;br /&gt;
* parksit_m_out&lt;br /&gt;
* parksit_w_idlea&lt;br /&gt;
* parksit_w_idleb&lt;br /&gt;
* parksit_w_idlec&lt;br /&gt;
* parksit_w_in&lt;br /&gt;
* parksit_w_out&lt;br /&gt;
* sbathe_f_lieb2sit&lt;br /&gt;
* sbathe_f_out&lt;br /&gt;
* sitnwait_in_w&lt;br /&gt;
* sitnwait_out_w &lt;br /&gt;
==swat==&lt;br /&gt;
* gnstwall_injurd&lt;br /&gt;
* jmp_wall1m_180&lt;br /&gt;
* rail_fall&lt;br /&gt;
* rail_fall_crawl&lt;br /&gt;
* swt_breach_01&lt;br /&gt;
* swt_breach_02&lt;br /&gt;
* swt_breach_03&lt;br /&gt;
* swt_go&lt;br /&gt;
* swt_lkt&lt;br /&gt;
* swt_sty&lt;br /&gt;
* swt_vent_01&lt;br /&gt;
* swt_vent_02&lt;br /&gt;
* swt_vnt_sht_die&lt;br /&gt;
* swt_vnt_sht_in&lt;br /&gt;
* swt_vnt_sht_loop&lt;br /&gt;
* swt_wllpk_l&lt;br /&gt;
* swt_wllpk_l_back&lt;br /&gt;
* swt_wllpk_r&lt;br /&gt;
* swt_wllpk_r_back&lt;br /&gt;
* swt_wllshoot_in_l&lt;br /&gt;
* swt_wllshoot_in_r&lt;br /&gt;
* swt_wllshoot_out_l&lt;br /&gt;
* swt_wllshoot_out_r &lt;br /&gt;
==sweet==&lt;br /&gt;
* ho_ass_slapped&lt;br /&gt;
* lafin_player&lt;br /&gt;
* lafin_sweet&lt;br /&gt;
* plyr_hndshldr_01&lt;br /&gt;
* sweet_ass_slap&lt;br /&gt;
* sweet_hndshldr_01&lt;br /&gt;
* sweet_injuredloop &lt;br /&gt;
==swim==&lt;br /&gt;
* swim_breast&lt;br /&gt;
* swim_crawl&lt;br /&gt;
* swim_dive_under&lt;br /&gt;
* swim_glide&lt;br /&gt;
* swim_jumpout&lt;br /&gt;
* swim_tread&lt;br /&gt;
* swim_under &lt;br /&gt;
==sword==&lt;br /&gt;
* sword_1&lt;br /&gt;
* sword_2&lt;br /&gt;
* sword_3&lt;br /&gt;
* sword_4&lt;br /&gt;
* sword_block&lt;br /&gt;
* sword_hit_1&lt;br /&gt;
* sword_hit_2&lt;br /&gt;
* sword_hit_3&lt;br /&gt;
* sword_idle&lt;br /&gt;
* sword_part &lt;br /&gt;
==tank==&lt;br /&gt;
* tank_align_lhs&lt;br /&gt;
* tank_close_lhs&lt;br /&gt;
* tank_doorlocked&lt;br /&gt;
* tank_getin_lhs&lt;br /&gt;
* tank_getout_lhs&lt;br /&gt;
* tank_open_lhs &lt;br /&gt;
==tattoos==&lt;br /&gt;
* tat_arml_in_o&lt;br /&gt;
* tat_arml_in_p&lt;br /&gt;
* tat_arml_in_t&lt;br /&gt;
* tat_arml_out_o&lt;br /&gt;
* tat_arml_out_p&lt;br /&gt;
* tat_arml_out_t&lt;br /&gt;
* tat_arml_pose_o&lt;br /&gt;
* tat_arml_pose_p&lt;br /&gt;
* tat_arml_pose_t&lt;br /&gt;
* tat_armr_in_o&lt;br /&gt;
* tat_armr_in_p&lt;br /&gt;
* tat_armr_in_t&lt;br /&gt;
* tat_armr_out_o&lt;br /&gt;
* tat_armr_out_p&lt;br /&gt;
* tat_armr_out_t&lt;br /&gt;
* tat_armr_pose_o&lt;br /&gt;
* tat_armr_pose_p&lt;br /&gt;
* tat_armr_pose_t&lt;br /&gt;
* tat_back_in_o&lt;br /&gt;
* tat_back_in_p&lt;br /&gt;
* tat_back_in_t&lt;br /&gt;
* tat_back_out_o&lt;br /&gt;
* tat_back_out_p&lt;br /&gt;
* tat_back_out_t&lt;br /&gt;
* tat_back_pose_o&lt;br /&gt;
* tat_back_pose_p&lt;br /&gt;
* tat_back_pose_t&lt;br /&gt;
* tat_back_sit_in_p&lt;br /&gt;
* tat_back_sit_loop_p&lt;br /&gt;
* tat_back_sit_out_p&lt;br /&gt;
* tat_bel_in_o&lt;br /&gt;
* tat_bel_in_t&lt;br /&gt;
* tat_bel_out_o&lt;br /&gt;
* tat_bel_out_t&lt;br /&gt;
* tat_bel_pose_o&lt;br /&gt;
* tat_bel_pose_t&lt;br /&gt;
* tat_che_in_o&lt;br /&gt;
* tat_che_in_p&lt;br /&gt;
* tat_che_in_t&lt;br /&gt;
* tat_che_out_o&lt;br /&gt;
* tat_che_out_p&lt;br /&gt;
* tat_che_out_t&lt;br /&gt;
* tat_che_pose_o&lt;br /&gt;
* tat_che_pose_p&lt;br /&gt;
* tat_che_pose_t&lt;br /&gt;
* tat_drop_o&lt;br /&gt;
* tat_idle_loop_o&lt;br /&gt;
* tat_idle_loop_t&lt;br /&gt;
* tat_sit_in_o&lt;br /&gt;
* tat_sit_in_p&lt;br /&gt;
* tat_sit_in_t&lt;br /&gt;
* tat_sit_loop_o&lt;br /&gt;
* tat_sit_loop_p&lt;br /&gt;
* tat_sit_loop_t&lt;br /&gt;
* tat_sit_out_o&lt;br /&gt;
* tat_sit_out_p&lt;br /&gt;
* tat_sit_out_t &lt;br /&gt;
==tec==&lt;br /&gt;
* tec_crouchfire&lt;br /&gt;
* tec_crouchreload&lt;br /&gt;
* tec_fire&lt;br /&gt;
* tec_reload &lt;br /&gt;
==train==&lt;br /&gt;
* tran_gtup&lt;br /&gt;
* tran_hng&lt;br /&gt;
* tran_ouch&lt;br /&gt;
* tran_stmb &lt;br /&gt;
==truck==&lt;br /&gt;
* truck_align_lhs&lt;br /&gt;
* truck_align_rhs&lt;br /&gt;
* truck_closedoor_lhs&lt;br /&gt;
* truck_closedoor_rhs&lt;br /&gt;
* truck_close_lhs&lt;br /&gt;
* truck_close_rhs&lt;br /&gt;
* truck_getin_lhs&lt;br /&gt;
* truck_getin_rhs&lt;br /&gt;
* truck_getout_lhs&lt;br /&gt;
* truck_getout_rhs&lt;br /&gt;
* truck_jackedlhs&lt;br /&gt;
* truck_jackedrhs&lt;br /&gt;
* truck_open_lhs&lt;br /&gt;
* truck_open_rhs&lt;br /&gt;
* truck_pullout_lhs&lt;br /&gt;
* truck_pullout_rhs&lt;br /&gt;
* truck_shuffle &lt;br /&gt;
==uzi==&lt;br /&gt;
* uzi_crouchfire&lt;br /&gt;
* uzi_crouchreload&lt;br /&gt;
* uzi_fire&lt;br /&gt;
* uzi_fire_poor&lt;br /&gt;
* uzi_reload &lt;br /&gt;
==van==&lt;br /&gt;
* van_close_back_lhs&lt;br /&gt;
* van_close_back_rhs&lt;br /&gt;
* van_getin_back_lhs&lt;br /&gt;
* van_getin_back_rhs&lt;br /&gt;
* van_getout_back_lhs&lt;br /&gt;
* van_getout_back_rhs&lt;br /&gt;
* van_open_back_lhs&lt;br /&gt;
* van_open_back_rhs &lt;br /&gt;
==vending==&lt;br /&gt;
* vend_drink2_p&lt;br /&gt;
* vend_drink_p&lt;br /&gt;
* vend_eat1_p&lt;br /&gt;
* vend_eat_p&lt;br /&gt;
* vend_use&lt;br /&gt;
* vend_use_pt2 &lt;br /&gt;
==vortex==&lt;br /&gt;
* car_jumpin_lhs&lt;br /&gt;
* car_jumpin_rhs&lt;br /&gt;
* vortex_getout_lhs&lt;br /&gt;
* vortex_getout_rhs &lt;br /&gt;
==wayfarer==&lt;br /&gt;
* wf_back&lt;br /&gt;
* wf_drivebyft&lt;br /&gt;
* wf_drivebylhs&lt;br /&gt;
* wf_drivebyrhs&lt;br /&gt;
* wf_fwd&lt;br /&gt;
* wf_getoffback&lt;br /&gt;
* wf_getofflhs&lt;br /&gt;
* wf_getoffrhs&lt;br /&gt;
* wf_hit&lt;br /&gt;
* wf_jumponl&lt;br /&gt;
* wf_jumponr&lt;br /&gt;
* wf_kick&lt;br /&gt;
* wf_left&lt;br /&gt;
* wf_passenger&lt;br /&gt;
* wf_pushes&lt;br /&gt;
* wf_ride&lt;br /&gt;
* wf_right&lt;br /&gt;
* wf_still &lt;br /&gt;
==weapons==&lt;br /&gt;
* shp_1h_lift&lt;br /&gt;
* shp_1h_lift_end&lt;br /&gt;
* shp_1h_ret&lt;br /&gt;
* shp_1h_ret_s&lt;br /&gt;
* shp_2h_lift&lt;br /&gt;
* shp_2h_lift_end&lt;br /&gt;
* shp_2h_ret&lt;br /&gt;
* shp_2h_ret_s&lt;br /&gt;
* shp_ar_lift&lt;br /&gt;
* shp_ar_lift_end&lt;br /&gt;
* shp_ar_ret&lt;br /&gt;
* shp_ar_ret_s&lt;br /&gt;
* shp_g_lift_in&lt;br /&gt;
* shp_g_lift_out&lt;br /&gt;
* shp_tray_in&lt;br /&gt;
* shp_tray_out&lt;br /&gt;
* shp_tray_pose &lt;br /&gt;
==wuzi==&lt;br /&gt;
* cs_dead_guy&lt;br /&gt;
* cs_plyr_pt1&lt;br /&gt;
* cs_plyr_pt2&lt;br /&gt;
* cs_wuzi_pt1&lt;br /&gt;
* cs_wuzi_pt2&lt;br /&gt;
* walkstart_idle_01&lt;br /&gt;
* wuzi_follow&lt;br /&gt;
* wuzi_greet_plyr&lt;br /&gt;
* wuzi_greet_wuzi&lt;br /&gt;
* wuzi_grnd_chk&lt;br /&gt;
* wuzi_stand_loop&lt;br /&gt;
* wuzi_walk&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Animation Functions==&lt;br /&gt;
{{Animation_functions}}&lt;br /&gt;
==See Also==&lt;br /&gt;
[[id|ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[Category:ID Lists]]&lt;br /&gt;
&lt;br /&gt;
[[de:Animationen]]&lt;br /&gt;
[[zh-cn:动画]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Writing_Gamemodes&amp;diff=50207</id>
		<title>Writing Gamemodes</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Writing_Gamemodes&amp;diff=50207"/>
		<updated>2017-01-01T18:44:04Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by MrTasty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide tries to outline the process of how to write a proper gamemode. If you just started with scripting for MTA, you may want to check the other scripting tutorials at the [[Main Page]] first.&lt;br /&gt;
==Introduction==&lt;br /&gt;
A gamemode is a resource that, once started, controls all of the gameplay. This may include telling the players what to do, spawning players, creating teams, defining what the players have to do to win or to get points and much more. Examples are Race and Deathmatch. &lt;br /&gt;
&lt;br /&gt;
==What does &amp;quot;proper gamemode&amp;quot; mean?==&lt;br /&gt;
To put it simply, a proper gamemode is one that makes full use of MTA's .map file system. This means that the gamemode code does not have any map-specific data hardcoded in it, like positions of players or cars. Instead, the gamemode should be able to load .map files which define these data. This way the gamemode can have multiple maps; also, people can create .map files for the gamemode with MTA's map editor, which is much more convenient than writing code.&lt;br /&gt;
&lt;br /&gt;
An obvious example of a &amp;quot;proper gamemode&amp;quot; is MTA:Race. It allows usermade maps with lots of possibilities within the .map file. To alter spawnpoints, objects etc., the user doesn't need to edit the gamemode itself.&lt;br /&gt;
&lt;br /&gt;
===Map Files===&lt;br /&gt;
Map files are basically XML documents with a .map extension. They define an environment to play one or more specific gamemodes in. They are however not supposed to change the rules of the game - those are defined by the gamemode.&lt;br /&gt;
&lt;br /&gt;
Each element in a map corresponds to a node in the .map file. There is standard syntax for common things like spawnpoints, objects and vehicles; however, for &amp;quot;special&amp;quot;, gamemode specific information, you need to invent your own syntax.&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
Let's take a Capture the Flag gamemode as an example. A map for this gamemode needs to mainly define spawnpoints and flag locations, and eventually objects and vehicles. A simplified map file could look like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;map&amp;gt;&lt;br /&gt;
    &amp;lt;spawnpoint id=&amp;quot;spawnpoint1&amp;quot; posX=&amp;quot;1959.5487060547&amp;quot; posY=&amp;quot;-1714.4613037109&amp;quot; posZ=&amp;quot;877.25219726563&amp;quot; rot=&amp;quot;63.350006103516&amp;quot; model=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;pickup id=&amp;quot;Armor 1&amp;quot; posX=&amp;quot;1911.083984375&amp;quot; posY=&amp;quot;-1658.8798828125&amp;quot; posZ=&amp;quot;885.40216064453&amp;quot; type=&amp;quot;armor&amp;quot; health=&amp;quot;50&amp;quot; respawn=&amp;quot;60000&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;flag posX=&amp;quot;1959.5487060547&amp;quot; posY=&amp;quot;-1714.4613037109&amp;quot; posZ=&amp;quot;877.25219726563&amp;quot; team=&amp;quot;blue&amp;quot; /&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
&amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here you can see two MTA elements - a spawnpoint and a pickup. More importantly, this .map has a custom &amp;quot;flag&amp;quot; node which defines the position and color of the flag. The spawnpoint and pickup can be handled by existing external resources, custom elements have to be processed by the gamemode.&lt;br /&gt;
&lt;br /&gt;
To summarize - we want mass mapper input as we saw in MTA:Race. Users should NOT have to touch the gamemode script itself at all.&lt;br /&gt;
&lt;br /&gt;
====Example of getting the .map information====&lt;br /&gt;
As mentioned above, your gamemode needs de retrieve custom elements that are defined in a map file and process them. This is quite easy as demonstrated below.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- retrieve a table with all flag elements&lt;br /&gt;
local flagElements = getElementsByType ( &amp;quot;flag&amp;quot; )&lt;br /&gt;
-- loop through them&lt;br /&gt;
for key, value in pairs(flagElements) do&lt;br /&gt;
	-- get our info&lt;br /&gt;
	local posX = getElementData ( value, &amp;quot;posX&amp;quot; )&lt;br /&gt;
	local posY = getElementData ( value, &amp;quot;posY&amp;quot; )&lt;br /&gt;
	local posZ = getElementData ( value, &amp;quot;posZ&amp;quot; )&lt;br /&gt;
	local team = getElementData ( value, &amp;quot;team&amp;quot; )&lt;br /&gt;
	-- create an object according to the flag position&lt;br /&gt;
	createObject ( 1337, posX, posY, posZ )&lt;br /&gt;
	-- output the team that we created a base for&lt;br /&gt;
	outputChatBox ( &amp;quot;Base for team &amp;quot; .. team .. &amp;quot; created&amp;quot; )&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The [[getElementsByType]] function retrieves a table of all the elements of a certain type (the type corresponds to the node name in the .map file). This works for both custom types and built-in MTA types (like &amp;quot;vehicle&amp;quot; or &amp;quot;player&amp;quot;).&lt;br /&gt;
[[getElementData]] can be used to retrieve the xml attributes set in the .map file.&lt;br /&gt;
In this simple example, an object is created at the flag's location and a message is outputted in the chatbox. In reality, you will of course need to do more during map loading, like in this case setting up collision shapes to detect players taking the flag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Map manager==&lt;br /&gt;
Having read the section above it should be clear that a gamemode should always consist of two parts:&lt;br /&gt;
* The gamemode resource that always stays the same&lt;br /&gt;
* Many different maps resources that give the gamemode map-specific information&lt;br /&gt;
&lt;br /&gt;
Now instead of writing a map-loader for every single gamemode, the [[Map manager]] provides functions to load gamemodes and maps. Simply put, when you enter the correct command (for example 'gamemode ctf ctf-italy') it will start both resources 'ctf' and 'ctf-italy' while triggering an event ([[onGamemodeMapStart]]) to tell the 'ctf' resource that a map was loaded. The 'ctf' resource can then access the information 'ctf-italy' contains and start spawning players etc.&lt;br /&gt;
&lt;br /&gt;
===How to use the mapmanager===&lt;br /&gt;
To use the mapmanager service, your gamemode resource has to be tagged as such first. More specifically you'll be setting the &amp;quot;type&amp;quot; attribute of its &amp;lt;info&amp;gt; tag to &amp;quot;gamemode&amp;quot; inside meta.xml. Also, you can set the &amp;quot;name&amp;quot; attribute to a friendly name (like &amp;quot;Capture the flag&amp;quot;) that will be shown on ASE instead of the resource name.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!-- meta.xml in &amp;quot;cowcatapult&amp;quot; gamemode --&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info type=&amp;quot;gamemode&amp;quot; name=&amp;quot;Cow catapulting 2.0&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;
If your gamemode is going to load custom maps, you should add handlers for&lt;br /&gt;
* onGamemodeMapStart&lt;br /&gt;
* onGamemodeMapStop (if any unloading is necessary)&lt;br /&gt;
These are fired when a map for your gamemode is started or stopped, and pass the map resource as a parameter.&lt;br /&gt;
Within the handler function for these events you can extract all info you need from the resource's map files and configuration files.&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 startCtfMap( startedMap ) -- startedMap contains a reference to the resource of the map&lt;br /&gt;
    local mapRoot = getResourceRootElement( startedMap )        -- get the root node of the started map&lt;br /&gt;
    local flagElements = getElementsByType ( &amp;quot;flag&amp;quot; , mapRoot ) -- get all flags in the map and store them in a table&lt;br /&gt;
    -- go on loading information like in the example above&lt;br /&gt;
    -- spawn players etc.&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onGamemodeMapStart&amp;quot;, getRootElement(), startCtfMap)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Making maps compatible===&lt;br /&gt;
Maps are separate resources. This is done so no editing of the gamemode resource is ever necessary in order to create a custom map, and also allows you to pack map-specific scripts/config files with them.&lt;br /&gt;
&lt;br /&gt;
To make a map compatible with your gamemode, open its resource's meta.xml and tag it as well: the &amp;quot;type&amp;quot; attribute must be set to &amp;quot;map&amp;quot;, and the &amp;quot;gamemodes&amp;quot; attribute must be a comma-separated list (no spaces) of gamemode resource names that the map works with.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--map's meta.xml--&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
    &amp;lt;info type=&amp;quot;map&amp;quot; gamemodes=&amp;quot;cowcatapult,assault,tdm&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;
Once you have everything set up, admins will use these two commands to start/stop gamemodes:&lt;br /&gt;
/gamemode gamemodeName [mapName] (optional parameter allows picking an initial map, defaults to none)&lt;br /&gt;
/changemap mapName [gamemodeName] (optional parameter specifies the gamemode to start the map with, defaults to the current one)&lt;br /&gt;
&lt;br /&gt;
[[Map manager]] exports a few more access functions which you don't have to use, but may be useful.&lt;br /&gt;
&lt;br /&gt;
==What else should you do==&lt;br /&gt;
There are several other resources that gamemodes should use/be compliant with.&lt;br /&gt;
&lt;br /&gt;
===Helpmanager===&lt;br /&gt;
The helpmanager is ought to be the standard interface for players when they need help. If you use the helpmanager to display your gamemode's help, every player that used helpmanager before (e.g. in other gamemodes) will immediately know how to get there. It also displays help for different resources running resources in one window, if necessary.&lt;br /&gt;
&lt;br /&gt;
There are basicially two ways to use the helpmanager:&lt;br /&gt;
* Provide a simple text that explains how to use your gamemode&lt;br /&gt;
* Request a GUI element from the helpmanager that will be displayed in its own tab in the helpmanager window and lets you add any GUI elements to it. This is the recommended way for gamemodes that need to display more complex information that needs its own GUI.&lt;br /&gt;
&lt;br /&gt;
Read the [[Resource:Helpmanager|helpmanager help page]] for details on how to do it.&lt;br /&gt;
&lt;br /&gt;
===Scoreboard===&lt;br /&gt;
Scoreboard displays players and teams currently ingame. You add custom columns to it to provide map specific information. For example the column 'points' in the 'ctf' gamemode could represent the player's points gained through kills or captures. As usual, see the [[Resource:Dxscoreboard|scoreboard help page]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Map cycler===&lt;br /&gt;
The map cycler controls what gamemodes and maps are played on a server. You can specifiy for example how many times in a row a map will be played until it switches to the next. To achieve this, you need to tell the map cycler when your gamemode finished (e.g. when a round ends).&lt;br /&gt;
&lt;br /&gt;
[[it:Scrivere una gamemode]]&lt;br /&gt;
[[ru:Writing Gamemodes]]&lt;br /&gt;
[[de:Gamemodes schreiben]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Access_Control_List&amp;diff=50206</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=50206"/>
		<updated>2017-01-01T18:44:01Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by 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>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Meta.xml&amp;diff=50205</id>
		<title>Meta.xml</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Meta.xml&amp;diff=50205"/>
		<updated>2017-01-01T18:43:59Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Necktrox&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;
** '''gamemodes:''' The gamemodes to be compatible with the resource. It must be the name of the gamemode resource, not the gamemode name. If you want it to be compatible with multiple gamemodes, it must be in a comma-separated list without spaces. (e.g. gamemodes=&amp;quot;test1,test2&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>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Resource_Web_Access&amp;diff=50204</id>
		<title>Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Resource_Web_Access&amp;diff=50204"/>
		<updated>2017-01-01T18:43:57Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Talidan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Multi Theft Auto Server provides a web interface that resources can use in a variety of ways. This document's purpose is to explain what these ways are and how to go about using them.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
There are two key parts that make up this system. The first is a standard web server that allows web browsers to request pages and files you have in a resource. The second is a system for allowing web browsers to call functions you have exported from your resource.&lt;br /&gt;
&lt;br /&gt;
==Pages==&lt;br /&gt;
===Specifying a file in the meta===&lt;br /&gt;
You can specify in your resource's meta file that certain files are accessible through the web server. To do this, you add a line:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;filename.ext&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
You can then access this file from your web browser by visiting: http://host:port/resourcename/filename.ext&amp;lt;br/&amp;gt;&lt;br /&gt;
For example, on a locally hosted server using default http port with webmap started: http://127.0.0.1:22005/webmap/map.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Binary files===&lt;br /&gt;
Despite the misleading name, files specified using the html node can be of any type. If they are binary files (like images, zip files) then you need to specify this in the meta file, by adding ''raw=&amp;quot;true&amp;quot;'' to the ''html'' node. This means that the files are not preprocessed before being sent to the web browser.&lt;br /&gt;
&lt;br /&gt;
For example:&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;
===Parsed files===&lt;br /&gt;
If a file is not specified in the meta file as &amp;quot;raw&amp;quot;, then it is passed through a pre-processor before it is returned to the client. This pre-processor works much like PHP or ASP, but uses LUA. You can embed standard MTA scripts within HTML pages, controlling the output. Almost all standard MTA functions work, plus a number of special [[Template:HTTP functions|HTTP Functions]], such as [[httpWrite]], a function that outputs text to the buffer.&lt;br /&gt;
&lt;br /&gt;
For example:&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;
        This resource is called &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;
There is a shorthand (in common with PHP and ASP) for this code, meaning that you can also write the above code as:&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;
        This resource is called &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;
Aside from HTTP functions, embedded Lua has access to the following environment variables that contain information about how the page was requested:&lt;br /&gt;
* table '''requestHeaders''': This is a table containing all the headers that were requested with the page. You can set returned headers using [[httpSetResponseHeader]]. &lt;br /&gt;
* table '''form''': This is a table containing all the form data submitted to the page using HTTP POST combined with any variables passed in the querystring with HTTP GET.&lt;br /&gt;
* table '''cookies''': This is a table of all the cookies. You can modify cookies using [[httpSetResponseCookie]].&lt;br /&gt;
* string '''hostname''': This is a string containing the IP address or hostname that requested the page.&lt;br /&gt;
* string '''url''': This is the URL of the page.&lt;br /&gt;
* account '''user''': This is the account of the current user.&lt;br /&gt;
&lt;br /&gt;
It's important to note that parsed files are run in a separate virtual machine from the rest of your resource's code. As such, if you want to call a function in your resource's main code, you need to export the function and use the [[call]] function from your parsed file.&lt;br /&gt;
&lt;br /&gt;
==Calls==&lt;br /&gt;
You can specify that certain exported functions in your resource are able to be called from the HTTP interface. All the SDKs (listed below) allow you to call these functions from a remote location. &lt;br /&gt;
&lt;br /&gt;
To specify an exported http-accessible function, add the following to your meta.xml file:&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;
You can code your function just as you would any normal function, returning as many values as you want, including tables and resources and most importantly elements. You ''cannot'' however return other 'userdata' values such as [[xmlnode|xmlnodes]] or functions.&lt;br /&gt;
&lt;br /&gt;
===Protocol===&lt;br /&gt;
{{note_box|You don't need to know this unless you're writing your own HTTP request code. You can just use one of the [[#SDK|SDKs listed below]].}}&lt;br /&gt;
&lt;br /&gt;
Calls are done by requesting ''&amp;lt;nowiki&amp;gt;http://&amp;lt;your IP&amp;gt;:&amp;lt;your port&amp;gt;/&amp;lt;resource_name&amp;gt;/call/&amp;lt;exported_function_name&amp;gt;&amp;lt;/nowiki&amp;gt;'' using HTTP POST. The body of the request should be a JSON array of the arguments for the function.&lt;br /&gt;
&lt;br /&gt;
The request will return a JSON array of the value(s) returned from the function as the HTTP response.&lt;br /&gt;
&lt;br /&gt;
The server supports HTTP Basic authentication and you can configure access via the ACL and the built-in accounts system.&lt;br /&gt;
&lt;br /&gt;
===Calls from the HTTP web interface===&lt;br /&gt;
Using calls is probably easiest from the web interface and can be done almost seamlessly.&lt;br /&gt;
&lt;br /&gt;
First, add this to your meta.xml file:&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;
Secondly, add the following to the &amp;lt;head&amp;gt; section of the page you want to call from:&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;
Finally, you can create a javascript block in your page and call your functions almost as if they were local. The only difference is that the calls are aysnchronous - you should specify a callback function as the last argument for your call. This is called when the function returns.&lt;br /&gt;
&lt;br /&gt;
Here's a simple example.&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;
You can see (fairly complex) examples of how this can be done in the resources ''resourcebrowser'', ''resourcemanager'' and ''webadmin''.&lt;br /&gt;
&lt;br /&gt;
==Securing the web interface==&lt;br /&gt;
The [[ACL]] has a number of rights that can affect what files can be accessed.&lt;br /&gt;
{{Deprecated feature|3.0139|1.3.1|&lt;br /&gt;
* general.http: If disabled, none of the http files can be accessed (except by game clients)&lt;br /&gt;
** '''Important Note''': ''If 'general.http' is enabled, http access to all resources (for that ACL) is enabled by default. To disable http access you have to explicitly block access to resources that contain exported http functions.''&lt;br /&gt;
** '''Important Note''': ''If 'general.http' is enabled on an ACL which has a user with no password (i.e. user.* or user.guest or user.http_guest), it is essential that you explicitly block access to resources that contain exported http functions.''&lt;br /&gt;
* resource.'''ResourceName''': If disabled, none of the files in the resource can be accessed&lt;br /&gt;
* resource.'''ResourceName'''.file.'''FileName''': If disabled, the file named cannot be accessed&lt;br /&gt;
* resource.'''ResourceName'''.function.'''FunctionName''': If disabled, the function cannot be called&lt;br /&gt;
These work as with other ACL rights - you can disable them for normal users and just enable them for Admin users, or any other group of users you wish.&lt;br /&gt;
}}&lt;br /&gt;
{{New_feature|3.0139|1.3.1|&lt;br /&gt;
* '''resource.ResourceName.http''': If enabled, the resource will be accessible from http://server_ip:22005/ResourceName/&lt;br /&gt;
This works as with other ACL rights - You can enable it just for Admin users, or any other group of users you wish.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==SDK==&lt;br /&gt;
There are a number of so-called 'SDKs' available that allow you to interface with the server from other programming languages. With these you could (in theory) write whole gamemodes. In practice this is probably a bad idea, but it is useful for statistics and administration. The PHP SDK is the most developed version. Feel free to modify or create your own SDKs - if you do please send us a copy.&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;
==See Also==&lt;br /&gt;
[[callRemote]] - Allows game servers to call functions on PHP pages (with the PHP SDK) and on other game servers.&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[ru:Resource Web Access]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Resources&amp;diff=50203</id>
		<title>Resources</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Resources&amp;diff=50203"/>
		<updated>2017-01-01T18:43:55Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Cristiano Cardoso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resources are a key part of MTA. A resource is essentially a folder or zip file that contains a collection of files - including script files, plus a ''meta'' file that describes how the resource should be loaded. A resource can be seen as being partly equivalent to a program running in an operating system - it can be started and stopped, and multiple resources can run at once. Its worth remember though, that unlike programs on an operating system, there is no multi-tasking between resources.&lt;br /&gt;
&lt;br /&gt;
==Terminology==&lt;br /&gt;
* '''Resource''' - A zip file or folder containing a meta.xml file and a number of resource items. These are placed in the ''mods/deathmatch/resources'' folder in the server directory.&lt;br /&gt;
* '''Resource item''' - A file contained within a resource, currently this can be a map, script, images etc.&lt;br /&gt;
&lt;br /&gt;
==The Meta File==&lt;br /&gt;
''See main article [[Meta.xml]] for details''&lt;br /&gt;
&lt;br /&gt;
The Meta file is the core of each the resource. It describes exactly what files in the resource should be used, and how. The following is an example that covers every option there is, your meta files can have as many or as few of these tags as you require:&lt;br /&gt;
&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;eAi&amp;quot; description=&amp;quot;This is a basic CTF script&amp;quot; version=&amp;quot;4&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;radarblips&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;include resource=&amp;quot;markermanagement&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;script src=&amp;quot;ctf.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;flag.lua&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;script src=&amp;quot;ctf_client.lua&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;file src=&amp;quot;model.dff&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;quitbutton.png&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;file src=&amp;quot;killed.png&amp;quot;  /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;html src=&amp;quot;test.htm&amp;quot; default=&amp;quot;true&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;html src=&amp;quot;logo.png&amp;quot; raw=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;export function=&amp;quot;multiply&amp;quot; http=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;getPlayerList&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;export function=&amp;quot;getElementOwner&amp;quot; type=&amp;quot;client&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;config src=&amp;quot;vehicle-list.xml&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;config src=&amp;quot;markerconfig.xml&amp;quot; type=&amp;quot;server&amp;quot;  /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;map src=&amp;quot;somestuff.map&amp;quot; dimension=&amp;quot;99&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
While a CTF map may have a meta.xml that looks like:&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;ctf&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;map src=&amp;quot;myuberl33tctfmap.map&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;info author=&amp;quot;Tom&amp;quot; instructions=&amp;quot;this is uber l33t !!!!!1111111&amp;quot; type=&amp;quot;map&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;
Script/type, Config/type and File/type attributes specify if the script/resource should be sent to clients or not, and defaults to &amp;quot;server&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The include tag specifies other resources that should be started before this resoucre is started.  In other words, if your resource is dependent on another, you can include it so that the other resource is started first,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each resource has its own virtual machine (VM). This contains every script in the resource.  This means that variables are not shared with other resources.  The best way to communictate with other resources is by using the ''export'' tag and exporting a function.  This will enable other resources to fire this function using the [[call]] scripting function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scripts sent to clients are started as soon as all the scripts have been downloaded.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scripts are able to read and write to their own resource folder with functions such as [[xmlCreateFile]] and [[fileCreate]]. They can also read and write to other resources, but must have [[Access_Control_List|ACL]] access. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Each resource can only be loaded once, the server will ensure this. If a resource is included more than once, the same instance will be used by each resource that includes it.&lt;br /&gt;
&lt;br /&gt;
==File storage==&lt;br /&gt;
Resource files can either be stored in a zip or a directory. This is located in:&lt;br /&gt;
&lt;br /&gt;
server/mods/deathmatch/resources/ (if you've installed your server with the client)&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
mods/deathmatch/resources/ (for dedicated server installations)&lt;br /&gt;
&lt;br /&gt;
Each resource can have a zip file, a directory or both. In the case of both existing, the directory has precedence over the zip file, as such files can be placed in the directory to over-ride the files in the zip file. This allows directories to be used for testing and developing of maps/scripts while zip files used by end-users.&lt;br /&gt;
&lt;br /&gt;
==Other things to note==&lt;br /&gt;
*Resource names can't have dots in.&lt;br /&gt;
*If the resource does any file saving, the file names used should not be listed in the meta.xml&lt;br /&gt;
*Files listed in the meta.xml should be considered read only by your scripts. Do not modify them with xmlSaveFile, FileSave etc.&lt;br /&gt;
*When making a zip file of your resource, do not include save files. If your resource uses save files, they must be created by your resource when needed.&lt;br /&gt;
*When making a zip file of your resource, only include files that are listed in the meta.xml. Do not include 'example' save files, otherwise bad things will happen.&lt;br /&gt;
*We recommend avoiding spaces and exotic characters from resources names.&lt;br /&gt;
&lt;br /&gt;
==Script functions==&lt;br /&gt;
The resource system can be manipulated by script. As such, the following Serverside scripting functions are provided:&lt;br /&gt;
{{Resource functions}}&lt;br /&gt;
&lt;br /&gt;
The following events are also provided:&lt;br /&gt;
{{Resource_events}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[it:Introduzione alle Risorse]]&lt;br /&gt;
[[pt-br:Recursos]]&lt;br /&gt;
[[ru:Resources]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Hibakeres%C3%A9s&amp;diff=50202</id>
		<title>Hibakeresés</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Hibakeres%C3%A9s&amp;diff=50202"/>
		<updated>2017-01-01T18:43:54Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by AlexTMjugador&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When scripting you will often come across problems that are not immediately apparent. This page tries to point out some basic strategies to locate the error.&lt;br /&gt;
&lt;br /&gt;
==Debug console==&lt;br /&gt;
MTA features a built-in debug console that shows debug messages output from MTA functions or from scripts. Keeping it mind that you should have administrator access (unless you modify the ACL to change this), you can open the debug console by typing ''debugscript *x*'' in the console, where ''x'' is the debug level:&lt;br /&gt;
* '''1:''' only errors&lt;br /&gt;
* '''2:''' errors and warnings&lt;br /&gt;
* '''3:''' errors, warnings and info messages&lt;br /&gt;
By typing ''debugscript 3'' all messages are visible. Level 3 and level 2 are recommended for most occasions. You should have ''debugscript'' enabled whenever you are testing your scripts as it will help you easily detect and solve typos and other issues.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
This example code has two errors:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function SayHello(message, player)&lt;br /&gt;
    if (getPlayerName(player) == &amp;quot;Fedor&amp;quot;)&lt;br /&gt;
        outputChatbox(&amp;quot;Hello Fedor&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onChatMessage&amp;quot;, root, SayHello)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
When the script this piece of code is in is tried to be loaded, debugscript will output something similiar to this:&lt;br /&gt;
:{{Debug info|Loading script failed: myResource\script.lua:2: 'then' expected near ´outputChatbox'}}&lt;br /&gt;
This means the script could not be parsed because there was a syntax error. It shows the script path relative to the resource directory so you can identify to script where the error originated from. After the filename it shows a colon and a number, this number presents the line number - this is so you can find out where in your script the error is - it is very helpful for large scripts. After that is the error message, which varies depending on the error made. Looking at the error message, we can easily determine that the error originated from the resource '''myResource''' and line two of the script file '''script.lua'''. The error message is very clear, we forgot the &amp;quot;then&amp;quot;! We can easily fix that!&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function SayHello(message, player)&lt;br /&gt;
    if (getPlayerName(player) == &amp;quot;Fedor&amp;quot;) then&lt;br /&gt;
        outputChatbox(&amp;quot;Hello Fedor&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onChatMessage&amp;quot;, root, SayHello)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Now the script will load fine and won't output any errors until a player with the name 'Fedor' says something in the chat. At that moment, the debug console will output:&lt;br /&gt;
:{{Debug error|myResource\script.lua:2: attempt to call global 'outputChatbox' (a nil value)}}&lt;br /&gt;
This error means that the function '''outputChatbox''' is a nil value, that is - it doesn't exist! This is because the function is actually called [[outputChatBox]], not [[outputChatbox]] - take care of that capital B.:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function SayHello(message, player)&lt;br /&gt;
    if (getPlayerName(player) == &amp;quot;Fedor&amp;quot;) then&lt;br /&gt;
        outputChatBox(&amp;quot;Hello Fedor&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onChatMessage&amp;quot;, root, SayHello)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course, this is just an example and I've only skimmed the surface of error messages. There are plenty of other messages and scenarios, but you should get the general idea.&lt;br /&gt;
&lt;br /&gt;
==Server &amp;amp; client debug logging==&lt;br /&gt;
====Server====&lt;br /&gt;
Navigate to: ''(MTA root folder)&amp;gt;server&amp;gt;mods&amp;gt;deathmatch''&lt;br /&gt;
&lt;br /&gt;
There are two nearly identical files:&lt;br /&gt;
&lt;br /&gt;
*The local.conf is the settings for the &amp;quot;host game&amp;quot; menu item in the main menu of MTA. This is a quick and easy way of starting a temporary server from inside the client. When the client is turned off the server will also turn off.&lt;br /&gt;
&lt;br /&gt;
*The mtaserver.conf is used when &amp;quot;MTA Server.exe&amp;quot; is executed from (MTA root folder)&amp;gt;server. This runs the server in its own console window which does not need the client to exist or to be run. This is can be useful if you're interested in hosting servers for a longer time period or if you want to experiment with a real world console.&lt;br /&gt;
&lt;br /&gt;
Depending on which way you host, you will want to edit those files. The settings in question are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;!-- Specifies the location and name of the debugscript log file. If left blank, server won't be saving this file. --&amp;gt;&lt;br /&gt;
	&amp;lt;scriptdebuglogfile&amp;gt;logs/scripts.log&amp;lt;/scriptdebuglogfile&amp;gt; &lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;!-- Specifies the level of the debugscript log file. Available values: 0, 1, 2, 3. When not set, defaults to 0. --&amp;gt;&lt;br /&gt;
	&amp;lt;scriptdebugloglevel&amp;gt;0&amp;lt;/scriptdebugloglevel&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You want to make sure you have a log name specified. Also you want to specify what level of errors will be logged. If it is 0 nothing will be logged. The levels were explained at the top of this article. If the logging level was changed to 3, then in this case all '''serverside''' script errors log to (MTA root folder)&amp;gt;server&amp;gt;mods&amp;gt;deathmatch&amp;gt;logs&amp;gt;scripts.log&lt;br /&gt;
&lt;br /&gt;
====Client====&lt;br /&gt;
Navigate to: ''(MTA root folder)&amp;gt;server&amp;gt;clientscript.log''&lt;br /&gt;
&lt;br /&gt;
This file logs all '''clientside''' script errors. This is set to log by default, no setup required.&lt;br /&gt;
&lt;br /&gt;
==Debug strategies==&lt;br /&gt;
There are several strategies that support finding errors, apart from going through the code. Most of them include outputting debug messages, with have different information depending on the situtation.&lt;br /&gt;
&lt;br /&gt;
===Useful functions===&lt;br /&gt;
There are some functions that may come in handy for debugging.&lt;br /&gt;
* [[outputDebugString]] or [[outputChatBox]] for outputting any information (use outputDebugString for technical output)&lt;br /&gt;
* [http://www.lua.org/manual/5.1/manual.html#pdf-tostring tostring()] on a variable to turn the value into a string. Useful if the value is not a number or string.&lt;br /&gt;
* [[getElementType]] to check the type of the MTA element.&lt;br /&gt;
* [[isElement]] to check if the MTA element exists.&lt;br /&gt;
&lt;br /&gt;
===Add debugmessages to check ''if'', ''when'' or ''how often'' a section of code is executed===&lt;br /&gt;
A typical example would be verify whether an ''if''-section is executed or not. To do that, just add any message you will recognize later within the ''if''-section.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
if (variable1 == variable2) then&lt;br /&gt;
    outputDebugString(&amp;quot;variable1 is the same as variable2!&amp;quot;)&lt;br /&gt;
    -- do anything&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Another application would be to check when variable values are modified. First search for all occurences of the variable being edited and add a message just beside it.&lt;br /&gt;
&lt;br /&gt;
===Add debugmessages to check the ''value'' of a variable===&lt;br /&gt;
Let's say you want to create a marker, but it doesn't appear at the position you expect it to be. The first thing you might want to do is check if the [[createMarker]] function is executed. But while doing this, you can also check the values being used in the [[createMarker]] function in one run.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
outputChatBox(&amp;quot;posX is: &amp;quot;..x..&amp;quot; posY is: &amp;quot;..y..&amp;quot; posZ is: &amp;quot;..z)&lt;br /&gt;
createMarker(x,y,z)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
This would output all three variables that are used as coordinates for the marker. Assuming you read those from a map file, you can now compare the debug output to the desired values. The [http://www.lua.org/manual/5.1/manual.html#pdf-tostring tostring()] will ensure that the values of the variables can be concatenated (put together) as a string, even if it's a boolean value.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
Imagine you created a [[Colshape|collision shape]] somewhere and you want an action to perform after the player stays for ten seconds inside it, you would do this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	-- set a timer to output a message (could as well execute another function)&lt;br /&gt;
	-- store the timer id in a table, using the player as index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;The player stayed 10 seconds in the colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;, root, colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- kill the timer when the player leaves the colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;, root, colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
When a player enters the colshape, debugscript outputs the following message:&lt;br /&gt;
:{{Debug error|..[path]: attempt to index global 'colshapeTimer' (a nil value)}}&lt;br /&gt;
This means you tried to index a table that does not exist (because the table is a nil value, it doesn't exist). In the example above, this is done when storing the timer id in the table. We need to add a check if the table exists and if it does not exist we should create it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- set a timer to output a message (could as well execute another function)&lt;br /&gt;
	-- store the timer id in a table, using the player as index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;The player stayed 10 seconds in the colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;, root, colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- kill the timer when the player leaves the colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,root,colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we will still receive a warning when a player enters the colshape, waits for the message and leaves it again:&lt;br /&gt;
&lt;br /&gt;
:{{Debug warning|[..]: Bad argument @ 'killTimer' Line: ..}}&lt;br /&gt;
&lt;br /&gt;
Except for that (we will talk about that later) everything seems to work fine. A player enters the colshape, the timer is started, if he stays the message occurs, if he leaves the timer is killed.&lt;br /&gt;
&lt;br /&gt;
===A more inconspicuous error===&lt;br /&gt;
But for some reason the message gets outputted twice when you stay in the colcircle while in a vehicle. Since it would appear some code is executed twice, we add debug messages to check this.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- add a debug message&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit&amp;quot;)&lt;br /&gt;
	-- set a timer to output a message (could as well execute another function)&lt;br /&gt;
	-- store the timer id in a table, using the player as index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;The player stayed 10 seconds in the colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- add a debug message&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave&amp;quot;)&lt;br /&gt;
	-- kill the timer when the player leaves the colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we notice that both handler functions get executed twice when we are in a vehicle, but only once when we are on-foot. It would appear the vehicle triggers the colshape as well. To confirm this theory, we ensure that the ''player'' variable actually holds a reference to a player element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- add a debug message, with the element type&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit &amp;quot;..getElementType(player))&lt;br /&gt;
	-- set a timer to output a message (could as well execute another function)&lt;br /&gt;
	-- store the timer id in a table, using the player as index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;The player stayed 10 seconds in the colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- add a debug message, with the element type&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave &amp;quot;..getElementType(player))&lt;br /&gt;
	-- kill the timer when the player leaves the colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The debug messages tell us that one of the ''player'' variables is a player and that the other one is a vehicle element. Since we only want to react when a player enters the colshape, we add an ''if'' that will end the execution of the function if it's '''not''' an player element.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- add a check for the element type&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- add a debug message, with the element type&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit &amp;quot;..getElementType(player))&lt;br /&gt;
	-- set a timer to output a message (could as well execute another function)&lt;br /&gt;
	-- store the timer id in a table, using the player as index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;The player stayed 10 seconds in the colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- add a check for the element type&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- add a debug message, with the element type&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave &amp;quot;..getElementType(player))&lt;br /&gt;
	-- kill the timer when the player leaves the colshape&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now the script should work as desired, but it will still output the warning mentioned above. This happens because the timer we try to kill when a player leaves the colshape will not exist anymore when it has reached the 10 seconds (and therefore executed after the 10th second has completed). There are different ways to get rid of that warning (since you know that the timer might not exist anymore and you only want to kill it if it exists). One way would be to check if the timer referenced in the table really exists. To do this, we need to use [[isTimer]], which we will use when we kill the timer:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
if (isTimer(colshapeTimer[player])) then&lt;br /&gt;
	killTimer(colshapeTimer[player])&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So the complete working code would be:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function colShapeHit(player)&lt;br /&gt;
	if (colshapeTimer == nil) then&lt;br /&gt;
		colshapeTimer = {}&lt;br /&gt;
	end&lt;br /&gt;
	-- add a check for the element type&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- add a debug message, with the element type&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeHit &amp;quot;..getElementType(player))&lt;br /&gt;
	-- set a timer to output a message (could as well execute another function)&lt;br /&gt;
	-- store the timer id in a table, using the player as index&lt;br /&gt;
	colshapeTimer[player] = setTimer(outputChatBox,10000,1,&amp;quot;The player stayed 10 seconds in the colshape!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeHit&amp;quot;,getRootElement(),colShapeHit)&lt;br /&gt;
&lt;br /&gt;
function colShapeLeave(player)&lt;br /&gt;
	-- add a check for the element type&lt;br /&gt;
	if (getElementType(player) ~= &amp;quot;player&amp;quot;) then return end&lt;br /&gt;
	-- add a debug message, with the element type&lt;br /&gt;
	outputDebugString(&amp;quot;colShapeLeave &amp;quot;..getElementType(player))&lt;br /&gt;
	-- kill the timer when the player leaves the colshape&lt;br /&gt;
	if (isTimer(colshapeTimer[player])) then&lt;br /&gt;
		killTimer(colshapeTimer[player])&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onColShapeLeave&amp;quot;,getRootElement(),colShapeLeave)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Debugging Performance Issues==&lt;br /&gt;
&lt;br /&gt;
If your server is using up more resources than it should or you just want to make sure your scripts are efficient, you can find the source of the issue by using a great tool that comes with the default resource package called [[Resource:Performancebrowser|performancebrowser]]. You can start it with ''''start performancebrowser''''. If it doesn't exist then you can get the latest resources from the [https://github.com/multitheftauto/mtasa-resources GitHub repository]. This tool provides an incredible amount of information for performance debugging. Memory leaks, element leaks and CPU intensive scripts are all easily findable via performancebrowser. If you use the ''''d'''' option in Lua timing you can see which functions are using up the CPU.&lt;br /&gt;
&lt;br /&gt;
To access performancebrowser you will need to go to your web browser and enter the address: http://serverIPHere:serverHTTPPortHere/performancebrowser/ Note that the / at the end is required. So for example: http://127.0.0.1:22005/performancebrowser/ You will then need to login with an in-game admin account or any account that has access to ''''resource.performancebrowser.http'''' and ''''resource.ajax.http''''. Most of the information you will need are in the categories Lua timing and Lua memory, look for values that are much higher than other values.&lt;br /&gt;
&lt;br /&gt;
===Examples of scripts that could cause performance problems===&lt;br /&gt;
&lt;br /&gt;
Adding data to a table but never removing it. This would take months/years before it causes a problem though.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local someData = {}&lt;br /&gt;
&lt;br /&gt;
function storeData()&lt;br /&gt;
    someData[source] = true&lt;br /&gt;
    -- There is no handling for when a player quits, this is considered a memory leak&lt;br /&gt;
    -- Using the Lua timing tab you can detect the RAM usage of each resource.&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, storeData)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Element leaking is possible if you use temporary colshapes for whatever reason and may not destroy them. This would cause bandwidth, CPU and memory performance issues over time.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function useTemporaryCol()&lt;br /&gt;
    local col = createColCircle(some code here)&lt;br /&gt;
    if (normally this should happen) then&lt;br /&gt;
        destroyElement(col)&lt;br /&gt;
    end&lt;br /&gt;
    -- But sometimes it didn't so the script ended but the collision area remained and over time&lt;br /&gt;
    -- you may end up with hundreds to thousands of pointless collision areas. &lt;br /&gt;
    -- The Lua timing tab allows you to see the amount of elements each script has created.&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
High CPU usage resulting in the server FPS dropping so much that the server is unplayable. In under 24 hours this can create havoc on a very busy server. The amount of &amp;quot;refs&amp;quot; in the Lua timing detect this type of build up, surprisingly the Lua timing tab didn't help in this case but Lua memory did.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, function()&lt;br /&gt;
    -- Code for joiner&lt;br /&gt;
    addEventHandler(&amp;quot;onPlayerQuit&amp;quot;, root, function()&lt;br /&gt;
        -- Code for when they have quit&lt;br /&gt;
        -- See the problem? It's bound to root which the event handler is being added again and again and again&lt;br /&gt;
    end)&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A function uses up a lot of your CPU because whatever it does takes a long time. This is just some function that takes a long time to complete. Without performancebrowser you'd have no idea its the cause but with performancebrowser you can see that a resource is using lots of CPU in the Lua timing tab. If you then enter: ''''d'''' into the options edit box it will even tell you what file name and first line of the function that is using up so much CPU.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function someDodgyCode()&lt;br /&gt;
    for i=1, 100000 do&lt;br /&gt;
        -- some code&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[it:Guida al Debug]]&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;br /&gt;
[[ru:Debugging]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Introduction_to_Scripting_the_GUI&amp;diff=50201</id>
		<title>Introduction to Scripting the GUI</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Introduction_to_Scripting_the_GUI&amp;diff=50201"/>
		<updated>2017-01-01T18:43:52Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Strix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- place holder --&amp;gt;&lt;br /&gt;
One important feature in MTA:SA is the ability to script customized GUI (Graphic User Interface). The GUI consists of windows, button, edit boxes, check boxes... Almost every standard form components in graphical environments. They can be displayed while the user is in game, and used for inputs and outputs in place of traditional commands. &lt;br /&gt;
&lt;br /&gt;
[[Image:AdminGUI.png|thumb|Admin Console GUI]]&lt;br /&gt;
&lt;br /&gt;
==A tutorial to make a login window==&lt;br /&gt;
In this tutorial we'll make a simple login window, with two input boxes and a button. The window appears when the player joins the game, and once the button is clicked, the player is spawned. The tutorial will continue the gamemode we made in [[Scripting Introduction|Introduction to Scripting]] ''(If you have used the [[Scripting Introduction|Introduction to Scripting]], you will need to remove or comment the [[spawnPlayer]] line in the &amp;quot;joinHandler&amp;quot; function in your code, as we will be replacing it with a gui alternative in this tutorial)''. We'll also take a look at client-side scripting. &lt;br /&gt;
&lt;br /&gt;
===Draw the window===&lt;br /&gt;
All the GUI must be made client side. It is also a good practice to keep all the client scripts in a separate folder. &lt;br /&gt;
&lt;br /&gt;
Browse to /Your MTA Server/mods/deathmatch/resources/myserver/ directory, and create a folder named &amp;quot;client&amp;quot;. Under /client/ directory, create a text file and name it &amp;quot;gui.lua&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
In this file we will write a funtion that draws the window. To create a window we will use [[guiCreateWindow]]:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createLoginWindow()&lt;br /&gt;
	-- define the X and Y positions of the window&lt;br /&gt;
	local X = 0.375&lt;br /&gt;
	local Y = 0.375&lt;br /&gt;
	-- define the width and height of the window&lt;br /&gt;
	local Width = 0.25&lt;br /&gt;
	local Height = 0.25&lt;br /&gt;
	-- create the window and save its element value into the variable 'wdwLogin'&lt;br /&gt;
	-- click on the function's name to read its documentation&lt;br /&gt;
	wdwLogin = guiCreateWindow(X, Y, Width, Height, &amp;quot;Please Log In&amp;quot;, true)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Relative and Absolute===&lt;br /&gt;
Note that the final argument passed to guiCreateWindow in the above example is ''true''. This indicates that the coordinates and dimensions of the window are '''relative''', meaning they are a ''percentage'' of the total screen size. This means that if the far left side of the screen is 0, and the far right is 1, an X position of 0.5 would represent the centre point of the screen. Similarly, if the top of the screen is 0 and the bottom is 1, a Y position of 0.2 would be 20% of the way down the screen. The same principles apply to both Width and Height as well (with a Width value of 0.5 meaning the window will be half as wide as the screen).&lt;br /&gt;
&lt;br /&gt;
The alternative to using relative values is using '''absolute''' (by passing ''false'' instead of true to guiCreateWindow). Absolute values are calculated as the total number of pixels from the top-left corner of the parent (if no gui element parent is specified, the parent is the screen itself). If we assume a screen resolution of 1920x1200, the far left side of the screen being 0 pixels and the far right being 1920 pixels, an X position of 960 will represent the centre point of the screen. Similarly, if the top of the screen is 0 pixels and the bottom is 1200, a Y position of 20 would be 20 pixels down from the top of the screen. The same principles apply to both Width and Height as well (with a Width value of 50 meaning the window will be 50 pixels wide). ''You can use [[guiGetScreenSize]] and a little maths to calculate certain absolute positions.''&lt;br /&gt;
&lt;br /&gt;
The differences between using relative and absolute values is quite simple; gui created using absolute values will always remain exactly the same pixel size and position, while gui created using relative values will always be a percentage of its parent's size.&lt;br /&gt;
&lt;br /&gt;
Absolute is generally easier to maintain when editing code by hand, however your choice of type depends on the situation you are using it for.&lt;br /&gt;
&lt;br /&gt;
For the purposes of this introduction we will be using relative values.&lt;br /&gt;
&lt;br /&gt;
===Adding the components===&lt;br /&gt;
Next, we'll add the text labels (saying &amp;quot;username:&amp;quot; and &amp;quot;password:&amp;quot;), edit boxes (for entering your data) and a button to log in.&lt;br /&gt;
&lt;br /&gt;
To create buttons we use [[guiCreateButton]] and to create edit boxes use [[guiCreateEdit]]:&lt;br /&gt;
&lt;br /&gt;
'''Note that we are now writing more code for our existing 'createLoginWindow' function. This is not a new function and is meant to replace what you already have.''' &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createLoginWindow()&lt;br /&gt;
	local X = 0.375&lt;br /&gt;
	local Y = 0.375&lt;br /&gt;
	local Width = 0.25&lt;br /&gt;
	local Height = 0.25&lt;br /&gt;
	wdwLogin = guiCreateWindow(X, Y, Width, Height, &amp;quot;Please Log In&amp;quot;, true)&lt;br /&gt;
	&lt;br /&gt;
	-- define new X and Y positions for the first label&lt;br /&gt;
	X = 0.0825&lt;br /&gt;
	Y = 0.2&lt;br /&gt;
	-- define new Width and Height values for the first label&lt;br /&gt;
	Width = 0.25&lt;br /&gt;
	Height = 0.25&lt;br /&gt;
	-- create the first label, note the final argument passed is 'wdwLogin' meaning the window&lt;br /&gt;
	-- we created above is the parent of this label (so all the position and size values are now relative to the position of that window)&lt;br /&gt;
	guiCreateLabel(X, Y, Width, Height, &amp;quot;Username&amp;quot;, true, wdwLogin)&lt;br /&gt;
	-- alter the Y value, so the second label is slightly below the first&lt;br /&gt;
	Y = 0.5&lt;br /&gt;
	guiCreateLabel(X, Y, Width, Height, &amp;quot;Password&amp;quot;, true, wdwLogin)&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
	X = 0.415&lt;br /&gt;
	Y = 0.2&lt;br /&gt;
	Width = 0.5&lt;br /&gt;
	Height = 0.15&lt;br /&gt;
	edtUser = guiCreateEdit(X, Y, Width, Height, &amp;quot;&amp;quot;, true, wdwLogin)&lt;br /&gt;
	Y = 0.5&lt;br /&gt;
	edtPass = guiCreateEdit(X, Y, Width, Height, &amp;quot;&amp;quot;, true, wdwLogin)&lt;br /&gt;
	-- set the maximum character length for the username and password fields to 50&lt;br /&gt;
	guiEditSetMaxLength(edtUser, 50)&lt;br /&gt;
	guiEditSetMaxLength(edtPass, 50)&lt;br /&gt;
	&lt;br /&gt;
	X = 0.415&lt;br /&gt;
	Y = 0.7&lt;br /&gt;
	Width = 0.25&lt;br /&gt;
	Height = 0.2&lt;br /&gt;
	btnLogin = guiCreateButton(X, Y, Width, Height, &amp;quot;Log In&amp;quot;, true, wdwLogin)&lt;br /&gt;
	&lt;br /&gt;
	-- make the window invisible&lt;br /&gt;
	guiSetVisible(wdwLogin, false)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Note that every GUI component created is a child of the window, this is done by specifying the parent element (wdwLogin, in this case) when creating the component. &lt;br /&gt;
&lt;br /&gt;
This is very useful because not only does it mean that all the components are attached to the window and will move with it, but also that any changes done to the parent window will be applied down the tree to these child components. For example, we can now hide all of the GUI we just created by simply hiding the window:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
guiSetVisible(wdwLogin, false) --hides all the GUI we made so we can show them to the player at the appropriate moment. &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using the function we wrote===&lt;br /&gt;
The createLoginWindow function is now complete, but it won't do anything until we call it. It is recommended to create all GUI when the client resource starts, hide them, and show them to the player later when needed. Therefore, we'll write an event handler for &amp;quot;[[onClientResourceStart]]&amp;quot; to create the window:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- attach the event handler to the root element of the resource&lt;br /&gt;
-- this means it will only trigger when its own resource is started&lt;br /&gt;
addEventHandler(&amp;quot;onClientResourceStart&amp;quot;, getResourceRootElement(), &lt;br /&gt;
	function ()&lt;br /&gt;
		createLoginWindow()&lt;br /&gt;
	end&lt;br /&gt;
)	&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As this is a log in window, we now need to show the window when the player joins the game. &lt;br /&gt;
This can be done using the same event, &amp;quot;[[onClientResourceStart]]&amp;quot;, so we can modify the above code to include showing the window:&lt;br /&gt;
&lt;br /&gt;
'''Note that we are now writing more code for our existing 'onClientResourceStart' handler. This is not a new event handler and is meant to replace what you already have.''' &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;
		-- create the log in window and its components&lt;br /&gt;
		createLoginWindow()&lt;br /&gt;
&lt;br /&gt;
		-- output a brief welcome message to the player&lt;br /&gt;
                outputChatBox(&amp;quot;Welcome to My MTA:SA Server, please log in.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		-- if the GUI was successfully created, then show the GUI to the player&lt;br /&gt;
	        if (wdwLogin ~= nil) then&lt;br /&gt;
			guiSetVisible(wdwLogin, true)&lt;br /&gt;
		else&lt;br /&gt;
			-- if the GUI hasnt been properly created, tell the player&lt;br /&gt;
			outputChatBox(&amp;quot;An unexpected error has occurred and the log in GUI has not been created.&amp;quot;)&lt;br /&gt;
	        end &lt;br /&gt;
&lt;br /&gt;
		-- enable the players cursor (so they can select and click on the components)&lt;br /&gt;
	        showCursor(true)&lt;br /&gt;
		-- set the input focus onto the GUI, allowing players (for example) to press 'T' without the chatbox opening&lt;br /&gt;
	        guiSetInputEnabled(true)&lt;br /&gt;
	end&lt;br /&gt;
)	&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that we have a simple security check before making the window visible, so in the unlikely event that the window has not been created, meaning wdwLogin is not a valid element, we don't get an error and just inform the player what has happened. &lt;br /&gt;
In the next step, we will create the button functionality for the log in button.&lt;br /&gt;
&lt;br /&gt;
==Scripting the button==&lt;br /&gt;
Now that we have created our GUI and shown it to the player, we need to make it work. &lt;br /&gt;
&lt;br /&gt;
===Detecting the click===&lt;br /&gt;
When the player clicks on any part of the GUI, the event &amp;quot;[[onClientGUIClick]]&amp;quot; will be triggered for the GUI component you clicked on. This allows us to easily detect any clicks on the GUI elements we want to use.&lt;br /&gt;
For example, we can attach the event to the btnLogin button to catch any clicks on it:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- attach the event onClientGUIClick to btnLogin and set it to trigger the 'clientSubmitLogin' function&lt;br /&gt;
addEventHandler(&amp;quot;onClientGUIClick&amp;quot;, btnLogin, clientSubmitLogin, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''Note the final argument passed is &amp;quot;false&amp;quot;. This indicates that the event will only trigger directly on btnLogin, not if the event has propagated up or down the tree. Setting this to &amp;quot;true&amp;quot; while attaching to gui elements will mean that clicking on any element in the same branch will trigger this event.'''&lt;br /&gt;
&lt;br /&gt;
This line of code can now be added inside the createLoginWindow function. It is a common mistake to try and attach events to non-existant GUI elements, so make sure you always attach your events '''after''' the gui element (in this case, the button) has been created:&lt;br /&gt;
&lt;br /&gt;
'''Note that we are now writing more code for our existing 'createLoginWindow' function.''' &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createLoginWindow()&lt;br /&gt;
	-- create all our GUI elements&lt;br /&gt;
	...&lt;br /&gt;
&lt;br /&gt;
	-- now add our onClientGUIClick event to the button we just created&lt;br /&gt;
	addEventHandler(&amp;quot;onClientGUIClick&amp;quot;, btnLogin, clientSubmitLogin, false)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Managing the click===&lt;br /&gt;
Now that we can detect when the player clicks on the button, we need to write code to manage what happens when they do.&lt;br /&gt;
In our [[onClientGUIClick]] event handle, we told it to call the function clientSubmitLogin whenever btnLogin is clicked.&lt;br /&gt;
Therefore, we can now use the function clientSubmitLogin to control what happens when the button is clicked:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- create the function and define the 'button' and 'state' parameters&lt;br /&gt;
-- (these are passed automatically by onClientGUIClick)&lt;br /&gt;
function clientSubmitLogin(button,state)&lt;br /&gt;
	-- if our login button was clicked with the left mouse button, and the state of the mouse button is up&lt;br /&gt;
	if button == &amp;quot;left&amp;quot; and state == &amp;quot;up&amp;quot; then&lt;br /&gt;
		-- move the input focus back onto the game (allowing players to move around, open the chatbox, etc)&lt;br /&gt;
		guiSetInputEnabled(false)&lt;br /&gt;
		-- hide the window and all the components&lt;br /&gt;
		guiSetVisible(wdwLogin, false)&lt;br /&gt;
		-- hide the mouse cursor&lt;br /&gt;
		showCursor(false)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Now, when the button is clicked, the window will be hidden and all controls will be returned to the player. Next, we will tell the server to allow the player to spawn.&lt;br /&gt;
&lt;br /&gt;
===Triggering the server===&lt;br /&gt;
Triggering the server can be done using [[triggerServerEvent]]. This allows you to trigger a specified event on the server from the client. The same can be done in reverse using [[triggerClientEvent]].&lt;br /&gt;
Here, we use the [[triggerServerEvent]] function to call our own custom event on the server, named &amp;quot;submitLogin&amp;quot;, which will then control the spawning of the player serverside.&lt;br /&gt;
&lt;br /&gt;
'''Note that we are now writing more code for our existing 'clientSubmitLogin' function. This is not a new function and is meant to replace what you already have.''' &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function clientSubmitLogin(button,state)&lt;br /&gt;
	if button == &amp;quot;left&amp;quot; and state == &amp;quot;up&amp;quot; then&lt;br /&gt;
		-- get the text entered in the 'username' field&lt;br /&gt;
		local username = guiGetText(edtUser)&lt;br /&gt;
		-- get the text entered in the 'password' field&lt;br /&gt;
		local password = guiGetText(edtPass)&lt;br /&gt;
&lt;br /&gt;
		-- if the username and password both exist&lt;br /&gt;
		if username and password then&lt;br /&gt;
			-- trigger the server event 'submitLogin' and pass the username and password to it&lt;br /&gt;
			triggerServerEvent(&amp;quot;submitLogin&amp;quot;, getRootElement(), username, password)&lt;br /&gt;
&lt;br /&gt;
			-- hide the gui, hide the cursor and return control to the player&lt;br /&gt;
			guiSetInputEnabled(false)&lt;br /&gt;
			guiSetVisible(wdwLogin, false)&lt;br /&gt;
			showCursor(false)&lt;br /&gt;
		else&lt;br /&gt;
			-- otherwise, output a message to the player, do not trigger the server&lt;br /&gt;
			-- and do not hide the gui&lt;br /&gt;
			outputChatBox(&amp;quot;Please enter a username and password.&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Creating the serverside event===&lt;br /&gt;
At this point we now have all the code needed on the client side, so open up your serverside 'script.lua' file (from the [[Scripting Introduction|Introduction to Scripting]]) or another suitable serverside file to work with.&lt;br /&gt;
&lt;br /&gt;
On the server side, recall that we are spawning the player as soon as they login.&lt;br /&gt;
So, first of all, we will need to define the custom event that we used before on the client. This can be done using [[addEvent]] and [[addEventHandler]].&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- create our loginHandler function, with username and password parameters (passed from the client gui)&lt;br /&gt;
function loginHandler(username,password)&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- define our custom event, and allow it to be triggered from the client ('true')&lt;br /&gt;
addEvent(&amp;quot;submitLogin&amp;quot;,true)&lt;br /&gt;
-- add an event handler so that when submitLogin is triggered, the function loginHandler is called&lt;br /&gt;
addEventHandler(&amp;quot;submitLogin&amp;quot;,root,loginHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Logging in===&lt;br /&gt;
Now we have a function that is called through the custom event 'submitLogin', we can start to work on logging in and spawning the player, using our 'loginHandler' function:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function loginHandler(username,password)&lt;br /&gt;
	-- check that the username and password are correct&lt;br /&gt;
	if username == &amp;quot;user&amp;quot; and password == &amp;quot;apple&amp;quot; then&lt;br /&gt;
		-- the player has successfully logged in, so spawn them&lt;br /&gt;
		if (client) then&lt;br /&gt;
			spawnPlayer(client, 1959.55, -1714.46, 10)&lt;br /&gt;
			fadeCamera(client, true)&lt;br /&gt;
                        setCameraTarget(client, client)&lt;br /&gt;
			outputChatBox(&amp;quot;Welcome to My Server.&amp;quot;, client)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- if the username or password are not correct, output a message to the player&lt;br /&gt;
		outputChatBox(&amp;quot;Invalid username and password. Please re-connect and try again.&amp;quot;,client)&lt;br /&gt;
        end			&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addEvent(&amp;quot;submitLogin&amp;quot;,true)&lt;br /&gt;
addEventHandler(&amp;quot;submitLogin&amp;quot;,root,loginHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
'''For the purposes of this tutorial, a very basic username and password system is shown. For a more comprehensive alternative, you can use the Account System or a MySQL database.'''&lt;br /&gt;
&lt;br /&gt;
Also note the use of the variable &amp;quot;client&amp;quot;, it's an internal variable used by MTA to identify the player who triggered the event. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finally, do not forget to include the new gui.lua file in the meta.xml of the main resource, and label it as a client script:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;client/gui.lua&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, we now have a basic login window that checks the player's username and password when the login button is clicked. If they are correct, the player is automatically spawned.&lt;br /&gt;
&lt;br /&gt;
For further help with GUI, see the [[:Category:GUI_Tutorials|GUI tutorials]].&lt;br /&gt;
&lt;br /&gt;
[[Category:GUI_Tutorials]]&lt;br /&gt;
[[it:Introduzione_allo_scripting_della_GUI]]&lt;br /&gt;
[[ru:Introduction to Scripting the GUI]]&lt;br /&gt;
[[es:Introducción a la Programación de GUI]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Places_To_Chat&amp;diff=50200</id>
		<title>Places To Chat</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Places_To_Chat&amp;diff=50200"/>
		<updated>2017-01-01T18:43:50Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Tomc0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are a number of ways you can chat with other MTA players. Whether you want to discuss your gaming techniques, arrange clan matches, or even join a clan, there's always somewhere to go.&lt;br /&gt;
Of course you can chat with some people whilst playing via the ingame chat. But there are many places where a large proportion of the MTA community often visit. Some of these are described below.&lt;br /&gt;
&lt;br /&gt;
== Forums ==&lt;br /&gt;
The first place you are likely to come across is the official MTA Community Forums. These are found at [http://forum.mtasa.com http://forum.mtasa.com]. You are free to browse around and read what other people have to say, but to put your own point of view across and start your own discussions, you will have to Register at the forums. This is free and can be done by clicking the Register link at the top of the page.&lt;br /&gt;
&lt;br /&gt;
The forums are split up into a number of categories and sub-forums. These organise all the topics, and you should make sure that before you start your own topic, you are in the right forum. Also, before making any posts, be sure to read the [http://forum.mtasa.com/viewtopic.php?f=15&amp;amp;t=15740#p219286 rules].&lt;br /&gt;
&lt;br /&gt;
== IRC (Internet Relay Chat) ==&lt;br /&gt;
For an instant response to whatever you have to say, the best place is IRC. IRC is a chat network similar to any other chat rooms you find on the internet. The best Windows client for IRC is mIRC, which you can find [http://www.mirc.com here]. Download, install, configure the settings and you are ready to go.&lt;br /&gt;
The connection information you need is:&amp;lt;br&amp;gt;&lt;br /&gt;
'''Server -''' [irc://irc.gtanet.com/mta irc.gtanet.com/mta]&amp;lt;br&amp;gt;&lt;br /&gt;
'''Port -''' 6667&amp;lt;br&amp;gt;&lt;br /&gt;
Once you have connected and received the MOTD (message of the day), to join the MTA discussion, type /join #mta&lt;br /&gt;
This takes you into the MTA ''channel'', which you would know as a room in other chat networks.&lt;br /&gt;
Make sure you read the mIRC help files if you are unsure.&lt;br /&gt;
For more specific help for the server commands, go to the window you first had when connecting, and type /helpop for a list of help categories.&lt;br /&gt;
&lt;br /&gt;
=== Scripting Help ===&lt;br /&gt;
There is an IRC Channel available for help with MTA Scripting. You can find it at #mta.scripting on GTANet (irc.multitheftauto.com).&lt;br /&gt;
&lt;br /&gt;
==== How To Get Help ====&lt;br /&gt;
* Try to find your Answer on the [[Main Page]], especially on its upper part&lt;br /&gt;
* Ask your question once and only repeat it after a reasonable amount of time, given the channel is busy and people just coming online won't see your question else (like 10 minutes). NOT after 10 seconds.&lt;br /&gt;
* Your question should at least contain:&lt;br /&gt;
** What are you trying to do.&lt;br /&gt;
** What have you done so far.&lt;br /&gt;
** What exactly doesn't work/is your problem. What errors are occuring.&lt;br /&gt;
** Maybe a code snippet with an explanation using [http://mta.pastebin.com mta.pastebin.com] (''code snippet means the relevant parts, NOT the whole script'')&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
These aren't all the places/ways of talking with other members of the MTA community. There are many many more forums than the official MTA one, for example [http://www.gtaforums.com GTAForums] which is the most popular unofficial GTA community forum. Although not just MTA discussion, online play is a popular topic of discussion.&lt;br /&gt;
&lt;br /&gt;
Please feel free to edit this page if you have something else to add.&lt;br /&gt;
&lt;br /&gt;
[[es:Places_To_Chat_ES]]&lt;br /&gt;
[[ru:Places To Chat]]&lt;br /&gt;
[[hu:Places To Chat]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=How_you_can_help&amp;diff=50199</id>
		<title>How you can help</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=How_you_can_help&amp;diff=50199"/>
		<updated>2017-01-01T18:43:48Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by ThePiotrek&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Multi Theft Auto has loads of areas in which you can help us. In turn, we'll be more than happy to help you get started with any ideas you have, help test them and - if they're good enough - release them to the whole community. This page outlines the key areas you could do something in, of course, there are many things we've not thought of, so think outside the box!&lt;br /&gt;
&lt;br /&gt;
==Coding for MTA:SA==&lt;br /&gt;
* Create pull requests for the mod, containing requested features or bugfixes. ([[Coding guidelines]])&lt;br /&gt;
* Translate MTA:SA to your native language - http://translate.multitheftauto.com/&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
* Create a gamemode &lt;br /&gt;
**[[Scripting Introduction]]&lt;br /&gt;
**[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
* Create an administration page on the HTTP server.&lt;br /&gt;
**[[Resource Web Access]]&lt;br /&gt;
* Make a general purpose resource that provides useful functions to other resources.&lt;br /&gt;
&lt;br /&gt;
==Mapping==&lt;br /&gt;
* Create a map with the map editor for an existing gamemode.&lt;br /&gt;
**[[Resource:Editor|Map Editor Manual]]&lt;br /&gt;
&lt;br /&gt;
==Web development==&lt;br /&gt;
* Work with lil_Toady to add new features and improvements to community.mtasa.com.&lt;br /&gt;
* Create your own system for statistics - using the [[PHP SDK]] as a basis. Contact eAi or jbeta for help.&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
Before you make changes check out: [[Help:Editing Guidelines|Editing Guidelines]] and [[Help:MTA Wiki Specific Templates|Specific Templates]]&lt;br /&gt;
* Finish documentation for [[:Category:Incomplete|Incomplete functions]] - ask in #mta.scripting if you're not sure of something.&lt;br /&gt;
* Add examples to [[:Category:Needs Example|functions &amp;amp; events missing examples]] - please '''test''' them, and again, ask if you need help.&lt;br /&gt;
* Review and verify [[:Category:Needs Checking|pages that need checking]] - make sure highlighted issues are solved before removing pages from the category.&lt;br /&gt;
* Expand the pages that explain [[:Category:Scripting_Concepts|MTA core concepts]].&lt;br /&gt;
* Write tutorials to help new people.&lt;br /&gt;
* Translate the wiki pages so people from other countries can get started in MTA too.&lt;br /&gt;
* Create documentation for undocumented functions and events [[Undocumented Items]]&lt;br /&gt;
&lt;br /&gt;
==Specific tasks==&lt;br /&gt;
* Create a fuzzer to check for crashes in our scripting functions.&lt;br /&gt;
* Help develop/fix existing gamemodes. Contact the original author on IRC (or ask a developer) to tell the author so you can work together.&lt;br /&gt;
* The web interface resources (resourcemanager, resourcebrowser and webadmin chiefly) are really only compatible with Firefox. Someone could put in some time to make these work on Internet Explorer, Opera and Safari. See [[User_talk:EAi|eAi]] for help.&lt;br /&gt;
&lt;br /&gt;
==Grant==&lt;br /&gt;
You can donate MTA:SA [https://mtasa.com/donate/manage.php here]&lt;br /&gt;
&lt;br /&gt;
[[pl:Jak możesz pomóc]]&lt;br /&gt;
[[ru:How you can help]]&lt;br /&gt;
[[es:Cómo puedes ayudar]]&lt;br /&gt;
[[hu:How you can help]]&lt;br /&gt;
[[tr:Nasıl yardımcı olabilirsiniz]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Scripting_Introduction&amp;diff=50198</id>
		<title>Scripting Introduction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Scripting_Introduction&amp;diff=50198"/>
		<updated>2017-01-01T18:43:46Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by MTANeXuS&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Resources are a key part of MTA. A resource is essentially a folder or zip file that contains a collection of files, plus a meta file that describes to the server how the resource should be loaded and what files it does contain. A resource can be seen as being partly equivalent to a program running in an operating system - it can be started and stopped, and multiple resources can run at once.&lt;br /&gt;
&lt;br /&gt;
Everything that has to do with scripting happens in resources, what a resource does defines if it is a gamemode, a map or anything else. MTA comes with resources that you can optionally use in your gamemodes, such as maplimits to keep playings within a playing area or deathpickups to create weapon pickups.&lt;br /&gt;
{{tip|Your first step to begin Lua scripting should be using an Lua editor. This makes scripting much easier. We recommend [http://www.sublimetext.com/ Sublime Text], [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] or [http://luaedit.sourceforge.net/ LuaEdit]. There is also an unofficial [[MTASE|MTA Script Editor]] (in work-in-progress state) that you can test out.}}&lt;br /&gt;
&lt;br /&gt;
==Creating a working script==&lt;br /&gt;
We will first learn how to make a basic script that lets the player walk around in the city, step by step.&lt;br /&gt;
===Where are all the scripts?===&lt;br /&gt;
Let's take a look at the script's file structure. Go to your MTA Server folder, and follow the path below:&lt;br /&gt;
&lt;br /&gt;
	server/mods/deathmatch/resources/&lt;br /&gt;
&lt;br /&gt;
You will see a lot of .zip files, which are the packaged sample scripts shipped with MTA. Each file is a &amp;quot;resource&amp;quot;, and they will all be unzipped and loaded by the server when it starts. To create your own resource, simply make a folder with your preferred name. We'll use &amp;quot;myserver&amp;quot; for this tutorial.&lt;br /&gt;
&lt;br /&gt;
Now you should be under this directory: &lt;br /&gt;
&lt;br /&gt;
	server/mods/deathmatch/resources/myserver/&lt;br /&gt;
&lt;br /&gt;
===Identifying your resource===&lt;br /&gt;
In order to let the server know what's in the resource, a ''meta.xml'' file must be created to list the resource's content. It must be located in the resource's root directory, which is the &amp;quot;myserver&amp;quot; folder in our case. So create a text file and name it &amp;quot;meta.xml&amp;quot;, and open it with notepad.&lt;br /&gt;
&lt;br /&gt;
Enter the following codes in the ''meta.xml'' file:&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;YourName&amp;quot; type=&amp;quot;gamemode&amp;quot; name=&amp;quot;My Server&amp;quot; description=&amp;quot;My first MTA server&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;script src=&amp;quot;script.lua&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In the ''&amp;lt;info /&amp;gt;'' tag, there's a &amp;quot;type&amp;quot; field which indicates that the resource is a ''gamemode'' instead of a regular include or a ''map'', which will be explained later. A gamemode is what you need to make a stand-alone server. &lt;br /&gt;
&lt;br /&gt;
The ''&amp;lt;script /&amp;gt;'' tag indicates the script files contained in the resource, which we will create next.&lt;br /&gt;
===Creating a simple script===&lt;br /&gt;
Note that in the ''&amp;lt;script /&amp;gt;'' tag above, the .lua file is not under another directory. Therefore we'll create the file in the same folder as meta.xml. Now you can copy and paste the following code into script.lua:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local spawnX, spawnY, spawnZ = 1959.55, -1714.46, 10&lt;br /&gt;
function joinHandler()&lt;br /&gt;
	spawnPlayer(source, spawnX, spawnY, spawnZ)&lt;br /&gt;
	fadeCamera(source, true)&lt;br /&gt;
	setCameraTarget(source, source)&lt;br /&gt;
	outputChatBox(&amp;quot;Welcome to My Server&amp;quot;, source)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, getRootElement(), joinHandler)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The script will spawn you at the coordinate (x, y, z) specified above, when you join the game. Note that the ''fadeCamera'' function must be used or the screen will be black. Also, in releases after DP2, you need to set the camera target (otherwise all the player will see is blue sky).&lt;br /&gt;
&lt;br /&gt;
The '''source''' variable indicates who triggered the event. Since a player has joined when the code is triggered, you use this variable to look which has joined. So it'll spawn that player instead of everyone or a random person.&lt;br /&gt;
&lt;br /&gt;
If we have a closer look on [[addEventHandler]], you can see 3 things: 'onPlayerJoin', which indicates when it's triggered. getRootElement(), which shows by what/who it can be triggered. (getRootElement() is everything/everyone) And joinHandler, which indicates the function that has to be triggered after the event is triggered. Other details will be explained later in another example, now let's just run the server and try it out!&lt;br /&gt;
&lt;br /&gt;
===Running the script===&lt;br /&gt;
To get the server started, simply run the executable under the server/ directory. A list of server stats will be shown first; note the port number, which you'll need when joining the game. Then the server loads all the resources under the mods/deathmatch/resources/ directory, and then &amp;quot;ready to accept connections!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Before you connect to the server, you must run the gamemode. Type &amp;quot;start myserver&amp;quot; and press Enter. The server will start the gamemode you just created, and will also show any errors and warnings from this point on. Now you can start the MTA client, and &amp;quot;Quick Connect&amp;quot; using the IP address of your server and the port number you saw earlier. If all goes well, after a few seconds your character will be walking on the streets of Los Santos.&lt;br /&gt;
&lt;br /&gt;
Next we'll add a command to your script that players can use to spawn a vehicle beside their position. You may skip it and check out more advanced scripting with the [[Map manager|Map Manager]], which continues this tutorial. Another branch from this tutorial is [[Introduction to Scripting GUI]], you may follow it to see how Graphical User Interface in MTA is drawn and scripted.&lt;br /&gt;
&lt;br /&gt;
==Creating a simple command==&lt;br /&gt;
Let's go back to the content of the ''script.lua'' file. As mentioned above, we want to provide a command to create a vehicle beside your current position in the game. Firstly we need to create a function we want to call and a command handler that creates the command the player will be able to enter in the console.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- create the function the command handler calls, with the arguments: thePlayer, command, vehicleModel&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
   -- create a vehicle and stuff&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- create a command handler&lt;br /&gt;
addCommandHandler(&amp;quot;createvehicle&amp;quot;, createVehicleForPlayer)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
''Note: Function names are clickable in code examples on the wiki and linked to the functions' documentation.''&lt;br /&gt;
&lt;br /&gt;
====About command handlers====&lt;br /&gt;
The first argument of [[addCommandHandler]] is the name of the command the player will be able to enter, the second argument is the function this will call, in this case ''createVehicleForPlayer''.&lt;br /&gt;
&lt;br /&gt;
If you have already experience in scripting, you will know that you call a function like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
functionName(argument1, argument2, argument3, ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
functionName(thePlayer, commandName, argument3, ..)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If we have a closer look on the lower example above, we can see argument1 is thePlayer and argument2 the commandName. thePlayer is simply the one who typed the command, so whatever you call it, the variable will contain the player who activated the command. commandName is simply the command they typed. So if they typed &amp;quot;/greet&amp;quot;, this argument will contain &amp;quot;greet&amp;quot;. Argument 3 is something extra the player typed, you'll learn it a little bit further in the tutorial. Never forget that the first 2 arguments are standard arguments, but you can name them to anything you want.&lt;br /&gt;
&lt;br /&gt;
We called the [[addCommandHandler]] function this way already and since ''createVehicleForPlayer'' is a function too, it can be called that way as well. But we are using a command handler for that, which calls it in a similiar manner, internally.&lt;br /&gt;
&lt;br /&gt;
For example: Someone types &amp;quot;createvehicle 468&amp;quot; ingame in the console to spawn a Sanchez, the command handler calls the createVehicleForPlayer function, as '''if''' we would have this line of code in the script:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
createVehicleForPlayer(thePlayer,&amp;quot;createvehicle&amp;quot;,&amp;quot;468&amp;quot;) -- thePlayer is the player element of the player who entered the command&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
As we can see, it provides several parameters: the player who called the command, the command he entered and whatever text he had after that, in this case &amp;quot;468&amp;quot; as vehicle id for the Sanchez. The first two parameters are the same with all command handlers, which you can read on the [[addEventHandler]] page. For this fact, you always have to define at least those two parameters to use any after that (for example to process text that was entered after the command, like in our example the vehicle model id).&lt;br /&gt;
&lt;br /&gt;
''Note: You have to add the command handler AFTER you defined the handler function, else it can't find it. The order of execution matters.''&lt;br /&gt;
&lt;br /&gt;
====Writing the function====&lt;br /&gt;
In order to fill the function we created, we need to think about what we have to do:&lt;br /&gt;
* Get the players position, so we know where to spawn the vehicle (we want it to appear right beside the player)&lt;br /&gt;
* Calculate the position we want to spawn the vehicle at (we don't want it to appear in the player)&lt;br /&gt;
* Spawn the vehicle&lt;br /&gt;
* Check if it has been spawned successfully, or output a message&lt;br /&gt;
&lt;br /&gt;
In order to achieve our goals, we have to use several functions. To find function we need to use, we should visit the [[Scripting Functions|Server Functions List]]. First we need a function to get the players position. Since players are Elements, we first jump to the '''Element functions''' where we find the [[getElementPosition]] function. By clicking on the function name in the list, you get to the function description. There we can see the syntax, what it returns and usually an example. The syntax shows us what arguments we can or have to submit.&lt;br /&gt;
&lt;br /&gt;
For [[getElementPosition]], the syntax is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
float, float, float getElementPosition ( element theElement )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The three ''float'' in front of the function name are the return type. In this case it means the function returns three floating point numbers. (x, y and z) Within the parentheses, you can see what arguments you have to submit. In this case only the element whose position you want to get, which is the player in our example.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	-- get the position and put it in the x,y,z variables&lt;br /&gt;
	-- (local means, the variables only exist in the current scope, in this case, the function)&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next we want to ensure that the vehicle won't spawn directly in the player, so we add a few units to the ''x'' variable, which will make it spawn east from the player.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer) -- get the position of the player&lt;br /&gt;
	x = x + 5 -- add 5 units to the x position&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we need another function, one to spawn a vehicle. We once again search for it on the [[Scripting Functions|Server Functions List]], this time - since we are talking about vehicles - in the '''Vehicle functions''' section, where we will choose [[createVehicle]]. In this function's syntax, we only have one return type (which is more common), a vehicle element that points to the vehicle we just created. Also, we see that some arguments are enclosed within [ ] which means that those are optional.&lt;br /&gt;
&lt;br /&gt;
We already have all arguments we need for [[createVehicle]] in our function: The position we just calculated in the ''x,y,z'' variables and the model id that we provided through the command (&amp;quot;createvehicle 468&amp;quot;) and can access in the function as ''vehicleModel'' variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer) -- get the position of the player&lt;br /&gt;
	x = x + 5 -- add 5 units to the x position&lt;br /&gt;
	-- create the vehicle and store the returned vehicle element in the ''createdVehicle'' variable&lt;br /&gt;
	local createdVehicle = createVehicle(tonumber(vehicleModel),x,y,z)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course this code can be improved in many ways, but at least we want to add a check whether the vehicle was created successfully or not. As we can read on the [[createVehicle]] page under '''Returns''', the function returns ''false'' when it was unable to create the vehicle. Thus, we check the value of the ''createVehicle'' variable.&lt;br /&gt;
&lt;br /&gt;
Now we have our complete script:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function createVehicleForPlayer(thePlayer, command, vehicleModel)&lt;br /&gt;
	local x,y,z = getElementPosition(thePlayer) -- get the position of the player&lt;br /&gt;
	x = x + 5 -- add 5 units to the x position&lt;br /&gt;
	local createdVehicle = createVehicle(tonumber(vehicleModel),x,y,z)&lt;br /&gt;
	-- check if the return value was ''false''&lt;br /&gt;
	if (createdVehicle == false) then&lt;br /&gt;
		-- if so, output a message to the chatbox, but only to this player.&lt;br /&gt;
		outputChatBox(&amp;quot;Failed to create vehicle.&amp;quot;,thePlayer)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler(&amp;quot;createvehicle&amp;quot;, createVehicleForPlayer)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, we introduced another function with [[outputChatBox]]. By now, you should be able to explore the function's documentation page yourself. For more advanced scripting, please check out the [[Map manager|Map Manager]].&lt;br /&gt;
&lt;br /&gt;
==What you need to know==&lt;br /&gt;
You already read some things about resources, command handlers and finding functions in the documentation in the first paragraph, but there is much more to learn. This section will give you a rather short overview over some of these things, while linking to related pages if possible.&lt;br /&gt;
===Clientside and Serverside scripts===&lt;br /&gt;
You may have already noticed these or similiar terms (Server/Client) somewhere on this wiki, mostly in conjunction with functions. MTA not only supports scripts that run on the server and provide commands (like the one we wrote above) or other features, but also scripts that run on the MTA client the players use to connect to the server. The reason for this is, that some features MTA provides have to be clientside (like a GUI - Graphical User Interface), others should be because they work better and still others are better off to be serverside or just don't work clientside.&lt;br /&gt;
&lt;br /&gt;
Most scripts you will make (gamemodes, maps) will probably be serverside, like the one we wrote in the first section. If you run into something that can't be solved serverside, you will probably have to make it clientside. For a clientside script for example, you would create a ordinary script file (for example called ''client.lua'') and specify it in the meta.xml, like this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script src=&amp;quot;client.lua&amp;quot; type=&amp;quot;client&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
The ''type'' attribute defaults to 'server', so you only need to specify it for clientside scripts. When you do this, the clientside script will be downloaded to the player's computer once he connects to the server. Read more about [[Client side scripts]].&lt;br /&gt;
&lt;br /&gt;
===More complex resources===&lt;br /&gt;
The previous section showed briefly how to add clientside scripts to the resource, but there is also much more possible. As mentioned at the very top of this page, resources can be pretty much everything. Their purpose is defined by what they do. Let's have some theoretical resources, by looking at the files it contains, the ''meta.xml'' and what they might do:&lt;br /&gt;
&lt;br /&gt;
====First example - A utility script====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
/admin_commands&lt;br /&gt;
	/meta.xml&lt;br /&gt;
	/commands.lua&lt;br /&gt;
	/client.lua&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;Someguy&amp;quot; description=&amp;quot;admin commands&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;commands.lua&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;client.lua&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;
* The ''commands.lua'' provides some admin commands, like banning a player, muting or something else that can be used to admin the server&lt;br /&gt;
* The ''client.lua'' provides a GUI to be able to perform the mentioned actions easily&lt;br /&gt;
&lt;br /&gt;
This example might be running all the time (maybe even auto-started when the server starts) as it's useful during the whole gaming experience and also wont interfere with the gameplay, unless an admin decides to take some action of course.&lt;br /&gt;
&lt;br /&gt;
====Second example - A gamemode====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
/counterstrike&lt;br /&gt;
	/meta.xml&lt;br /&gt;
	/counterstrike.lua&lt;br /&gt;
	/buymenu.lua&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;Someguy&amp;quot; description=&amp;quot;Counterstrike remake&amp;quot; type=&amp;quot;gamemode&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;counterstrike.lua&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;buymenu.lua&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;
* The ''counterstrike.lua'' contains similiar to the following features:&lt;br /&gt;
** Let players choose their team and spawn them&lt;br /&gt;
** Provide them with weapons, targets and instructions (maybe read from a Map, see below)&lt;br /&gt;
** Define the game's rules, e.g. when does the round end, what happens when a player dies&lt;br /&gt;
** .. and maybe some more&lt;br /&gt;
* The ''buymenu.lua'' is a clientside script and creates a menu to buy weapons&lt;br /&gt;
&lt;br /&gt;
This example can be called a gamemode, since it not only intereferes with the gameplay, but actually defines the rules of it. The ''type'' attribute indicates that this example works with the [[Map manager]], yet another resource that was written by the QA Team to manage gamemodes and map loading. It is highly recommended that you base your gamemodes on the techniques it provides.&lt;br /&gt;
&lt;br /&gt;
This also means that the gamemode probably won't run without a map. Gamemodes should always be as generic as possible. An example for a map is stated in the next example.&lt;br /&gt;
&lt;br /&gt;
====Third example - A Map====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
/cs-airport&lt;br /&gt;
	/meta.xml&lt;br /&gt;
	/airport.map&lt;br /&gt;
	/airport.lua&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&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;Someguy&amp;quot; description=&amp;quot;Counterstrike airport map&amp;quot; type=&amp;quot;map&amp;quot; gamemodes=&amp;quot;counterstrike&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;map src=&amp;quot;airport.map&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;airport.lua&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;
* The ''airport.map'' in a XML file that provides information about the map to the gamemode, these may include:&lt;br /&gt;
** Where the players should spawn, with what weapons, what teams there are&lt;br /&gt;
** What the targets are&lt;br /&gt;
** Weather, World Time, Timelimit&lt;br /&gt;
** Provide vehicles&lt;br /&gt;
* The ''airport.lua'' might contain map-specific features, that may include:&lt;br /&gt;
** Opening some door/make something explode when something specific happens&lt;br /&gt;
** Create or move some custom objects, or manipulate objects that are created through the .map file&lt;br /&gt;
** .. anything else map-specific you can think of&lt;br /&gt;
&lt;br /&gt;
As you can see, the ''type'' attribute changed to 'map', telling the [[Map manager]] that this resource is a map, while the ''gamemodes'' attribute tells it for which gamemodes this map is valid, in this case the gamemode from the above example.&lt;br /&gt;
What may come as a surprise is that there is also a script in the Map resource. Of course this is not necessarily needed in a map, but opens a wide range of possibilities for map makers to create their own world within the rules of the gamemode they create it for.&lt;br /&gt;
&lt;br /&gt;
The ''airport.map'' file might look similiar to this:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;map mode=&amp;quot;deathmatch&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;terrorists&amp;gt;&lt;br /&gt;
		&amp;lt;spawnpoint posX=&amp;quot;2332.23&amp;quot; posY=&amp;quot;-12232.33&amp;quot; posZ=&amp;quot;4.42223&amp;quot; skins=&amp;quot;23-40&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/terrorists&amp;gt;&lt;br /&gt;
	&amp;lt;counterterrorists&amp;gt;&lt;br /&gt;
		&amp;lt;spawnpoint posX=&amp;quot;2334.23443&amp;quot; posY=&amp;quot;-12300.233&amp;quot; posZ=&amp;quot;10.2344&amp;quot; skins=&amp;quot;40-50&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;/counterterrorists&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;bomb posX=&amp;quot;23342.23&amp;quot; posY=&amp;quot;&amp;quot; posZ=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
	&lt;br /&gt;
	&amp;lt;vehicle posX=&amp;quot;&amp;quot; posY=&amp;quot;&amp;quot; posZ=&amp;quot;&amp;quot; model=&amp;quot;602&amp;quot; /&amp;gt;	&lt;br /&gt;
	&amp;lt;vehicle posX=&amp;quot;&amp;quot; posY=&amp;quot;&amp;quot; posZ=&amp;quot;&amp;quot; model=&amp;quot;603&amp;quot; /&amp;gt;	&lt;br /&gt;
&amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When a gamemode is started with a map, the map resources is automatically started by the mapmanager and the information it contains can be read by the gamemode resource. When the map changes, the current map resource is stopped and the next map resource is started. For a more in-depth explanation and examples of how map resources are utilized in the main script, please visit the [[Writing Gamemodes]] page.&lt;br /&gt;
&lt;br /&gt;
===Events===&lt;br /&gt;
[[Event|Events]] are the way MTA tells scripts about things that happen. For example when a player dies, the [[onPlayerWasted]] event is triggered. In order to perform any actions when a player dies, you have to prepare yourself similiar to adding a command handler, as shown in [[#Writing_the_script|the first chapter]].&lt;br /&gt;
&lt;br /&gt;
This example will output a message with the name of the player who died:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function playerDied(totalAmmo, killer, killerWeapon, bodypart)&lt;br /&gt;
	outputChatBox(getPlayerName(source)..&amp;quot; died!&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerWasted&amp;quot;,getRootElement(),playerDied)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead of showing what arguments are needed, the documentation page for Events shows what parameters are passed to the handler function, similiar to the way a [[#About_command_handlers|command handler]] does, just that it is different from event to event. Another important point is the ''source'' variable, that exists in handler functions. It doesn't have to be added to the parameter list of the function, but it still exists. It has a different value from event to event, for player events (as in the example above) it is the player element. As another example, you can take a look at the basic spawning player script in the first section to get an idea how ''source'' is used.&lt;br /&gt;
&lt;br /&gt;
==Where to go from here==&lt;br /&gt;
You should now be familiar with the most basic aspects of MTA scripting and also a bit with the documentation. The [[Main Page]] provides you with links to more information, Tutorials and References that allow a deeper look into the topics you desire to learn about.&lt;br /&gt;
{{note|From here we recommend reading the [[debugging]] tutorial. Good debugging skills are an absolute necessity when you are making scripts. We also recommend you to use the [[predefined variables list]] to help you with certain tasks and make scripting easier and faster.}}&lt;br /&gt;
'''See also:'''&lt;br /&gt;
* [[OOP_Introduction|OOP Scripting Introduction]]&lt;br /&gt;
* [[Advanced Topics]]&lt;br /&gt;
* [[Script_security|Script security]]&lt;br /&gt;
* [[Scripting Introduction Urdu]]&lt;br /&gt;
[[es:Introducción a la Programación]]&lt;br /&gt;
[[it:Introduzione allo scripting]]&lt;br /&gt;
[[nl:Scripting_introductie]]&lt;br /&gt;
[[pt-br:Introdução ao Scripting]]&lt;br /&gt;
[[ru:Scripting Introduction]]&lt;br /&gt;
[[hu:Scripting Intorduction]]&lt;br /&gt;
[[ar:مقدمه_في_البرمجه]]&lt;br /&gt;
[[zh-cn:脚本编写介绍]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Category:Needs_Checking&amp;diff=50197</id>
		<title>Category:Needs Checking</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Category:Needs_Checking&amp;diff=50197"/>
		<updated>2017-01-01T18:43:44Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Winky-&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These are functions that need to be checked to ensure they do work as specified. If there are any problems with a function, attach a note to the top of the page and describe the problems. Use this format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Needs_Checking|STATE_PROBLEM_HERE}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Result: &lt;br /&gt;
{{MessageBox|&lt;br /&gt;
   bordercolorhex = 0026FF |&lt;br /&gt;
   bordertype = dotted |&lt;br /&gt;
   bgcolorhex = CCCCFF |&lt;br /&gt;
   image = File:Dialog-information.png |&lt;br /&gt;
   title = This article needs checking. |&lt;br /&gt;
   subtext = '''Reason:''' STATE_PROBLEM_HERE |&lt;br /&gt;
 &lt;br /&gt;
}}&lt;br /&gt;
This is a template, that is specially designed to automatically add the pages it is used on to the Needs_Checking category. For this reason, '''DO NOT manually add &amp;lt;nowiki&amp;gt;[[Category:Needs Checking]]&amp;lt;/nowiki&amp;gt;'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border:3px solid red;margin-bottom:3px;padding-left:10px;&amp;quot;&amp;gt;&amp;lt;div style=&amp;quot;float:right;padding-right:5px;font-weight:bold;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
''Note: This category is for functions that are missing extra information (ie clothes catalogue for argument), function incorrectly, or may  be incorrectly written. Also use it to note undefined 'dictionary' pages for words (ie &amp;quot;id&amp;quot; &amp;quot;radians&amp;quot;). Functions that are missing sections goto &amp;quot;incomplete category&amp;quot; list. Even if there is a needs checking note as well.''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Maintenance]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Category:Needs_Example&amp;diff=50196</id>
		<title>Category:Needs Example</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Category:Needs_Example&amp;diff=50196"/>
		<updated>2017-01-01T18:43:42Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by MeowCola&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a category with pages which require examples to be written or tested.  The rest of the documentation for these pages should be complete.&lt;br /&gt;
&lt;br /&gt;
Add this code to Example section. Set &amp;quot;client&amp;quot; for clientside example and &amp;quot;server&amp;quot; for serverside.&lt;br /&gt;
&amp;lt;pre&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;
--Explain what the code does&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Add example&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Maintenance]]&lt;br /&gt;
&lt;br /&gt;
[[ru:Category:Needs Example]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Category:Incomplete&amp;diff=50195</id>
		<title>Category:Incomplete</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Category:Incomplete&amp;diff=50195"/>
		<updated>2017-01-01T18:43:40Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by OpenIDUser32&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a list of functions that need to be documented. To list a function as incomplete, add the following to the function's page: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;[[Category:Incomplete]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Maintenance]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Branches&amp;diff=50194</id>
		<title>Branches</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Branches&amp;diff=50194"/>
		<updated>2017-01-01T18:43:38Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Qaisjp&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Weapon Creation ==&lt;br /&gt;
Weapon creation is a branch for creating weapon elements which can fire bullets and do not require ped/players assigned to them.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: auto; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Merged - 1.3.1&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch'''&lt;br /&gt;
|[https://github.com/multitheftauto/mtasa-blue/tree/weapon-creation Weapon-Creation]&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch version'''&lt;br /&gt;
|1.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
{{Client_weapon_creation_functions}}&lt;br /&gt;
&lt;br /&gt;
=== General Notes ===&lt;br /&gt;
Created entities are for all intent and purpose objects so any object function will work on them like attachElements, setElementAlpha and such.&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
* http://youtu.be/LN1nZZnzlms&lt;br /&gt;
&lt;br /&gt;
== Custom Animations ==&lt;br /&gt;
Custom Animations is a branch for loading animations from .ifp files&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: auto; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Abandoned&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch'''&lt;br /&gt;
|[https://github.com/multitheftauto/mtasa-blue/tree/Custom-Animations Custom-Animations]&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch version'''&lt;br /&gt;
|1.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[engineLoadIFP]]&lt;br /&gt;
* [[engineUnloadIFP]]&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
* http://youtu.be/D9YfVPiJniU&lt;br /&gt;
&lt;br /&gt;
=== General Notes ===&lt;br /&gt;
See [[User:Cazomino05]] for bugs.&lt;br /&gt;
&lt;br /&gt;
== Custom Weapon Stats ==&lt;br /&gt;
Custom Weapon Stats is a branch to allow people to edit one of each weapons &amp;quot;properties&amp;quot; for each skill level&lt;br /&gt;
so for example an M4 at Pro level can have 1000 damage and an M4 at standard level can have 0.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: auto; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Merged - 1.3.1&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch'''&lt;br /&gt;
|[https://github.com/multitheftauto/mtasa-blue/tree/Custom-Weapon-Stats Custom-Weapon-Stats]&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch version'''&lt;br /&gt;
|1.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[getWeaponProperty]]&lt;br /&gt;
* [[setWeaponProperty]]&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
* http://youtu.be/M1dQWpDFq98&lt;br /&gt;
* http://youtu.be/xfdEvpcuk7s&lt;br /&gt;
* http://youtu.be/eDU06fZiU9M&lt;br /&gt;
&lt;br /&gt;
=== General Notes ===&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
== Analog Control States ==&lt;br /&gt;
Analog Control States is a branch that is designed to allow proper setting and management of controls and therefore allows for setting of controls to be between the range of 0 and 1 rather than true/false&lt;br /&gt;
&lt;br /&gt;
This only works for certain properties such as left/right&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: auto; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Merged - 1.3.1&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch'''&lt;br /&gt;
|[https://github.com/multitheftauto/mtasa-blue/tree/Analog-Control-States Analog-Control-States]&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch version'''&lt;br /&gt;
|1.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[setAnalogControlState]]&lt;br /&gt;
* [[getAnalogControlState]]&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
=== General Notes ===&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
== Custom-Vehicle-Sirens ==&lt;br /&gt;
Custom Vehicle Sirens allows adding sirens to any individual vehicle in the game for instance to add an undercover sultan.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: auto; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Merged - 1.3.1&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch'''&lt;br /&gt;
|[https://github.com/multitheftauto/mtasa-blue/tree/Custom-Vehicle-Sirens Custom-Vehicle-Sirens]&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch version'''&lt;br /&gt;
|1.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
* [[SetVehicleSirens]]&lt;br /&gt;
* [[GetVehicleSirens]]&lt;br /&gt;
* [[RemoveVehicleSirens]]&lt;br /&gt;
* [[GetVehicleSirenParams]]&lt;br /&gt;
* [[AddVehicleSirens]]&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
* http://youtu.be/zjJdLCtKccA&lt;br /&gt;
* http://youtu.be/ZJDrVf3qSm0&lt;br /&gt;
* http://youtu.be/1J0_v85FioA&lt;br /&gt;
* http://youtu.be/X3zE6hZOx4c&lt;br /&gt;
&lt;br /&gt;
=== General Notes ===&lt;br /&gt;
None.&lt;br /&gt;
&lt;br /&gt;
== Custom-Train-Tracks ==&lt;br /&gt;
See the main page for this branch ([[Custom Train Tracks]]) for more information.&lt;br /&gt;
{{:Custom_Train_Tracks}}&lt;br /&gt;
&lt;br /&gt;
== Awesomium ==&lt;br /&gt;
Possibility to create ingame browser.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: auto; table-layout: fixed;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|'''Status'''&lt;br /&gt;
|&amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;Merged - 1.5&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch'''&lt;br /&gt;
|[https://github.com/multitheftauto/mtasa-blue/tree/awesomium Awesomium]&lt;br /&gt;
|-&lt;br /&gt;
|'''Branch version'''&lt;br /&gt;
|1.5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
See [[User:Jusonex]].&lt;br /&gt;
&lt;br /&gt;
=== Media ===&lt;br /&gt;
* http://youtu.be/9w2qU6mZDh8&lt;br /&gt;
* http://youtu.be/qvqc1ScZSbM&lt;br /&gt;
* http://youtu.be/cyUw1F6uBig&lt;br /&gt;
&lt;br /&gt;
=== General notes ===&lt;br /&gt;
See [[User:Jusonex]].&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Coding_guidelines&amp;diff=50193</id>
		<title>Coding guidelines</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Coding_guidelines&amp;diff=50193"/>
		<updated>2017-01-01T18:43:36Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Arran Fortuna&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
So you've decided to become a contributor to our project. Excellent! But before we can start accepting your code, there are a couple of things you should know about how we work. These are mostly guidelines and rules as to how your code should be structured and how it can be committed without upsetting any fellow contributors.&lt;br /&gt;
&lt;br /&gt;
= Code repository =&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
Our code repository uses Git and is structured into number of different directories, which serve different purposes:&lt;br /&gt;
&lt;br /&gt;
* '''Client'''&lt;br /&gt;
* '''Server'''&lt;br /&gt;
* '''Shared''': contains code shared between both the client and the server&lt;br /&gt;
* '''irc''': bot code for the Multi Theft Auto IRC channels&lt;br /&gt;
* '''m4'''&lt;br /&gt;
* '''utils''': utilities used to automate certain tasks&lt;br /&gt;
* '''vendor''': unmodified third-party code and libraries (optionally linked to the appropriate third-party Git repository through Git submodules). &lt;br /&gt;
&lt;br /&gt;
Our branches contain groundbreaking research, radical ideas and other work-in-progress that is meant to be merged into the trunk at a later point, but also contains project milestones:&lt;br /&gt;
&lt;br /&gt;
* The master branch is the main development branch (containing the latest, bleeding-edge code)&lt;br /&gt;
* Project milestones are kept away from the trunk for stability reasons, but the latest version branch can be used by any regular player who has enabled nightly builds. Make sure that only well tested code is added to the latest version branch.&lt;br /&gt;
&lt;br /&gt;
== Gaining and Losing Commit access ==&lt;br /&gt;
Commit access is granted after patches have been submitted, and the coder has proven to be competent.  The subject matter of the patches does not matter, we are more interested in whether if you are granted commit access, you will be capable of maintaining a high standard of code and remaining cohesive with other project contributors.&lt;br /&gt;
&lt;br /&gt;
Patches can be submitted using [https://github.com/multitheftauto/mtasa-blue/pull/new GitHub's pull request system]. Usually commit access is gained after 2-3 patches, but this is not fixed and depends on the extent of the contributions. This requires you to fork our repository and make commits to your own branch first.&lt;br /&gt;
&lt;br /&gt;
After gaining commit access, if the contributor's commits are of a consistently low standard, or the user fails to stick to the rules, their commit access will be stripped and will be required to submit pull requests again.&lt;br /&gt;
&lt;br /&gt;
== Committing code ==&lt;br /&gt;
Keep in mind that your commits should initially be fixing or implementing existing issues on our [http://bugs.mtasa.com bug tracker]. The [http://bugs.mtasa.com/roadmap_page.php roadmap] is particularly important since it allows contributors to track down priority issues.&lt;br /&gt;
&lt;br /&gt;
Please follow these guidelines for all your contributions:&lt;br /&gt;
* Commits should be thoroughly tested when added to master.  Commits that 'need to be fixed later' which directly affect the state of the mod will be reverted other than in exceptional circumstances.&lt;br /&gt;
* If writing unstable or experimental code, a private branch should be added in your own fork. Branches should not be &amp;quot;personal&amp;quot; to each user.  This means that a branch should be created for a new feature, not for a user specific playground.&lt;br /&gt;
* Commit messages should always give a clear indication of the content of the change, without having to look at the code at all.  Where appropriate, include the Mantis Issue number in your log message and keep your log messages consistent, e.g. '''Fix #1234: description and notes here'''. [http://chris.beams.io/posts/git-commit/ Follow the seven rules identified here.]&lt;br /&gt;
* When committing updates to previous commits, include the previous commit SHA (and a summarised commit message) in the new commit message. Doing this will help identify related commits if they are viewed at a later date.&lt;br /&gt;
&lt;br /&gt;
== Ratings and comments ==&lt;br /&gt;
Ratings and comments are open for the public to review code and provide feedback.  Please be mature and civilised when posting comments.  Developers should try to review other contributor's commits and provide feedback as much as possible.&lt;br /&gt;
&lt;br /&gt;
Make sure you make appropriate use of the GitHub Reactions feature to rate commits or express agreement/disagreement to a comment. This avoids spammy comments such as &amp;quot;+1&amp;quot;, &amp;quot;-1&amp;quot;, &amp;quot;Nice one!&amp;quot;, etc.&lt;br /&gt;
&lt;br /&gt;
Since you can only react to comments, not commits, feel free to create the initial &amp;quot;+1&amp;quot; comment in response to a commit. However, future reactions to a commit should be to the first response comment.&lt;br /&gt;
&lt;br /&gt;
== What to code ==&lt;br /&gt;
Generally, developers should try to stick to the [http://bugs.mtasa.com/roadmap_page.php roadmap] when coding.  This lists the issues required to be resolved for the next release. Of course, if you're interested in something else, feel free to experiment and submit it.&lt;br /&gt;
&lt;br /&gt;
== Style ==&lt;br /&gt;
* We use 4 spaces instead of tabs.&lt;br /&gt;
* Hungarian notation for variable names.&lt;br /&gt;
 float         fValue;               // Local variable&lt;br /&gt;
 unsigned char m_ucValue;            // Class member variable&lt;br /&gt;
 char          ms_cValue;            // Class static variable&lt;br /&gt;
 bool          g_bCrashTwiceAnHour;  // Global variable&lt;br /&gt;
 char*         szUsername;           // Zero terminated string&lt;br /&gt;
 SString       strUsername;          // String&lt;br /&gt;
 CVector       vecPosition;          // 3D Vector&lt;br /&gt;
* Lower camel case for variable names of types like custom structs and enums:&lt;br /&gt;
 SSomeStruct   valueOne;&lt;br /&gt;
 ESomeEnum     m_valueTwo;&lt;br /&gt;
* Function names use UpperCamelCase:&lt;br /&gt;
 void UpperCamelCase( void )&lt;br /&gt;
* A space between almost everything:&lt;br /&gt;
 int iResult = 2 + 4 * GetValue() + 123;&lt;br /&gt;
* A space between a function name and the open parenthesis is optional:&lt;br /&gt;
 void OkOne ( void )&lt;br /&gt;
 void OkTwo( void )&lt;br /&gt;
 OkThree ();&lt;br /&gt;
 OkFour();&lt;br /&gt;
* Functions with no arguments are declared and defined with ( void ), and called with ()&lt;br /&gt;
 void MyTest( void );&lt;br /&gt;
 void MyTest( void ) { return; }&lt;br /&gt;
 MyTest();&lt;br /&gt;
* Functions and member variables of classes/structs are all lined up in neat columns:&lt;br /&gt;
 void       FunctionOne     ( void );&lt;br /&gt;
 void       FunctionTwo     ( void );&lt;br /&gt;
 float      fValue;&lt;br /&gt;
* For anything else, follow the style of the code that already exists.&lt;br /&gt;
&lt;br /&gt;
* Tip: In Visual Studio go to Tools -&amp;gt; Options -&amp;gt; Text Editor -&amp;gt; C/C++ -&amp;gt; Formatting -&amp;gt; Spacing and you can configure it to automatically apply the right spacing.&lt;br /&gt;
&lt;br /&gt;
== Coding info ==&lt;br /&gt;
Check out the [[Coding info]] page and feel free to add more coding info to it.&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=50192</id>
		<title>Building MTASA Server on GNU Linux</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Building_MTASA_Server_on_GNU_Linux&amp;diff=50192"/>
		<updated>2017-01-01T18:43:34Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by CiBeR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Needs Checking|Confirm steps work.}}&lt;br /&gt;
&lt;br /&gt;
== Installing and Running MTASA server on Linux ==&lt;br /&gt;
{{Note|This article is only for developers who changed the server code, if you are looking for the precompiled server (for normal server owners). Go to: [http://linux.mtasa.com/ linux.mtasa.com] and see [[Installing and Running MTASA Server on GNU_Linux]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Compiling on a 64 bit Linux ==&lt;br /&gt;
Additional steps for compiling a MTA server on 64 bit Linux:&lt;br /&gt;
===Install 32 bit libs for your 64 bit distro===&lt;br /&gt;
For 64 bit Debian, this is achieved with:&lt;br /&gt;
&lt;br /&gt;
 apt-get install ia32-libs&lt;br /&gt;
&lt;br /&gt;
===64 bit Troubleshooting===&lt;br /&gt;
* If you get a problem with such as &amp;quot;libreadline.so.5: cannot open shared object file: No such file or directory.&amp;quot;, it can be solved on 64 bit Debian Squeeze  by doing this:&lt;br /&gt;
&lt;br /&gt;
 apt-get install lib32readline5&lt;br /&gt;
&lt;br /&gt;
* If you get a problem with such as &amp;quot;libncursesw.so.5 cannot open shared object file: No such file or directory&amp;quot;, it can be solved on 64 bit Debian Squeeze by doing this:&lt;br /&gt;
&lt;br /&gt;
 apt-get install lib32ncursesw5&lt;br /&gt;
&lt;br /&gt;
* Further 64 bit solutions can be found [http://forum.mtasa.com/viewtopic.php?f=106&amp;amp;t=35328#p367282 on the forums]&lt;br /&gt;
&lt;br /&gt;
* If you are using Cent OS and you get something like /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by xmll.so) this can be resolved by doing downloading the archive [[http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/9/Fedora/i386/os/Packages/libstdc++-4.3.0-8.i386.rpm here]] and unpacking it with the following command:&lt;br /&gt;
&lt;br /&gt;
 rpm2cpio libstdc++-4.3.0-8.i386.rpm | cpio -i --make-directories&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Preparing your system ==&lt;br /&gt;
&lt;br /&gt;
In order to build the Multi Theft Auto dedicated server, you will have to set up your system with the correct libraries and tools. How these are installed depends on your distribution.&lt;br /&gt;
&lt;br /&gt;
Our network module (net.dll or net.so) is distributed as a precompiled binary library. The file for GNU/Linux can be found inside the lastest Linux nightly from [http://nightly.mtasa.com/ here]. Use the net.so from {{Current Version|master}} if you are compiling from the trunk, or the net.so from {{Current Version|full}} if you are compiling the {{Current Version|full}} branch. Be sure the read the top of ''Server/version.h'' as it contains directions on how to compile the different build types.&lt;br /&gt;
&lt;br /&gt;
=== Debian Linux ===&lt;br /&gt;
&lt;br /&gt;
Includes derivative distributions such as Ubuntu.&lt;br /&gt;
&lt;br /&gt;
You will need the necessary build tools, headers and libraries, which are distributed through the following Debian packages (e.g. Debian Lenny):&lt;br /&gt;
&lt;br /&gt;
* '''build-essential:''' contains the necessary tools, headers and libraries to build applications&lt;br /&gt;
* '''automake:''' contains the automake tools&lt;br /&gt;
* '''libtool:''' contains the libtool software required to build libraries&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''libcurl3-dev:''' contains the cURL library (version 3 without SSL support)&lt;br /&gt;
* '''libpcre3-dev:''' contains the PCRE library (version 3)&lt;br /&gt;
* '''libsqlite3-dev:''' contains the SQLite library (version 3)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* '''libreadline5-dev:''' contains the readline library (version 5)&lt;br /&gt;
* '''libncurses5-dev:''' contains software for controlling writing to the console screen&lt;br /&gt;
* '''libncursesw5-dev:''' contains support for wide characters&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''libsparsehash-dev:''' contains support for Google's hash-map '''(So you don't have to compile sparehash!)'''&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* '''libmysqlclient-dev:''' contains the MySQL library&lt;br /&gt;
* '''git:''' contains the git client used to check out our code repository&lt;br /&gt;
To install these packages through apt, use the apt-get install &amp;lt;package list&amp;gt; command as in the following example (execute as root):&lt;br /&gt;
&lt;br /&gt;
 apt-get install build-essential automake libtool&lt;br /&gt;
 apt-get install libreadline5-dev libncurses5-dev libncursesw5-dev&lt;br /&gt;
 apt-get install libmysqlclient-dev git &lt;br /&gt;
&lt;br /&gt;
Note: On Debian 8 systems please use this: '''apt-get install build-essential automake libtool libreadline-gplv2-dev libncurses5-dev libncursesw5-dev libmysqlclient-dev git'''&lt;br /&gt;
=== Gentoo Linux ===&lt;br /&gt;
You will need the necessary build tools, headers and libraries. Because Gentoo’s portage system is designed to compile any packages on your own system, the necessary build tools will have already been installed. This only leaves you to install the necessary libraries:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''sqlite:''' contains the SQLite library&lt;br /&gt;
* '''curl:''' contains the cURL library; to compile with SSL support, apply the net-misc/curl ssl USE flag&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* '''git:''' contains the git client used to check out our code repository&lt;br /&gt;
To compile and install these packages through emerge, use the emerge -v &amp;lt;package list&amp;gt; command. The -v option shows additional * * information and can be omitted. (If you want to use any USE flags, prepend emerge with USE=&amp;quot;use flags here&amp;quot;. You can also use the -pv option to verify that you’re using the correct flags.) Refer to the [http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&amp;amp;chap=1 Gentoo Handbook] or manual for more information on emerge.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
 emerge -v git sqlite&lt;br /&gt;
 USE=“net-misc/curl ssl” emerge -v curl&lt;br /&gt;
&lt;br /&gt;
=== Fedora ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will need these packages to be able to successfully compile a MTA server on Fedora: &lt;br /&gt;
* '''glibc-devel:'''&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''curl-devel:''' contains the cURL library&lt;br /&gt;
* '''pcre-devel:''' contains the PCRE library&lt;br /&gt;
* '''sqlite3-devel:''' contains the SQLite library&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* '''readline-devel:''' contains the readline library&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* '''lua-devel:''' contains the Lua libraries&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* '''git:''' contains the git client to check out the source code&lt;br /&gt;
To install these packages through yum, use the yum install &amp;lt;package list&amp;gt; command as in the following example (execute as root):&lt;br /&gt;
&lt;br /&gt;
 yum install glibc-devel readline-devel git&lt;br /&gt;
&lt;br /&gt;
== General instructions for {{Current Version|master}} ==&lt;br /&gt;
&lt;br /&gt;
'''Downloading the source.'''&lt;br /&gt;
&lt;br /&gt;
First you need to download the source. Either clone as show below or [https://github.com/multitheftauto/mtasa-blue/archive/master.zip download a zip snapshot]&lt;br /&gt;
&lt;br /&gt;
 git clone &amp;lt;nowiki&amp;gt;https&amp;lt;/nowiki&amp;gt;://github.com/multitheftauto/mtasa-blue.git mtasa-blue&lt;br /&gt;
 cd mtasa-blue&lt;br /&gt;
&lt;br /&gt;
Then compile it thus:&lt;br /&gt;
&lt;br /&gt;
 ./mta-build.sh&lt;br /&gt;
&lt;br /&gt;
Then copy the configuration files, network module and resources into '''Bin/server''' by running this command:&lt;br /&gt;
&lt;br /&gt;
 ./mta-install.sh&lt;br /&gt;
&lt;br /&gt;
And the server should be ready in '''Bin/server'''&lt;br /&gt;
&lt;br /&gt;
=== '''Troubleshooting''' ===&lt;br /&gt;
&lt;br /&gt;
If you’re getting any unexpected errors while compiling, please check our [http://bugs.mtasa.com/ Bug tracker] or our [irc://irc.multitheftauto.com/ IRC channel]&lt;br /&gt;
&lt;br /&gt;
[[ru:Building MTASA Server on GNU Linux]]&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Resource:Editor&amp;diff=50191</id>
		<title>Resource:Editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Resource:Editor&amp;diff=50191"/>
		<updated>2017-01-01T18:43:32Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by AgEnT x19&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Resource page}}&lt;br /&gt;
The MTA:SA map editor allows you to create maps for gamemodes.&lt;br /&gt;
&lt;br /&gt;
==Starting==&lt;br /&gt;
To start the editor, simply click the &amp;quot;Map editor&amp;quot; menu item in the main MTA menu.&lt;br /&gt;
&lt;br /&gt;
==Menus==&lt;br /&gt;
Once the editor has started, you are presented with two menu bars: the main menu at the top, and the element menu in the lower left.&lt;br /&gt;
&lt;br /&gt;
===Main menu===&lt;br /&gt;
These are the buttons in the main menu:&lt;br /&gt;
* [[Image:Editor_New.png]] Create a new map.&lt;br /&gt;
* [[Image:Editor_Open.png]] Open an existing map.&lt;br /&gt;
* [[Image:Editor_Save.png]] Save the map you're working on.&lt;br /&gt;
* [[Image:Editor_Save_as.png]] Save your map under a different name.&lt;br /&gt;
* [[Image:Editor_Options.png]] Alter general map editor settings.&lt;br /&gt;
* [[Image:Editor_Undo.png]] Undo the last action.&lt;br /&gt;
* [[Image:Editor_Redo.png]] Restore the last undone action.&lt;br /&gt;
* [[Image:Editor_Locations.png]] Stored game world locations. The editor comes with a great list of San Andreas Interior locations but you can also add your own interior and non-interior locations to the list.&lt;br /&gt;
* [[Image:Editor_Current_elements.png]] List all the elements the map contains (objects, vehicles, markers, pickups etc.)&lt;br /&gt;
* [[Image:Editor_Map_settings.png]] Map specific settings, like time of day, gravity etc. Here you can also specify what gamemodes the map is compatible with.&lt;br /&gt;
* [[Image:Editor_Definitions.png]] Load [[Resource:Editor/EDF|editor definition files (EDF)]] that you want to use. &lt;br /&gt;
* [[Image:Editor_Test.png]] Go into play mode to try out the map. This will load up the gamemode the map is made for.&lt;br /&gt;
&lt;br /&gt;
===Element menu===&lt;br /&gt;
The element menu is used to add new elements to the map.&lt;br /&gt;
* [[Image:Editor_Vehicle.png]] Create a new vehicle.&lt;br /&gt;
* [[Image:Editor_Object.png]] Create a new object (buildings, roads and other scenery).&lt;br /&gt;
* [[Image:Editor_Pickup.png]] Create a new pickup (health, armor, weapons and custom).&lt;br /&gt;
* [[Image:Editor_Marker.png]] Create a new marker (checkpoint, ring, cylinder, arrow and corona).&lt;br /&gt;
* [[File:Crosshair.png‎]]      Select world object.&lt;br /&gt;
Additionally, if you have [[Resource:Editor/EDF|editor definitions loaded]], you can roll the mousewheel in this menu to bring up custom elements.&lt;br /&gt;
&lt;br /&gt;
==Using the editor==&lt;br /&gt;
This section explains how to create and modify maps.&lt;br /&gt;
&lt;br /&gt;
===Moving around the map===&lt;br /&gt;
When you initially start the editor, you are in ''camera mode''.  You are able to use the '''WSAD''' keys to move the camera and the mouse to pan the camera.  While moving around, you can hold '''ALT''' to move more slowly or '''SHIFT''' to go faster.&lt;br /&gt;
&lt;br /&gt;
To access the editor's interface and control panel you need to switch to ''cursor mode''.  You can toggle between cursor mode and camera mode with the '''F''' key.  When in cursor mode,  your view is fixed, and you can use the mouse cursor to manipulate elements and use the graphical interface.&lt;br /&gt;
&lt;br /&gt;
Camera mode can be recognized by a crosshair in the center of the screen. You can use it to select and move elements just like in cursor mode.&lt;br /&gt;
&lt;br /&gt;
[[Image:Editor_Crosshair.png|center]]&lt;br /&gt;
&lt;br /&gt;
===Starting a new map===&lt;br /&gt;
* Start the editor, or if it is already started, click the ''New'' menu button.&lt;br /&gt;
* Click the ''Map settings'' button. In the ''Meta'' tab, fill in the Name and Author fields with the name of the map and your name respectively. Also open the ''Gamemodes'' tab and add the gamemodes your map is meant for (they will be moved to the ''Added gamemodes'' list). You can do this by selecting them and clicking ''Add'', or by double clicking them. Click OK when you're done.&lt;br /&gt;
[[Image:Editor_Mapsettings.png|center]]&lt;br /&gt;
* Click the ''Definitions'' window and add the resources of which you want to use the custom elements. These will consist of the gamemodes you selected in the ''Map settings'' window, plus eventual additional resources. For more information about editor definitions, see [[Resource:Editor/EDF|EDF]]. Click OK when you're done.&lt;br /&gt;
&lt;br /&gt;
===Creating new elements===&lt;br /&gt;
Adding elements to your map, such as vehicles and objects, is very straightforward.&lt;br /&gt;
* If you are in camera mode, switch to cursor mode first by pressing '''F'''.&lt;br /&gt;
* Click the button in the element menu that represents what you want. E.g., click the button with a car on it to add a vehicle.&lt;br /&gt;
* A new element of the selected type will be created and attached to your cursor. Move it to the location where you want it and '''left click''' to drop it off.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Editor_Addelem.png|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create custom elements that are specific to a resource, hover the cursor over the element menu and turn the scroll wheel until the desired resource comes up. Note that for this to work, you first have to add the [[Resource:Editor/EDF|EDF]] file of the resource in the ''Definitions'' window.&lt;br /&gt;
&lt;br /&gt;
[[Image:Editor_Selectedf.png|center]]&lt;br /&gt;
&lt;br /&gt;
===Selecting===&lt;br /&gt;
* '''Left click''' an element to select it in ''keyboard mode''.&lt;br /&gt;
* '''Right click''' it to select it in ''mouse mode''.&lt;br /&gt;
* Press the '''Spacebar''' or click in an empty area to deselect.&lt;br /&gt;
&lt;br /&gt;
The selected element, if any, is denoted by a yellow cone marker.  Elements (particularly objects) with poor collisions can be detected easier by enabling ''High sensitivity mode'', by pressing the '''E''' key.  This increases detection at the expense of accuracy.&lt;br /&gt;
&lt;br /&gt;
The ''Current elements'' dialog can also be used to select elements.  Double-clicking an item within the list will select it in ''Keyboard mode''.&lt;br /&gt;
&lt;br /&gt;
===Moving===&lt;br /&gt;
Moving elements can be done in several ways.&lt;br /&gt;
&lt;br /&gt;
'''With the mouse'''&lt;br /&gt;
* Simply drag and drop with the '''left mouse button'''.&lt;br /&gt;
Or:&lt;br /&gt;
* Select the element in mouse mode ('''right click'''), move it to where you want it, and click to drop it off.&lt;br /&gt;
&lt;br /&gt;
You can also adjust the ''Hold distance'' of an element toward and away from the camera by switching to camera mode, '''right clicking''' the element, and rolling the '''mouse wheel'''.&lt;br /&gt;
&lt;br /&gt;
'''With the keyboard'''&lt;br /&gt;
* Select the element in keyboard mode ('''left click''').&lt;br /&gt;
* Use the '''arrow keys''' to move the element in the horizontal plane, and '''PgUp'''/'''PgDn''' to move it vertically. Hold '''ALT''' to decrease the movement speed, or '''SHIFT''' to increase it.&lt;br /&gt;
&lt;br /&gt;
By default, elements move relative to the camera and are not locked to any axes.  This can be disabled in the ''Options'' menu.&lt;br /&gt;
&lt;br /&gt;
===Rotating===&lt;br /&gt;
'''With the mouse'''&lt;br /&gt;
&lt;br /&gt;
You can rotate selected elements around the Z axis with the mouse wheel.&lt;br /&gt;
* Select the element in keyboard mode ('''left click''') and roll the mouse wheel while holding '''Left CTRL'''.&lt;br /&gt;
Or:&lt;br /&gt;
* Select the element in mouse mode ('''right click'''), hold '''CTRL''', and roll the mouse wheel.&lt;br /&gt;
&lt;br /&gt;
'''With the keyboard'''&lt;br /&gt;
* Select the element in keyboard mode ('''left click''').&lt;br /&gt;
* While holding '''CTRL''' (the selection marker will turn green), use the '''arrow keys''' and '''PgUp'''/'''PgDn''' to rotate the element around the different axes.&lt;br /&gt;
&lt;br /&gt;
With both methods you can additionally hold '''ALT''' to decrease the rotation speed or '''SHIFT''' to increase it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:Editor_Rotateelem.png|center]]&lt;br /&gt;
&lt;br /&gt;
===Changing model and other properties===&lt;br /&gt;
Most elements have a variety of options that can be altered to change their appearance and behaviour. Examples are the model, color and visual upgrades of a car.&lt;br /&gt;
&lt;br /&gt;
* Open the properties window of an element by either double clicking it or by selecting it and pressing '''F3'''.&lt;br /&gt;
* Make any alterations that you want. For example, to change the model of a car or object, click the '''Browse''' button next to &amp;quot;model&amp;quot; to open the model browser.&lt;br /&gt;
* Click OK when you're done.&lt;br /&gt;
&lt;br /&gt;
[[Image:Editor_Props.png|center]]&lt;br /&gt;
&lt;br /&gt;
===Cloning===&lt;br /&gt;
You can clone an element by selecting it and pressing '''C'''. &lt;br /&gt;
&lt;br /&gt;
* In mouse mode the cloned element will be attached to your cursor. '''Left click''' to place it in the map.&lt;br /&gt;
* In keyboard mode the cloned element will be cloned in the identical position.&lt;br /&gt;
&lt;br /&gt;
If you hold '''CTRL''' while clicking, the element will be cloned again and will again be attached to the cursor. This way you can easily place large quantities of something.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use the ''Pullout'' button located in the bottom-right corner of the properties box to clone an element.&lt;br /&gt;
&lt;br /&gt;
===Deleting===&lt;br /&gt;
Simply select the element and press '''DEL''' ''(Delete)''.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use the ''Pullout'' button located in the bottom-right corner of the properties box to delete an element.&lt;br /&gt;
&lt;br /&gt;
==Creating maps for specific gamemodes==&lt;br /&gt;
To make a map for a specific gamemode, you have to do two things:&lt;br /&gt;
* Click the '''Map Settings''' button in the top menu, go to the '''Gamemodes''' tab and add any gamemodes that your map is to be used with.&lt;br /&gt;
* You will likely also need to add one or more [[Resource:Editor/EDF|Editor Definition Files]]. These will allow you to place gamemode specific elements in the map, like spawnpoints, race checkpoints, or CTF flags. You can add EDF's by clicking the '''Definitions''' menu button and adding the relevant gamemodes.&lt;br /&gt;
&lt;br /&gt;
==Controls==&lt;br /&gt;
Here is a list of all default controls. To change them please go to the MTA Settings menu while the Editor is started.&lt;br /&gt;
&lt;br /&gt;
===Camera===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| camera_move_forwards&lt;br /&gt;
| '''w'''&lt;br /&gt;
|-&lt;br /&gt;
| camera_move_backwards&lt;br /&gt;
| '''s'''&lt;br /&gt;
|-&lt;br /&gt;
| camera_move_left&lt;br /&gt;
| '''a'''&lt;br /&gt;
|-&lt;br /&gt;
| camera_move_right&lt;br /&gt;
| '''d'''&lt;br /&gt;
|-&lt;br /&gt;
| high_sensitivity_mode&lt;br /&gt;
| '''e'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Cloning===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| clone_selected_element&lt;br /&gt;
| '''c'''&lt;br /&gt;
|-&lt;br /&gt;
| clone_drop_modifier&lt;br /&gt;
| '''lctrl''' || ''(Left CTRL)''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Element manipulation===&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| element_move_forward&lt;br /&gt;
| '''arrow_u''' || ''(Arrow key Up)''&lt;br /&gt;
|-&lt;br /&gt;
| element_move_backward&lt;br /&gt;
| '''arrow_d''' || ''(Arrow key Down)''&lt;br /&gt;
|-&lt;br /&gt;
| element_move_left&lt;br /&gt;
| '''arrow_l''' || ''(Arrow key Left)''&lt;br /&gt;
|-&lt;br /&gt;
| element_move_right&lt;br /&gt;
| '''arrow_r''' || ''(Arrow key Right)''&lt;br /&gt;
|-&lt;br /&gt;
| element_move_downwards&lt;br /&gt;
| '''pgdn''' || ''(Page Down)''&lt;br /&gt;
|-&lt;br /&gt;
| element_move_upwards&lt;br /&gt;
| '''pgup''' || ''(Page Up)''&lt;br /&gt;
|-&lt;br /&gt;
| zoom_in&lt;br /&gt;
| '''mouse_wheel_down'''&lt;br /&gt;
|-&lt;br /&gt;
| zoom_out&lt;br /&gt;
| '''mouse_wheel_up'''&lt;br /&gt;
|-&lt;br /&gt;
| quick_rotate_increase&lt;br /&gt;
| '''mod_rotate''' + '''mouse_wheel_up''' || ''(Left CTRL + Mouse wheel Up)''&lt;br /&gt;
|-&lt;br /&gt;
| quick_rotate_decrease&lt;br /&gt;
| '''mod_rotate''' + '''mouse_wheel_down''' || ''(Left CTRL + Mouse wheel Down)''&lt;br /&gt;
|-&lt;br /&gt;
| mod_rotate&lt;br /&gt;
| '''lctrl''' || ''(Left CTRL)''&lt;br /&gt;
|-&lt;br /&gt;
| mod_slow_speed&lt;br /&gt;
| '''lalt''' || ''(Left ALT)''&lt;br /&gt;
|-&lt;br /&gt;
| mod_fast_speed&lt;br /&gt;
| '''lshift''' || ''(Left SHIFT)''&lt;br /&gt;
|-&lt;br /&gt;
| destroy_selected_element&lt;br /&gt;
| '''delete'''&lt;br /&gt;
|-&lt;br /&gt;
| drop_selected_element&lt;br /&gt;
| '''space'''&lt;br /&gt;
|-&lt;br /&gt;
| pickup_selected_element&lt;br /&gt;
| '''F2'''&lt;br /&gt;
|-&lt;br /&gt;
| reset_rotation&lt;br /&gt;
| '''mod_rotate''' + '''r''' || ''(Left CTRL + R)''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===GUI===&lt;br /&gt;
{|&lt;br /&gt;
| toggle_gui_display&lt;br /&gt;
| '''F4'''&lt;br /&gt;
|-&lt;br /&gt;
| toggle_cursor&lt;br /&gt;
| '''f'''&lt;br /&gt;
|-&lt;br /&gt;
| select_target_keyboard&lt;br /&gt;
| '''mouse1''' || ''(Left Mouse button)''&lt;br /&gt;
|-&lt;br /&gt;
| select_target_mouse&lt;br /&gt;
| '''mouse2''' || ''(Right Mouse button)''&lt;br /&gt;
|-&lt;br /&gt;
| edf_next&lt;br /&gt;
| '''mouse_wheel_up'''&lt;br /&gt;
|-&lt;br /&gt;
| edf_prev&lt;br /&gt;
| '''mouse_wheel_down'''&lt;br /&gt;
|-&lt;br /&gt;
| undo&lt;br /&gt;
| '''Ctrl''' + '''z'''&lt;br /&gt;
|-&lt;br /&gt;
| redo&lt;br /&gt;
| '''Ctrl''' + '''y'''&lt;br /&gt;
|-&lt;br /&gt;
| properties_toggle&lt;br /&gt;
| '''F3'''&lt;br /&gt;
|-&lt;br /&gt;
| browser_up&lt;br /&gt;
| '''arrow_u''' || ''(Arrow key Up)''&lt;br /&gt;
|-&lt;br /&gt;
| browser_down&lt;br /&gt;
| '''arrow_d''' || ''(Arrow key Down)''&lt;br /&gt;
|-&lt;br /&gt;
| browser_zoom_in&lt;br /&gt;
| '''mouse_wheel_up'''&lt;br /&gt;
|-&lt;br /&gt;
| browser_zoom_out&lt;br /&gt;
| '''mouse_wheel_down'''&lt;br /&gt;
|-&lt;br /&gt;
| browser_confirm&lt;br /&gt;
| '''enter'''&lt;br /&gt;
|-&lt;br /&gt;
| currentelements_up&lt;br /&gt;
| '''num_8''' || ''(Numpad key 8)''&lt;br /&gt;
|-&lt;br /&gt;
| currentelements_down&lt;br /&gt;
| '''num_2''' || ''(Numpad key 2)''&lt;br /&gt;
|-&lt;br /&gt;
| toggle_test&lt;br /&gt;
| '''F5'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Multiplayer==&lt;br /&gt;
The editor is built with both serverside and clientside components, and therefore supports multiplayer out of the box.  To use the editor in multiplayer with other players, simply copy all of the editor's resources into your server, start the '''editor''' resource and allow other players to join.&lt;br /&gt;
&lt;br /&gt;
Please note that currently the editor lacks any permissions system, so all users have access to every function.&lt;br /&gt;
&lt;br /&gt;
==Plugins &amp;amp; External resources==&lt;br /&gt;
{{Main|Resource:Editor/Plugins}}&lt;br /&gt;
&lt;br /&gt;
The editor allows basic importing of elements from external resources.  This is useful for resources that may have to manipulate an element in a specific way that cannot be performed by the editor.  For example, a map resource which uses custom models (and has a script to import these models) cannot be manipulated by default within the editor.  &lt;br /&gt;
&lt;br /&gt;
By using the '''import &amp;lt;resourceName&amp;gt;''' command in console the resource's elements can be imported within the editor.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
==== I get a black screen when launching the Map Editor  ====&lt;br /&gt;
&lt;br /&gt;
Usually this is caused due to incorrect installation of Map Editor resources. If you are using a stable MTASA client, please install it again and make sure that you use Client and Server install option.&lt;br /&gt;
&lt;br /&gt;
If you are using a nightly build, to get it working right you need to download latest [http://code.google.com/p/multitheftauto/wiki/NightlyBuilds?tm=2 resources (step 3)], unpack the archive and put its contents in:&lt;br /&gt;
''MTA San Andreas\server\mods\deathmatch\resources'' , where ''MTA San Andreas'' is a folder where you've installed MTA San Andreas (default location: C:\Program Files\MTA San Andreas).&lt;br /&gt;
&lt;br /&gt;
Putting them in this path: MTA San Andreas\mods\deathmatch\resources '''is a common mistake''' - it won't work if you put them there. So make sure to put them in the ''italic'' path above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If this issue still occurs, even when you've checked the note above and verified that you've installed it correctly, it might be because you've got an outdated '''acl.xml''' file.   You can download the default one [http://multitheftauto.googlecode.com/svn/trunk/MTA10_Server/mods/deathmatch/acl.xml here].  It should be placed in '''server/mods/deathmatch/''' in your MTA: San Andreas installation directory.&lt;br /&gt;
&lt;br /&gt;
==== I get an &amp;quot;Could not start the local server. See console for details&amp;quot; when using the  &amp;quot;Map Editor&amp;quot; button ====&lt;br /&gt;
This is because you do not have a valid editor.conf installed.  You can download the default one [http://multitheftauto.googlecode.com/svn/trunk/MTA10_Server/mods/deathmatch/editor.conf here].  It should be placed in '''server/mods/deathmatch/''' in your MTA: San Andreas installation directory.&lt;br /&gt;
&lt;br /&gt;
==== I have saved a map but cannot find it in my server's resources directory, despite the Editor itself being able to see it ====&lt;br /&gt;
This is due to the fact that Vista/7 limits write-access for non-admin processes in Program Files directory. Files get written in the &amp;quot;VirtualStore&amp;quot; directory instead of real Program Files folder.  You should be able to locate your map resource in a similar directory to:&lt;br /&gt;
 C:\Users\&amp;lt;USERNAME&amp;gt;\AppData\Local\VirtualStore\Program Files\MTA San Andreas\server\mods\deathmatch\resources\&lt;br /&gt;
&lt;br /&gt;
Running the Server/MTA San Andreas with Administrative rights will allow the map to be saved to the proper location.&lt;br /&gt;
&lt;br /&gt;
==== I have some other problem with the map editor ====&lt;br /&gt;
&lt;br /&gt;
Sometimes resetting the map editor will solve certain issues. The easiest way to do that is install MTA:SA to a brand new folder. Otherwise you can try the following steps:&lt;br /&gt;
::1. Go to the resources folder, '''server/mods/deathmatch/resources/''' and delete the '''editor_dump''' directory&lt;br /&gt;
::2. Go to the resources folder, '''server/mods/deathmatch/resources/''' and delete the '''editor_test''' directory&lt;br /&gt;
&lt;br /&gt;
==== I have found a bug or have a suggestion/feedback for the map editor ====&lt;br /&gt;
Please use the official [http://bugs.mtasa.com bugtracker] for reporting bugs.  Feel free to also join us on [http://www.multitheftauto.com/irc.html IRC].&lt;br /&gt;
&lt;br /&gt;
[[ru:Resource:Editor]]&lt;br /&gt;
[[es:Resource:Editor]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=50190</id>
		<title>Server Manual</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Server_Manual&amp;diff=50190"/>
		<updated>2017-01-01T18:43:31Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Ccw&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
It is much easier than it looks to get a server up and running for your internet or LAN buddies; follow this wiki article and you will hopefully be on your way to hosting your own MTA:SA server in no time!&lt;br /&gt;
&lt;br /&gt;
==Installing the server==&lt;br /&gt;
The dedicated server application is available in different flavours depending on the platform of the server.&lt;br /&gt;
&lt;br /&gt;
===Linux installation===&lt;br /&gt;
There are different ways of getting a Linux server up and running:&lt;br /&gt;
* [http://linux.mtasa.com Getting a precompiled package]&lt;br /&gt;
* [[Installing and Running MTASA Server on GNU Linux]]&lt;br /&gt;
* [[Building MTASA Server on GNU Linux]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Should you have any problems with errors when starting the server some common problems and solutions are listed here:&lt;br /&gt;
* [[Building MTASA Server on GNU Linux#Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
===FreeBSD installation===&lt;br /&gt;
&lt;br /&gt;
You can run MTA:SA under FreeBSD using Linux emulation.&lt;br /&gt;
* Enable [http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/linuxemu-lbc-install.html Linux binary compatibility]&lt;br /&gt;
* Install following packages or compile them from ports: hs-terminfo, linux_base-f10, linux-f10-sqlite3&lt;br /&gt;
* Install [http://linux.mtasa.com/ Linux precompiled package]&lt;br /&gt;
&lt;br /&gt;
===Windows installation===&lt;br /&gt;
Installation of the MTA:SA server on Windows is easy as pie.&lt;br /&gt;
*Go to the [http://mtasa.com/ download page] and download the installer.&lt;br /&gt;
*Once the installer is downloaded, open it.&lt;br /&gt;
*Select a folder where you want to install the server.&lt;br /&gt;
*Click Install.&lt;br /&gt;
*Done!&lt;br /&gt;
&lt;br /&gt;
''For a full explanation of acl.xml (access control list) read: [[Access_Control_List|Access Control List]]''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuring your server==&lt;br /&gt;
The Multi Theft Auto dedicated server is initially configurable through it's console window, from within the game, and from a webbrowser. In order to make use of the two last options, it is necessary to add at least one administrator user to your configuration file.&lt;br /&gt;
&lt;br /&gt;
===General configuration===&lt;br /&gt;
All general configuration options can be found in the 'mods/deathmatch/[[Server_mtaserver.conf|'''mtaserver.conf''']]' file and can be opened by any regular text editor.&lt;br /&gt;
&lt;br /&gt;
This file is fairly straightforward; every variable has a [[Server_mtaserver.conf|description of what to do with it and how to change it]].&lt;br /&gt;
&lt;br /&gt;
===Port forwarding===&lt;br /&gt;
If you run your server on your own private computer, and you have an router between the internet and your computer. You need to forward 3 ports.&lt;br /&gt;
&lt;br /&gt;
First of all open the file 'mods/deathmatch/[[Server_mtaserver.conf|'''mtaserver.conf''']]' and search for the next lines:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;serverport&amp;gt;22003&amp;lt;/serverport&amp;gt; &lt;br /&gt;
&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ports are needed to setup the server correctly. We explain later how to set them, but first if you want your server to appear in the server browser there is another port we need, and that is the ASE port. &lt;br /&gt;
(quick example for how to turn ASE on or off):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ase&amp;gt;1&amp;lt;/ase&amp;gt; &amp;lt;!-- 0 = off, 1 = on --&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we going to forward the ports in your router, which is not needed if you already have all ports open, or if you don't have a router with a firewall. If so, skip this part.&lt;br /&gt;
&lt;br /&gt;
If you don't know how port forwarding works in your router, go to the [http://portforward.com/ Port Forward website], find your router model there, and follow the instructions there.&lt;br /&gt;
&lt;br /&gt;
In almost every router you can set the port type: UDP or TCP. The following list will explain which port type is needed for what:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Main server port: UDP&lt;br /&gt;
&lt;br /&gt;
HTTP Port: TCP&lt;br /&gt;
&lt;br /&gt;
ASE Port: UDP (this is needed if you want your server to appear in the server list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ASE port is also simple to get:&lt;br /&gt;
&lt;br /&gt;
ASE port = Main server port + 123&lt;br /&gt;
&lt;br /&gt;
So, if you have the main server port set to 22003, then the ASE port will be 22126.&lt;br /&gt;
&lt;br /&gt;
Good luck!&lt;br /&gt;
&lt;br /&gt;
''In the latest version of the server, you can check the port status by using the server command [[Server_Commands#openports|openports]].''&lt;br /&gt;
&lt;br /&gt;
===Client Checks===&lt;br /&gt;
&lt;br /&gt;
The MTA server can be configured to disable the anti-cheat. It can also allow specific or all files to be modified (e.g. carmods.dat), and make sure clients are of a minimum version.&lt;br /&gt;
&lt;br /&gt;
All of these settings are within the file 'mods/deathmatch/[[Server_mtaserver.conf|'''mtaserver.conf''']]'. See the [[Anti-cheat_guide|Anti-cheat guide]] for more details.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to force a minimum client version, search for the following line:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minclientversion&amp;gt;&amp;lt;/minclientversion&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Accepted values look like: 1.1.1-9.02320&lt;br /&gt;
&lt;br /&gt;
===Adding administrators===&lt;br /&gt;
It is strongly recommended to add at least one administrator to your server in order to make use of the built-in webserver to easily maintain and configure your server. This administrator will then also be able to log-in from within the game and control the server.&lt;br /&gt;
&lt;br /&gt;
To add an administrator to your server, follow these steps:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;While the server is running, add a new account by typing '''[[Server_Commands#addaccount|addaccount name password]]''' into the server window. For example, to add user BennyLava you could type:&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 10px 10px 10px 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
addaccount BennyLava 123password&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 10px 10px 10px 20px;&amp;quot;&amp;gt;&lt;br /&gt;
''Note: If you do not have access to the server window, and the 'admin' resource is running, you can add  the example account by issuing the client console (F8) command '''register BennyLava 123password'''''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The server should display a message confirming the account has been added.&lt;br /&gt;
&amp;lt;li&amp;gt;Next, shutdown the server by typing '''shutdown''' into the server window.&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped; if your server is still running, the following changes you make will be overwritten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/acl.xml' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Add the account to the ''Admin'' group by using the XML-syntax below&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;acl&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;group name=&amp;quot;Admin&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;acl name=&amp;quot;Admin&amp;quot;/&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;object name=&amp;quot;user.BennyLava&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/group&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/acl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You're done! You can add as many administrators or users as you want this way, take a look at some of the other groups and ACLs for example. The ACL is also accessible through the [[Access_Control_List|Lua scripting engine]].&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is recommended to take a look at the web interface, we will explain how to do this below.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
'''Note''': There are also ways to add accounts and edit rights for the server while it's running. &amp;quot;[[Server_Commands#addaccount|addaccount &amp;lt;user&amp;gt; &amp;lt;password&amp;gt;]]&amp;quot; is an internal command to add accounts, but you will have to use the web interface to add these accounts to specific groups/ACLs!&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Using the web interface===&lt;br /&gt;
The dedicated server comes with a few Lua [[resources]] that provide a nice little web interface to your server. This can be used to easily maintain your server, as it allows you to add users, start/stop resources, and more.&lt;br /&gt;
&lt;br /&gt;
The web interface resources are enabled by default and are served through the built-in HTTP web server. To make sure the built-in HTTP web server runs on a port you like (22005 by default), follow these steps:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure your server is stopped&lt;br /&gt;
&amp;lt;li&amp;gt;Open the file 'mods/deathmatch/[[Server_mtaserver.conf|'''mtaserver.conf''']]' with any text editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Verify that the HTTP server is enabled:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpserver&amp;gt;1&amp;lt;/httpserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Change the HTTP server port to your liking:&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
	&amp;lt;httpport&amp;gt;22005&amp;lt;/httpport&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Save and close the configuration file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Start your server&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If you happened to have changed the start-up resources in your configuration file, make sure the following resources are started:&lt;br /&gt;
&lt;br /&gt;
# resourcebrowser&lt;br /&gt;
# resourcemanager&lt;br /&gt;
# webadmin&lt;br /&gt;
# webmap&lt;br /&gt;
&lt;br /&gt;
These are automatically started in the default configuration file, in case you just installed your server.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Open a web browser (Internet Explorer 6 or 7 are NOT supported; use [http://www.mozilla.com/firefox Mozilla Firefox], [http://www.google.com/chrome Google Chrome], [http://www.apple.com/safari/download Apple Safari], [http://www.opera.com Opera] or others) and navigate to the HTTP server URL: '''http://server:port/'''. For example, If you are running a local server on HTTP port 22005, use '''http://127.0.0.1:22005/'''.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Enter the username and password of the administrator you added in the previous section.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You should now be able to maintain your server from the web interface.&lt;br /&gt;
&lt;br /&gt;
=== Configuring an external web server ===&lt;br /&gt;
&lt;br /&gt;
The built-in web server is also used to serve files that are required by resources running on your server to any player that is connected to your server. For example, if you are running a game script with a scripted graphical user interface, or custom models, these need to be transferred to every connected player in order to function properly. This is done by either the built-in web server, or an external web server (that is usually a bit faster) but needs to be set up separately.&lt;br /&gt;
&lt;br /&gt;
For performance or consistency reasons during the game, you could choose to make use of such an external web server if you have one set up. The external web server needs to be accessible for the public, so any client will be able to download the necessary client-side files in order to join and play on your server.&lt;br /&gt;
&lt;br /&gt;
To enable downloading off an external web server, you should configure the [[Server_mtaserver.conf#httpdownloadurl|httpdownloadurl]] tag in your server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;	&lt;br /&gt;
&amp;lt;httpdownloadurl&amp;gt;http://www.myserver.tld/directory/here&amp;lt;/httpdownloadurl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you launch the server, the directory '''&amp;lt;SERVER&amp;gt;/mods/deathmatch/resource-cache/http-client-files''' will contain the correct client files for hosting on an external web server. If the web server is on the same machine, you can simply link the appropriate web server directory to '''http-client-files'''. If the web server is on a separate machine, ensure it has access to '''http-client-files''' via a network path, or maintain a remote copy using synchronization software.&lt;br /&gt;
&lt;br /&gt;
'''Note 1''': Please try to avoid any special characters (e.g. ~, !) in your download URLs.&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note 2''': Please do not use a trailing slash in your download URL (e.g. ''&amp;lt;nowiki&amp;gt;http://www.myserver.tld/directory&amp;lt;/nowiki&amp;gt;'' rather than ''&amp;lt;nowiki&amp;gt;http://www.myserver.tld/directory/&amp;lt;/nowiki&amp;gt;'')&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Note 3''': The web server must use 'ContentType: application/octet-stream' for Lua files. Most web servers will do this by default, or you can add the following line to the .htaccess file:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 10px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;AddType application/octet-stream .lua&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instructions on how to install and configure Nginx as an external web server for MTA is here: [[Installing and Configuring Nginx as an External Web Server]]&lt;br /&gt;
&lt;br /&gt;
==Starting your server==&lt;br /&gt;
Begin by making sure that you have finished all configuration of your server, starting your server is the last stage so everything must be ready!&lt;br /&gt;
&lt;br /&gt;
To start your server double click on MTA Server.exe, make sure you allow it through any firewalls and forward ports where necessary.&lt;br /&gt;
&lt;br /&gt;
==Installing/Updating resources on your server==&lt;br /&gt;
Resources can come in two formats, either a ZIP format or just a normal folder with the script files inside it. The MTA:SA server supports both these methods.&lt;br /&gt;
&lt;br /&gt;
# Move or copy the new resource to your &amp;lt;SERVER&amp;gt;\mods\deathmatch\resources folder.&lt;br /&gt;
# In the server window type in the command [[Server_Commands#refresh|refresh]], this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Uninstalling resources==&lt;br /&gt;
Resources can easily be removed from your server if you no longer want them.&lt;br /&gt;
&lt;br /&gt;
# Delete the ZIP file or the folder of the resource you wish to uninstall&lt;br /&gt;
# In the server window type in the command &amp;quot;refresh&amp;quot; (without the quotes), this will re-scan the resources folder and update the live resources where necessary.&lt;br /&gt;
&lt;br /&gt;
==Administrating your server==&lt;br /&gt;
You can start resources by typing the command &amp;quot;start resourcename&amp;quot; in the server console, or stop ones with &amp;quot;stop resourcename&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
It's also possible to execute these and other admin commands from the in-game console (which you can bring up with the ` key or F8); for this to work, you first need to log in with the command &amp;quot;[[Server_Commands#login|login username password]]&amp;quot;. Additionally, you can press the p key to bring up the admin panel: this is a graphical interface which allows you to easily kick or ban misbehaving players, among others.&lt;br /&gt;
&lt;br /&gt;
For further commands, type [[Server_Commands#help|help]] in a console.&lt;br /&gt;
&lt;br /&gt;
==Starting a map/gamemode==&lt;br /&gt;
See the commands section of the documentation for [[Resource:Map manager|mapmanager]] for more information.&lt;br /&gt;
&lt;br /&gt;
==Useful Notes==&lt;br /&gt;
&lt;br /&gt;
# You may also update the resources while in-game as long as you have the correct access levels by typing &amp;quot;refresh&amp;quot; in the clients console or &amp;quot;/refresh&amp;quot; in the chat window. This may cause a second of lag if you have many resources.&lt;br /&gt;
# In the above instructions, &amp;lt;SERVER&amp;gt; is the path to your server's main directory. In most cases this is C:\Program Files\MTA San Andreas\server&lt;br /&gt;
# You can choose a different config file for the server to use by passing it in the command line after a --config argument, e.g. mtaserver.exe --config anotherconfig.cfg.&lt;br /&gt;
# Do not be alarmed by the warning regarding the parsing of the settings.xml file. This happens because your server installation is still clean and unused.&lt;br /&gt;
&lt;br /&gt;
====Need further help?====&lt;br /&gt;
Why not pop over to our [http://forum.mtasa.com/ Forums] or join us on [irc://irc.multitheftauto.com/mta IRC] (irc.multitheftauto.com #mta - [http://www.mirc.com mIRC])&lt;br /&gt;
&lt;br /&gt;
[[es:Manual del Servidor]]&lt;br /&gt;
[[de:Server Anleitung]]&lt;br /&gt;
[[it:Manuale del Server]]&lt;br /&gt;
[[nl:Server Manual]]&lt;br /&gt;
[[ru:Server Manual]]&lt;br /&gt;
[[pl:Server Manual]]&lt;br /&gt;
[[pt-br:Manual do Servidor]]&lt;br /&gt;
[[hu:Server Manual]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Upgrading_from_MTA:Race&amp;diff=50189</id>
		<title>Upgrading from MTA:Race</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Upgrading_from_MTA:Race&amp;diff=50189"/>
		<updated>2017-01-01T18:43:29Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by AlexTMjugador&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
MTASA:Race was the first Multi Theft Auto release for Grand Theft Auto San Andreas.  Since its release, we've seen thousands of maps and a vast, active community develop and mature.  Despite this, for everything there is a time to move on.  Multi Theft Auto: San Andreas {{padleft:|3|{{Current Version|full}}}}, in conjunction with the latest version of the [[Resource:Race]] gamemode provides a stable platform for server admins and gamers alike to upgrade to the most powerful GTA Race experience yet.&lt;br /&gt;
&lt;br /&gt;
== Why upgrade? ==&lt;br /&gt;
Although it may seem that its safer to stick what works, the release of {{padleft:|3|{{Current Version|full}}}} will provide a significant step-up in the multiplayer experience.&lt;br /&gt;
&lt;br /&gt;
=== Scripting ===&lt;br /&gt;
With the arrival of MTA:SA {{padleft:|3|{{Current Version|full}}}}, comes a powerful and flexible Lua scripting interface.  This surpasses previous scripting abilities of Race servers in every single way.  By utilising the Lua script interface, server admins and players alike can take advantage of features such as:&lt;br /&gt;
* '''Fully fledged built-in scripting.'''  No more external mIRC clients to run your Admin interface&lt;br /&gt;
* '''Take full advantage of the Plugins system of Race.'''  By developing Lua plugins, the bounds to extend Race are limitless.  Examples that are included in the release package are the Traffic Sensor, which uses HUD to display when cars are behind you, and a Top Times plugin, which displays the person with the best record in a certain race.&lt;br /&gt;
* '''Extend the possibilities of any map.'''  By attaching a Lua script to your map, you can have virtually anything happen during gameplay.  Custom models, moving objects, timed explosives and upside down gravity tracks are all possibilities by taking advantage of scripting.&lt;br /&gt;
* '''Full customisability.''' Customisable UI, along with a possibility to add custom pictures, objects, sounds, and vehicle models, specific to your server.  Imagine being able to display your server's logo during gameplay on the screen.&lt;br /&gt;
&lt;br /&gt;
=== Gameplay ===&lt;br /&gt;
The MTA:SA {{padleft:|3|{{Current Version|full}}}} platform is much more versatile and therefore makes the gameplay experience superior to MTA:Race.  On top of this, the Race gamemode has had hundreds of improvements to make the racing experience much more fun.&lt;br /&gt;
* Have up to '''4096 players''' in your Race server.  That's a lot more than ''32''.  You may wonder &amp;quot;How on earth do 4096 people fit on the track?&amp;quot;.  No problem, the latest Race offers a '''ghostmode''' feature so that high player counts are feasable.&lt;br /&gt;
* Support for newest Microsoft Windows operating systems like Windows Vista, Windows 2008, Windows 7, Windows 8/8.1 and Windows 10 in both x86 and x64 flavours.  Due to the open-source nature of MTA:SA {{padleft:|3|{{Current Version|full}}}}, compatiblity is mantained constantly.&lt;br /&gt;
* Much more accurate vehicle synchronisation.  When switching to {{padleft:|3|{{Current Version|full}}}}, the first thing racers will notice is the amazing vehicle synchronisation.  It now is incredibly smooth, and synced much more precisely - an essential to any racing game.&lt;br /&gt;
* The Traffic Sensor addon means nearby opponents are displayed on the screen.  At last, you can be aware of which way those tailgating opponents are challenging you!&lt;br /&gt;
* The all new open-sourced [[Resource:Editor|Map Editor]] means you can create your race maps with ease.&lt;br /&gt;
* MTA:SA {{padleft:|3|{{Current Version|full}}}} provides a single mod for '''all''' your online GTA needs.&lt;br /&gt;
&lt;br /&gt;
=== Server owner's paradise ===&lt;br /&gt;
With the latest Race, server owner's are in control: you are able to customise the Race experience.  Become a truly unique server.&lt;br /&gt;
* '''Improved ingame Admin.'''  MTA:SA {{padleft:|3|{{Current Version|full}}}} offers an ingame Admin interface where you can easily point and click to effortlessly moderate a server.&lt;br /&gt;
* '''Improved stability, performance and bandwidth usage'''.  The {{padleft:|3|{{Current Version|full}}}} and Race platform have been tested extremely thoroughly, and this has meant the bar has been raised much higher than the original MTA:Race.  Bandwidth has been paid special attention to, and upgrading server owners will reap the benefits of optimized bandwidth usage for their servers.&lt;br /&gt;
* '''Framelimiter'''.  We've all seen it - that frustrating FPS limit in MTA:Race.  The arrival of {{padleft:|3|{{Current Version|full}}}} means server owners can set the FPS limit of their particular server.&lt;br /&gt;
* '''Customisability'''.  As mentioned several times - everything is in your control.  Using Lua you can modify and improve the open-source Race experience.  The new Plugins system means you can easily add or remove components that extend MTA:Race&lt;br /&gt;
&lt;br /&gt;
=== Community ===&lt;br /&gt;
If you ever have any issues, we'll be happy to assist you in our forums.  The growing amount of scripters for MTA:SA {{padleft:|3|{{Current Version|full}}}} has also meant we have a much more alive and vibrant community than previously with MTA:Race.&lt;br /&gt;
&lt;br /&gt;
== How do I upgrade ==&lt;br /&gt;
=== Race players ===&lt;br /&gt;
Upgrading your client to MTA:SA {{padleft:|3|{{Current Version|full}}}} is simple. And better yet, you have nothing to lose. MTA:SA {{padleft:|3|{{Current Version|full}}}} can be installed alongside your original MTA:Race installation without conflict.&lt;br /&gt;
&lt;br /&gt;
All you have to do is head to the [http://www.mtasa.com/ download page] and install MTA:SA {{padleft:|3|{{Current Version|full}}}}.&lt;br /&gt;
&lt;br /&gt;
=== Server Owners ===&lt;br /&gt;
Server owners can easily upgrade to MTA:SA {{padleft:|3|{{Current Version|full}}}}.  Races are fully compatible after a short upgrade process.  Simply install the latest server package, and use our [http://files.mtasa.com/apps/1.0/raceconv.zip batch converter] to convert your maps into MTA:SA {{padleft:|3|{{Current Version|full}}}} resource format. From then on, your converted maps work with the [[Resource:race|race gamemode]] and can be managed through the [[Resource:mapmanager|map manager]] and the [[Resource:votemanager|vote manager]].&lt;br /&gt;
&lt;br /&gt;
[[pt-br:Migrando do MTA:Race ao MTA:SA 1.3]]&lt;br /&gt;
[[ru:Upgrading from MTA:Race]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Known_Issues_-_FAQ&amp;diff=50188</id>
		<title>Known Issues - FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Known_Issues_-_FAQ&amp;diff=50188"/>
		<updated>2017-01-01T18:43:27Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by JHXP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Note_box|Before you check the known issues make sure everything is [[Up-to-date]].}}&lt;br /&gt;
Post here your proposed Q&amp;amp;A, regarding the known problems with MTA:SA and their solutions, especially the problems we are encountering now, that might be also encountered by users in the final release. You are also welcome to edit them grammar/style wise.&lt;br /&gt;
&lt;br /&gt;
* [[Resource:Editor#FAQ|Map editor FAQ/known issues can be found here.]]&amp;lt;br&amp;gt;&lt;br /&gt;
* [[MTA 0.5r2 Known Issues|Known issues for MTA 0.5r2 can be found here.]]&lt;br /&gt;
&lt;br /&gt;
== Client ==&lt;br /&gt;
=== General ===&lt;br /&gt;
==== I have the Steam version of GTA San Andreas.  How can I play MTASA? ====&lt;br /&gt;
:The Steam version of GTASA is currently incompatible with MTASA, just like it is with some other mods. However, it can be made to work with it.&lt;br /&gt;
&lt;br /&gt;
:'''If you just want to play the newest version of the mod, all you need to do is download the mod from our home page and then install it'''. The installer will detect your Steam's GTASA installation and will make some adjustments automatically.&lt;br /&gt;
:No original files are modified in the process, so the single player mode will work the same way as it did before.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:If you want to play some older MTA:SA version (1.3.2 or older), follow a few simple steps, and the Steam version will be compatible with it:&lt;br /&gt;
:* '''Option 1:''' Find a '''GTA SA 1.00 No CD''' (Google will give useful results).  You should obtain a 1.00 Cracked/NoCd EXE, not a Disc image.  Any HOODLUM release will work fine.&lt;br /&gt;
:** Open the download with Winrar or other similar archive tools, and inside there should be a gta_sa.exe.  Place this file inside your installation directory.  This is normally '''C:\Program Files\Steam\steamapps\common\grand theft auto san andreas'''.  No files need to be replaced during this process.&lt;br /&gt;
:This procedure will not affect your Steam version of GTASA, but will allow MTASA to boot alongside it.&lt;br /&gt;
:* '''Option 2:''' Use the unofficial [http://forums.steampowered.com/forums/showthread.php?t=1952458 steam downgrade patch], be sure to downgrade to 1.0 and not 1.01.&lt;br /&gt;
&lt;br /&gt;
==== Does MTASA work with v1.01 or v2.00 of GTA San Andreas? ====&lt;br /&gt;
:No. It can be made to work with them however - please see [http://forum.multitheftauto.com/viewtopic.php?t=15151 this forum topic] for instructions on patching the exe.&lt;br /&gt;
&lt;br /&gt;
==== Initial black screen/hanging GTA splash screens ====&lt;br /&gt;
:* '''MTA shows a permanent black screen or hanging GTA splash screens.'''&lt;br /&gt;
&lt;br /&gt;
:It may be necessary that during/after the logo splash screens in Grand Theft Auto you have to give some input in order to skip the videos correctly. Try to click your left-mouse button a few times, or tapping a few keys.&lt;br /&gt;
&lt;br /&gt;
:* '''MTA shows a permanent black screen after the GTA splash screens (possibly with text in the bottom right corner).'''&lt;br /&gt;
&lt;br /&gt;
:This can be related to a lack of support for DirectX or video card features, on your system, which are needed to run the dynamically rendered menu. This dynamic menu is enabled by default. You can disable it by opening your [[coreconfig.xml]] configuration file located in the ''GTA San Andreas\MTA'' directory, and changing the value of ''menu_options'' to ''248''.&lt;br /&gt;
&lt;br /&gt;
==== Halt after MTA splash screen ====&lt;br /&gt;
:* '''Nothing happens after the 'Stop playing with yourself' splash screen'''&lt;br /&gt;
&lt;br /&gt;
:If you use nVidia GeForce, try turning off nView Desktop Manager before starting MTA.&lt;br /&gt;
&lt;br /&gt;
:Also try deleting GTA San Andreas settings file (&amp;quot;gta_sa.set&amp;quot;) in &amp;quot;Documents\GTA San Andreas User Files&amp;quot; folder.&lt;br /&gt;
&lt;br /&gt;
:If it all fails and you run Kaspersky Anti-Virus or Internet Security, make sure status of &amp;quot;multi theft auto.exe&amp;quot; in not restricted. Other anti-virus software may block MTA from running.&lt;br /&gt;
&lt;br /&gt;
==== Crash after MTA splash screen ====&lt;br /&gt;
:* '''MTA crashes after the 'Stop playing with yourself' logo. Both single player and the MTA: Race ran fine before.'''&lt;br /&gt;
&lt;br /&gt;
:Try downloading the latest DirectX Runtime files from [http://www.microsoft.com/downloads/details.aspx?FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3&amp;amp;DisplayLang=en Microsoft]. Also check in Task Manager, if :gta_sa.exe process isn't already running.&lt;br /&gt;
&lt;br /&gt;
:If you run at any substandard resolutions (e.g. 960x720), try to change your resolution to a commonly supported one (e.g. 640×480, 800×600, 1024×768, 1152×864, 1280×1024) by launching Grand Theft Auto: San Andreas in normal mode, setting the new resolution and exiting.&lt;br /&gt;
&lt;br /&gt;
:If you are a user of Windows Vista or Windows 7, try the following:&lt;br /&gt;
:* Enable Windows XP SP3 compatiblity mode for both Multi Theft Auto.exe and gta_sa.exe, setting their privilege level to &amp;quot;Run this program as an administrator&amp;quot;.&lt;br /&gt;
:* Configure Data Execution Prevention: Use the setting ''Turn DEP for all programs and services except those I select''.  Click ''add'' and find &amp;quot;Multi Theft Auto.exe&amp;quot; and &amp;quot;gta_sa.exe&amp;quot; and add them.&lt;br /&gt;
:* Run MTASA as administrator.&lt;br /&gt;
&lt;br /&gt;
==== &amp;quot;Data files have been modified&amp;quot; ====&lt;br /&gt;
:* '''You receive an error stating &amp;quot;San Andreas data files have been modified&amp;quot;'''&lt;br /&gt;
:You can fix this by [http://updatesa.mtasa.com/sa/files/GTASA-data-1.0.4.exe installing this patch]. If that doesn't work, try reinstalling GTA San Andreas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==== Assertion in CMainMenu.cpp line 106 upon launching MTASA  ====&lt;br /&gt;
:* '''I'm getting an assertion in CMainMenu.cpp (line 106) after I have launched MTASA. I'm able to ignore it, but then game crashes after I try to connect to a server.''' &lt;br /&gt;
&lt;br /&gt;
:This is likely caused by GTASA or MTA:SA being installed in a path that contains non-ASCII characters (eg. Cyrillic, Polish, Japanese) in it.  &lt;br /&gt;
&lt;br /&gt;
:To resolve this, you need to uninstall MTA:SA and GTASA, then install them in such paths that don't contain such characters.--&amp;gt;&lt;br /&gt;
==== Crash after connecting to any server ====&lt;br /&gt;
:* '''MTASA crashes upon connecting to any server. Single player runs fine.'''&lt;br /&gt;
&lt;br /&gt;
:Single player mods can affect the way MTA:SA works, potentially causing crashes - you should always use a clean GTASA install for MTA:SA.&lt;br /&gt;
&lt;br /&gt;
:This might also occur on non-modded installs, when your GTASA executable is in an unsupported by MTA:SA version (eg. 1.0 German or Australian). To resolve this, use [http://forum.multitheftauto.com/viewtopic.php?f=89&amp;amp;t=15151 our converter].&lt;br /&gt;
&lt;br /&gt;
==== Controls not working ====&lt;br /&gt;
:* '''My controls don't seem to work as they should.'''&lt;br /&gt;
&lt;br /&gt;
:Try using the 'copygtacontrols' command in the console.&lt;br /&gt;
&lt;br /&gt;
==== Incorrect models ====&lt;br /&gt;
:* '''Woman model's breasts look awkward ingame / I'm seeing odd, spider-like shaped player models.'''&lt;br /&gt;
&lt;br /&gt;
:This is caused by the way GTA handles player stats. To fix this, be sure to set both fat and muscles player stats to 0, when you're changing player skin.&lt;br /&gt;
&lt;br /&gt;
==== Incorrect drive-by functionality ====&lt;br /&gt;
:* '''Drivebys arent working as they should'''&lt;br /&gt;
&lt;br /&gt;
:Drivebys are handled by script, and will change depending on the loaded gamemode.&lt;br /&gt;
&lt;br /&gt;
==== Unsaved settings ====&lt;br /&gt;
:* '''My MTA setting(s) didn't get saved (...) I crashed.'''&lt;br /&gt;
&lt;br /&gt;
:First, configure the MTA the way you want to, then exit the game and launch it again. Settings should get saved. Alternatively, try removing the coreconfig.xml file, then configure it and quit the game.&lt;br /&gt;
&lt;br /&gt;
==== Gamepad support ====&lt;br /&gt;
:* '''MTA doesn't recognise my gamepad'''&lt;br /&gt;
&lt;br /&gt;
:Ensure that your controller is the first controller recognised by Windows (MTA will only use the first controller).  You can configure your gamepad in options in MTASA's main menu.&lt;br /&gt;
&lt;br /&gt;
==== Free mouselook not working properly ====&lt;br /&gt;
:* '''MTA doesnt recognise my mouse'''&lt;br /&gt;
&lt;br /&gt;
:Some people got problems with their mouse in MTA. They can use it in the menu, connect to a server, but they can't use the mouse for free look.&lt;br /&gt;
:This problem can be solved by entering a server, click your Win/Windows key at your keyboard once, and then click your mouse.&lt;br /&gt;
:If that doesn't work try starting GTA in Singleplayer, go to options &amp;gt; controler setup and set &amp;quot;Configuration&amp;quot; to &amp;quot;Mouse + Keys&amp;quot; instead of &amp;quot;Joypad&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==== Server browser not working ====&lt;br /&gt;
:* '''The in-game server browser shows &amp;quot;Loading&amp;quot; but does not come up with any servers'''&lt;br /&gt;
&lt;br /&gt;
:Depending on the type and status of the internet connection you are using, it can take up to a few seconds for the server browser to retrieve all the servers. Please wait a little longer for the results to appear.&lt;br /&gt;
&lt;br /&gt;
:If all else fails, you can logon to [http://www.game-monitor.com/search.php?game=mta GameMonitor], and click the green play icon to play on that server.&lt;br /&gt;
&lt;br /&gt;
==== Invalid serial number ====&lt;br /&gt;
:* '''I am getting an 'Invalid serial number' error when trying to launch or play the game'''&lt;br /&gt;
&lt;br /&gt;
:You are running an outdated version of Multi Theft Auto. Head over to the [http://mtasa.com/ main page] and download the latest version of Multi Theft Auto.&lt;br /&gt;
&lt;br /&gt;
==== 'Network module not compatible!' on MTA:SA launch ====&lt;br /&gt;
:* '''I am getting 'Network module not compatible!' error message upon launching MTA:SA&lt;br /&gt;
&lt;br /&gt;
:This could mean that your MTA:SA install is incomplete or broken. Reinstall it.&lt;br /&gt;
&lt;br /&gt;
==== 'No such mod installed (deathmatch)' ====&lt;br /&gt;
:* '''I am getting a 'No such mod installed (deathmatch)' error message when trying to connect to any server&lt;br /&gt;
&lt;br /&gt;
:'''Option 1:''' Simply re-install MTA. &amp;lt;br&amp;gt;&lt;br /&gt;
:'''Option 2:''' Run both gta_sa.exe and Multi Theft Auto.exe with administrator privileges.&lt;br /&gt;
&lt;br /&gt;
==== D3dx9_**.dll is not found ====&lt;br /&gt;
:* '''When I start Multi Theft Auto: San Andreas I am getting an error D3dx9_**.dll (** = a number) cannot be found.&lt;br /&gt;
&lt;br /&gt;
:This means that DirectX 9 is not installed or not up to date.&lt;br /&gt;
:To install/update DirectX download the [http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=2da43d38-db71-4c1b-bc6a-9b6652cd92a3 DirectX End-User Runtime Web Installer] from the Microsoft download site.&lt;br /&gt;
&lt;br /&gt;
==== CRC mismatch ====&lt;br /&gt;
:* '''When joining a server, the chatbox shows 'CRC mismatch'&lt;br /&gt;
:This is a server problem. Tell the owner to look at the server section of this page.&lt;br /&gt;
&lt;br /&gt;
==== 'Error loading netc.dll module! (Error 14001)' on MTA:SA launch ====&lt;br /&gt;
:* Full error message:&lt;br /&gt;
:''Error loading netc.dll module! (Error 14001: The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.)''&lt;br /&gt;
&lt;br /&gt;
:Make sure you have installed Microsoft Visual C++ 2008 regular and SP1 redistributable packages (x86):&lt;br /&gt;
&lt;br /&gt;
:[http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&amp;amp;displaylang=en Microsoft Visual C++ 2008 Redistributable package (x86)]&lt;br /&gt;
&lt;br /&gt;
:[http://www.microsoft.com/download/en/details.aspx?id=5582 Microsoft Visual C++ 2008 SP1 Redistributable package (x86)]&lt;br /&gt;
&lt;br /&gt;
==== 'Error 1935. An error occurred during the installation of assembly 'Microsoft.VC90.ATL...' ====&lt;br /&gt;
: Download the 'Fix it' helper from here: [http://support.microsoft.com/default.aspx?scid=kb;en-us;946414]&lt;br /&gt;
&lt;br /&gt;
==== Your virus scanner warns you about MTA:SA ====&lt;br /&gt;
:* '''Your virus scanner informs you that the MTA:SA or setup executable is a virus or malware.'''&lt;br /&gt;
:MTA does '''NOT''' contain any viruses, malware, adware or spyware. You should re-download MTASA [http://mtasa.com here] if you doubt the validity of your copy of MTA.&lt;br /&gt;
&lt;br /&gt;
==== When downloading large maps, progress halts ====&lt;br /&gt;
:* '''When downloading large maps, progress often halts, while transmission is still taking place.'''&lt;br /&gt;
:This issue is fixed in [http://forum.mtasa.com/viewtopic.php?f=31&amp;amp;t=39555#p402093 MTA:SA 1.3].&lt;br /&gt;
&lt;br /&gt;
=== Windows Vista® / Windows 7-specific ===&lt;br /&gt;
&lt;br /&gt;
==== Crash on connect ====&lt;br /&gt;
:* '''I seem to crash whenever I connect to a server just before I go in-game on Vista'''&lt;br /&gt;
&lt;br /&gt;
:This seems to be an issue with the Microsoft DirectX April 2006 SDK Redistributable DLL file (d3dx9_30.dll) when running in compatibility mode. Please make sure that compatibility mode is competely turned off for  '''both''' your GTA_SA.exe and Multi Theft Auto.exe executables.&lt;br /&gt;
&lt;br /&gt;
==== Clock manipulation error ====&lt;br /&gt;
:* '''I am getting 'Clock manipulation detected!' error message upon launching MTA:SA&lt;br /&gt;
&lt;br /&gt;
:This is caused by incorrect system date/time being set (which could be a result of wrong settings or a faulty battery on the pc's motherboard). Setting time and date again should fix the problem.&lt;br /&gt;
&lt;br /&gt;
:It might also happen if you are using an AMD Athlon 64 X2 processor with some old drivers. Update them at [http://support.amd.com/us/Pages/drivers.aspx AMD's site].&lt;br /&gt;
&lt;br /&gt;
==== Halt on launch ====&lt;br /&gt;
:* '''When I launch MTA:SA, nothing happens (GTA_SA.exe is running but not loading up)&lt;br /&gt;
&lt;br /&gt;
:Run MTA:SA with Administrator privileges. To do this, right click on the installer executable, choose 'Properties', go into 'Compatibility' tab and tick the check box on the last field and try again.&lt;br /&gt;
&lt;br /&gt;
==== General GTA problems ====&lt;br /&gt;
:* '''I have unexplainable GTA problems or crashes'''&lt;br /&gt;
&lt;br /&gt;
:Make sure your computer as well as your GTA install meet the [[Deathmatch_Client_Manual#System_requirements|minimum requirements]] and that you are not running in any 98/2000/XP/2003 compatibility modes.&lt;br /&gt;
&lt;br /&gt;
:Also try the solutions from these pages:&lt;br /&gt;
:* http://www.gtaforums.com/index.php?showtopic=273549&amp;amp;view=findpost&amp;amp;p=4537502&lt;br /&gt;
:* http://pullmonkey.com/2007/4/30/how-i-got-gta-san-andreas-to-work-with-a-crappy-os-vista&lt;br /&gt;
&lt;br /&gt;
==== Performance Issues Sandy Bridge / Second Generation Intel Core ====&lt;br /&gt;
:* '''Slow MTA performance on Sandy Bridge Processors while other games and San Andreas Singleplayer run fine.'''&lt;br /&gt;
:There seems to be a issue in combination with the Windows power profile running in power saving mode, you can solve this issue by changing the power profile to high performance when playing MTA:SA.&lt;br /&gt;
:* Topic about this issue: [http://forum.mtasa.com/viewtopic.php?f=104&amp;amp;t=31745 Sandy Bridge performance issues?]&lt;br /&gt;
&lt;br /&gt;
== Server ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
==== Fatal error 3 ====&lt;br /&gt;
:* '''I'm getting ''Fatal Error 3'' whenever I connect to my server'''&lt;br /&gt;
&lt;br /&gt;
:This error happens when the server you are trying to connect to is unable to provide you the required downloads, because it does not have http downloading enabled. Be sure to set the '''httpdownload''' configuration tag in your configuration to '''1'''.&lt;br /&gt;
==== Download error 9: Error downloading requested files ====&lt;br /&gt;
:* '''I'm getting ''Download Error 9: Error downloading requested files'' whenever I connect to my server'''&lt;br /&gt;
&lt;br /&gt;
:This error happens when the server you are trying to connect to is unable to provide you with a valid link. This results in a 404 (Not found) HTTP error and an error at your end.&lt;br /&gt;
&lt;br /&gt;
:* If you are running the built-in server ('''httpserver''' is set to '''1''' and '''httpdownloadurl''' is empty), make sure that your HTTP server is accessible (you can try to access it by using a browser) for everyone.&lt;br /&gt;
&lt;br /&gt;
:* If you have configured an external web server ('''httpdownloadurl''' is set to your custom URL), make sure that your HTTP is accessible and make sure you have read the [[Deathmatch_Server_Manual#Configuring_an_external_web_server | Configuring an external web server]] guide.&lt;br /&gt;
&lt;br /&gt;
==== CRC mismatch ====&lt;br /&gt;
:* '''When clients join my server, their chatbox shows 'CRC mismatch'&lt;br /&gt;
:CRC mismatch occurs when either:&lt;br /&gt;
:* The server files have been changed, but the resource has not been restarted/refreshed&lt;br /&gt;
:* An external http server is being used and the files are not synchronized&lt;br /&gt;
&lt;br /&gt;
==== Accounts missing ====&lt;br /&gt;
:The file ''accounts.xml'' is not used from 1.0.4, it has been replaced by a file called ''internal.db''. To ensure your old accounts information is migrated:&lt;br /&gt;
:*Stop the server&lt;br /&gt;
:*Make sure your old ''accounts.xml'' is correct&lt;br /&gt;
:*Delete ''internal.db''&lt;br /&gt;
:*Start the server&lt;br /&gt;
&lt;br /&gt;
==== Resources missing ====&lt;br /&gt;
:From 1.0.4, resource names cannot contain dots.&lt;br /&gt;
&lt;br /&gt;
==== Download error 28 ====&lt;br /&gt;
:Try closing anti-virus or firewall applications. If it then works, try adding an exception to your firewall to allow your http port through.&lt;br /&gt;
&lt;br /&gt;
==== Accounts disappearing ====&lt;br /&gt;
:Account information (or anything else) not being saved correctly can be caused by database corruption. From build 2836, the server checks the integrity of the sqlite database files on startup. If it reports a database error, please read [[How to repair the database files]].&lt;br /&gt;
:If you are running an earlier version and are having troubles such as accounts disappearing, you should upgrade your server to the [http://nightly.multitheftauto.com/ lastest build]&lt;br /&gt;
&lt;br /&gt;
=== Windows-related ===&lt;br /&gt;
:No known reported issues in {{Current Version|full}}.&lt;br /&gt;
&lt;br /&gt;
=== Linux-related ===&lt;br /&gt;
====Default nohup creates infinitely big nohup.out====&lt;br /&gt;
&lt;br /&gt;
:Temporary fix, disable the nohup file: 'nohup ./mta_server &amp;gt; /dev/null &amp;amp;'&lt;br /&gt;
&lt;br /&gt;
[[es:Problemas Conocidos - FAQ]]&lt;br /&gt;
[[it:Bugs noti e FAQ]]&lt;br /&gt;
[[ru:Known Issues - FAQ]]&lt;br /&gt;
[[de:Known Issues - FAQ]]&lt;br /&gt;
[[pt-br:Soluções de Problemas - FAQ]]&lt;br /&gt;
[[hu:Known Issues - FAQ]]&lt;br /&gt;
[[zh-cn:已知问题 - 常见问题]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Support]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Resource:Battlefield&amp;diff=50187</id>
		<title>Resource:Battlefield</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Resource:Battlefield&amp;diff=50187"/>
		<updated>2017-01-01T18:42:25Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Winky-&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;resource&amp;quot; subcaption=&amp;quot;Resource&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&amp;lt;removeNamespaceName&amp;gt;&amp;lt;/removeNamespaceName&amp;gt;&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
{{Outdated|Resource not included in recent MTA distributions.}}&lt;br /&gt;
A resource based on the 'Bad Company 2' Battlefield game. Right now it is only a wordpad document of ideas. Hopefully I can get more contributers with time.&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
*Server&lt;br /&gt;
**Squad Functions&lt;br /&gt;
***[[Resource:battlefield/createSquad|createSquad]]&lt;br /&gt;
***[[Resource:battlefield/getSquad|getSquad]]&lt;br /&gt;
***[[Resource:battlefield/getSquadShortn|getSquadShortn]]&lt;br /&gt;
***[[Resource:battlefield/getSquadName|getSquadName]]&lt;br /&gt;
***[[Resource:battlefield/getSquadTeam|getSquadTeam]]&lt;br /&gt;
**Player Functions&lt;br /&gt;
***[[Resource:battlefield/setPlayerSquad|setPlayerSquad]]&lt;br /&gt;
***[[Resource:battlefield/getPlayerSquad|getPlayerSquad]]&lt;br /&gt;
***[[Resource:battlefield/isPlayerSpotted|isPlayerSpotted]]&lt;br /&gt;
***[[Resource:battlefield/setPlayerSpotted|setPlayerSpotted]]&lt;br /&gt;
**Vehicle Functions&lt;br /&gt;
***[[Resource:battlefield/isVehicleSpotted|isVehicleSpotted]]&lt;br /&gt;
***[[Resource:battlefield/setVehicleSpotted|setVehicleSpotted]]&lt;br /&gt;
*Client&lt;br /&gt;
&lt;br /&gt;
==Events==&lt;br /&gt;
Nothing here yet. :)&lt;br /&gt;
[[Category:Resource]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Resource:Assault&amp;diff=50186</id>
		<title>Resource:Assault</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Resource:Assault&amp;diff=50186"/>
		<updated>2017-01-01T18:42:23Z</updated>

		<summary type="html">&lt;p&gt;JHXP: Reverted edits by Marcin778 (talk) to last revision by Vincent&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Resource page}}&lt;br /&gt;
Assault is an objective-based team gamemode that should be similiar to Unreal Tournament's Assault. One team attacks, while the other defends. When the attacking team reached the final objective or the time runs out, the round ends and sides are switched. The team that reaches the final objective faster wins the game, if both can't reach it in the timelimit, the game ends tied.&lt;br /&gt;
&lt;br /&gt;
You can easily create your own Assault maps by placing spawnareas and objectives, and of course objects, vehicles and pickups like on any other map. The default objectives are simple checkpoints you have to enter, but the exported functions allow scripters to create whole new types of objectives. See the documentation for details.&lt;br /&gt;
&lt;br /&gt;
=How does a game work=&lt;br /&gt;
* Waiting for players before each new round for a certain amount of seconds or if enough players have joined&lt;br /&gt;
** Let players select their team&lt;br /&gt;
* Spawn players according to their team&lt;br /&gt;
* team1 has to attack and reach one or more objectives (marker), while team2 defends the objectives&lt;br /&gt;
** if team1 reached an objective, teamspawns may be at another location, according to the next objective&lt;br /&gt;
* if the final objective is reached, the first round ends and team2 has to attack (on the same map)&lt;br /&gt;
** the timelimit for the second round should be the time team1 needed to reach the final objective&lt;br /&gt;
&lt;br /&gt;
===Winning===&lt;br /&gt;
* If team2 doesn't reach the objective in the timelimit, meaning team1 was faster, team1 wins.&lt;br /&gt;
* If team2 is able to reach the objective in the timelimit, meaning team2 was faster, team2 wins.&lt;br /&gt;
* If team1 and team2 aren't able to reach the objective within the timelimit, game ends tied.&lt;br /&gt;
&lt;br /&gt;
=Creating an Assault map=&lt;br /&gt;
Assault should work with the mapmanager, so additional maps can easily be created. It also triggers events for map specific scripts and provides functions to trigger custom objectives.&lt;br /&gt;
&lt;br /&gt;
If you want to create a simple map without additional code or custom objectives, you may want to skip to the [[#Map Elements]].&lt;br /&gt;
&lt;br /&gt;
=Events/Functions=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onAssaultObjectiveReached ( table objectiveReached, table players )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Triggers when an objective is successful (when it turns red).&lt;br /&gt;
* '''objectiveReached:''' A table with all the attributes supplied in the map file (see [[#Objectives|Map Elements]])&lt;br /&gt;
* '''players:''' A table of all players that were in the marker when it was activated&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onAssaultStartRound ( team attacker )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Triggers when a round actually starts (player spawns), 'attacker' is the team that attacks.&lt;br /&gt;
* '''attacker:''' A team element consisting the attacking team&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onAssaultCreateObjective ( table objectiveToCreate )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Triggers when a objective is created or should be created if it's a custom objective, instead of creating the marker when it would be a normal one&lt;br /&gt;
*  '''objectiveToCreate:''' A table with all the attributes supplied in the map file (see [[#Objectives|Map Elements]])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onAssaultEndRound( bool conquered )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Triggers when the round ends (time up or base conquered)&lt;br /&gt;
* '''conquered:''' If the attacker was successful in completing the objectives, true otherwise false.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool triggerObjective( string objectiveId, [table players] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Used to trigger an objective. Returns ''true'' if it can be triggered, ''false'' otherwise.&lt;br /&gt;
* '''objectiveId:''' ''(required)'' The id (like defined in the .map file) of the objective.&lt;br /&gt;
* '''players:''' A table of all players that were reponsible for activating the objective&lt;br /&gt;
&lt;br /&gt;
''Please note that you have to use [[Call]] with exported functions.''&lt;br /&gt;
&lt;br /&gt;
=General Assault Settings=&lt;br /&gt;
'''(as of version 1.1)'''&lt;br /&gt;
&lt;br /&gt;
These settings can be specified in Assault's ''meta.xml'' [[Settings system|settings]].&lt;br /&gt;
* '''teamBalance''': Defines how many more players can be in either team respectively. For example when you set it to '1' while Team Blue has 2 players and Team Red has 1 player, new players couldn't join Team Blue. If you had set it to '2' in the same situtation, one more player could join Team Blue. (''default: 1'')&lt;br /&gt;
&lt;br /&gt;
=Map Elements=&lt;br /&gt;
To create an Assault map, all of these elements are obligatory.&lt;br /&gt;
&lt;br /&gt;
==General Map Settings==&lt;br /&gt;
'''(as of version 1.1, in version 1.0 only some settings can be set in the meta.xml)'''&lt;br /&gt;
&lt;br /&gt;
All these settings can be specified in the ''meta.xml'' [[Settings system|settings]] or the ''assaultSettings'' element in the mapfile. The ''meta.xml'' settings will always overrule the mapfile settings.&lt;br /&gt;
&lt;br /&gt;
To specifiy the settings in the ''meta.xml'' file, it may look like 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;info author=&amp;quot;driver2&amp;quot; type=&amp;quot;map&amp;quot; gamemodes=&amp;quot;assault&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;map src=&amp;quot;as-area51.map&amp;quot; /&amp;gt;&lt;br /&gt;
	&amp;lt;script src=&amp;quot;as-area51.lua&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;settings&amp;gt;&lt;br /&gt;
		&amp;lt;setting name=&amp;quot;#author&amp;quot; value=&amp;quot;driver2&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;setting name=&amp;quot;#timelimit&amp;quot; value=&amp;quot;300&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;!-- more settings.. --&amp;gt;&lt;br /&gt;
	&amp;lt;/settings&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To specifiy the settings in the mapfile, put the ''assaultSettings'' in your mapfile:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;assaultSettings timelimit=&amp;quot;(int=300)&amp;quot;&lt;br /&gt;
		 finishType=&amp;quot;(string)&amp;quot; 	finishObjective=&amp;quot;(string)&amp;quot;&lt;br /&gt;
		 time=&amp;quot;(time=12:00)&amp;quot; 	weather=&amp;quot;(int=0)&amp;quot;&lt;br /&gt;
		 author=&amp;quot;{string=''}&amp;quot; 	description=&amp;quot;{string=''}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Required Attributes====&lt;br /&gt;
''none''&lt;br /&gt;
&lt;br /&gt;
====Optional Attributes====&lt;br /&gt;
* '''finishObjective:''' Specifies the objective (id) that has to be reached by the attackers in order to finish the round. If left empty, all objectives have to be reached.&lt;br /&gt;
* '''finishType:''' You ''can'' specify the '''finishType''' in addition to the '''finishObjective''' (''in version 1.0 this is required'')&lt;br /&gt;
** '''&amp;quot;objective&amp;quot;:''' when a certain objective is reached&lt;br /&gt;
** '''&amp;quot;all&amp;quot;:''' when all objectives are reached&lt;br /&gt;
&lt;br /&gt;
If there is a '''timelimit''', '''time''', '''weather''', '''author''' or '''description''' [[Settings system|setting]] specified in the meta file, it will overule the attribute in this element (version 1.0)&lt;br /&gt;
* '''timelimit:''' duration of one round in seconds ''(default: 300)''&lt;br /&gt;
* '''time:''' time hours:minutes ''(default: 12:00)''&lt;br /&gt;
* '''weather:''' weather id ''(default: 0)''&lt;br /&gt;
* '''author:''' the map author ''(default: &amp;quot;&amp;quot;)''&lt;br /&gt;
* '''description:''' map description ''(default: &amp;quot;&amp;quot;)''&lt;br /&gt;
* '''defenderText:''' The text that is displayed at the bottom of the screen, telling the defenders what to do. If this text is defined here, it will be set as default for the map, but can be overwritten by single objectives by specifying the according attribute in its element. ''(default: &amp;quot;Prevent attackers from reaching their objectives!&amp;quot;)''&lt;br /&gt;
* '''attackMessage:''' The message that is shown once an attacker spawns ''(default: &amp;quot;Assault the base!&amp;quot;)''&lt;br /&gt;
* '''defendMessage:''' The message that is shown once a defender spawns ''(default: &amp;quot;Defend the base!&amp;quot;)''&lt;br /&gt;
* '''conqueredMessage:''' This message replaces a part of the message that is shown when the attackers successfully reached their objectives ''(default: &amp;quot;conquered the base&amp;quot;)''&lt;br /&gt;
** This messages replaces the following part enclosed by brackets (example): &amp;quot;Red [conquered the base] in 4:39&amp;quot;&lt;br /&gt;
* '''defendedMessage:''' This message replaces a part of the message that is shown when the defenders successfully defended the objectives ''(default: &amp;quot;defended the base&amp;quot;)''&lt;br /&gt;
** This messages replaces the following part enclosed by brackets (example): &amp;quot;Blue [defended the base]. Blue wins.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
It is recommended that you change the above messages only if the default messages make no or little sense for your map, in order to keep the messages (almost) the same for all maps.&lt;br /&gt;
&lt;br /&gt;
==Objectives==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;objective name=&amp;quot;(string)&amp;quot; description=&amp;quot;(string)&amp;quot; successText=&amp;quot;(string)&amp;quot; id=&amp;quot;(string)&amp;quot; req=&amp;quot;(string)&amp;quot;&lt;br /&gt;
		posX=&amp;quot;(float)&amp;quot; posY=&amp;quot;(float)&amp;quot; posZ=&amp;quot;(float)&amp;quot; stay=&amp;quot;{int=0}&amp;quot;&lt;br /&gt;
		forcedRespawn=&amp;quot;{string=none}&amp;quot; markerType=&amp;quot;{string=cylinder}&amp;quot; captureType=&amp;quot;{string=foot}&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The order of the objectives in the .map file matters. It is responsible for the order the objectives are displayed on the hud, as well as in the GUI.&lt;br /&gt;
&lt;br /&gt;
====Required Attributes====&lt;br /&gt;
* '''posX, posY, posZ: (required)''' position of the objective&lt;br /&gt;
&lt;br /&gt;
====Optional Attributes====&lt;br /&gt;
* '''name:''' the name of the objective, used for the objective list on the screen&lt;br /&gt;
* '''description:''' may be used in the help windows and is displayed at the bottom of the screen to tell the attacker what to do&lt;br /&gt;
* '''successText:''' shown when the objective is reached, use ~team~ as a variable for the attacker's team name&lt;br /&gt;
** ''default:'' Objective '''name''' reached&lt;br /&gt;
** If '''name''' and '''successText''' are both not given, no message at all will appear when the objective is reached&lt;br /&gt;
* '''id:''' unique identification for the objective&lt;br /&gt;
* '''req:''' objectives required for this objective, ids seperated by comma, e.g. req=&amp;quot;door,room1,room2&amp;quot;&lt;br /&gt;
* '''type:''' the type of the objective&lt;br /&gt;
** '''&amp;quot;checkpoint&amp;quot;:''' ''(default)'' assault creates a checkpoint at the location, which has to be activated by the attacker by walking into it&lt;br /&gt;
** '''&amp;quot;custom&amp;quot;:''' assault does nothing about it except waiting for another script to trigger it (see other assault maps for how it's done)&lt;br /&gt;
* '''forcedRespawn'''&lt;br /&gt;
** '''&amp;quot;both&amp;quot;:''' make all players respawn, as soon as the objective is created&lt;br /&gt;
** other values may come&lt;br /&gt;
* '''markerType:''' defines the type of the marker used to mark the objective (see [[CreateMarker]] for details on the values)&lt;br /&gt;
* '''captureType:''' defines how the objective can be activated&lt;br /&gt;
** '''&amp;quot;both&amp;quot;:''' on foot and in a vehicle&lt;br /&gt;
** '''&amp;quot;foot&amp;quot;:''' only while on foot&lt;br /&gt;
** '''&amp;quot;vehicle&amp;quot;:''' only while in a vehicle&lt;br /&gt;
* '''stay:''' number of seconds the player needs to stay in the objective&lt;br /&gt;
* '''stayText:''' the text that is shown above the progress bar while being in the objective&lt;br /&gt;
* '''defenderDescription:''' This text is shown at the bottom of the screen to tell the defenders what to do ''(default: the '''defenderText''' attribute of the [[#Assault Settings]] element)''&lt;br /&gt;
* '''successTextForDefender:''' This attribute can overwrite the '''successText''' attribute for defenders&lt;br /&gt;
&lt;br /&gt;
==Spawngroups==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;spawngroup type=&amp;quot;(string)&amp;quot; req=&amp;quot;(string)&amp;quot;&amp;gt;&lt;br /&gt;
- put spawnareas here -&lt;br /&gt;
&amp;lt;/spawngroup&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A spawngroup is a collection of one or several spawnareas. One of the spawnareas will be randomly selected on spawn. You can use this to let attacking players attack from different sides or to let some players spawn with different weapons for example. Always the last spawngroup (from the order in the mapfile) that meets the 'req' requirements is used to spawn players.&lt;br /&gt;
&lt;br /&gt;
====Required Attributes====&lt;br /&gt;
* '''type:'''&lt;br /&gt;
** '''&amp;quot;attacker&amp;quot;:''' a spawngroup for the attacking team&lt;br /&gt;
** '''&amp;quot;defender&amp;quot;:''' a spawngroup for the defending team&lt;br /&gt;
&lt;br /&gt;
====Optional Attributes====&lt;br /&gt;
* '''req:''' objective ids seperated by comma required for this checkpoint to work&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Spawnareas==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;spawnarea posX=&amp;quot;(float)&amp;quot; posY=&amp;quot;(float)&amp;quot; posZ=&amp;quot;(float)&amp;quot; sizeX=&amp;quot;(int=2)&amp;quot; sizeY=&amp;quot;(int=2)&amp;quot; skins=&amp;quot;{int,int=0}&amp;quot; weapons=&amp;quot;{int,int;int,int=''}&amp;quot; radius=&amp;quot;{int=2}&amp;quot; shape=&amp;quot;{string=circle}&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A spawnarea is a rectangle or circle in which players are spawned randomly. It is defined by one point and two size values or the radius.&lt;br /&gt;
&lt;br /&gt;
====Required Attributes====&lt;br /&gt;
* '''posX, posY, posZ:''' position&lt;br /&gt;
&lt;br /&gt;
====Optional Attributes====&lt;br /&gt;
* '''skins:''' list of skins of which one is randomly chosen, seperated by comma, range of skins seperated by hyphen (e.g. 10,14,20-24 would be 10,14,20,21,22,23,24)&lt;br /&gt;
* '''weapons:''' weapon1,ammo1;weapon2,ammo2;weapon3,ammo3..&lt;br /&gt;
* '''shape'''&lt;br /&gt;
** '''&amp;quot;circle&amp;quot;: (default)''' a circle&lt;br /&gt;
** '''&amp;quot;rectangle&amp;quot;:''' a rectangle&lt;br /&gt;
* '''sizeX, sizeY:''' if shape=&amp;quot;rectangle&amp;quot;, the maximum number that will be added to the X or Y coordinate&lt;br /&gt;
* '''radius:''' if shape=&amp;quot;circle&amp;quot;, radius of the circle&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Cameras==&lt;br /&gt;
You need to define one camera of each type in a valid assault map.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;camera type=&amp;quot;(string)&amp;quot; posX=&amp;quot;(float)&amp;quot; posY=&amp;quot;(float)&amp;quot; posZ=&amp;quot;(float)&amp;quot; targetX=&amp;quot;(float)&amp;quot; targetY=&amp;quot;(float)&amp;quot; targetZ=&amp;quot;(float)&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Required Attributes====&lt;br /&gt;
* '''posX, posY, posZ, targetX, targetY, targetZ:''' position and look at&lt;br /&gt;
* '''type:''' defines the type of the camera, when it will be used&lt;br /&gt;
** '''&amp;quot;spawn&amp;quot;:''' after selecting the team and before spawning&lt;br /&gt;
** '''&amp;quot;selectTeam&amp;quot;:''' select Team screen&lt;br /&gt;
** '''&amp;quot;finish&amp;quot;:''' when the last objective is reached&lt;br /&gt;
&lt;br /&gt;
====Optional Attributes====&lt;br /&gt;
(none)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Additional Information==&lt;br /&gt;
* If you don't want a specific vehicle to be respawned by assault, set it's Elementdata item 'noRespawn' to ''true'' by script or add the attribute noRespawn=&amp;quot;1&amp;quot; to the element in the mapfile. Remember that it will never be automatically respawned then, so if you want to have it return to it's original place, for example after the round ends or when it is destroyed, you have to respawn it yourself.&lt;br /&gt;
&lt;br /&gt;
[[ru:Resource:Assault]]&lt;/div&gt;</summary>
		<author><name>JHXP</name></author>
	</entry>
</feed>