<?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=RubyCommunity</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=RubyCommunity"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/RubyCommunity"/>
	<updated>2026-04-19T06:10:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=82482</id>
		<title>FixPersianString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=82482"/>
		<updated>2025-09-17T14:03:31Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: Update and fix several bugs reported by the community&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English. &lt;br /&gt;
just copy &amp;amp; paste and see the magic ;D &lt;br /&gt;
[[File:FixPersianString.jpg|700x350px|thumb|right|alt=An example of how fixPersianString function works|Example Screenshot]]&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;string fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''text''': The bilingual string.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a fixed string.&lt;br /&gt;
==New features==&lt;br /&gt;
* Added new functionality to support hex color codes.&lt;br /&gt;
* Performance improvements.&lt;br /&gt;
* Support Multiline Strings&lt;br /&gt;
* Bug fixes: The problem of using multiple English sentences in the text and reversing the position of words has been resolved. The problem of using numbers and reversing numbers has been resolved.&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
{{RequiredFunctions|Check}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server/Client side Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fixPersianString(str)&lt;br /&gt;
    assert(type(str) == 'string', &amp;quot;Expected a string, got &amp;quot; .. type(str))&lt;br /&gt;
    local unicode = '‮'  &lt;br /&gt;
    if not str:match(&amp;quot;[\216-\219][\128-\191]&amp;quot;) then&lt;br /&gt;
        return str&lt;br /&gt;
    end&lt;br /&gt;
    str = str:gsub(&amp;quot;\r\n&amp;quot;, &amp;quot;\r\n&amp;quot; .. unicode)&lt;br /&gt;
    str = str:gsub(&amp;quot;\n&amp;quot;, &amp;quot;\n&amp;quot; .. unicode)&lt;br /&gt;
    if str:find(&amp;quot;#%x%x%x%x%x%x&amp;quot;) then&lt;br /&gt;
        local lines = {}&lt;br /&gt;
        for line in (str .. &amp;quot;\n&amp;quot;):gmatch(&amp;quot;(.-)\n&amp;quot;) do&lt;br /&gt;
            local words = {}&lt;br /&gt;
            for word in line:gmatch(&amp;quot;%S+&amp;quot;) do&lt;br /&gt;
                word = word:gsub(&amp;quot;%d+&amp;quot;, function(d) return d:reverse() end)&lt;br /&gt;
                table.insert(words, 1, word)&lt;br /&gt;
            end&lt;br /&gt;
            table.insert(lines, table.concat(words, &amp;quot; &amp;quot;))&lt;br /&gt;
        end&lt;br /&gt;
        str = table.concat(lines, &amp;quot;\n#FFFFFF&amp;quot;)&lt;br /&gt;
    else&lt;br /&gt;
        str = unicode .. str:gsub(&amp;quot;%f[%w]%w+%f[%W]&amp;quot;, function(w)&lt;br /&gt;
            w = w:gsub(&amp;quot;%d+&amp;quot;, function(d) return d:reverse() end)&lt;br /&gt;
            return w:reverse()&lt;br /&gt;
        end)&lt;br /&gt;
    end&lt;br /&gt;
    str = str:gsub(&amp;quot;%f[%a]([%a%s]+)%f[%A]&amp;quot;, function(block)&lt;br /&gt;
        local tokens = {}&lt;br /&gt;
        local wordIndices = {}&lt;br /&gt;
&lt;br /&gt;
        for token in block:gmatch(&amp;quot;%S+&amp;quot;) do&lt;br /&gt;
            table.insert(tokens, token)&lt;br /&gt;
            if not token:match(&amp;quot;^#%x%x%x%x%x%x$&amp;quot;) then&lt;br /&gt;
                table.insert(wordIndices, #tokens)&lt;br /&gt;
                tokens[#tokens] = token:gsub(&amp;quot;%d+&amp;quot;, function(d) return d:reverse() end)&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
        for i = 1, math.floor(#wordIndices/2) do&lt;br /&gt;
            local j = #wordIndices - i + 1&lt;br /&gt;
            local idx1, idx2 = wordIndices[i], wordIndices[j]&lt;br /&gt;
            tokens[idx1], tokens[idx2] = tokens[idx2], tokens[idx1]&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        return table.concat(tokens, &amp;quot; &amp;quot;)&lt;br /&gt;
    end)&lt;br /&gt;
    str = str:gsub(&amp;quot;(%d+)&amp;quot;, function(num)&lt;br /&gt;
        return num:reverse()&lt;br /&gt;
    end)&lt;br /&gt;
    return str&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example print a message with persian and english words without any problem&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local PersianSTR = fixPersianString(&amp;quot;خب اینطوری به نظرم behtar az ghabl شد و دیگه کلماتabc1234 باهمدیگه قاطی 09120001209 نمیشن goodluck وقت بخیر &amp;quot;) &lt;br /&gt;
local PersianSTR2 = fixPersianString([[درود #FF0000 بر #0000FFplayer2 #aaFFaa چخبرا؟&lt;br /&gt;
خوبم #FF0000    چطوری تو #ff8523 ؟player1 #aaFFaa ]])&lt;br /&gt;
outputChatBox(PersianSTR2,255,255,255,true)&lt;br /&gt;
local screenWidth, screenHeight = guiGetScreenSize ( )&lt;br /&gt;
addEventHandler ( &amp;quot;onClientRender&amp;quot;, root, function ()&lt;br /&gt;
    dxDrawText ( PersianSTR, 200, screenHeight - 300, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 2, &amp;quot;default-bold&amp;quot; )&lt;br /&gt;
    dxDrawText(PersianSTR2, 200, screenHeight - 500, screenWidth*2, screenHeight*2, tocolor(255, 255, 255, 255), 3, &amp;quot;default-bold&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;top&amp;quot;, false, false, false, true)&lt;br /&gt;
end)&lt;br /&gt;
print(PersianSTR)&lt;br /&gt;
outputChatBox (PersianSTR)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
Author: RubyCommunity&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:FixPersianString.jpg&amp;diff=82481</id>
		<title>File:FixPersianString.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:FixPersianString.jpg&amp;diff=82481"/>
		<updated>2025-09-17T13:46:08Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Example Screenshot&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:Screenshot999.webp&amp;diff=82480</id>
		<title>File:Screenshot999.webp</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:Screenshot999.webp&amp;diff=82480"/>
		<updated>2025-09-17T13:30:43Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;example&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=79076</id>
		<title>FixPersianString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=79076"/>
		<updated>2024-04-18T05:30:24Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English. &lt;br /&gt;
just copy &amp;amp; paste and see the magic ;D&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;string fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''text''': The bilingual string.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a fixed string.&lt;br /&gt;
==New features==&lt;br /&gt;
* Added new functionality to support hex color codes&lt;br /&gt;
* Improve Performance&lt;br /&gt;
* Support Multiline Strings&lt;br /&gt;
==Code==&lt;br /&gt;
{{RequiredFunctions|Check}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server/Client side Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fixPersianString(str)&lt;br /&gt;
    assert(type(str) == 'string', &amp;quot;Expected a string, got &amp;quot; .. type(str))&lt;br /&gt;
    local unicode = '‮'&lt;br /&gt;
    local function reverseEN(w) return w:reverse() end&lt;br /&gt;
    local function sortHexcolor(s)&lt;br /&gt;
        local lines, words = {}, {}&lt;br /&gt;
        for line in (s .. &amp;quot;\n&amp;quot;):gmatch(&amp;quot;(.-)\n&amp;quot;) do&lt;br /&gt;
            for word in line:gmatch(&amp;quot;%S+&amp;quot;) do&lt;br /&gt;
                table.insert(words, 1, word)&lt;br /&gt;
            end&lt;br /&gt;
            table.insert(lines, table.concat(words, &amp;quot; &amp;quot;))&lt;br /&gt;
            words = {}&lt;br /&gt;
        end&lt;br /&gt;
        return table.concat(lines, &amp;quot;\n#FFFFFF&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    if str:match(&amp;quot;[\216-\219][\128-\191]&amp;quot;) then&lt;br /&gt;
        str = str:gsub(&amp;quot;\n&amp;quot;,&amp;quot;\n&amp;quot;..unicode)&lt;br /&gt;
        str = str:gsub(&amp;quot;\r\n&amp;quot;,&amp;quot;\r\n&amp;quot;..unicode)&lt;br /&gt;
        return str:find(&amp;quot;#%x%x%x%x%x%x&amp;quot;) and sortHexcolor(str) or (unicode.. str:gsub(&amp;quot;%f[%a]%w+%f[%A]&amp;quot;, reverseEN))&lt;br /&gt;
    end&lt;br /&gt;
    return str&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example print a message with persian and english words without any problem&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local PersianSTR = fixPersianString(&amp;quot;خب اینطوری به نظرم behtar شد و دیگه کلمات باهمدیگه قاطی نمیشن goodluck وقت بخیر &amp;quot;) &lt;br /&gt;
local PersianSTR2 = fixPersianString([[درود #FF0000 بر #0000FF player2 #aaFFaa چخبرا؟&lt;br /&gt;
خوبم #FF0000    چطوری تو #0000FF ؟player1 #aaFFaa ]])  &lt;br /&gt;
outputChatBox(PersianSTR2,255,255,255,true)&lt;br /&gt;
local screenWidth, screenHeight = guiGetScreenSize ( )&lt;br /&gt;
addEventHandler ( &amp;quot;onClientRender&amp;quot;, root, function ()&lt;br /&gt;
    dxDrawText ( PersianSTR, 200, screenHeight - 200, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 3, &amp;quot;default-bold&amp;quot; )&lt;br /&gt;
    dxDrawText(PersianSTR2, 200, screenHeight - 500, screenWidth*2, screenHeight*2, tocolor(255, 255, 255, 255), 4, &amp;quot;default-bold&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;top&amp;quot;, false, false, false, true)&lt;br /&gt;
end)&lt;br /&gt;
print(PersianSTR)&lt;br /&gt;
outputChatBox (PersianSTR)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: RubyCommunity&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=79075</id>
		<title>FixPersianString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=79075"/>
		<updated>2024-04-18T05:29:04Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English. &lt;br /&gt;
just copy &amp;amp; paste and see the magic ;D&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;string fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''text''': The bilingual string.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a fixed string.&lt;br /&gt;
==New features==&lt;br /&gt;
* Added new functionality to support hex color codes&lt;br /&gt;
* Improve Performance&lt;br /&gt;
* Support Multiline Strings&lt;br /&gt;
==Code==&lt;br /&gt;
{{RequiredFunctions|Check}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server/Client side Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fixPersianString(str)&lt;br /&gt;
    assert(type(str) == 'string', &amp;quot;Expected a string, got &amp;quot; .. type(str))&lt;br /&gt;
    local unicode = '‮'&lt;br /&gt;
    local function reverseEN(w) return w:reverse() end&lt;br /&gt;
    local function sortHexcolor(s)&lt;br /&gt;
        local lines, words = {}, {}&lt;br /&gt;
        for line in (s .. &amp;quot;\n&amp;quot;):gmatch(&amp;quot;(.-)\n&amp;quot;) do&lt;br /&gt;
            for word in line:gmatch(&amp;quot;%S+&amp;quot;) do&lt;br /&gt;
                table.insert(words, 1, word)&lt;br /&gt;
            end&lt;br /&gt;
            table.insert(lines, table.concat(words, &amp;quot; &amp;quot;))&lt;br /&gt;
            words = {}&lt;br /&gt;
        end&lt;br /&gt;
        return table.concat(lines, &amp;quot;\n#FFFFFF&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    if str:match(&amp;quot;[\216-\219][\128-\191]&amp;quot;) then&lt;br /&gt;
        str = str:gsub(&amp;quot;\n&amp;quot;,&amp;quot;\n&amp;quot;..unicode)&lt;br /&gt;
        str = str:gsub(&amp;quot;\r\n&amp;quot;,&amp;quot;\r\n&amp;quot;..unicode)&lt;br /&gt;
        return str:find(&amp;quot;#%x%x%x%x%x%x&amp;quot;) and sortHexcolor(str) or (unicode.. str:gsub(&amp;quot;%f[%a]%w+%f[%A]&amp;quot;, reverseEN))&lt;br /&gt;
    end&lt;br /&gt;
    return str&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example print a message with persian and english words without any problem&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local PersianSTR = fixPersianString(&amp;quot;خب اینطوری به نظرم behtar شد و دیگه کلمات باهمدیگه قاطی نمیشن goodluck وقت بخیر &amp;quot;) &lt;br /&gt;
local PersianSTR2 = fixPersianString([[درود #FF0000 بر #0000FF player2 #aaFFaa چخبرا؟&lt;br /&gt;
خوبم #FF0000    چطوری تو #0000FF ؟player1 #aaFFaa ]])  &lt;br /&gt;
outputChatBox(PersianSTR2,255,255,255,true)&lt;br /&gt;
local screenWidth, screenHeight = guiGetScreenSize ( )&lt;br /&gt;
addEventHandler ( &amp;quot;onClientRender&amp;quot;, root, function ()&lt;br /&gt;
    dxDrawText ( PersianSTR, 200, screenHeight - 200, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 3, &amp;quot;default-bold&amp;quot; )&lt;br /&gt;
dxDrawText(PersianSTR2, 200, screenHeight - 500, screenWidth*2, screenHeight*2, tocolor(255, 255, 255, 255), 4, &amp;quot;default-bold&amp;quot;, &amp;quot;left&amp;quot;, &amp;quot;top&amp;quot;, false, false, false, true)&lt;br /&gt;
end)&lt;br /&gt;
print(PersianSTR)&lt;br /&gt;
outputChatBox (PersianSTR)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: RubyCommunity&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=78891</id>
		<title>FixPersianString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=78891"/>
		<updated>2024-03-13T20:52:15Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English.&lt;br /&gt;
&lt;br /&gt;
just copy &amp;amp; paste and see the magic ;D&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;string fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''text''': The bilingual string.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a fixed string .&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
{{RequiredFunctions|Check}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server/Client side Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fixPersianString(str)&lt;br /&gt;
    if type(str) ~= 'string' then&lt;br /&gt;
        error(&amp;quot;bad argument #1 (string expected, got &amp;quot;..type(str)..&amp;quot;)&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
    if str:match(&amp;quot;[\216-\219][\128-\191]&amp;quot;) then&lt;br /&gt;
        local function reverseEN(word)&lt;br /&gt;
            return word:gsub(&amp;quot;(%w+)&amp;quot;, function(w) return w:reverse() end)&lt;br /&gt;
        end&lt;br /&gt;
        return ('‮'..str:gsub(&amp;quot;%f[%a]%w+%f[%A]&amp;quot;, reverseEN))&lt;br /&gt;
    else&lt;br /&gt;
        return str&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example print a message with persian and english words without any problem&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local PersianSTR = fixPersianString(&amp;quot;خب اینطوری به نظرم behtar شد و دیگه کلمات باهمدیگه قاطی نمیشن goodluck وقت بخیر &amp;quot;) &lt;br /&gt;
local screenWidth, screenHeight = guiGetScreenSize ( )&lt;br /&gt;
addEventHandler ( &amp;quot;onClientRender&amp;quot;, root, function ()&lt;br /&gt;
    dxDrawText ( PersianSTR, 200, screenHeight - 500, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 3, &amp;quot;default-bold&amp;quot; )&lt;br /&gt;
end)&lt;br /&gt;
print(PersianSTR)&lt;br /&gt;
outputChatBox (PersianSTR)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: RubyCommunity&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=78889</id>
		<title>FixPersianString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=78889"/>
		<updated>2024-03-13T18:40:39Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: /* fixPersianString */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English.&lt;br /&gt;
&lt;br /&gt;
just copy &amp;amp; paste and see the magic ;D&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;string fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''text''': The bilingual string.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a fixed string .&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
{{RequiredFunctions|Check}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server/Client side Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fixPersianString(str)&lt;br /&gt;
    if type(str) ~= 'string' then&lt;br /&gt;
        error(&amp;quot;bad argument at argument 1 got &amp;quot;..type(str)..&amp;quot;, use string or call tostring&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
        local function reverseEN(word)&lt;br /&gt;
            return word:gsub(&amp;quot;(%w+)&amp;quot;, function(w) return w:reverse() end)&lt;br /&gt;
        end&lt;br /&gt;
    return ('‮'..str:gsub(&amp;quot;%f[%a]%w+%f[%A]&amp;quot;, reverseEN))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example print a message with persian and english words without any problem&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local PersianSTR = fixPersianString(&amp;quot;خب اینطوری به نظرم behtar شد و دیگه کلمات باهمدیگه قاطی نمیشن goodluck وقت بخیر &amp;quot;) &lt;br /&gt;
local screenWidth, screenHeight = guiGetScreenSize ( )&lt;br /&gt;
addEventHandler ( &amp;quot;onClientRender&amp;quot;, root, function ()&lt;br /&gt;
    dxDrawText ( PersianSTR, 200, screenHeight - 500, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 3, &amp;quot;default-bold&amp;quot; )&lt;br /&gt;
end)&lt;br /&gt;
print(PersianSTR)&lt;br /&gt;
outputChatBox (PersianSTR)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: RubyCommunity&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=78888</id>
		<title>FixPersianString</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FixPersianString&amp;diff=78888"/>
		<updated>2024-03-13T18:25:12Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: Created page with &amp;quot;{{Useful Function}} &amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt; __NOTOC__ This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English.  just copy &amp;amp; paste and see the magic ;D  ==Syntax== &amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;str fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;  ===Required Arguments=== * '''text''': The bilingual string.  ===Returns=== Returns a fixed string .  ==Code== {{RequiredFunctions|Check}} &amp;lt;section name=&amp;quot;Server/Client si...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English.&lt;br /&gt;
&lt;br /&gt;
just copy &amp;amp; paste and see the magic ;D&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;str fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''text''': The bilingual string.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a fixed string .&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
{{RequiredFunctions|Check}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server/Client side Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fixPersianString(str)&lt;br /&gt;
    if type(str) ~= 'string' then&lt;br /&gt;
        error(&amp;quot;bad argument at argument 1 got &amp;quot;..type(str)..&amp;quot;, use string or call tostring&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
        local function reverseEN(word)&lt;br /&gt;
            return word:gsub(&amp;quot;(%w+)&amp;quot;, function(w) return w:reverse() end)&lt;br /&gt;
        end&lt;br /&gt;
    return ('‮'..str:gsub(&amp;quot;%f[%a]%w+%f[%A]&amp;quot;, reverseEN))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example print a message with persian and english words without any problem&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local PersianSTR = fixPersianString(&amp;quot;خب اینطوری به نظرم behtar شد و دیگه کلمات باهمدیگه قاطی نمیشن goodluck وقت بخیر &amp;quot;) &lt;br /&gt;
local screenWidth, screenHeight = guiGetScreenSize ( )&lt;br /&gt;
addEventHandler ( &amp;quot;onClientRender&amp;quot;, root, function ()&lt;br /&gt;
    dxDrawText ( PersianSTR, 200, screenHeight - 500, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 3, &amp;quot;default-bold&amp;quot; )&lt;br /&gt;
end)&lt;br /&gt;
print(PersianSTR)&lt;br /&gt;
outputChatBox (PersianSTR)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: RubyCommunity&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Server_client_function&amp;diff=78887</id>
		<title>Template:Server client function</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Server_client_function&amp;diff=78887"/>
		<updated>2024-03-13T18:20:26Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: Removed redirect to Template:Shared function&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
&amp;lt;lowercasetitle&amp;gt;&amp;lt;/lowercasetitle&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function returns a fixed sorted bilingual RTL for strings consisting of Persian/Arabic and English.&lt;br /&gt;
&lt;br /&gt;
just copy &amp;amp; paste and see the magic ;D&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;str fixPersianString ( string text )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''text''': The bilingual string.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a fixed string .&lt;br /&gt;
&lt;br /&gt;
==Code==&lt;br /&gt;
{{RequiredFunctions|Check}}&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server/Client side Script&amp;quot; class=&amp;quot;both&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function fixPersianString(str)&lt;br /&gt;
    if type(str) ~= 'string' then&lt;br /&gt;
        error(&amp;quot;bad argument at argument 1 got &amp;quot;..type(str)..&amp;quot;, use string or call tostring&amp;quot;)&lt;br /&gt;
    end&lt;br /&gt;
        local function reverseEN(word)&lt;br /&gt;
            return word:gsub(&amp;quot;(%w+)&amp;quot;, function(w) return w:reverse() end)&lt;br /&gt;
        end&lt;br /&gt;
    return ('‮'..str:gsub(&amp;quot;%f[%a]%w+%f[%A]&amp;quot;, reverseEN))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example print a message with persian and english words without any problem&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local PersianSTR = fixPersianString(&amp;quot;خب اینطوری به نظرم behtar شد و دیگه کلمات باهمدیگه قاطی نمیشن goodluck وقت بخیر &amp;quot;) &lt;br /&gt;
local screenWidth, screenHeight = guiGetScreenSize ( )&lt;br /&gt;
addEventHandler ( &amp;quot;onClientRender&amp;quot;, root, function ()&lt;br /&gt;
    dxDrawText ( PersianSTR, 200, screenHeight - 500, screenWidth, screenHeight, tocolor ( 255, 255, 255, 255 ), 3, &amp;quot;default-bold&amp;quot; )&lt;br /&gt;
end)&lt;br /&gt;
print(PersianSTR)&lt;br /&gt;
outputChatBox (PersianSTR)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Author: RubyCommunity&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Template:Useful_Functions&amp;diff=78886</id>
		<title>Template:Useful Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Template:Useful_Functions&amp;diff=78886"/>
		<updated>2024-03-13T16:04:55Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: /* Data functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
=== Table functions ===&lt;br /&gt;
*[[addTableChangeHandler]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function monitors the changes of a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getKeyFromValueInTable]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the key of the specified value in a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getTableFromSql]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This functionality is used to obtain saved tables using the function ([https://wiki.multitheftauto.com/wiki/SetTableToSql SetTableToSql ]).&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isValueInTable]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns true if the value exists in the table, false if the value does not exist in the table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[pairsByKeys]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function sort pairs table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[rangeToTable]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts a string range to a table containing number values.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setTableProtected]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function protects a table and makes it read-only.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setTableToSql]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function is used to save the table in the database (sql).&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Sort_Functions]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» These functions are able to sort your tables by a key.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.compare]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether two given tables are equal.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.copy]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function copies a whole table and all the tables in that table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.deepmerge]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function deep merges two tables. Every nested table will be correspondingly merged.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.element]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a new table with only userdata content.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.flip]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the table from the last value to the first value, such as reflection.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.fromString]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts string to a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.getRandomRows]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns random rows from table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.map]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function goes through a table and replaces every field with the return of the passed function, where the field's value is passed as first argument and optionally more arguments.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.merge]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function merges two or more tables together.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.random]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function retrieves a random value from a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.removeValue]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function removes a specified value from a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[table.size]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the absolute size of a table.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ACL functions ===&lt;br /&gt;
*[[aclGroupClone]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function clone a group to another group with/without ACLs and/or objects.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerAcls]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all ACL groups on a player.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersInACLGroup]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns all players in an ACL group.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPlayerInACL]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a player element is in an ACL group.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[renameAclGroup]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gives an existing ACL group a new name.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Account functions ===&lt;br /&gt;
*[[getPlayerFromAccountName]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function is used to obtain a player by the name of his account.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Camera functions ===&lt;br /&gt;
*[[smoothMoveCamera]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to create a cinematic camera flight.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[sCamera]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» The function creates a speed camera in-game, fines speeding vehicles, and notifies the driver and take money from player based on vehicle speed.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Colshape functions ===&lt;br /&gt;
*[[createGarageColShape]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function creates a collision shape from the specified garage.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cursor functions ===&lt;br /&gt;
*[[getCursorMovedOn]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks in which way the cursor is currently moving.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setCursorCenteredOnRectangle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This functions will center the cursor inside a rectangle.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Drawing functions ===&lt;br /&gt;
*[[dxDrawAnimWindow]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws an animated 2D window on the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawBorderedRectangle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a bordered rectangle.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawBorderedText]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a bordered text.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawDashedLine]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a line with dashes.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawEditbox]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a edit box across the screen - rendered for one frame. This should be used in conjunction with '''onClientRender''' in order to display continuously.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawGifImage]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function simulates the effect of a GIF image by using image sprites in 2D.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawImage3D]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a 3D image in GTA world.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawImageOnElement]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws an image on any element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawLinedRectangle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a rectangle outline with dx lines.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawLoading]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a loading bar on the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawOctagon3D]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function creates a 3D Octagon&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawPolygon]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a custom polygon on the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawProgressBar]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function simulates a progress bar drawed using DirectDraw.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawRectangle3D]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a 3D rectangle in GTA world.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawRectangleOnPlayer]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a 3D rectangle above the player.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawRing]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a ring with dx lines.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawRombo]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function creates a Rhombus.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawSprite]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draw a sprite in the 3D world.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawTextOnElement]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function draws a text on any element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawTextOnRectangle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Esta funcion crea un rectangle con un texto dentro.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxDrawTriangle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a triangle with dx lines.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxFade]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function fade-in or fade-out any dxDraw by gradually changing its alpha value.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxGetFontSizeFromHeight]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function calculates the font size from given height.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[dxGetRealFontHeight]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function calculates the height of a font.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getScreenStartPositionFromBox]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function helps with getting the correct position for your dx-effects.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[wordWrap]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function breaks a long string into a table of separate lines limited to a specific length in pixels, for drawing separately.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[CreateRectangle3D]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This is a function that will create a 3d rectangle on the player screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[DxDrawBordered3DLine]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;»This function creates a bordered area with 3D dx lines.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Effects functions ===&lt;br /&gt;
*[[attachEffect]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you attach an effect to an element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setScreenFlash]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function will make the screen flash(like a screenshot).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Element functions === &lt;br /&gt;
*[[autoAttach]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function attaches one element into another at the same position and rotation they are.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[attachElementToBone]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to attach an element to ped bone accurately using new bone functions.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementDirectionCardialPoint]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the direction of the element according to the ''wind rose''.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementSpeed]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the specified element's speed in m/s, km/h or mph.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementUsingData]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns table elements that contains the elements data with the given key and value.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementZoneFullName]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to retrieve the zone full name of a element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementsInDimension]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of elements that are in the specified dimension.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementsWithinMarker]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of elements that are within a marker's collision shape.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getNearestElement]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the nearest element (of a specific type) to a player.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementInAir]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if an element is in air or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementInPhotograph]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if an element is in the player's camera picture area.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementInRange]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to check if an element's range to a main point is within the maximum range.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementMoving]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if an element is moving.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementPlayer]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether the element is a player or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementWithinAColShape]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if an element is within a collision shape element.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[multi_check]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks one element to many, handy and clean.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setElementSpeed]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to set the speed of an element in kph or mph units.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPositionInFrontOfElement]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns position in provided distance away from element, including element's rotation.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Events ===&lt;br /&gt;
*[[onClientPlayerTimeChange]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This code implements an event that is triggered when the player's real time change.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[onPlayerZoneChange]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This code implements an event that is triggered when the player enters a new area on the map.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[onVehicleWeaponFire]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This code implements an event that is triggered when a player in a vehicle fires a vehicle's weapon.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input functions ===&lt;br /&gt;
*[[bindControlKeys]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to bind each key bound to a control individually. Doing this bypasses a little MTA restriction.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getBoundControls]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of control names that are bound to the specified key.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[unbindControlKeys]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to unbind each key bound to a control individually. Use this function with [[bindControlKeys]].&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isCommandHandlerAdded]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to check if a command is added or not in the respective resource.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Data functions === &lt;br /&gt;
*[[byte2human]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts an integer (number of bytes) into a human-readable unit.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[capitalize]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function capitalizes a given string.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[convertDate]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts date to another look.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[convertServerTickToTimeStamp]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts server ticks to a unix timestamp.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[convertTextToSpeech]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts the provided text to a speech in the provided language which players can hear.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[findRotation3D]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function takes two sets of XYZ coordinates. It returns the 3D direction from point A to point B.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[findRotation]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function takes two points and returns the direction from point A to point B.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[formatDate]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function formats a date on the basis of a format string and returns it.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[formatNumber]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function formats large numbers by adding commas.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[generateRandomASCIIString]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a random string which uses ASCII characters. &amp;lt;/span&amp;gt;&lt;br /&gt;
*[[generateString]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function generates a random string with any characters.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getAge]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function calculates the age of a given birthday.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getDistanceBetweenElements]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Returns the distance between two elements.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getDistanceBetweenPointAndSegment2D]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function takes point coordinates and line (a segment) starting and ending coordinates. It returns the shortest distance between the point and the line.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getEasterDate]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns easter date monthday and month for a given year.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getElementRelatedAngle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the related angle between one element to another. This is useful to check which side an element is to another.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getFreeDimension]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function get free dimension.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getOffsetFromXYZ]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to take an entity and a position and calculate the relative offset between them accounting for rotations.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPointFromDistanceRotation]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function finds a point based on a starting point, direction and distance.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getRealMonth]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the current month name&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getRGColorFromPercentage]] &amp;lt;span style=&amp;quot;color:gray; font-family:'Georgia', sans-serif; font-size:smaller;&amp;quot;&amp;gt;»This function returns two integers representing red and green colors according to the specified percentage.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getScreenRotationFromWorldPosition]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a screen relative rotation to a world position.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getTimestamp]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the UNIX timestamp of a specified date and time.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[gradientString]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function transforms a string in a new coloured gradient string.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[hex2rgb]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function convert hex to rgb.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[hexColorToRGB]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function convert hex string/number to RGBA values.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isLeapYear]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a boolean representing if a given year is a leap year.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isValidMail]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether a provided e-mail string is valid.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[removeHex]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function is used to remove hexadecimal numbers (colors, for example) from strings.&lt;br /&gt;
*[[RGBToHex]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a string representing the color in hexadecimal.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[RGBToHSV]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function convert RGB to HSV color space.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[RGBToDecimal]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function convert RGB to Decimal color.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[secondsToTimeDesc]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts a plain seconds-integer into a user-friendly time description.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[string.count]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function counts the amount of occurences of a string in a string.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[string.explode]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function splits a string at a given separator pattern and returns a table with the pieces.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[string.insert]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function inserts a string within another string at a given position.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[splitMultiple]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function improves the split function so that multiple characters can be used as the split at character.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[switch]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows the value of a variable or expression to control the flow of program execution via a multiway branch.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[tocolor2rgba]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function convert tocolor to rgba.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[toHex]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts a decimal number to a hexadecimal number, as a fix to be used client-side.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[var dump]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function outputs information about one or more variables using outputConsole.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[wavelengthToRGBA]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts a physical wavelength of light to a RGBA color.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[fixPersianString]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a fixed sorted bilingual RTL for strings consisting of Farsi/Arabic and English.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== GUI functions === &lt;br /&gt;
*[[centerWindow]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function centers a CEGUI window element responsively in any resolution.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiMoveElement]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function moves guiElement by/like using moveObject.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiSetStaticImageMovable]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to move a static image like a gui window.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isMouseOnGUICloseButton]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to check whether the mouse cursor/pointer is within a gui-window's native close button.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isMouseOnGuiElement]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to check whether or not your mouse is over a specific gui element, this is especially useful if the gui element has a parent. &amp;lt;/span&amp;gt;&lt;br /&gt;
=====Comboboxes=====&lt;br /&gt;
*[[guiComboBoxAdjustHeight]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function adjusts a CEGUI combobox element to have the correct height.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gridlists=====&lt;br /&gt;
*[[convertGridListToText]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts grid list contents to text.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getGridListRowIndexFromText]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the GridList row index from the specified text.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiGridListAddPlayers]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function add all online players to a grid list.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiGridListGetColumnIDFromTitle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets a gridlist's column ID from the column title.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiGridListGetSelectedText]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a string containing the inner text of a selected gridlist item.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[guiGridListSetColumnNonSortable]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function makes a gridlist column become non-sortable.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isTextInGridList]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if some text exist or not in the GridList.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Labels=====&lt;br /&gt;
*[[guiLabelAddEffect]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function add an effects to the gui-label like (shadow, outline).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Marker functions ===&lt;br /&gt;
*[[createMarkerAttachedTo]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function creates a marker that is attached to an element.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Math functions ===&lt;br /&gt;
*[[math.clamp]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the number between range of numbers or it's minimum or maximum.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.getBezierPoint]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Get N-th order bezier point.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.hypot]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the Hypotenuse of the triangle given by sides x and y.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.isPointInPolygon]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Check if point is inside polygon or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.lerp]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Get val between two integer.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.percent]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a percentage from two number values.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.polygonArea]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Compute area of any polygon.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.randomDiff]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Generates a pseudo-random integer that's always different from the last random number generated.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.rotVecToEulerAngle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Rotation Vector To Euler Angle&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.round]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Rounds a number whereas the number of decimals to keep and the method may be set.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[mathNumber]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function is a workaround for the client-side floating-point precision of 24-bits.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[reMap]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Re-maps a number from one range to another.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Math.percentProgress|math.percentProgress]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Returns a percentage progress from two specific values.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.average]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the simple arithmetic mean of multiple numbers.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[math.absin]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a formula representing the just positive half of a sine wave.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Map functions ===&lt;br /&gt;
*[[assignLod]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function lets you conveniently generate and apply a LOD model to a mapping object.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getWorldPositionFromMapPosition]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function converts an F11 map position to world position.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ped functions ===&lt;br /&gt;
*[[getAlivePlayersInTeam]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the alive players in a team.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getGuestPlayers]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets a players not login or players Guest .&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getOnlineAdmins]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all logged-in administrators.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedEyesPosition]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to get peds eyes position.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedGender]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to get peds their gender.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedMaxHealth]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a pedestrians's maximum health by converting it from their maximum health stat.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedMaxOxygenLevel]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a ped's maximum oxygen level by converting it from their maximum underwater stamina stat.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedWeaponSkill]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a ped's corresponding weapon skill level name.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPedHitBone]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets the approximate number of the bone where the ped is hit.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerFromNamePart]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a player from partial name.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerFromSerial]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a player from their serial.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersByData]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of players that have the specified data name.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersInPhotograph]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all players in photograph.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersInVehicles]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the players insides vehicles from a specified dimension.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedAiming]]&amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a pedestrian is aiming their weapon.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedAimingNearPed]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This is similar to isPedAiming but uses a colshape to be more precise.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedDiving]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This feature checks that pedestrian is diving in the water.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedDrivingVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a specified pedestrian is driving a vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPedNearbyWall]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if player/ped is nearby a objects like buildings or walls.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPlayerInTeam]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a player is in a specified team.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setPedAttack]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function will make a ped attack a specified target.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setPedFollow]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function will make a ped follow a specified target.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerNameFromID]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function will get the player name from the ID element data.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Player functions ===&lt;br /&gt;
*[[countPlayersInRange]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the number of players that are within a certain range of the specified coordinates.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayerPreviousAndNextWeapon]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the player previous and next weapon.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getPlayersInRange]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function make a table of players within certain range.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPlayerActuallyInVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a player is actually in a vehicle instead of just in the process of entering.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isPlayerHitByVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function cancels event when a element is hit by a vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Resource functions ===&lt;br /&gt;
*[[getFilesInResourceFolder]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets a list of files that are inside a folder of a resource.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getResourceScripts]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the resource scripts.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getResourceSettings]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of the resource settings.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getResourceSize]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the size of a specified resource in kB(kilobyte)&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[refreshResource]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function refreshes your resource if you changed any of the files&lt;br /&gt;
*[[setResourcePriority]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function set resource download priority group.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sound functions ===&lt;br /&gt;
*[[isSoundFinished]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a sound element has finished.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isSoundPlaying]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a sound element is playing or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[stopSoundSlowly]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function stop your sound element slowly.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Browser functions ===&lt;br /&gt;
*[[playVideo]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function plays a video on the screen.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Team functions ===&lt;br /&gt;
*[[getTeamFromColor]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a team element by the specified color.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getTeamWithFewestPlayers]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a team element with least players of all the specified teams.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vehicle functions ===&lt;br /&gt;
*[[findEmptyCarSeat]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function finds you the first empty seat in a vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getNearestVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets the nearest vehicle to the specified player in a specified distance.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getRandomVehicle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets a random vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getValidVehicleModels]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of all valid vehicle models.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getVehiclesCountByType]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the amount of vehicles by the given type as an integer value.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getVehicleTurnVelocityCenterOfMass]]&amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets a vehicle's turn velocity relative to the vehicle's center or mass.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleDoubleExhaust]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks is exhaust vehicle double.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleEmpty]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether a vehicle is empty.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleOccupied]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a specified vehicle is occupied.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleOnRoof]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks whether vehicle is on roof.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleOnFire]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if the vehicle is on fire or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleReversing]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a specified vehicle is moving backwards.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isVehicleUpgraded]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks is vehicle upgraded by upgrade ID.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setVehicleGravityPoint]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function sets a vehicle's gravity in the direction of a 3 dimensional coordinate with the strength specified.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setVehicleTurnVelocityCenterOfMass]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function sets a vehicle's turn velocity relative to the vehicle's center or mass.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setVehicleHandlingFromText]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function sets a vehicle's handling from text.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[setVehicleWheelModel]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function changes the wheel model of the informed vehicle.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weapon functions === &lt;br /&gt;
*[[getJetpackWeaponsEnabled]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns a table of enabled weapons usable on a jetpack.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Object functions ===&lt;br /&gt;
*[[getDynamicDoorObjectOpenRatio]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function tells you how open a dynamic door is in a range from 0 to 1.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isElementObject]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function tells you if an element is an object or no.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XML functions ===&lt;br /&gt;
*[[getXMLNodes]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns all children of a XML node.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Engine functions ===&lt;br /&gt;
*[[engineGetCOLsFromLibrary]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function gets the collision data from the col library.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[engineLoadIMGContainer]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function loads the IMG container.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Utility ===&lt;br /&gt;
*[[animate]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to use interpolateBetween without render event and easily used.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[callClientFunction]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to call any client-side function from the server's side.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[callServerFunction]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to call any server-side function from the client's side.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[check]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if its arguments are of the right type and calls the error-function if one is not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[checkPassiveTimer]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to use passive timers in your conditions. For example you want to prevent players repeatedly using a command.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[coroutine.resume]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function applies a fix for hidden coroutine error messages.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[compact]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function create table containing variables and their values.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getBanBySerial]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the ban if the serial is banned.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getBanFromName]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This functions returns the ban of the given playername.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getCurrentFPS]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the frames per second at which GTA: SA is running.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[getSkinNameFromID]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns the name of the skin from the given id.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[IfElse]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns one of two values based on a boolean expression.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isCharInString]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This shared function allows you to check if a char specified is in a string value.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isLastExecuteInTimer]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function check if the execute is the last execute in the timer.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isMouseInCircle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function checks if a cursor position is in circular area or not.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[isMouseInPosition]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allows you to check whether the mouse cursor/pointer is within a rectangular position.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[iterElements]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function returns ''a time-saving'' iterator for your for-loops.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[PlotTrajectoryAtTime]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» Calculate projectile/water trajectory.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[preprocessor]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function allow you to use gcc macros.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[vector3:compare]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This method checks whether two vectors match, with optional precision.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[svgCreateRoundedRectangle]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function creates a rectangle with rounded edges.&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[debounce]] &amp;lt;span style=&amp;quot;color:gray; font-size:smaller;&amp;quot;&amp;gt;» This function is removing unwanted input noise.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Useful Functions]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FA/%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=77461</id>
		<title>FA/صفحه اصلی</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FA/%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=77461"/>
		<updated>2023-08-13T00:37:48Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;display: flex; align-items: center; padding-left: 15px; padding-right: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Mtalogo.png||100px|link=https://wiki.multitheftauto.com/]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: .5em&amp;quot;&amp;gt;&lt;br /&gt;
'''به دانشنامه [[Multi_Theft_Auto|Multi Theft Auto]] خوش آمدید.'''در این دانشنامه شما در مورد چگونگی استفاده از Multi Theft Auto مطلع میشوید.&lt;br /&gt;
 &lt;br /&gt;
کارهای زیادی وجود دارد که میتوانید برای [[How_you_can_help|کمک به ما]] در بهبود MTA انجام دهید - ایجاد یک نقشه، یک سبک بازی (gamemode)، کمک به مستندسازی توابع برنامه نویسی، نوشتن نمونه کد، ساخت آموزش یا فقط بازی کردن و گزارش ایراداتی (باگ هایی) که با آن مواجه میشوید.&lt;br /&gt;
 &lt;br /&gt;
در صورتی که هر گونه پرسش یا ابهامی در مورد برنامه نویسی دارید، میتوانید در [[Discord|دیسکورد]] با ما در تماس باشید .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;margin-top: 1em; display: block;&amp;quot;&amp;gt;[ Stop playing with yourself ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-direction: row; flex-wrap: wrap;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex-grow: 1&amp;quot;&amp;gt; &amp;lt;!-- left column start --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background: #FFFCF2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Input-gaming.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;بازی&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #FFEEAA; border: 1px solid #FFCD19;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=https://mtasa.com/]] ''' [https://mtasa.com/ Download Multi Theft Auto: San Andreas {{Current Version|full}}]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* [https://wiki.multitheftauto.com/wiki/Where_to_buy_GTASA از کجا GTA:SA را بخریم]&lt;br /&gt;
* [[Client_Manual|راهنمای کاربر (Client)]]&lt;br /&gt;
&amp;lt;!-- * [[Changes_in_{{padleft:|3|{{Current Version|full}}}}| Changes in {{padleft:|3|{{Current Version|full}}}}]] --&amp;gt;&lt;br /&gt;
* [[Changes_in_{{padleft:|5|{{Current Version|full}}}}| تغییرات نسخه {{padleft:|5|{{Current Version|full}}}}]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|ایرادات شناخته شده ]]&lt;br /&gt;
* [[Server_Manual|راهنمای میزبان (Server)]]&lt;br /&gt;
* [[Map_manager|مدیریت نقشه (مپ منیجر || Map Manager)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ویرایشگر نقشه (Map Editor || مپ ادیتور)&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Resource:Editor|راهنما]]&lt;br /&gt;
* [[Resource:Editor/EDF| ساختاربندی ویرایشگر (Editor Definition Format)]]&lt;br /&gt;
* [[Resource:Editor/Plugins|افزونه ها]]&lt;br /&gt;
* [[Resource:Editor#FAQ|پرسش های متداول]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Package-x-generic.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;پایگاه های داده&amp;lt;/h3&amp;gt;&lt;br /&gt;
این بخش تمام قابلیت‌های Lua یا منابعی را که MTA ارائه می‌کند، تشریح می‌کند.&lt;br /&gt;
* برای نوشتن اسکریپت‌های صحیح تر، باید از [[:Category:Resource|کاتالوگ منابع]] بیاموزید.&lt;br /&gt;
&lt;br /&gt;
* [[Client side scripts | اسکریپت های سمت کاربر (Client)]]&lt;br /&gt;
* [[Modules | ماژول ها]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-development.png‎‎‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;توسعه Multi Theft Auto&amp;lt;/h3&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=https://nightly.mtasa.com/]] [https://nightly.mtasa.com/ نسخه های روزانه]&lt;br /&gt;
* [[Compiling_MTASA|کامپایل MTASA در ویندوز (Windows)]]&lt;br /&gt;
&amp;lt;!--* [[Building_MTASA_Server_on_Mac_OS_X|Compiling MTASA on Mac OS X]]--&amp;gt;&lt;br /&gt;
* [[Building_MTASA_Server_on_GNU_Linux|کامپایل MTASA در گنو لینوکس (GNU/Linux)]]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue/blob/master/CONTRIBUTING.md دستورالعمل های کد نویسی و توسعه]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue مخزن اصلی در GitHub]&lt;br /&gt;
*  [[roadmap|نقشه راه (Roadmap)]]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue/issues ردیاب باگ (Bugtracker)]&lt;br /&gt;
* [[Branches|شاخه های دیگر (Branches)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-office.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;چگونه شما میتوانید به wiki کمک کنید &amp;lt;/h3&amp;gt;&lt;br /&gt;
* تکمیل مستندات برای [[:Category:Incomplete|فانکشن های ناکامل]] .&lt;br /&gt;
* [[:Category:Needs_Example|اظافه کردن مثال به توابع (فانکشن | function) و رویدادها (ایونت | event)]].&lt;br /&gt;
* بازنگری و تایید [[:Category:Needs Checking|صفخاتی که نیاز به بررسی دارند]].&lt;br /&gt;
* برای افراد تازه وارد آموزش بسازید و به یادگیری آنها کمک کنید.&lt;br /&gt;
* درصورت داشتن مهارت کافی صفحات دانشنامه (ویکی | wiki) را ترجمه کنید.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Internet-group-chat.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Community&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [https://forum.multitheftauto.com/ فروم]&lt;br /&gt;
* [https://discord.com/invite/mtasa دیسکورد جامعه]&lt;br /&gt;
* [https://discord.com/invite/GNN6PRtTnu دیسکورد توسعه دهنده ها]&lt;br /&gt;
* [https://community.mtasa.com/ جامعه MTA] - به اشتراک گذاشتن و دانلود منابع (ریسورس ها | resources)&lt;br /&gt;
* [https://twitter.com/#!/MTAQA/ توییتر] - [https://www.youtube.com/user/MTAQA یوتیوب] - [https://plus.google.com/102014133442331779727/ گوگل پلاس+] - [https://www.moddb.com/mods/multi-theft-auto-san-andreas ModDB]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;!-- left column end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex-grow: 1&amp;quot;&amp;gt; &amp;lt;!-- right column start --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Accessories-text-editor.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Scripting&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]] - Behind every resource is a meta file that defines it&lt;br /&gt;
** [[ACL]] - Access Control List, this is vital for complex scripts to work&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
Forum Links&lt;br /&gt;
* [https://forum.mtasa.com/forum/71-scripting/ Scripting Forum]&lt;br /&gt;
* [https://forum.mtasa.com/forum/123-tutorials/ Scripting Tutorials Sub-Forum]&lt;br /&gt;
* [https://forum.mtasa.com/topic/24702-mtasa-wiki-offline-copies-online-mirrors/ Offline Wiki Copies]&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:start-here.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;General Lua Help&amp;lt;/h3&amp;gt;&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
**[http://www.lua.org/manual/5.1/#index Internal Lua functions reference]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.sourceforge.net/manual/0.5.1/nixstaller_10.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#F2F2FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Preferences-system.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Reference&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:System-file-manager.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;[[Id|فهرست شناسنامه ها]]&amp;lt;/h3&amp;gt;&lt;br /&gt;
*[[Animations|انیمیشن ها]]&lt;br /&gt;
*[[Character Skins | کاراکتر ها]]&lt;br /&gt;
*[[CJ_Clothes|سبک های لباس]]&lt;br /&gt;
*[[Garage | شناسنامه های گاراژ]]&lt;br /&gt;
*[[Interior IDs | شناسنامه های داخلی]]&lt;br /&gt;
*[[Material IDs | شناسه های مواد]]&lt;br /&gt;
*[[Ped voices|صدای Ped]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips | تصاویره روی نقشه]]&lt;br /&gt;
*[[sounds | صدا ها]]&lt;br /&gt;
*[[Vehicle IDs | شناسه های خودرو]]&lt;br /&gt;
*[[Vehicle Colors | رنگ های خودرو]]&lt;br /&gt;
*[[Vehicle Upgrades | ارتقاء خودرو]]&lt;br /&gt;
*[[Vehicle variants | انواع خودرو]]&lt;br /&gt;
*[[Vehicle component manipulation | دستکاری اجزای خودرو]]&lt;br /&gt;
*[[Weapons|سلاح ها]]&lt;br /&gt;
*[[weather | آب و هوا]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;!-- right column end --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;!-- flex container close --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Footer --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; align-items: center; padding-left: 15px; padding-right: 15px;&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;margin-right: 1em;&amp;quot;&amp;gt;[[File:MTALogo_8ball.png||85px|link=Archive]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-right: 5em;&amp;quot;&amp;gt;&lt;br /&gt;
'''About [[Multi Theft Auto]]''' &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archive]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Press Coverage]] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/multitheftauto/mtasa-blue/graphs/contributors Developers]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-right: 5em;&amp;quot;&amp;gt;&lt;br /&gt;
'''Multi Theft Auto 0.5''' &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archive#Multi_Theft_Auto_0.5|Download]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[MTA 0.5r2 Known Issues|مشکلات شناخته شده]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-right: 5em;&amp;quot;&amp;gt;&lt;br /&gt;
'''آمار ویکی''' &amp;lt;br&amp;gt;&lt;br /&gt;
{{NUMBEROFARTICLES}} مقالات &amp;lt;br&amp;gt;&lt;br /&gt;
{{NUMBEROFPAGES}} صفحات &amp;lt;br&amp;gt;&lt;br /&gt;
{{NUMBEROFUSERS}} کاربران ثبت شده &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Osi symbol.png|75px|link=https://opensource.org/|left]]&lt;br /&gt;
'''Multi Theft Auto یک پروژه منبع باز است'''. &lt;br /&gt;
&amp;lt;br/&amp;gt;این به این معنی است که هر کسی می تواند در توسعه و بهبود Multi Theft Auto مشارکت داشته باشد!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{Languages list|en}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=FA/%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=77460</id>
		<title>FA/صفحه اصلی</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=FA/%D8%B5%D9%81%D8%AD%D9%87_%D8%A7%D8%B5%D9%84%DB%8C&amp;diff=77460"/>
		<updated>2023-08-13T00:34:07Z</updated>

		<summary type="html">&lt;p&gt;RubyCommunity: o improve the dictionary, use more accurate and understandable words, and appropriate sentence structure and add new translations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;display: flex; align-items: center; padding-left: 15px; padding-right: 15px;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Mtalogo.png||100px|link=https://wiki.multitheftauto.com/]]&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-left: .5em&amp;quot;&amp;gt;&lt;br /&gt;
'''به دانشنامه [[Multi_Theft_Auto|Multi Theft Auto]] خوش آمدید.'''در این دانشنامه شما در مورد چگونگی استفاده از Multi Theft Auto مطلع میشوید.&lt;br /&gt;
 &lt;br /&gt;
کارهای زیادی وجود دارد که میتوانید برای [[How_you_can_help|کمک به ما]] در بهبود MTA انجام دهید - ایجاد یک نقشه، یک سبک بازی (gamemode)، کمک به مستندسازی توابع برنامه نویسی، نوشتن نمونه کد، ساخت آموزش یا فقط بازی کردن و گزارش ایراداتی (باگ هایی) که با آن مواجه میشوید.&lt;br /&gt;
 &lt;br /&gt;
در صورتی که هر گونه پرسش یا ابهامی در مورد برنامه نویسی دارید، میتوانید در [[Discord|دیسکورد]] با ما در تماس باشید .&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;margin-top: 1em; display: block;&amp;quot;&amp;gt;[ Stop playing with yourself ]&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-direction: row; flex-wrap: wrap;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex-grow: 1&amp;quot;&amp;gt; &amp;lt;!-- left column start --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background: #FFFCF2;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Input-gaming.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;بازی&amp;lt;/h3&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;background: #FFEEAA; border: 1px solid #FFCD19;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=https://mtasa.com/]] ''' [https://mtasa.com/ Download Multi Theft Auto: San Andreas {{Current Version|full}}]'''&amp;lt;/div&amp;gt;&lt;br /&gt;
* [https://wiki.multitheftauto.com/wiki/Where_to_buy_GTASA از کجا GTA:SA را بخریم]&lt;br /&gt;
* [[Client_Manual|راهنمای کاربر (Client)]]&lt;br /&gt;
&amp;lt;!-- * [[Changes_in_{{padleft:|3|{{Current Version|full}}}}| Changes in {{padleft:|3|{{Current Version|full}}}}]] --&amp;gt;&lt;br /&gt;
* [[Changes_in_{{padleft:|5|{{Current Version|full}}}}| تغییرات نسخه {{padleft:|5|{{Current Version|full}}}}]]&lt;br /&gt;
* [[Known_Issues_-_FAQ|ایرادات شناخته شده ]]&lt;br /&gt;
* [[Server_Manual|راهنمای میزبان (Server)]]&lt;br /&gt;
* [[Map_manager|مدیریت نقشه (مپ منیجر || Map Manager)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h3&amp;gt;ویرایشگر نقشه (Map Editor || مپ ادیتور)&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Resource:Editor|راهنما]]&lt;br /&gt;
* [[Resource:Editor/EDF| ساختاربندی ویرایشگر (Editor Definition Format)]]&lt;br /&gt;
* [[Resource:Editor/Plugins|افزونه ها]]&lt;br /&gt;
* [[Resource:Editor#FAQ|پرسش های متداول]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Package-x-generic.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;پایگاه های داده&amp;lt;/h3&amp;gt;&lt;br /&gt;
این بخش تمام قابلیت‌های Lua یا منابعی را که MTA ارائه می‌کند، تشریح می‌کند.&lt;br /&gt;
* برای نوشتن اسکریپت‌های صحیح تر، باید از [[:Category:Resource|کاتالوگ منابع]] بیاموزید.&lt;br /&gt;
&lt;br /&gt;
* [[Client side scripts | اسکریپت های سمت کاربر (Client)]]&lt;br /&gt;
* [[Modules | ماژول ها]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-development.png‎‎‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;توسعه Multi Theft Auto&amp;lt;/h3&amp;gt;&lt;br /&gt;
[[File:Go-down.png|link=https://nightly.mtasa.com/]] [https://nightly.mtasa.com/ نسخه های روزانه]&lt;br /&gt;
* [[Compiling_MTASA|کامپایل MTASA در ویندوز (Windows)]]&lt;br /&gt;
&amp;lt;!--* [[Building_MTASA_Server_on_Mac_OS_X|Compiling MTASA on Mac OS X]]--&amp;gt;&lt;br /&gt;
* [[Building_MTASA_Server_on_GNU_Linux|کامپایل MTASA در گنو لینوکس (GNU/Linux)]]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue/blob/master/CONTRIBUTING.md دستورالعمل های کد نویسی و توسعه]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue مخزن اصلی در GitHub]&lt;br /&gt;
*  [[roadmap|نقشه راه (Roadmap)]]&lt;br /&gt;
* [https://github.com/multitheftauto/mtasa-blue/issues ردیاب باگ (Bugtracker)]&lt;br /&gt;
* [[Branches|شاخه های دیگر (Branches)]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Applications-office.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;چگونه شما میتوانید به ٌwiki کمک کنید &amp;lt;/h3&amp;gt;&lt;br /&gt;
* تکمیل مستندات برای [[:Category:Incomplete|فانکشن های ناکامل]] .&lt;br /&gt;
* [[:Category:Needs_Example|اظافه کردن مثال به توابع (فانکشن | function) و رویدادها (ایونت | event)]].&lt;br /&gt;
* بازنگری و تایید [[:Category:Needs Checking|صفخاتی که نیاز به بررسی دارند]].&lt;br /&gt;
* برای افراد تازه وارد آموزش بسازید و به یادگیری آنها کمک کنید.&lt;br /&gt;
* درصورت داشتن مهارت کافی صفحات دانشنامه (ویکی | wiki) را ترجمه کنید.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Internet-group-chat.png‎|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Community&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [https://forum.multitheftauto.com/ فروم]&lt;br /&gt;
* [https://discord.com/invite/mtasa دیسکورد جامعه]&lt;br /&gt;
* [https://discord.com/invite/GNN6PRtTnu دیسکورد توسعه دهنده ها]&lt;br /&gt;
* [https://community.mtasa.com/ جامعه MTA] - به اشتراک گذاشتن و دانلود منابع (ریسورس ها | resources)&lt;br /&gt;
* [https://twitter.com/#!/MTAQA/ توییتر] - [https://www.youtube.com/user/MTAQA یوتیوب] - [https://plus.google.com/102014133442331779727/ گوگل پلاس+] - [https://www.moddb.com/mods/multi-theft-auto-san-andreas ModDB]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;!-- left column end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;flex-grow: 1&amp;quot;&amp;gt; &amp;lt;!-- right column start --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Accessories-text-editor.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Scripting&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Scripting Introduction|Introduction to Scripting]]&lt;br /&gt;
* [[Introduction to Scripting the GUI]]&lt;br /&gt;
* [[Debugging|Debugging Tutorial]] - How to find errors in your scripts&lt;br /&gt;
* [[Resources|Introduction to Resources]]&lt;br /&gt;
** [[Resource Web Access]] - How you can write websites with resources&lt;br /&gt;
** [[:Category:Resource|Resource Catalogue]]&lt;br /&gt;
** [[Meta.xml]] - Behind every resource is a meta file that defines it&lt;br /&gt;
** [[ACL]] - Access Control List, this is vital for complex scripts to work&lt;br /&gt;
* [[Writing_Gamemodes|Writing Gamemodes]]&lt;br /&gt;
* [[Useful_Functions|Useful functions]]&lt;br /&gt;
Forum Links&lt;br /&gt;
* [https://forum.mtasa.com/forum/71-scripting/ Scripting Forum]&lt;br /&gt;
* [https://forum.mtasa.com/forum/123-tutorials/ Scripting Tutorials Sub-Forum]&lt;br /&gt;
* [https://forum.mtasa.com/topic/24702-mtasa-wiki-offline-copies-online-mirrors/ Offline Wiki Copies]&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:start-here.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;General Lua Help&amp;lt;/h3&amp;gt;&lt;br /&gt;
Pages designed to aid your understanding of Lua&lt;br /&gt;
*[http://www.lua.org/pil/index.html &amp;quot;Programming in Lua&amp;quot; Manual]&lt;br /&gt;
**[http://www.lua.org/manual/5.1/#index Internal Lua functions reference]&lt;br /&gt;
*[http://lua-users.org/wiki/TutorialDirectory Lua Wiki]&lt;br /&gt;
*[http://nixstaller.sourceforge.net/manual/0.5.1/nixstaller_10.html A general guide to Lua from Nixstaller]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px; background:#F2F2FF;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:Preferences-system.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;Reference&amp;lt;/h3&amp;gt;&lt;br /&gt;
* [[Client Scripting Functions|Client-side Functions]]&lt;br /&gt;
* [[Client Scripting Events|Client-side Events]]&lt;br /&gt;
* [[Server Scripting Functions|Server-side Functions]]&lt;br /&gt;
* [[Server Scripting Events|Server-side Events]]&lt;br /&gt;
&amp;lt;!-- Incomplete * [[Module functions|Server-side external module scripting functions list]] --&amp;gt;&lt;br /&gt;
* [[MTA Classes]] - Detailed descriptions of all MTA custom types&lt;br /&gt;
** [[Element|MTA Elements]] / [[Element tree]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 1px solid #D8D8D8; padding:4px 8px 8px 8px; margin:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:right; width: 32px;&amp;quot;&amp;gt;[[File:System-file-manager.png|link=]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;h3&amp;gt;[[Id|فهرست شناسنامه ها]]&amp;lt;/h3&amp;gt;&lt;br /&gt;
*[[Animations|انیمیشن ها]]&lt;br /&gt;
*[[Character Skins | کاراکتر ها]]&lt;br /&gt;
*[[CJ_Clothes|سبک های لباس]]&lt;br /&gt;
*[[Garage | شناسنامه های گاراژ]]&lt;br /&gt;
*[[Interior IDs | شناسنامه های داخلی]]&lt;br /&gt;
*[[Material IDs | شناسه های مواد]]&lt;br /&gt;
*[[Ped voices|صدای Ped]]&lt;br /&gt;
*[[Projectiles]]&lt;br /&gt;
*[[Radar Blips | تصاویره روی نقشه]]&lt;br /&gt;
*[[sounds | صدا ها]]&lt;br /&gt;
*[[Vehicle IDs | شناسه های خودرو]]&lt;br /&gt;
*[[Vehicle Colors | رنگ های خودرو]]&lt;br /&gt;
*[[Vehicle Upgrades | ارتقاء خودرو]]&lt;br /&gt;
*[[Vehicle variants | انواع خودرو]]&lt;br /&gt;
*[[Vehicle component manipulation | دستکاری اجزای خودرو]]&lt;br /&gt;
*[[Weapons|سلاح ها]]&lt;br /&gt;
*[[weather | آب و هوا]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;!-- right column end --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;!-- flex container close --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Footer --&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap; align-items: center; padding-left: 15px; padding-right: 15px;&amp;quot; class=&amp;quot;plainlinks&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;margin-right: 1em;&amp;quot;&amp;gt;[[File:MTALogo_8ball.png||85px|link=Archive]]&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flex; flex-wrap: wrap;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-right: 5em;&amp;quot;&amp;gt;&lt;br /&gt;
'''About [[Multi Theft Auto]]''' &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archive]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[Press Coverage]] &amp;lt;br&amp;gt;&lt;br /&gt;
[https://github.com/multitheftauto/mtasa-blue/graphs/contributors Developers]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-right: 5em;&amp;quot;&amp;gt;&lt;br /&gt;
'''Multi Theft Auto 0.5''' &amp;lt;br&amp;gt;&lt;br /&gt;
[[Archive#Multi_Theft_Auto_0.5|Download]] &amp;lt;br&amp;gt;&lt;br /&gt;
[[MTA 0.5r2 Known Issues|مشکلات شناخته شده]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin-right: 5em;&amp;quot;&amp;gt;&lt;br /&gt;
'''آمار ویکی''' &amp;lt;br&amp;gt;&lt;br /&gt;
{{NUMBEROFARTICLES}} مقالات &amp;lt;br&amp;gt;&lt;br /&gt;
{{NUMBEROFPAGES}} صفحات &amp;lt;br&amp;gt;&lt;br /&gt;
{{NUMBEROFUSERS}} کاربران ثبت شده &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div&amp;gt;&lt;br /&gt;
[[File:Osi symbol.png|75px|link=https://opensource.org/|left]]&lt;br /&gt;
'''Multi Theft Auto یک پروژه منبع باز است'''. &lt;br /&gt;
&amp;lt;br/&amp;gt;این به این معنی است که هر کسی می تواند در توسعه و بهبود Multi Theft Auto مشارکت داشته باشد!&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;br /&gt;
{{Languages list|en}}&lt;/div&gt;</summary>
		<author><name>RubyCommunity</name></author>
	</entry>
</feed>