<?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=Loos5092</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=Loos5092"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Loos5092"/>
	<updated>2026-04-22T12:31:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=46105</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=46105"/>
		<updated>2015-11-14T08:30:42Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|An example of how dxDrawLoading function works in practice.]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 [ int size = 1.00 , int color = black , int color2 = green ,  int time  = 5000 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX:''' x coordinates of the form&lt;br /&gt;
*'''posY:''' y coordinates of the form&lt;br /&gt;
*'''width:''' Display format&lt;br /&gt;
*'''height:''' Length figure&lt;br /&gt;
*'''posX2:''' Writing for the coordinates x&lt;br /&gt;
*'''posY2:''' Writing for the coordinates y&lt;br /&gt;
== Optional Arguments ==&lt;br /&gt;
*'''size:''' size Text&lt;br /&gt;
*'''color:''' Color hard form produced using tocolor&lt;br /&gt;
*'''color2:''' Color animated form produced using tocolor&lt;br /&gt;
*'''time:''' time for end Loading&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second or 5000&lt;br /&gt;
	local color = color or tocolor(0,0,0,170)&lt;br /&gt;
	local color2 = color2 or tocolor(255,255,0,170)&lt;br /&gt;
	local size = size or 1.00&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
    dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
    dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
    dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
	sx ,sy = guiGetScreenSize()&lt;br /&gt;
        function dxLoad ()&lt;br /&gt;
		    local now = getTickCount()&lt;br /&gt;
        dxDrawLoading(196*sx/800, 482*sy/600,422*sx/800, 58*sy/600, 196*sx/800 , 450*sy/600 ,1.00*sx/800,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
		if now &amp;gt; start + 10000 then&lt;br /&gt;
		start = getTickCount()&lt;br /&gt;
		outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&lt;br /&gt;
		removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
        end&lt;br /&gt;
        end&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
sx ,sy = guiGetScreenSize()&lt;br /&gt;
cx, cy = 1440, 900&lt;br /&gt;
button = guiCreateButton(313*sx/cx, 354*sy/cy, 162*sx/cx, 24*sy/cy,&amp;quot;&amp;quot;,false)&lt;br /&gt;
guiSetVisible(button, false)&lt;br /&gt;
&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
	function dxx ()&lt;br /&gt;
	local now = getTickCount()&lt;br /&gt;
	local wi, hi = interpolateBetween(0,0,0,757*sx/cx,682*sy/cy,0, ( now - start ) / (( start + 5000 ) - start),  &amp;quot;Linear&amp;quot;)&lt;br /&gt;
	local wit, hit = interpolateBetween(0, 0, 0, b1, b2, 0, (now - start) / ((start + 5000) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
	dxDrawRectangle(319*sx/cx, 109*sy/cy, wi, hi, tocolor(0, 0, 0, 130), false)&lt;br /&gt;
	if now &amp;gt; start + 5000 then&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dd)&lt;br /&gt;
	addEventHandler(&amp;quot;onClientClick&amp;quot;,root,Buton)&lt;br /&gt;
	showCursor(true)&lt;br /&gt;
	guiSetVisible(button, true)&lt;br /&gt;
	guiSetAlpha(button, 0)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
	function dd ()&lt;br /&gt;
	dxDrawRectangle(313*sx/cx, 354*sy/cy, 162*sx/cx, 24*sy/cy, tocolor(255,255,255, 255), false)&lt;br /&gt;
	end&lt;br /&gt;
function dxxx ()&lt;br /&gt;
	now = getTickCount()&lt;br /&gt;
	local wi, hi = interpolateBetween(757*sx/cx,682*sy/cy,0,0,0,0, ( now - start ) / (( start + 5000 ) - start),  &amp;quot;Linear&amp;quot;)&lt;br /&gt;
	dxDrawRectangle(319*sx/cx, 109*sy/cy, wi, hi, tocolor(0, 0, 0, 130), false)&lt;br /&gt;
	end&lt;br /&gt;
        function dxLoad ()&lt;br /&gt;
		    local now = getTickCount()&lt;br /&gt;
        dxDrawLoading(196*sx/800, 482*sy/600,422*sx/800, 58*sy/600, 196*sx/800 , 450*sy/600 ,1.00*sx/800,tocolor(255,255,255,170),tocolor(0,0,255,170),5000)&lt;br /&gt;
		if now &amp;gt; start + 5000 then&lt;br /&gt;
		start = getTickCount()&lt;br /&gt;
		outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&lt;br /&gt;
		removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
		addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxx)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
	addEventHandler(&amp;quot;onClientGUIClick&amp;quot;,button,&lt;br /&gt;
		function ()&lt;br /&gt;
		now = getTickCount()&lt;br /&gt;
		playSoundFrontEnd(3)&lt;br /&gt;
		start = getTickCount()&lt;br /&gt;
			addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxxx)&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxx)&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dd)&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientClick&amp;quot;,root,Buton)&lt;br /&gt;
			showCursor(false)&lt;br /&gt;
			guiSetVisible(button, false)&lt;br /&gt;
			if now &amp;gt; start + 5000 then&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxxx)&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetTrainTrack&amp;diff=45937</id>
		<title>GetTrainTrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetTrainTrack&amp;diff=45937"/>
		<updated>2015-09-12T14:43:03Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{Needs Example}}&lt;br /&gt;
{{New feature/item|3.0151|1.6|7485|&lt;br /&gt;
Gets the track of a train&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;int getTrainTrack ( vehicle train )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:getTrack|track|getTrainTrack}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''train:''' the train of which to get the track.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns an ''intenger'' which means the track of the train, ''false'' if there is problem with train element.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;getTrain&amp;quot;,&lt;br /&gt;
function ()&lt;br /&gt;
	local thePlayer = getLocalPlayer()&lt;br /&gt;
	local theVehicle = getPedOccupiedVehicle(thePlayer)&lt;br /&gt;
	train = getTrainTrack(theVehicle)&lt;br /&gt;
	outputChatBox(&amp;quot;Train Track is &amp;quot;..train)&lt;br /&gt;
end)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Vehicle functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetTrainTrack&amp;diff=45936</id>
		<title>SetTrainTrack</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetTrainTrack&amp;diff=45936"/>
		<updated>2015-09-12T14:33:46Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{Needs Example}}&lt;br /&gt;
{{New feature/item|3.0151|1.6|7485|&lt;br /&gt;
Sets the track of a train&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool setTrainTrack ( vehicle train, int track )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{OOP||[[vehicle]]:setTrack|track|setTrainTrack}}&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''train:''' the train of which to set the track&lt;br /&gt;
*'''track:''' the track where you want to set the train. It can be 1, 2 or 3.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the track was set to the train, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addCommandHandler(&amp;quot;setTrain&amp;quot;,&lt;br /&gt;
function (cmd,train)&lt;br /&gt;
	local thePlayer = getLocalPlayer()&lt;br /&gt;
	local theVehicle = getPedOccupiedVehicle(thePlayer)&lt;br /&gt;
	local cc = getElementModel(theVehicle)&lt;br /&gt;
		if cc == 449 or cc == 537 or cc == 538 or cc == 570 or cc == 569 or cc == 590 then&lt;br /&gt;
	setTrainTrack(theVehicle, train)&lt;br /&gt;
		end&lt;br /&gt;
end)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Vehicle functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:Loos5092&amp;diff=45923</id>
		<title>User:Loos5092</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:Loos5092&amp;diff=45923"/>
		<updated>2015-09-09T10:18:48Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: Created page with &amp;quot;Function 1 Hello , i LoOs  my Progress in Mta or Lua  Function : [https://wiki.multitheftauto.com/dxDrawLoading DxDrawLoading...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|Function 1]]&lt;br /&gt;
Hello , i LoOs&lt;br /&gt;
&lt;br /&gt;
my Progress in Mta or Lua&lt;br /&gt;
&lt;br /&gt;
Function : [https://wiki.multitheftauto.com/dxDrawLoading DxDrawLoading] , soon , soon&lt;br /&gt;
&lt;br /&gt;
and Thanks ,&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:Ccw&amp;diff=45874</id>
		<title>User:Ccw</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:Ccw&amp;diff=45874"/>
		<updated>2015-09-05T08:40:09Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{MTA Developer}}&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2015 June 16=&lt;br /&gt;
==onPlayerNetworkStatus / onClientPlayerNetworkStatus==&lt;br /&gt;
Experimental network interruption detection introduced in r7295. Both client and server have to be r7295 or later for it to work&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Event Parameters:==&lt;br /&gt;
* '''status''': A number which is 0 if the interruption has begun, or 1 if the interruption is ending&lt;br /&gt;
* '''ticks''': Number of ticks since the interruption started&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onPlayerNetworkStatus&amp;quot;, root,&lt;br /&gt;
  function( status, ticks )&lt;br /&gt;
    if status == 0 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from &amp;quot; .. getPlayerName(source) .. &amp;quot;) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago&amp;quot; )&lt;br /&gt;
    elseif status == 1 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from &amp;quot; .. getPlayerName(source) .. &amp;quot;) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago and has just ended&amp;quot;&amp;quot; )&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Client example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onClientPlayerNetworkStatus&amp;quot;, root,&lt;br /&gt;
  function( status, ticks )&lt;br /&gt;
    if status == 0 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from server) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago&amp;quot; )&lt;br /&gt;
    elseif status == 1 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from server) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago and has just ended&amp;quot; )&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2013 July 14=&lt;br /&gt;
==Things==&lt;br /&gt;
* Projectiles get removed (or not added, or something) by GTA, but MTA thinks it has a projectile, except it's got like a building. (SetMatrix == crash)&lt;br /&gt;
* &amp;lt;strike&amp;gt;Player customizing resource keybinds no worky&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2013 May 10=&lt;br /&gt;
==Random crashes in GTA==&lt;br /&gt;
===Consider this===&lt;br /&gt;
*During &amp;quot;onClient..&amp;quot; events, entities can be created/destroyed/change model etc.&lt;br /&gt;
*&amp;quot;onClient..&amp;quot; events can occur in the depths of GTA game processing.&lt;br /&gt;
This could be one of the causes of the random crashes we get.&lt;br /&gt;
&lt;br /&gt;
===Solution:===&lt;br /&gt;
Queue the events, and trigger them once GTA has finished it's main loop.&amp;lt;br/&amp;gt;&lt;br /&gt;
Although a few events require immediate feedback, so can't be queued. These events are:&lt;br /&gt;
*onClientPlayerChoke&lt;br /&gt;
*onClientPlayer/PedDamage&lt;br /&gt;
*onClientPlayer/PedHeliKilled&lt;br /&gt;
*onClientPlayer/PedHitByWaterCannon&lt;br /&gt;
*onClientObjectDamage&lt;br /&gt;
*onClientObjectBreak&lt;br /&gt;
*onClientExplosion&lt;br /&gt;
*onClientWeaponFire&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not queueing the above events means:&lt;br /&gt;
* They will always get triggered before the (now) queued events, for that frame. (I don't think this change of behaviour will be a big problem though.)&lt;br /&gt;
* If create/destroy/anything is done during these events, there will still be a problem with crashes. But we can worry about that later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Might I suggest source elements cannot be deleted in events as a generic rule?''&lt;br /&gt;
--[[User:Cazomino05|Cazomino05]] 22:07, 12 July 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2013 March 2=&lt;br /&gt;
==Propose source file banner credit overhaul #2==&lt;br /&gt;
===Problems with current source file credits:===&lt;br /&gt;
* Little value as a goto guy guide&lt;br /&gt;
* No one knows when to add their name to the list&lt;br /&gt;
* Encourages file additions, rather than feature additions&lt;br /&gt;
* As an information source is it quite useless and eventually misleading&lt;br /&gt;
&lt;br /&gt;
===Proposal:===&lt;br /&gt;
* Remove the 'DEVELOPERS:' section in the source files where the current listed devs agree.&lt;br /&gt;
* In files they do not agree, add the names of all the other devs to teach them a lesson.&lt;br /&gt;
* Add a 'developers.txt' somewhere with all devs names (and what they did if anyone can be bothered to document it).&lt;br /&gt;
* Include developers.txt in each module&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2012 October 7=&lt;br /&gt;
==Propose to add two new functions==&lt;br /&gt;
===addPreEventHandler and addPostEventHandler===&lt;br /&gt;
&lt;br /&gt;
Adding these will help solve the following problems:&lt;br /&gt;
:'''1. Only the function that triggered the event knows if the event was cancelled'''&lt;br /&gt;
::As ''wasEventCancelled'' is only valid after all ''addEventHandler''s have been completed&lt;br /&gt;
::(This also means its not possible to react to cancelling of inbuilt events)&lt;br /&gt;
:'''2. Solve issue of cancelling events and really stopping them from doing anything'''&lt;br /&gt;
::i.e. Cancel event in ''addPreEventHandler'' will stop ''addEventHandler'' being called altogether&lt;br /&gt;
:'''3. Wanting to do things before/after events have occurred:'''&lt;br /&gt;
::e.g. onResourceStart - Client has not been told to start yet, so some things like ''setPlayerTeam'' can't be done.&lt;br /&gt;
::Adding ''addPostEventHandler(&amp;quot;onResourceStart&amp;quot;,...)'' means we can do stuff just after resource has really started on both server and client&lt;br /&gt;
&lt;br /&gt;
===Cancellation rules===&lt;br /&gt;
====Current (As it is now)====&lt;br /&gt;
*All '''addEventHandlers''' are called.&lt;br /&gt;
&lt;br /&gt;
====Proposal #1====&lt;br /&gt;
*All '''addPreEventHandlers''' are called.&lt;br /&gt;
*If the event is not cancelled by any '''addPreEventHandler''' then:&lt;br /&gt;
:*All '''addEventHandlers''' are called.&lt;br /&gt;
:*If the event is not cancelled by any '''addEventHandlers''' then:&lt;br /&gt;
::*All '''addPostEventHandlers''' are called.&lt;br /&gt;
&lt;br /&gt;
====Proposal #2 (allows for addPostEventHandlers to detect addEventHandler cancellation)====&lt;br /&gt;
*All '''addPreEventHandlers''' are called.&lt;br /&gt;
*If the event is not cancelled by any '''addPreEventHandler''' then:&lt;br /&gt;
:*All '''addEventHandlers''' are called.&lt;br /&gt;
:*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addEventHandlers''')&lt;br /&gt;
&lt;br /&gt;
====Proposal #3 (allows for addPostEventHandlers to detect addPreEventHandlers and addEventHandler cancellation (but not distinguish which one))====&lt;br /&gt;
*All '''addPreEventHandlers''' are called.&lt;br /&gt;
*If the event is not cancelled by any '''addPreEventHandler''' then:&lt;br /&gt;
:*All '''addEventHandlers''' are called.&lt;br /&gt;
*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addPreEventHandlers''' or '''addEventHandlers''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2011 November 30=&lt;br /&gt;
==Notes for new ACL request system==&lt;br /&gt;
&lt;br /&gt;
====In the resource meta.xml:====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;aclrequest&amp;gt;&lt;br /&gt;
    &amp;lt;right name=&amp;quot;function.kickPlayer&amp;quot; access=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/right&amp;gt;&lt;br /&gt;
    &amp;lt;right name=&amp;quot;function.banPlayer&amp;quot; access=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/right&amp;gt;&lt;br /&gt;
&amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Console command 'aclrequest'====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
aclrequest list&lt;br /&gt;
&amp;gt; aclrequest: BobsGame has 2 aclrequest(s) of which 2 are pending&lt;br /&gt;
&lt;br /&gt;
aclrequest list BobsGame&lt;br /&gt;
&amp;gt; aclrequest: BobsGame [pending] for function.kickPlayer&lt;br /&gt;
&amp;gt; aclrequest: BobsGame [pending] for function.banPlayer&lt;br /&gt;
&lt;br /&gt;
aclrequest deny BobsGame all&lt;br /&gt;
&amp;gt; aclrequest: BobsGame function.kickPlayer changed to deny (Console)&lt;br /&gt;
&amp;gt; aclrequest: BobsGame function.banPlayer changed to deny (Console)&lt;br /&gt;
&lt;br /&gt;
aclrequest allow BobsGame function.kickPlayer&lt;br /&gt;
&amp;gt; aclrequest: BobsGame function.kickPlayer changed to allow (Console)&lt;br /&gt;
&lt;br /&gt;
aclrequest list BobsGame &lt;br /&gt;
&amp;gt; aclrequest: BobsGame [allow] for function.kickPlayer (by Console on 2011-11-29)&lt;br /&gt;
&amp;gt; aclrequest: BobsGame [deny] for function.banPlayer (by Console on 2011-11-29)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Script function #1:====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table getResourceACLRequests ( resource theResource )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
table return example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
{ {name=&amp;quot;function.kickPlayer&amp;quot;, access=&amp;quot;true&amp;quot;, pending=&amp;quot;false&amp;quot;, who=&amp;quot;Console&amp;quot;, date=&amp;quot;2011-11-29&amp;quot; },&lt;br /&gt;
  {name=&amp;quot;function.banPlayer&amp;quot;, access=&amp;quot;false&amp;quot;, pending=&amp;quot;false&amp;quot;, who=&amp;quot;Console&amp;quot;, date=&amp;quot;2011-11-29&amp;quot; } }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Script function #2:====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool updateResourceACLRequest ( resource theResource, string rightName, bool access, string byWho )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This only works with right names that are returned from getResourceACLRequests.&amp;lt;br&amp;gt;&lt;br /&gt;
Calling updateResourceACLRequest automatically sents the 'pending' to false and also sets the 'date'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Permissions====&lt;br /&gt;
The following are protected by default and will need an entry in the ACL:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function.updateResourceACLRequest &lt;br /&gt;
command.aclrequest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=Release dates=&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Version'''&lt;br /&gt;
|'''Date'''&lt;br /&gt;
|'''Highlights'''&lt;br /&gt;
|'''User comments'''&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| 22 August 2009&lt;br /&gt;
| First release&lt;br /&gt;
| DP2 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.1&lt;br /&gt;
| 02 October 2009&lt;br /&gt;
| Crash fixes and less lag&lt;br /&gt;
| 1.0 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.2&lt;br /&gt;
| 24 October 2009&lt;br /&gt;
| Crash fixes&lt;br /&gt;
| 1.0.1 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.3&lt;br /&gt;
| 17 December 2009&lt;br /&gt;
| Sync improved&lt;br /&gt;
| 1.0.2 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r1752) &lt;br /&gt;
| 7 June 2010&lt;br /&gt;
| Security improved&lt;br /&gt;
| 1.0.3 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r1854) &lt;br /&gt;
| 10 July 2010&lt;br /&gt;
| Crash fixes&lt;br /&gt;
| It crashes more&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r2033)&lt;br /&gt;
| 14 October 2010&lt;br /&gt;
| Crash fixes&lt;br /&gt;
| It crashes more&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r2106)&lt;br /&gt;
| 14 December 2010&lt;br /&gt;
| Browser improved&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1.0.5 (r2488)&lt;br /&gt;
| 27 March 2011&lt;br /&gt;
| AC improved&lt;br /&gt;
| It crashes more &amp;amp; 1.0.4 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.5 (r2519/2520)&lt;br /&gt;
| 4 April 2011&lt;br /&gt;
| Performance fixed&lt;br /&gt;
| 'It's almost as good as 1.0.2 now'&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.5 (r2560)&lt;br /&gt;
| 16 April 2011&lt;br /&gt;
| Performance improvements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| 25 August 2011&lt;br /&gt;
| Many new features&lt;br /&gt;
| Possibly the worst thing that has happened in the history of the world&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| 20 September 2011&lt;br /&gt;
| Accumulation of post release fixes&lt;br /&gt;
| Lags more than 1.1&lt;br /&gt;
|-&lt;br /&gt;
| 1.2&lt;br /&gt;
| 17 December 2011&lt;br /&gt;
| RakNet fix for serious network related problems&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 1.3&lt;br /&gt;
| 24 January 2012&lt;br /&gt;
| Map Download fix + loads of misc bug fixes &lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.1&lt;br /&gt;
| 03 September 2012&lt;br /&gt;
| loads of bug fixes and a boat load of new features&lt;br /&gt;
| 1.3 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| 05 May 2013&lt;br /&gt;
| Added features, improved performance&lt;br /&gt;
| No thanks, I'm sticking with 1.3.1&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.3&lt;br /&gt;
| 01 July 2013&lt;br /&gt;
| Anti-cheat updates and &amp;quot;optimus&amp;quot; fixes&lt;br /&gt;
| The game might run better when &amp;quot;optimus&amp;quot; fix is enabled so sticking with 1.3.1&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.5&lt;br /&gt;
| 24 Feb 2014&lt;br /&gt;
| Anti-cheat updates and Lua additions&lt;br /&gt;
| 1.3.5 broke my internet&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:Ccw&amp;diff=45873</id>
		<title>User:Ccw</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:Ccw&amp;diff=45873"/>
		<updated>2015-09-05T08:38:50Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* History */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{MTA Developer}}&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2015 June 16=&lt;br /&gt;
==onPlayerNetworkStatus / onClientPlayerNetworkStatus==&lt;br /&gt;
Experimental network interruption detection introduced in r7295. Both client and server have to be r7295 or later for it to work&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Event Parameters:==&lt;br /&gt;
* '''status''': A number which is 0 if the interruption has begun, or 1 if the interruption is ending&lt;br /&gt;
* '''ticks''': Number of ticks since the interruption started&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Server example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onPlayerNetworkStatus&amp;quot;, root,&lt;br /&gt;
  function( status, ticks )&lt;br /&gt;
    if status == 0 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from &amp;quot; .. getPlayerName(source) .. &amp;quot;) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago&amp;quot; )&lt;br /&gt;
    elseif status == 1 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from &amp;quot; .. getPlayerName(source) .. &amp;quot;) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago and has just ended&amp;quot;&amp;quot; )&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Client example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler( &amp;quot;onClientPlayerNetworkStatus&amp;quot;, root,&lt;br /&gt;
  function( status, ticks )&lt;br /&gt;
    if status == 0 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from server) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago&amp;quot; )&lt;br /&gt;
    elseif status == 1 then&lt;br /&gt;
      outputDebugString( &amp;quot;(packets from server) interruption began &amp;quot; .. ticks .. &amp;quot; ticks ago and has just ended&amp;quot; )&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2013 July 14=&lt;br /&gt;
==Things==&lt;br /&gt;
* Projectiles get removed (or not added, or something) by GTA, but MTA thinks it has a projectile, except it's got like a building. (SetMatrix == crash)&lt;br /&gt;
* &amp;lt;strike&amp;gt;Player customizing resource keybinds no worky&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2013 May 10=&lt;br /&gt;
==Random crashes in GTA==&lt;br /&gt;
===Consider this===&lt;br /&gt;
*During &amp;quot;onClient..&amp;quot; events, entities can be created/destroyed/change model etc.&lt;br /&gt;
*&amp;quot;onClient..&amp;quot; events can occur in the depths of GTA game processing.&lt;br /&gt;
This could be one of the causes of the random crashes we get.&lt;br /&gt;
&lt;br /&gt;
===Solution:===&lt;br /&gt;
Queue the events, and trigger them once GTA has finished it's main loop.&amp;lt;br/&amp;gt;&lt;br /&gt;
Although a few events require immediate feedback, so can't be queued. These events are:&lt;br /&gt;
*onClientPlayerChoke&lt;br /&gt;
*onClientPlayer/PedDamage&lt;br /&gt;
*onClientPlayer/PedHeliKilled&lt;br /&gt;
*onClientPlayer/PedHitByWaterCannon&lt;br /&gt;
*onClientObjectDamage&lt;br /&gt;
*onClientObjectBreak&lt;br /&gt;
*onClientExplosion&lt;br /&gt;
*onClientWeaponFire&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Not queueing the above events means:&lt;br /&gt;
* They will always get triggered before the (now) queued events, for that frame. (I don't think this change of behaviour will be a big problem though.)&lt;br /&gt;
* If create/destroy/anything is done during these events, there will still be a problem with crashes. But we can worry about that later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''Might I suggest source elements cannot be deleted in events as a generic rule?''&lt;br /&gt;
--[[User:Cazomino05|Cazomino05]] 22:07, 12 July 2013 (UTC)&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2013 March 2=&lt;br /&gt;
==Propose source file banner credit overhaul #2==&lt;br /&gt;
===Problems with current source file credits:===&lt;br /&gt;
* Little value as a goto guy guide&lt;br /&gt;
* No one knows when to add their name to the list&lt;br /&gt;
* Encourages file additions, rather than feature additions&lt;br /&gt;
* As an information source is it quite useless and eventually misleading&lt;br /&gt;
&lt;br /&gt;
===Proposal:===&lt;br /&gt;
* Remove the 'DEVELOPERS:' section in the source files where the current listed devs agree.&lt;br /&gt;
* In files they do not agree, add the names of all the other devs to teach them a lesson.&lt;br /&gt;
* Add a 'developers.txt' somewhere with all devs names (and what they did if anyone can be bothered to document it).&lt;br /&gt;
* Include developers.txt in each module&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2012 October 7=&lt;br /&gt;
==Propose to add two new functions==&lt;br /&gt;
===addPreEventHandler and addPostEventHandler===&lt;br /&gt;
&lt;br /&gt;
Adding these will help solve the following problems:&lt;br /&gt;
:'''1. Only the function that triggered the event knows if the event was cancelled'''&lt;br /&gt;
::As ''wasEventCancelled'' is only valid after all ''addEventHandler''s have been completed&lt;br /&gt;
::(This also means its not possible to react to cancelling of inbuilt events)&lt;br /&gt;
:'''2. Solve issue of cancelling events and really stopping them from doing anything'''&lt;br /&gt;
::i.e. Cancel event in ''addPreEventHandler'' will stop ''addEventHandler'' being called altogether&lt;br /&gt;
:'''3. Wanting to do things before/after events have occurred:'''&lt;br /&gt;
::e.g. onResourceStart - Client has not been told to start yet, so some things like ''setPlayerTeam'' can't be done.&lt;br /&gt;
::Adding ''addPostEventHandler(&amp;quot;onResourceStart&amp;quot;,...)'' means we can do stuff just after resource has really started on both server and client&lt;br /&gt;
&lt;br /&gt;
===Cancellation rules===&lt;br /&gt;
====Current (As it is now)====&lt;br /&gt;
*All '''addEventHandlers''' are called.&lt;br /&gt;
&lt;br /&gt;
====Proposal #1====&lt;br /&gt;
*All '''addPreEventHandlers''' are called.&lt;br /&gt;
*If the event is not cancelled by any '''addPreEventHandler''' then:&lt;br /&gt;
:*All '''addEventHandlers''' are called.&lt;br /&gt;
:*If the event is not cancelled by any '''addEventHandlers''' then:&lt;br /&gt;
::*All '''addPostEventHandlers''' are called.&lt;br /&gt;
&lt;br /&gt;
====Proposal #2 (allows for addPostEventHandlers to detect addEventHandler cancellation)====&lt;br /&gt;
*All '''addPreEventHandlers''' are called.&lt;br /&gt;
*If the event is not cancelled by any '''addPreEventHandler''' then:&lt;br /&gt;
:*All '''addEventHandlers''' are called.&lt;br /&gt;
:*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addEventHandlers''')&lt;br /&gt;
&lt;br /&gt;
====Proposal #3 (allows for addPostEventHandlers to detect addPreEventHandlers and addEventHandler cancellation (but not distinguish which one))====&lt;br /&gt;
*All '''addPreEventHandlers''' are called.&lt;br /&gt;
*If the event is not cancelled by any '''addPreEventHandler''' then:&lt;br /&gt;
:*All '''addEventHandlers''' are called.&lt;br /&gt;
*All '''addPostEventHandlers''' are called. ('''wasEventCancelled()''' will be true if event cancelled during '''addPreEventHandlers''' or '''addEventHandlers''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=2011 November 30=&lt;br /&gt;
==Notes for new ACL request system==&lt;br /&gt;
&lt;br /&gt;
====In the resource meta.xml:====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;aclrequest&amp;gt;&lt;br /&gt;
    &amp;lt;right name=&amp;quot;function.kickPlayer&amp;quot; access=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/right&amp;gt;&lt;br /&gt;
    &amp;lt;right name=&amp;quot;function.banPlayer&amp;quot; access=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;/right&amp;gt;&lt;br /&gt;
&amp;lt;/aclrequest&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Console command 'aclrequest'====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
aclrequest list&lt;br /&gt;
&amp;gt; aclrequest: BobsGame has 2 aclrequest(s) of which 2 are pending&lt;br /&gt;
&lt;br /&gt;
aclrequest list BobsGame&lt;br /&gt;
&amp;gt; aclrequest: BobsGame [pending] for function.kickPlayer&lt;br /&gt;
&amp;gt; aclrequest: BobsGame [pending] for function.banPlayer&lt;br /&gt;
&lt;br /&gt;
aclrequest deny BobsGame all&lt;br /&gt;
&amp;gt; aclrequest: BobsGame function.kickPlayer changed to deny (Console)&lt;br /&gt;
&amp;gt; aclrequest: BobsGame function.banPlayer changed to deny (Console)&lt;br /&gt;
&lt;br /&gt;
aclrequest allow BobsGame function.kickPlayer&lt;br /&gt;
&amp;gt; aclrequest: BobsGame function.kickPlayer changed to allow (Console)&lt;br /&gt;
&lt;br /&gt;
aclrequest list BobsGame &lt;br /&gt;
&amp;gt; aclrequest: BobsGame [allow] for function.kickPlayer (by Console on 2011-11-29)&lt;br /&gt;
&amp;gt; aclrequest: BobsGame [deny] for function.banPlayer (by Console on 2011-11-29)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Script function #1:====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table getResourceACLRequests ( resource theResource )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
table return example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
{ {name=&amp;quot;function.kickPlayer&amp;quot;, access=&amp;quot;true&amp;quot;, pending=&amp;quot;false&amp;quot;, who=&amp;quot;Console&amp;quot;, date=&amp;quot;2011-11-29&amp;quot; },&lt;br /&gt;
  {name=&amp;quot;function.banPlayer&amp;quot;, access=&amp;quot;false&amp;quot;, pending=&amp;quot;false&amp;quot;, who=&amp;quot;Console&amp;quot;, date=&amp;quot;2011-11-29&amp;quot; } }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Script function #2:====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool updateResourceACLRequest ( resource theResource, string rightName, bool access, string byWho )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This only works with right names that are returned from getResourceACLRequests.&amp;lt;br&amp;gt;&lt;br /&gt;
Calling updateResourceACLRequest automatically sents the 'pending' to false and also sets the 'date'.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Permissions====&lt;br /&gt;
The following are protected by default and will need an entry in the ACL:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;function.updateResourceACLRequest &lt;br /&gt;
command.aclrequest&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ==&lt;br /&gt;
=Release dates=&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|'''Version'''&lt;br /&gt;
|'''Date'''&lt;br /&gt;
|'''Highlights'''&lt;br /&gt;
|'''User comments'''&lt;br /&gt;
|-&lt;br /&gt;
| 1.0&lt;br /&gt;
| 22 August 2009&lt;br /&gt;
| First release&lt;br /&gt;
| DP2 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.1&lt;br /&gt;
| 02 October 2009&lt;br /&gt;
| Crash fixes and less lag&lt;br /&gt;
| 1.0 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.2&lt;br /&gt;
| 24 October 2009&lt;br /&gt;
| Crash fixes&lt;br /&gt;
| 1.0.1 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.3&lt;br /&gt;
| 17 December 2009&lt;br /&gt;
| Sync improved&lt;br /&gt;
| 1.0.2 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r1752) &lt;br /&gt;
| 7 June 2010&lt;br /&gt;
| Security improved&lt;br /&gt;
| 1.0.3 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r1854) &lt;br /&gt;
| 10 July 2010&lt;br /&gt;
| Crash fixes&lt;br /&gt;
| It crashes more&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r2033)&lt;br /&gt;
| 14 October 2010&lt;br /&gt;
| Crash fixes&lt;br /&gt;
| It crashes more&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.4 (r2106)&lt;br /&gt;
| 14 December 2010&lt;br /&gt;
| Browser improved&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| 1.0.5 (r2488)&lt;br /&gt;
| 27 March 2011&lt;br /&gt;
| AC improved&lt;br /&gt;
| It crashes more &amp;amp; 1.0.4 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.5 (r2519/2520)&lt;br /&gt;
| 4 April 2011&lt;br /&gt;
| Performance fixed&lt;br /&gt;
| 'It's almost as good as 1.0.2 now'&lt;br /&gt;
|-&lt;br /&gt;
| 1.0.5 (r2560)&lt;br /&gt;
| 16 April 2011&lt;br /&gt;
| Performance improvements&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.0&lt;br /&gt;
| 25 August 2011&lt;br /&gt;
| Many new features&lt;br /&gt;
| Possibly the worst thing that has happened in the history of the world&lt;br /&gt;
|-&lt;br /&gt;
| 1.1.1&lt;br /&gt;
| 20 September 2011&lt;br /&gt;
| Accumulation of post release fixes&lt;br /&gt;
| Lags more than 1.1&lt;br /&gt;
|-&lt;br /&gt;
| 1.2&lt;br /&gt;
| 17 December 2011&lt;br /&gt;
| RakNet fix for serious network related problems&lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 1.3&lt;br /&gt;
| 24 January 2012&lt;br /&gt;
| Map Download fix + loads of misc bug fixes &lt;br /&gt;
| ???&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.1&lt;br /&gt;
| 03 September 2012&lt;br /&gt;
| loads of bug fixes and a boat load of new features&lt;br /&gt;
| 1.3 was better&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.2&lt;br /&gt;
| 05 May 2013&lt;br /&gt;
| Added features, improved performance&lt;br /&gt;
| No thanks, I'm sticking with 1.3.1&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.3&lt;br /&gt;
| 01 July 2013&lt;br /&gt;
| Anti-cheat updates and &amp;quot;optimus&amp;quot; fixes&lt;br /&gt;
| The game might run better when &amp;quot;optimus&amp;quot; fix is enabled so sticking with 1.3.1&lt;br /&gt;
|-&lt;br /&gt;
| 1.3.5&lt;br /&gt;
| 24 Feb 2014&lt;br /&gt;
| Anti-cheat updates and Lua additions&lt;br /&gt;
| 1.3.5 broke my internet&lt;br /&gt;
|-&lt;br /&gt;
| 1.5.0&lt;br /&gt;
| 24 July 2015&lt;br /&gt;
| Anti-cheat updates and Lua additions&lt;br /&gt;
| Hit me Mother and Father , And Say SFA7 Noop&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:Mr.SFA7&amp;diff=45872</id>
		<title>User:Mr.SFA7</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:Mr.SFA7&amp;diff=45872"/>
		<updated>2015-09-05T08:35:48Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Do you love me?&lt;br /&gt;
&lt;br /&gt;
And why?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
where nil ?&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:TAPL&amp;diff=45871</id>
		<title>User:TAPL</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:TAPL&amp;diff=45871"/>
		<updated>2015-09-05T08:35:27Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You Love Your Mother?&lt;br /&gt;
&lt;br /&gt;
no Please Don't Say Mother ,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== in Say Mother Kill you ==&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=User:Mr.SFA7&amp;diff=45870</id>
		<title>User:Mr.SFA7</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=User:Mr.SFA7&amp;diff=45870"/>
		<updated>2015-09-05T08:34:29Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Do you love me?&lt;br /&gt;
&lt;br /&gt;
And why?&lt;br /&gt;
&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
no&lt;br /&gt;
nil&lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no &lt;br /&gt;
no&lt;br /&gt;
where nil ?&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GuiGridListSetColumnTitle&amp;diff=45860</id>
		<title>GuiGridListSetColumnTitle</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GuiGridListSetColumnTitle&amp;diff=45860"/>
		<updated>2015-09-04T21:25:46Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{client function}}&lt;br /&gt;
{{Needs_Example}}&lt;br /&gt;
This function is used to change the column title of a gridlist column.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool guiGridListSetColumnTitle( element guiGridlist, int columnIndex, string title )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''guiGridlist''': The grid list you want to change the column title from&lt;br /&gt;
*'''columnIndex''': Column ID&lt;br /&gt;
*'''title''': The title of the column&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the new title was set, or ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3.1-9.04949.0}}&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
	addCommandHandler(&amp;quot;Set&amp;quot;,function(cmd, title)&lt;br /&gt;
		With = guiGridListSetColumnTitle(grid ,c, title)&lt;br /&gt;
	if guiGridListGetColumnTitle(grid, c) == title then&lt;br /&gt;
		outputChatBox(&amp;quot;Set Name Column Successfully Name New : &amp;quot;..title,0,255,0)&lt;br /&gt;
else&lt;br /&gt;
		outputChatBox(&amp;quot;Error : Your Not Set Name in Command&amp;quot;,255,0,0)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{GUI_functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GuiGridListGetColumnWidth&amp;diff=45859</id>
		<title>GuiGridListGetColumnWidth</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GuiGridListGetColumnWidth&amp;diff=45859"/>
		<updated>2015-09-04T21:01:40Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: GuiGridListGetColumnWidth&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Client function}}&lt;br /&gt;
__NOTOC__ &lt;br /&gt;
This allows you to get the width of an existing column in a gridlist.&lt;br /&gt;
&lt;br /&gt;
==Syntax== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool guiGridListGetColumnWidth ( element gridList, int columnIndex, bool relative )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
===Required Arguments=== &lt;br /&gt;
*'''gridList:''' The grid list you want to add a column to&lt;br /&gt;
*'''columnIndex:''' Column ID of the Get size&lt;br /&gt;
*'''relative:''' A boolean defining whether '''width''' measurements will be relative to the Gridlist size, or absolute pixels.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if the gridlist column width was successfully set, ''false'' if bad arguments were given.&lt;br /&gt;
&lt;br /&gt;
==Example== &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;grid = guiCreateGridList(313, 354, 162, 100, false)&lt;br /&gt;
c = guiGridListAddColumn(grid, &amp;quot;test&amp;quot;,0.5)&lt;br /&gt;
&lt;br /&gt;
addCommandHandler(&amp;quot;With&amp;quot;,function()&lt;br /&gt;
With = guiGridListGetColumnWidth(grid ,c, true)&lt;br /&gt;
outputChatBox(&amp;quot;Column Width = &amp;quot;..With)&lt;br /&gt;
end&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{GUI functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45824</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45824"/>
		<updated>2015-09-04T16:59:06Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|An example of how dxDrawLoading function works in practice.]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX:''' x coordinates of the form&lt;br /&gt;
*'''posY:''' y coordinates of the form&lt;br /&gt;
*'''width:''' Display format&lt;br /&gt;
*'''height:''' Length figure&lt;br /&gt;
*'''posX2:''' Writing for the coordinates x&lt;br /&gt;
*'''posY2:''' Writing for the coordinates y&lt;br /&gt;
*'''size:''' size Text&lt;br /&gt;
*'''color:''' Color hard form produced using tocolor&lt;br /&gt;
*'''color2:''' Color animated form produced using tocolor&lt;br /&gt;
*'''time:''' time for end Loading&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
	sx ,sy = guiGetScreenSize()&lt;br /&gt;
        function dxLoad ()&lt;br /&gt;
		    local now = getTickCount()&lt;br /&gt;
        dxDrawLoading(196*sx/800, 482*sy/600,422*sx/800, 58*sy/600, 196*sx/800 , 450*sy/600 ,1.00*sx/800,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
		if now &amp;gt; start + 10000 then&lt;br /&gt;
		start = getTickCount()&lt;br /&gt;
		outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&lt;br /&gt;
		removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
        end&lt;br /&gt;
        end&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
sx ,sy = guiGetScreenSize()&lt;br /&gt;
cx, cy = 1440, 900&lt;br /&gt;
button = guiCreateButton(313*sx/cx, 354*sy/cy, 162*sx/cx, 24*sy/cy,&amp;quot;&amp;quot;,false)&lt;br /&gt;
guiSetVisible(button, false)&lt;br /&gt;
&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
	function dxx ()&lt;br /&gt;
	local now = getTickCount()&lt;br /&gt;
	local wi, hi = interpolateBetween(0,0,0,757*sx/cx,682*sy/cy,0, ( now - start ) / (( start + 5000 ) - start),  &amp;quot;Linear&amp;quot;)&lt;br /&gt;
	local wit, hit = interpolateBetween(0, 0, 0, b1, b2, 0, (now - start) / ((start + 5000) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
	dxDrawRectangle(319*sx/cx, 109*sy/cy, wi, hi, tocolor(0, 0, 0, 130), false)&lt;br /&gt;
	if now &amp;gt; start + 5000 then&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dd)&lt;br /&gt;
	addEventHandler(&amp;quot;onClientClick&amp;quot;,root,Buton)&lt;br /&gt;
	showCursor(true)&lt;br /&gt;
	guiSetVisible(button, true)&lt;br /&gt;
	guiSetAlpha(button, 0)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
	function dd ()&lt;br /&gt;
	dxDrawRectangle(313*sx/cx, 354*sy/cy, 162*sx/cx, 24*sy/cy, tocolor(255,255,255, 255), false)&lt;br /&gt;
	end&lt;br /&gt;
function dxxx ()&lt;br /&gt;
	now = getTickCount()&lt;br /&gt;
	local wi, hi = interpolateBetween(757*sx/cx,682*sy/cy,0,0,0,0, ( now - start ) / (( start + 5000 ) - start),  &amp;quot;Linear&amp;quot;)&lt;br /&gt;
	dxDrawRectangle(319*sx/cx, 109*sy/cy, wi, hi, tocolor(0, 0, 0, 130), false)&lt;br /&gt;
	end&lt;br /&gt;
        function dxLoad ()&lt;br /&gt;
		    local now = getTickCount()&lt;br /&gt;
        dxDrawLoading(196*sx/800, 482*sy/600,422*sx/800, 58*sy/600, 196*sx/800 , 450*sy/600 ,1.00*sx/800,tocolor(255,255,255,170),tocolor(0,0,255,170),5000)&lt;br /&gt;
		if now &amp;gt; start + 5000 then&lt;br /&gt;
		start = getTickCount()&lt;br /&gt;
		outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&lt;br /&gt;
		removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
		addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxx)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
	addEventHandler(&amp;quot;onClientGUIClick&amp;quot;,button,&lt;br /&gt;
		function ()&lt;br /&gt;
		now = getTickCount()&lt;br /&gt;
		playSoundFrontEnd(3)&lt;br /&gt;
		start = getTickCount()&lt;br /&gt;
			addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxxx)&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxx)&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dd)&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientClick&amp;quot;,root,Buton)&lt;br /&gt;
			showCursor(false)&lt;br /&gt;
			guiSetVisible(button, false)&lt;br /&gt;
			if now &amp;gt; start + 5000 then&lt;br /&gt;
			removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxxx)&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45823</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45823"/>
		<updated>2015-09-04T10:16:25Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* Example : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|An example of how dxDrawLoading function works in practice.]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX:''' x coordinates of the form&lt;br /&gt;
*'''posY:''' y coordinates of the form&lt;br /&gt;
*'''width:''' Display format&lt;br /&gt;
*'''height:''' Length figure&lt;br /&gt;
*'''posX2:''' Writing for the coordinates x&lt;br /&gt;
*'''posY2:''' Writing for the coordinates y&lt;br /&gt;
*'''size:''' size Text&lt;br /&gt;
*'''color:''' Color hard form produced using tocolor&lt;br /&gt;
*'''color2:''' Color animated form produced using tocolor&lt;br /&gt;
*'''time:''' time for end Loading&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
	sx ,sy = guiGetScreenSize()&lt;br /&gt;
        function dxLoad ()&lt;br /&gt;
		    local now = getTickCount()&lt;br /&gt;
        dxDrawLoading(196*sx/800, 482*sy/600,422*sx/800, 58*sy/600, 196*sx/800 , 450*sy/600 ,1.00*sx/800,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
		if now &amp;gt; start + 10000 then&lt;br /&gt;
		start = getTickCount()&lt;br /&gt;
		outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&lt;br /&gt;
		removeEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
        end&lt;br /&gt;
        end&lt;br /&gt;
	addEventHandler(&amp;quot;onClientRender&amp;quot;,root,dxLoad)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45820</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45820"/>
		<updated>2015-09-04T08:45:34Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|An example of how dxDrawLoading function works in practice.]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX = x coordinates of the form'''&lt;br /&gt;
*'''posY = y coordinates of the form'''&lt;br /&gt;
*'''width = Display format'''&lt;br /&gt;
*'''height = Length figure''' &lt;br /&gt;
*'''posX2 = Writing for the coordinates x''' &lt;br /&gt;
*'''posY2 = Writing for the coordinates y'''  &lt;br /&gt;
*'''size = size Text''' &lt;br /&gt;
*'''color = Color hard form produced using tocolor''' &lt;br /&gt;
*'''color2 = Color animated form produced using tocolor''' &lt;br /&gt;
*'''time = time for end Loading'''&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;,root,&lt;br /&gt;
        function ()&lt;br /&gt;
        dxDrawLoading(196, 482,422, 58, 196 , 450 ,1.00,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
   if now &amp;lt; start + seconds then&lt;br /&gt;
      outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45819</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45819"/>
		<updated>2015-09-04T08:36:20Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|caption]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX = x coordinates of the form'''&lt;br /&gt;
*'''posY = y coordinates of the form'''&lt;br /&gt;
*'''width = Display format'''&lt;br /&gt;
*'''height = Length figure''' &lt;br /&gt;
*'''posX2 = Writing for the coordinates x''' &lt;br /&gt;
*'''posY2 = Writing for the coordinates y'''  &lt;br /&gt;
*'''size = size Text''' &lt;br /&gt;
*'''color = Color hard form produced using tocolor''' &lt;br /&gt;
*'''color2 = Color animated form produced using tocolor''' &lt;br /&gt;
*'''time = time for end Loading'''&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;,root,&lt;br /&gt;
        function ()&lt;br /&gt;
        dxDrawLoading(196, 482,422, 58, 196 , 450 ,1.00,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
   if now &amp;lt; start + seconds then&lt;br /&gt;
      outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45818</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45818"/>
		<updated>2015-09-04T08:35:22Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* Required Arguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|caption]]&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX = x coordinates of the form'''&lt;br /&gt;
*'''posY = y coordinates of the form'''&lt;br /&gt;
*'''width = Display format'''&lt;br /&gt;
*'''height = Length figure''' &lt;br /&gt;
*'''posX2 = Writing for the coordinates x''' &lt;br /&gt;
*'''posY2 = Writing for the coordinates y'''  &lt;br /&gt;
*'''size = size Text''' &lt;br /&gt;
*'''color = Color hard form produced using tocolor''' &lt;br /&gt;
*'''color2 = Color animated form produced using tocolor''' &lt;br /&gt;
*'''time = time for end Loading'''&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;,root,&lt;br /&gt;
        function ()&lt;br /&gt;
        dxDrawLoading(196, 482,422, 58, 196 , 450 ,1.00,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
   if now &amp;lt; start + seconds then&lt;br /&gt;
      outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45817</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45817"/>
		<updated>2015-09-04T08:29:24Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[File:Mta-screen 2015-08-28 10-47-28.png|thumb|caption]]&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX = x coordinates of the form'''&lt;br /&gt;
*'''posY = y coordinates of the form'''&lt;br /&gt;
*'''width = Display format'''&lt;br /&gt;
*'''height = Length figure''' &lt;br /&gt;
*'''posX2 = Writing for the coordinates x''' &lt;br /&gt;
*'''posY2 = Writing for the coordinates y'''  &lt;br /&gt;
*'''size = size Text''' &lt;br /&gt;
*'''color = Color hard form''' &lt;br /&gt;
*'''color2 = Color animated form''' &lt;br /&gt;
*'''time = time for end Loading'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;,root,&lt;br /&gt;
        function ()&lt;br /&gt;
        dxDrawLoading(196, 482,422, 58, 196 , 450 ,1.00,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
   if now &amp;lt; start + seconds then&lt;br /&gt;
      outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=File:Mta-screen_2015-08-28_10-47-28.png&amp;diff=45816</id>
		<title>File:Mta-screen 2015-08-28 10-47-28.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=File:Mta-screen_2015-08-28_10-47-28.png&amp;diff=45816"/>
		<updated>2015-09-04T08:28:32Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45815</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45815"/>
		<updated>2015-09-04T08:24:08Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: /* Example : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX = x coordinates of the form'''&lt;br /&gt;
*'''posY = y coordinates of the form'''&lt;br /&gt;
*'''width = Display format'''&lt;br /&gt;
*'''height = Length figure''' &lt;br /&gt;
*'''posX2 = Writing for the coordinates x''' &lt;br /&gt;
*'''posY2 = Writing for the coordinates y'''  &lt;br /&gt;
*'''size = size Text''' &lt;br /&gt;
*'''color = Color hard form''' &lt;br /&gt;
*'''color2 = Color animated form''' &lt;br /&gt;
*'''time = time for end Loading'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;,root,&lt;br /&gt;
        function ()&lt;br /&gt;
        dxDrawLoading(196, 482,422, 58, 196 , 450 ,1.00,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
   if now &amp;lt; start + seconds then&lt;br /&gt;
      outputChatBox(&amp;quot;Done Downloading&amp;quot;,0,255,0)&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45814</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45814"/>
		<updated>2015-09-04T08:09:36Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Useful Function}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
This function find useful in the form of loading may be able to use guiCreateProgressBar but this function facilitates you the piece and increase as dx form and can easily control the shape and color , speed and you must use onClientRender to doing a function, because function mobile you use , and function do not bring a lot of least thus be I benefited a lot instead of ProgressBar&lt;br /&gt;
*'''This is made to be used clientside!.'''&lt;br /&gt;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Required Arguments ==&lt;br /&gt;
&lt;br /&gt;
*'''posX = x coordinates of the form'''&lt;br /&gt;
*'''posY = y coordinates of the form'''&lt;br /&gt;
*'''width = Display format'''&lt;br /&gt;
*'''height = Length figure''' &lt;br /&gt;
*'''posX2 = Writing for the coordinates x''' &lt;br /&gt;
*'''posY2 = Writing for the coordinates y'''  &lt;br /&gt;
*'''size = size Text''' &lt;br /&gt;
*'''color = Color hard form''' &lt;br /&gt;
*'''color2 = Color animated form''' &lt;br /&gt;
*'''time = time for end Loading'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Code : ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&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;
&lt;br /&gt;
== Example : ==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;section name=&amp;quot;Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;,root,&lt;br /&gt;
        function ()&lt;br /&gt;
        dxDrawLoading(196, 482,422, 58, 196 , 450 ,1.00,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
   if now &amp;lt; start + seconds then&lt;br /&gt;
      --- code in End Loading ..&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;
Author : LoOs&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Useful_Functions}}&lt;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45813</id>
		<title>DxDrawLoading</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=DxDrawLoading&amp;diff=45813"/>
		<updated>2015-09-03T21:32:53Z</updated>

		<summary type="html">&lt;p&gt;Loos5092: dxDrawLoading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
== Syntax ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
bool dxDrawLoading ( int posX, int posY, int width , int height , int posX2 , int posY2 , int size [ int color , int color2 ] int time )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
posX = x coordinates of the form posY = y coordinates of the form width = Display format height = Length figure posX2 = Writing for the coordinates x posY2 = Writing for the coordinates y size = size Text color = Color hard form color2 = Color animated form time = time for end Loading'''&lt;br /&gt;
&lt;br /&gt;
'''Code :'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local start = getTickCount()&lt;br /&gt;
function dxDrawLoading (x, y, width, height, x2, y2, size, color, color2, second)&lt;br /&gt;
    local now = getTickCount()&lt;br /&gt;
    local seconds = second&lt;br /&gt;
    local with = interpolateBetween(0,0,0,width,0,0, (now - start) / ((start + seconds) - start), &amp;quot;Linear&amp;quot;)&lt;br /&gt;
    local text = interpolateBetween(0,0,0,100,0,0,(now - start) / ((start + seconds) - start),&amp;quot;Linear&amp;quot;)&lt;br /&gt;
        dxDrawText ( &amp;quot;Loading ... &amp;quot;..math.floor(text)..&amp;quot;%&amp;quot;, x2, y2 , width, height, tocolor ( 0, 255, 0, 255 ), size, &amp;quot;pricedown&amp;quot; )&lt;br /&gt;
        dxDrawRectangle(x, y ,width ,height -10, color)&lt;br /&gt;
        dxDrawRectangle(x, y, with ,height -10, color2)&lt;br /&gt;
        end&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Example :''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
addEventHandler(&amp;quot;onClientRender&amp;quot;,root,&lt;br /&gt;
        function ()&lt;br /&gt;
        dxDrawLoading(196, 482,422, 58, 196 , 450 ,1.00,tocolor(0,0,0,170),tocolor(0,255,0,170),10000)&lt;br /&gt;
   if now &amp;lt; start + seconds then&lt;br /&gt;
      --- code in End Loading ..&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;/div&gt;</summary>
		<author><name>Loos5092</name></author>
	</entry>
</feed>