<?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=XRAY</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=XRAY"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/XRAY"/>
	<updated>2026-06-02T05:36:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/unbanIP&amp;diff=24073</id>
		<title>RU/unbanIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/unbanIP&amp;diff=24073"/>
		<updated>2010-07-20T14:58:51Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Translate}}&lt;br /&gt;
{{Server function}}&lt;br /&gt;
{{Deprecated}}&lt;br /&gt;
Эта функция исключает из списка банов указанный IP.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool unbanIP ( string ipToUnban, [player unbanningPlayer = nil] )         &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
*'''ipToUnban:''' IP, который нужно разбанить.&lt;br /&gt;
===Опциональные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''unbanningPlayer:''' Игрок, IP которого удаляется из списка банов. По умолчанию nil, то есть не один.&lt;br /&gt;
&lt;br /&gt;
===Вывод===&lt;br /&gt;
Возвращает ''true'' если операция успешна, ''false'' в противном случае.&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
Этот пример добавляет администраторам команду unbanip(необходимо добавить разрешение в ACL).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler( &amp;quot;unbanip&amp;quot;, -- добавляем команду 'unbanip' в обработчик&lt;br /&gt;
   function ( thePlayer, command, ip )&lt;br /&gt;
      if ( hasObjectPermissionTo ( thePlayer, &amp;quot;command.unbanip&amp;quot;, false ) ) then -- проверяем, получал ли игрок доступ к команде&lt;br /&gt;
         if not ip then outputChatBox( &amp;quot;No IP specified.&amp;quot;, thePlayer ) return end -- если не введен IP, останавливаем выполнение&lt;br /&gt;
         if not findpattern( ip, '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+', 1 ) then outputChatBox( &amp;quot;Given IP is not valid.&amp;quot;, thePlayer ) return end -- если формат IP некорректен, останавливаем выполнение &lt;br /&gt;
         local success = unbanIP( ip, thePlayer ) -- смотрим, была ли функция успешно выполнена&lt;br /&gt;
         if success then&lt;br /&gt;
            outputChatBox( &amp;quot;IP &amp;quot; .. ip .. &amp;quot; succesfully unbanned!&amp;quot;, thePlayer ) -- если успешно, выводим в чат подтверждение&lt;br /&gt;
         else&lt;br /&gt;
            outputChatBox( &amp;quot;Unbanning IP &amp;quot; .. ip .. &amp;quot; failed!&amp;quot;, thePlayer ) -- если нет, выводим ошибку&lt;br /&gt;
         end&lt;br /&gt;
      else&lt;br /&gt;
         outputChatBox( &amp;quot;You have no permission to use this command.&amp;quot;, thePlayer ) -- выводим, что у игрока недостаточно прав&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- назначаем дополнительную функцию форматирования текста для обработчика&lt;br /&gt;
function findpattern(text, pattern, start)&lt;br /&gt;
	local found = string.find(text, pattern, start)&lt;br /&gt;
	if found ~= nil then&lt;br /&gt;
		return string.gsub(text, found)&lt;br /&gt;
	else return nil end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Смотри также==&lt;br /&gt;
{{RU/Admin_functions}}&lt;br /&gt;
[[en:unbanIP]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/unbanIP&amp;diff=24072</id>
		<title>RU/unbanIP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/unbanIP&amp;diff=24072"/>
		<updated>2010-07-20T14:52:45Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Translate}}&lt;br /&gt;
{{Server function}}&lt;br /&gt;
{{Deprecated}}&lt;br /&gt;
Эта функция исключает из списка банов указанный IP.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool unbanIP ( string ipToUnban, [player unbanningPlayer = nil] )         &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
*'''ipToUnban:''' IP, который нужно разбанить.&lt;br /&gt;
===Опциональные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
*'''unbanningPlayer:''' Игрок, IP которого удаляется из списка банов. По умолчанию nil, то есть не один.&lt;br /&gt;
&lt;br /&gt;
===Возвращения===&lt;br /&gt;
Возвращает ''true'' если операция успешна, ''false'' в противном случае.&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
Этот пример добавляет администраторам команду unbanip(необходимо добавить разрешение в ACL).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler( &amp;quot;unbanip&amp;quot;, -- добавляем команду 'unbanip' в обработчик&lt;br /&gt;
   function ( thePlayer, command, ip )&lt;br /&gt;
      if ( hasObjectPermissionTo ( thePlayer, &amp;quot;command.unbanip&amp;quot;, false ) ) then -- проверяем, получал ли игрок доступ к команде&lt;br /&gt;
         if not ip then outputChatBox( &amp;quot;No IP specified.&amp;quot;, thePlayer ) return end -- если не введен IP, останавливаем выполнение&lt;br /&gt;
         if not findpattern( ip, '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+', 1 ) then outputChatBox( &amp;quot;Given IP is not valid.&amp;quot;, thePlayer ) return end -- if IP is not in correct format, abort command&lt;br /&gt;
         local success = unbanIP( ip, thePlayer ) -- see whether the function was a success&lt;br /&gt;
         if success then&lt;br /&gt;
            outputChatBox( &amp;quot;IP &amp;quot; .. ip .. &amp;quot; succesfully unbanned!&amp;quot;, thePlayer ) -- if it was, tell that to player&lt;br /&gt;
         else&lt;br /&gt;
            outputChatBox( &amp;quot;Unbanning IP &amp;quot; .. ip .. &amp;quot; failed!&amp;quot;, thePlayer ) -- if it wasn't, tell that to player&lt;br /&gt;
         end&lt;br /&gt;
      else&lt;br /&gt;
         outputChatBox( &amp;quot;You have no permission to use this command.&amp;quot;, thePlayer ) -- tell player that he hasn't got right permission&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
-- specify the findpattern function used in the command handler&lt;br /&gt;
function findpattern(text, pattern, start)&lt;br /&gt;
	local found = string.find(text, pattern, start)&lt;br /&gt;
	if found ~= nil then&lt;br /&gt;
		return string.gsub(text, found)&lt;br /&gt;
	else return nil end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==See Also==&lt;br /&gt;
{{RU/Admin_functions}}&lt;br /&gt;
[[en:unbanIP]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/unbanSerial&amp;diff=24071</id>
		<title>RU/unbanSerial</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/unbanSerial&amp;diff=24071"/>
		<updated>2010-07-20T14:39:23Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Translate}}&lt;br /&gt;
{{Server function}}&lt;br /&gt;
{{Deprecated}}&lt;br /&gt;
&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool unbanSerial ( string serialToUnban )         &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
{{RU/Admin_functions}}&lt;br /&gt;
[[en:unbanSerial]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/unbanSerial&amp;diff=24070</id>
		<title>RU/unbanSerial</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/unbanSerial&amp;diff=24070"/>
		<updated>2010-07-20T14:39:10Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Translate}}&lt;br /&gt;
{{Server function}}&lt;br /&gt;
{{Deprecated}}&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool unbanSerial ( string serialToUnban )         &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
{{RU/Admin_functions}}&lt;br /&gt;
[[en:unbanSerial]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/warpPedIntoVehicle&amp;diff=24069</id>
		<title>RU/warpPedIntoVehicle</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/warpPedIntoVehicle&amp;diff=24069"/>
		<updated>2010-07-20T14:36:05Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{RU/Server function}}&lt;br /&gt;
{{translate}}&lt;br /&gt;
Эта функция перемещает педа в указанный транспорт, не используя при этом анимаций.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool warpPedIntoVehicle ( ped thePed, vehicle theVehicle, [ int seat=0 ] )          &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы=== &lt;br /&gt;
*'''thePed:''' Пед которого вы хотите переместить в транспортное средство&lt;br /&gt;
*'''theVehicle:''' Транспортное средство в которое вы хотите переместить педа &lt;br /&gt;
&lt;br /&gt;
===Опциональные аргументы=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''seat:''' Целое число, обозначающее ID места. ''0'' представляет водителя, числа выше представляют пассажиров.&lt;br /&gt;
&lt;br /&gt;
===Возвращения===&lt;br /&gt;
Возвращает ''true'' если операция успешна, ''false'' в противном случае.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
Этот пример создает транспортное средство и перемещает в него педа. &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function setupForRace ( )&lt;br /&gt;
    local RacerPed = createPed ( 252, 0, 0, 3 )&lt;br /&gt;
    local RaceVehicle = createVehicle ( 411, 4, 0, 3 )            -- создаем транспортное средство.&lt;br /&gt;
    warpPedIntoVehicle ( RacerPed, RaceVehicle )                  -- перемещаем в него педа.&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;startrace&amp;quot;, setupForRace )                   -- добавляем команду для запуска скрипта.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Ped_functions}}&lt;br /&gt;
[[en:warpPedIntoVehicle]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/warpPedIntoVehicle&amp;diff=24068</id>
		<title>RU/warpPedIntoVehicle</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/warpPedIntoVehicle&amp;diff=24068"/>
		<updated>2010-07-20T14:28:11Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{RU/Server function}}&lt;br /&gt;
{{translate}}&lt;br /&gt;
Эта функция перемещает педа в указанyый транспорт, не используя при этом анимаций.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool warpPedIntoVehicle ( ped thePed, vehicle theVehicle, [ int seat=0 ] )          &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''thePed:''' Пед которого вы хотите переместить в транспортное средство&lt;br /&gt;
*'''theVehicle:''' Транспортное средство в которое вы хотите переместить педа &lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''seat:''' An integer representing the seat ID. ''0'' represents the driver, any higher represent passenger seats.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the operation is successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example creates a vehicle and warps a ped inside immediately.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function setupForRace ( )&lt;br /&gt;
    local RacerPed = createPed ( 252, 0, 0, 3 )&lt;br /&gt;
    local RaceVehicle = createVehicle ( 411, 4, 0, 3 )            -- create a vehicle.&lt;br /&gt;
    warpPedIntoVehicle ( RacerPed, RaceVehicle )                  -- warp the ped straight into the vehicle&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;startrace&amp;quot;, setupForRace )                   -- add a command to start race&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Ped_functions}}&lt;br /&gt;
[[en:warpPedIntoVehicle]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/warpPedIntoVehicle&amp;diff=24067</id>
		<title>RU/warpPedIntoVehicle</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/warpPedIntoVehicle&amp;diff=24067"/>
		<updated>2010-07-20T14:25:48Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{RU/Server function}}&lt;br /&gt;
{{translate}}&lt;br /&gt;
Эта функция телепортирует педа в указанyый транспорт, не используя при этом анимаций.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool warpPedIntoVehicle ( ped thePed, vehicle theVehicle, [ int seat=0 ] )          &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''thePed:''' The ped which you wish to force inside the vehicle&lt;br /&gt;
*'''theVehicle:''' The vehicle you wish to force the ped into&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments=== &lt;br /&gt;
{{OptionalArg}} &lt;br /&gt;
*'''seat:''' An integer representing the seat ID. ''0'' represents the driver, any higher represent passenger seats.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the operation is successful, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
This example creates a vehicle and warps a ped inside immediately.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function setupForRace ( )&lt;br /&gt;
    local RacerPed = createPed ( 252, 0, 0, 3 )&lt;br /&gt;
    local RaceVehicle = createVehicle ( 411, 4, 0, 3 )            -- create a vehicle.&lt;br /&gt;
    warpPedIntoVehicle ( RacerPed, RaceVehicle )                  -- warp the ped straight into the vehicle&lt;br /&gt;
end&lt;br /&gt;
addCommandHandler ( &amp;quot;startrace&amp;quot;, setupForRace )                   -- add a command to start race&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Смотрите также==&lt;br /&gt;
{{RU/Ped_functions}}&lt;br /&gt;
[[en:warpPedIntoVehicle]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23518</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23518"/>
		<updated>2010-05-19T04:18:37Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот, с целью избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Код функции==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- Если обработчик клиентского события не доступен в этом ресурсе, заменить &amp;quot;resourceRoot&amp;quot; на соответствующий элемент&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
Этот пример устанавливает течение времени для игроков.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Определим функцию обработчика onPlayerJoin&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- Установить течение времени&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- Добавить обработчик события&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Автор: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23517</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23517"/>
		<updated>2010-05-19T04:17:37Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот, с целью избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Код функции==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- Если обработчик клиентского события не доступен в этом ресурсе, заменить &amp;quot;resourceRoot&amp;quot; на соответствующий элемент&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Определим функцию обработчика onPlayerJoin&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- Установить течение времени&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- Добавить обработчик события&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Автор: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23516</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23516"/>
		<updated>2010-05-19T04:16:57Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот, с целью избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Код функции==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- Если обработчик клиентского события не доступен в этом ресурсе, заменить &amp;quot;resourceRoot&amp;quot; на соответствующий элемент&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- Определим функцию обработчика onPlayerJoin&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- Добавить обработчик события&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Автор: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23515</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23515"/>
		<updated>2010-05-19T04:12:08Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот, с целью избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Код функции==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Автор: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23514</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23514"/>
		<updated>2010-05-19T04:11:22Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот, с целью избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Код функции==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Пример==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23513</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23513"/>
		<updated>2010-05-19T04:10:16Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот, с целью избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23512</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23512"/>
		<updated>2010-05-19T04:09:17Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот , с целью избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23511</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23511"/>
		<updated>2010-05-19T04:08:37Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23510</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23510"/>
		<updated>2010-05-19T04:07:56Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую функцию на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': Аргументы, которые должны быть переданы функции.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23509</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23509"/>
		<updated>2010-05-19T04:06:25Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую функцию на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно быть указано соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': The arguments that should be passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23508</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23508"/>
		<updated>2010-05-19T04:04:25Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую функцию на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': Элемент игрока, который должен быть задействован.&lt;br /&gt;
* '''funcname''': Имя клиентской функции, которое должно называется соответственно вызываемой. Могут использоваться функции в виде таблицы, и &amp;quot;Math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': The arguments that should be passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23507</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23507"/>
		<updated>2010-05-19T03:56:31Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую функцию на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Необходимые аргументы===&lt;br /&gt;
* '''client''': The element of the player who should be affected.&lt;br /&gt;
* '''funcname''': The name of the function that should be called clientside. May also be a function in a table, e.g. &amp;quot;math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Дополнительные аргументы===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': The arguments that should be passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23506</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23506"/>
		<updated>2010-05-19T03:55:27Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую функцию на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Синтаксис==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''client''': The element of the player who should be affected.&lt;br /&gt;
* '''funcname''': The name of the function that should be called clientside. May also be a function in a table, e.g. &amp;quot;math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': The arguments that should be passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23505</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23505"/>
		<updated>2010-05-19T03:54:24Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую функцию на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Важно:''' имейте в виду, что имя функции должно быть '''строкой'''! Избегайте использования callClientFunction на стороне сервера в событиях onResourceStart, так как клиент больше не сможет добавить обработчик события onServerCallsClientFunction.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''client''': The element of the player who should be affected.&lt;br /&gt;
* '''funcname''': The name of the function that should be called clientside. May also be a function in a table, e.g. &amp;quot;math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': The arguments that should be passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23504</id>
		<title>CallClientFunction</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CallClientFunction&amp;diff=23504"/>
		<updated>2010-05-19T03:44:38Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
Эта функция позволяет вызвать любую другую функцию на клиентской стороне сервера. Естественно, только те, которые доступны ей. Причем неважно, какие это функции - MTA, Lua стандартные функции или пользовательской функции.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
Номера автоматически преобразуются в строки и наоборот в клиентскую сторону, чтобы избежать потерю данных. Если вам не нужна эта функция, просто удалите ее.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Important Note:''' Bear in mind that the funcname has to be a '''string'''! Avoid using callClientFunction in the serverside onResourceStart-event since the client did not add the event handler onServerCallsClientFunction yet.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;void callClientFunction( element client, string funcname, [ var arg1, ... ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''client''': The element of the player who should be affected.&lt;br /&gt;
* '''funcname''': The name of the function that should be called clientside. May also be a function in a table, e.g. &amp;quot;math.round&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''arg1-argn''': The arguments that should be passed to the function.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Serverside Script&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(client, funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do&lt;br /&gt;
            if (type(value) == &amp;quot;number&amp;quot;) then arg[key] = tostring(value) end&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- If the clientside event handler is not in the same resource, replace 'resourceRoot' with the appropriate element&lt;br /&gt;
    triggerClientEvent(client, &amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, funcname, unpack(arg or {}))&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&amp;lt;section name=&amp;quot;Clientside Script&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function callClientFunction(funcname, ...)&lt;br /&gt;
    local arg = { ... }&lt;br /&gt;
    if (arg[1]) then&lt;br /&gt;
        for key, value in next, arg do arg[key] = tonumber(value) or value end&lt;br /&gt;
    end&lt;br /&gt;
    loadstring(&amp;quot;return &amp;quot;..funcname)()(unpack(arg))&lt;br /&gt;
end&lt;br /&gt;
addEvent(&amp;quot;onServerCallsClientFunction&amp;quot;, true)&lt;br /&gt;
addEventHandler(&amp;quot;onServerCallsClientFunction&amp;quot;, resourceRoot, callClientFunction)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example sets the player's minute duration.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- define the onPlayerJoin handler function&lt;br /&gt;
function onPlayerJoin()&lt;br /&gt;
    -- set the minute duration&lt;br /&gt;
    callClientFunction(source, &amp;quot;setMinuteDuration&amp;quot;, 10000)&lt;br /&gt;
end&lt;br /&gt;
-- add the event handler&lt;br /&gt;
addEventHandler(&amp;quot;onPlayerJoin&amp;quot;, root, onPlayerJoin)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: NeonBlack&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Useful_Functions&amp;diff=23503</id>
		<title>Useful Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Useful_Functions&amp;diff=23503"/>
		<updated>2010-05-19T03:36:24Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;#228B22&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта страница содержит список функций, которые не входят ни в сервер, ни в клиент, но все равно достаточно полезны.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Useful Functions}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Useful_Functions&amp;diff=23502</id>
		<title>Useful Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Useful_Functions&amp;diff=23502"/>
		<updated>2010-05-19T03:35:41Z</updated>

		<summary type="html">&lt;p&gt;XRAY: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;#228B22&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Эта страница содержит список функций, которые не входят ни в сервер, ни в клиент, но все равно достаточно полезны.&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Useful_Functions}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21955</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21955"/>
		<updated>2009-11-17T14:36:40Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Parsed files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&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;
==Краткий обзор==&lt;br /&gt;
Есть две ключевые роли, которые составляют эту систему. Первой является стандартный веб-сервер, открывающий веб-браузерам возможность просматривать страницы и файлы, отмеченные в ресурсе. Второй является система позволяющая веб-браузерам вызывать функции, которые вы экспортировали из ресурса.&lt;br /&gt;
&lt;br /&gt;
==Pages==&lt;br /&gt;
===Добавление файла в meta===&lt;br /&gt;
Вы можете обозначить в meta файле своего ресурса, определенные данные доступные через веб-сервер. Чтобы сделать это, добавьте строку:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;filename&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вы можете получить доступ к этому файлу через веб-браузер, перейдя по следующей ссылке:&lt;br /&gt;
http://host:port/resourcename/filename&lt;br /&gt;
&lt;br /&gt;
===Бинарные файлы===&lt;br /&gt;
Несмотря на вводящее в заблуждение название, было определено, что при использовании узла html файл может иметь любой тип. Если это - бинарные файлы (изображения, сжатые файлы) тогда, вы должны обозначить их в meta файле, добавляя raw = &amp;quot;true&amp;quot; в конце строки html. Это означает, что файлы не будут предварительно обработаны прежде, чем они передадутся веб-браузеру.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;image.gif&amp;quot; raw=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===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;
Пример:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;[html]&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;lua&amp;quot;&amp;gt;[html]&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;
===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;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;lua&amp;quot;&amp;gt;[html]&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;
==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;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP 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;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21954</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21954"/>
		<updated>2009-11-17T14:26:15Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Бинарные файлы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&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;
==Краткий обзор==&lt;br /&gt;
Есть две ключевые роли, которые составляют эту систему. Первой является стандартный веб-сервер, открывающий веб-браузерам возможность просматривать страницы и файлы, отмеченные в ресурсе. Второй является система позволяющая веб-браузерам вызывать функции, которые вы экспортировали из ресурса.&lt;br /&gt;
&lt;br /&gt;
==Pages==&lt;br /&gt;
===Добавление файла в meta===&lt;br /&gt;
Вы можете обозначить в meta файле своего ресурса, определенные данные доступные через веб-сервер. Чтобы сделать это, добавьте строку:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;filename&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вы можете получить доступ к этому файлу через веб-браузер, перейдя по следующей ссылке:&lt;br /&gt;
http://host:port/resourcename/filename&lt;br /&gt;
&lt;br /&gt;
===Бинарные файлы===&lt;br /&gt;
Несмотря на вводящее в заблуждение название, было определено, что при использовании узла html файл может иметь любой тип. Если это - бинарные файлы (изображения, сжатые файлы) тогда, вы должны обозначить их в meta файле, добавляя raw = &amp;quot;true&amp;quot; в конце строки html. Это означает, что файлы не будут предварительно обработаны прежде, чем они передадутся веб-браузеру.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;image.gif&amp;quot; raw=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===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;lua&amp;quot;&amp;gt;[html]&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;lua&amp;quot;&amp;gt;[html]&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;
===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;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;lua&amp;quot;&amp;gt;[html]&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;
==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;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP 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;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21953</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21953"/>
		<updated>2009-11-17T14:25:49Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Binary files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&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;
==Краткий обзор==&lt;br /&gt;
Есть две ключевые роли, которые составляют эту систему. Первой является стандартный веб-сервер, открывающий веб-браузерам возможность просматривать страницы и файлы, отмеченные в ресурсе. Второй является система позволяющая веб-браузерам вызывать функции, которые вы экспортировали из ресурса.&lt;br /&gt;
&lt;br /&gt;
==Pages==&lt;br /&gt;
===Добавление файла в meta===&lt;br /&gt;
Вы можете обозначить в meta файле своего ресурса, определенные данные доступные через веб-сервер. Чтобы сделать это, добавьте строку:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;filename&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вы можете получить доступ к этому файлу через веб-браузер, перейдя по следующей ссылке:&lt;br /&gt;
http://host:port/resourcename/filename&lt;br /&gt;
&lt;br /&gt;
===Бинарные файлы===&lt;br /&gt;
Несмотря на вводящее в заблуждение название, было определено, что при использовании узла html файл может иметь любой тип. Если это - бинарные файлы (изображения, сжатые файлы) тогда, вы должны обозначить их в meta файле, добавляя значение = &amp;quot;true&amp;quot; в конце строки html. Это означает, что файлы не будут предварительно обработаны прежде, чем они передадутся веб-браузеру.&lt;br /&gt;
&lt;br /&gt;
Пример:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;image.gif&amp;quot; raw=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===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;lua&amp;quot;&amp;gt;[html]&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;lua&amp;quot;&amp;gt;[html]&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;
===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;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;lua&amp;quot;&amp;gt;[html]&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;
==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;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP 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;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21952</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21952"/>
		<updated>2009-11-17T14:24:54Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Binary files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&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;
==Краткий обзор==&lt;br /&gt;
Есть две ключевые роли, которые составляют эту систему. Первой является стандартный веб-сервер, открывающий веб-браузерам возможность просматривать страницы и файлы, отмеченные в ресурсе. Второй является система позволяющая веб-браузерам вызывать функции, которые вы экспортировали из ресурса.&lt;br /&gt;
&lt;br /&gt;
==Pages==&lt;br /&gt;
===Добавление файла в meta===&lt;br /&gt;
Вы можете обозначить в meta файле своего ресурса, определенные данные доступные через веб-сервер. Чтобы сделать это, добавьте строку:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;filename&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вы можете получить доступ к этому файлу через веб-браузер, перейдя по следующей ссылке:&lt;br /&gt;
http://host:port/resourcename/filename&lt;br /&gt;
&lt;br /&gt;
===Binary files===&lt;br /&gt;
Несмотря на вводящее в заблуждение название, было определено, что при использовании узла html файл может иметь любой тип. Если это - бинарные файлы (изображения, сжатые файлы) тогда, вы должны обозначить их в meta файле, добавляя значение = &amp;quot;true&amp;quot; в конце строки html. Это означает, что файлы не будут предварительно обработаны прежде, чем они передадутся веб-браузеру.&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;lua&amp;quot;&amp;gt;[html]&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;lua&amp;quot;&amp;gt;[html]&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;
===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;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;lua&amp;quot;&amp;gt;[html]&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;
==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;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP 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;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21951</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21951"/>
		<updated>2009-11-17T14:14:40Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Добавление файла в meta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&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;
==Краткий обзор==&lt;br /&gt;
Есть две ключевые роли, которые составляют эту систему. Первой является стандартный веб-сервер, открывающий веб-браузерам возможность просматривать страницы и файлы, отмеченные в ресурсе. Второй является система позволяющая веб-браузерам вызывать функции, которые вы экспортировали из ресурса.&lt;br /&gt;
&lt;br /&gt;
==Pages==&lt;br /&gt;
===Добавление файла в meta===&lt;br /&gt;
Вы можете обозначить в meta файле своего ресурса, определенные данные доступные через веб-сервер. Чтобы сделать это, добавьте строку:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;filename&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вы можете получить доступ к этому файлу через веб-браузер, перейдя по следующей ссылке:&lt;br /&gt;
http://host:port/resourcename/filename&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;lua&amp;quot;&amp;gt;[html]&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;lua&amp;quot;&amp;gt;[html]&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;
===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;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;lua&amp;quot;&amp;gt;[html]&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;
==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;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP 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;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21950</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21950"/>
		<updated>2009-11-17T14:14:00Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Specifying a file in the meta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&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;
==Краткий обзор==&lt;br /&gt;
Есть две ключевые роли, которые составляют эту систему. Первой является стандартный веб-сервер, открывающий веб-браузерам возможность просматривать страницы и файлы, отмеченные в ресурсе. Второй является система позволяющая веб-браузерам вызывать функции, которые вы экспортировали из ресурса.&lt;br /&gt;
&lt;br /&gt;
==Pages==&lt;br /&gt;
===Добавление файла в meta===&lt;br /&gt;
Вы можете обозначить в meta файле своего ресурса, определенные файлы доступные через веб-сервер. Чтобы сделать это, добавьте строку:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html src=&amp;quot;filename&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вы можете получить доступ к этому файлу через веб-браузер, перейдя по следующей ссылке:&lt;br /&gt;
http://host:port/resourcename/filename&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;lua&amp;quot;&amp;gt;[html]&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;lua&amp;quot;&amp;gt;[html]&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;
===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;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;lua&amp;quot;&amp;gt;[html]&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;
==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;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP 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;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21949</id>
		<title>RU/Resource Web Access</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource_Web_Access&amp;diff=21949"/>
		<updated>2009-11-17T14:07:07Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&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;
==Краткий обзор==&lt;br /&gt;
Есть две ключевые роли, которые составляют эту систему. Первой является стандартный веб-сервер, открывающий веб-браузерам возможность просматривать страницы и файлы, отмеченные в ресурсе. Второй является система позволяющая веб-браузерам вызывать функции, которые вы экспортировали из ресурса.&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&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:&lt;br /&gt;
http://host:port/resourcename/filename&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;lua&amp;quot;&amp;gt;[html]&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;lua&amp;quot;&amp;gt;[html]&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;
===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;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;lua&amp;quot;&amp;gt;[html]&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
    &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;* = call ( getResourceFromName(&amp;quot;ajax&amp;quot;), &amp;quot;start&amp;quot;, 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;
==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;
* [[Java SDK]]&lt;br /&gt;
* [[Javascript SDK]]&lt;br /&gt;
* [[Perl SDK]]&lt;br /&gt;
* [[PHP 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;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Animations&amp;diff=21948</id>
		<title>RU/Animations</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Animations&amp;diff=21948"/>
		<updated>2009-11-17T13:56:00Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* См.Также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
==См. Также==&lt;br /&gt;
[[id|ID Lists]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Animations&amp;diff=21947</id>
		<title>RU/Animations</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Animations&amp;diff=21947"/>
		<updated>2009-11-17T13:55:27Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Смотрите также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
==См.Также==&lt;br /&gt;
[[id|ID Lists]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=%D0%A1%D0%BA%D0%B8%D0%BD%D1%8B_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B5%D0%B9&amp;diff=21946</id>
		<title>Скины персонажей</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=%D0%A1%D0%BA%D0%B8%D0%BD%D1%8B_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B5%D0%B9&amp;diff=21946"/>
		<updated>2009-11-17T13:54:40Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Смотри также */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Скины, которые игрок может использовать.&lt;br /&gt;
&lt;br /&gt;
[[All Skins Page|Страница со всеми скинами]] - Не рекомендуется, если у вас медленный интернет. &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;
&lt;br /&gt;
==Примечания:==&lt;br /&gt;
*12 страниц: 266 скинов.&lt;br /&gt;
*Скины с ID 1-8 (кроме 7) не функционируют.&lt;br /&gt;
*Эти пары ID относятся к одному персонажу (1-й ID используется в списках, 2-й отключен)&lt;br /&gt;
**118:119 &lt;br /&gt;
**148:149&lt;br /&gt;
&lt;br /&gt;
*Неработающие ID&lt;br /&gt;
1-6&lt;br /&gt;
8&lt;br /&gt;
42&lt;br /&gt;
65&lt;br /&gt;
74&lt;br /&gt;
86&lt;br /&gt;
119&lt;br /&gt;
149&lt;br /&gt;
208&lt;br /&gt;
265-273&lt;br /&gt;
&lt;br /&gt;
==См.Также==&lt;br /&gt;
[[id]]&lt;br /&gt;
&lt;br /&gt;
[[en:Character Skins]]&lt;br /&gt;
[[it:Skin Personaggi]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=%D0%A1%D0%BA%D0%B8%D0%BD%D1%8B_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B5%D0%B9&amp;diff=21945</id>
		<title>Скины персонажей</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=%D0%A1%D0%BA%D0%B8%D0%BD%D1%8B_%D0%BF%D0%B5%D1%80%D1%81%D0%BE%D0%BD%D0%B0%D0%B6%D0%B5%D0%B9&amp;diff=21945"/>
		<updated>2009-11-17T13:52:12Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* Notes: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Скины, которые игрок может использовать.&lt;br /&gt;
&lt;br /&gt;
[[All Skins Page|Страница со всеми скинами]] - Не рекомендуется, если у вас медленный интернет. &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;
&lt;br /&gt;
==Примечания:==&lt;br /&gt;
*12 страниц: 266 скинов.&lt;br /&gt;
*Скины с ID 1-8 (кроме 7) не функционируют.&lt;br /&gt;
*Эти пары ID относятся к одному персонажу (1-й ID используется в списках, 2-й отключен)&lt;br /&gt;
**118:119 &lt;br /&gt;
**148:149&lt;br /&gt;
&lt;br /&gt;
*Неработающие ID&lt;br /&gt;
1-6&lt;br /&gt;
8&lt;br /&gt;
42&lt;br /&gt;
65&lt;br /&gt;
74&lt;br /&gt;
86&lt;br /&gt;
119&lt;br /&gt;
149&lt;br /&gt;
208&lt;br /&gt;
265-273&lt;br /&gt;
&lt;br /&gt;
==Смотри также==&lt;br /&gt;
[[id]]&lt;br /&gt;
&lt;br /&gt;
[[en:Character Skins]]&lt;br /&gt;
[[it:Skin Personaggi]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Garage&amp;diff=21944</id>
		<title>RU/Garage</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Garage&amp;diff=21944"/>
		<updated>2009-11-17T13:50:44Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Любой гараж в Сан Андреасе может быть открыт или закрыт с помощью функции [[setGarageOpen]].&lt;br /&gt;
&lt;br /&gt;
Идентификаторы гаражей и их описания изложены в списке ниже:&lt;br /&gt;
&lt;br /&gt;
* '''0:''' Commerce Region, Loading Bay Garage (Life's a Beach)&lt;br /&gt;
* '''1:''' LSPD Police Impound Garage&lt;br /&gt;
* '''2:''' Mission Garage near El Corona (Los Desperados)&lt;br /&gt;
* '''3:''' Eight Ball Autos near El Corona&lt;br /&gt;
* '''4:''' Mission Garage near El Corona (Cesar Vialpando)&lt;br /&gt;
* '''5:''' Player Garage: El Corona&lt;br /&gt;
* '''6:''' LS Burglary Garage near Playe del Seville&lt;br /&gt;
* '''7:''' LowRider Tuning Garage in Willowfield&lt;br /&gt;
* '''8:''' Pay 'n' Spray in Idlewood&lt;br /&gt;
* '''9:''' Player Garage: Johnson House&lt;br /&gt;
* '''10:''' Transfender in Temple&lt;br /&gt;
* '''11:''' Pay 'n' Spray in Temple&lt;br /&gt;
* '''12:''' Pay 'n' Spray in Santa Maria Beach&lt;br /&gt;
* '''13:''' Player Garage: Santa Maria Beach&lt;br /&gt;
* '''14:''' Player Garage: Mulholland&lt;br /&gt;
* '''15:''' Wheel Archangels in Ocean Flats&lt;br /&gt;
* '''16:''' Mission Garage in Ocean Flats (T-Bone Mendez)&lt;br /&gt;
* '''17:''' Player Garage: Hashbury&lt;br /&gt;
* '''18:''' Transfender near Wang Cars in Doherty&lt;br /&gt;
* '''19:''' Pay 'n' Spray near Wang Cars in Doherty&lt;br /&gt;
* '''20:''' SF Burglary Garage, Loading Bay near Doherty&lt;br /&gt;
* '''21:''' Player Garage: Doherty&lt;br /&gt;
* '''22:''' Mission Garage in Doherty Garage&lt;br /&gt;
* '''23:''' Woozie's Mission Garage in Chinatown (Ran Fa Li)&lt;br /&gt;
* '''24:''' Michelle's Pay 'n' Spray in Downtown&lt;br /&gt;
* '''25:''' Player Garage: Calton Heights&lt;br /&gt;
* '''26:''' SFPD Police Impound Garage&lt;br /&gt;
* '''27:''' Pay 'n' Spray in Juniper Hollow&lt;br /&gt;
* '''28:''' Player Garage: Paradiso&lt;br /&gt;
* '''29:''' LVPD Police Impound Garage&lt;br /&gt;
* '''30:''' Airport Plane Garage in Las Venturas&lt;br /&gt;
* '''31:''' LV Burglary Garage near Camel's Toe&lt;br /&gt;
* '''32:''' Pay 'n' Spray near Royal Casino&lt;br /&gt;
* '''33:''' Transfender in come-a-lot&lt;br /&gt;
* '''34:''' Player Garage: Rockshore West&lt;br /&gt;
* '''35:''' Welding Wedding Bomb-workshop in Emerald Isle&lt;br /&gt;
* '''36:''' Pay 'n' Spray in Redsands East&lt;br /&gt;
* '''37:''' Player Garage: Redsands West&lt;br /&gt;
* '''38:''' Player Garage: Prickle Pine&lt;br /&gt;
* '''39:''' Player Garage: Whitewood Estates&lt;br /&gt;
* '''40:''' Pay 'n' Spray in El Quebrados&lt;br /&gt;
* '''41:''' Pay 'n' Spray in Fort Carson&lt;br /&gt;
* '''42:''' Player Garage: Fort Carson&lt;br /&gt;
* '''43:''' Player Garage: Verdant Meadows&lt;br /&gt;
* '''44:''' Mission Garage in El Castillo del Diablo (Interdiction)&lt;br /&gt;
* '''45:''' Airport Garage in Verdant Meadows&lt;br /&gt;
* '''46:''' Mission Garage in Angel Pine (Puncture Wounds)&lt;br /&gt;
* '''47:''' Pay 'n' Spray in Dillimore&lt;br /&gt;
* '''48:''' Player Garage: Palomino Creek&lt;br /&gt;
* '''49:''' Player Garage: Dillimore&lt;br /&gt;
&lt;br /&gt;
==См. Также==&lt;br /&gt;
[[id]]&lt;br /&gt;
[[en:Garage]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=21943</id>
		<title>Interior IDs</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Interior_IDs&amp;diff=21943"/>
		<updated>2009-11-17T13:50:10Z</updated>

		<summary type="html">&lt;p&gt;XRAY: /* See Also */&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;
*'''ID 0:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
*'''ID 1:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| '''Ammu-nation 1''' || 289.7870 || -35.7190 || 1003.5160&lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Cafe shop (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 Stadium''' || &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;
*'''ID 2:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 9''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 10''' || &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;
*'''ID 3:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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 1''' || &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;
*'''ID 4:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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 12''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 13''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 15''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Diner 2''' || &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;
*'''ID 5:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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 11''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 16''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 17''' || &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 place''' || 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;
*'''ID 6:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*'''ID 7:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
| '''Burglary House 4''' || &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;
*'''ID 8:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*'''ID 9:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*'''ID 10:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Janitor room''' || 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;
*'''ID 11:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
*'''ID 12:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
*'''ID 13:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
*'''ID 14:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
*'''ID 15:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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 5''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 6''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 7''' || &lt;br /&gt;
|-&lt;br /&gt;
| '''Burglary House 8''' || &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*'''ID 16:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
*'''ID 17:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
*'''ID 18:'''&lt;br /&gt;
{|  class=&amp;quot;prettytable&amp;quot; style=&amp;quot;width:50%;&amp;quot;&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;
==См. Также==&lt;br /&gt;
[[id|ID Lists]]&lt;br /&gt;
[[Category:Scripting Concepts]]&lt;/div&gt;</summary>
		<author><name>XRAY</name></author>
	</entry>
</feed>