<?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=MTA+SE</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=MTA+SE"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/MTA_SE"/>
	<updated>2026-05-15T00:10:48Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetWeaponState&amp;diff=34172</id>
		<title>GetWeaponState</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetWeaponState&amp;diff=34172"/>
		<updated>2012-11-29T17:47:08Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* unnecessary red frame in Returns block */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{Needs Example}}&lt;br /&gt;
Get the state of the custom weapon.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;string getWeaponState ( weapon theWeapon )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''theWeapon:''' The [[weapon]] to get the target of.&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a [[string]] indicating the weapon state, ''false'' otherwise.&lt;br /&gt;
* '''reloading''': The weapon is reloading&lt;br /&gt;
* '''firing''': The weapon will constantly fire ( unless any shooting blocking flags are set ) according to its assigned firing rate&lt;br /&gt;
* '''ready''': The weapon is idle&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
TODO&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
--TODO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3.0-9.04555|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client weapon creation functions}}&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=SetWaterDrawnLast&amp;diff=34171</id>
		<title>SetWaterDrawnLast</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=SetWaterDrawnLast&amp;diff=34171"/>
		<updated>2012-11-29T17:42:28Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /*Incorrect function name in syntax block*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|4.0140|1.3.0|4585|&lt;br /&gt;
This function change [[water]] rendering order.&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 setWaterDrawnLast ( bool bEnabled )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''bEnabled''': A boolean value determining water drawn last. &lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if set water drawn last is successfully, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
TODO&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
--TODO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3.0.04585|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client water functions}}&lt;br /&gt;
[[Category:Needs Example]]&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=IsWaterDrawnLast&amp;diff=34168</id>
		<title>IsWaterDrawnLast</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=IsWaterDrawnLast&amp;diff=34168"/>
		<updated>2012-11-29T08:20:36Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /*Incorrect function name in syntax block*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__ &lt;br /&gt;
{{Client function}}&lt;br /&gt;
{{New feature/item|4.0140|1.3.0|4585|&lt;br /&gt;
This function get [[water]] rendering order.&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 isWaterDrawnLast ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns ''true'' if water drawn last in rendering order, ''false'' otherwise.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
TODO&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
--TODO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|n/a|1.3.0.04585|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Client water functions}}&lt;br /&gt;
[[Category:Needs Example]]&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MTASE&amp;diff=31842</id>
		<title>MTASE</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MTASE&amp;diff=31842"/>
		<updated>2012-07-11T00:47:24Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float: right; border-collapse: collapse; width: 270px&amp;quot;&lt;br /&gt;
|[[Image:MTASElogo_wiki.png]]&lt;br /&gt;
|}&lt;br /&gt;
{{TOClimit|1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
MTA Script Editor is a tool for Lua scripters, or an Integrated Development Environment (IDE). What we are aiming for is to speed up process of developing resources. We thought that process of creating new resources and testing them is, let's be honest... a pain in the ass. Even the management of resources can be a bit annoying sometimes. For instance, if you want to add a new script file to your resource first you have to create the file, then add the path to the file into meta.xml. Worst of all, if you ever forget about adding the file to meta.xml you end up hitting your head against the wall wondering why your script doesn't work. &lt;br /&gt;
&lt;br /&gt;
We wanted to do something that would speed this process up so you could do so much in so little time. Previewing resources such as images and sounds have never been so easy. We are aiming for something along the lines of Visual Studio IDE.&lt;br /&gt;
&lt;br /&gt;
==What we offer==&lt;br /&gt;
We have been working on this tool for quite some time but we had a long break due to lack of time and now I'm the only one working on this because education is more important than &amp;quot;having a nice time&amp;quot;. Even though I'm working alone we are progressing smoothly in the development.&lt;br /&gt;
&lt;br /&gt;
We have implemented the following features:&lt;br /&gt;
*Loading resources&lt;br /&gt;
*Easy resource management&lt;br /&gt;
*Preview resources such as sound and image files&lt;br /&gt;
*Lua and XML syntax highlighting&lt;br /&gt;
*On-the-fly (live) Lua syntax checker&lt;br /&gt;
*'New resource' wizard - allows you to create new resource with a few clicks&lt;br /&gt;
*Switching between resources&lt;br /&gt;
*Tabs for script files&lt;br /&gt;
*C#'s #region-like grouping code - useful when working in teams and to keep the code clean&lt;br /&gt;
*Start/stop server and client&lt;br /&gt;
*Join your local server with 1 click&lt;br /&gt;
*Switch between game and Script Editor with only one key on the keyboard&lt;br /&gt;
*ResourceZipper&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
*'''Main window''' - overall look of the application. On the right you can see a list of MTA functions. You can choose what functions you want to be displayed by changing item in the combo box above it. Are you going to ask what this &amp;quot;silly table&amp;quot; at the bottom of the window is doing? I knew it... It's the syntax checker. As you script the syntax is checked by Lua engine and outputs any errors you've made in the script. It speed up progress because you don't have to go into game and restart the resource to check if you fixed the syntax error. I made a little error on line 1 to show you how it looks:&lt;br /&gt;
[[Image:MTASEmainwnd.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New resource wizard''' - create a resource with 5 simple steps (3 steps are optional):&lt;br /&gt;
[[Image:MTASEnewreswizard.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sound player''' - preview sounds by double-clicking sound file in the resource explorer:&lt;br /&gt;
[[Image:MTASEsoundplayer.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Image viewer''' - preview images by hovering you cursor over nodes in resource explorer:&lt;br /&gt;
[[Image:MTASEimageviewer.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Suggested functions''' - a &amp;quot;window&amp;quot; similar to the one in Visual Studio showing a list of functions. It also shows a tooltip telling you what the function does and its parameters. It also contains all exported functions from every resource. You can add a 3 new attributes to your exported function tag in meta.xml to let Script Editor display descriptive tooltip, like on the screenshot:&lt;br /&gt;
**'''retval:''' return type (eg. bool, marker, int, etc.)&lt;br /&gt;
**'''params:''' list of parameters&lt;br /&gt;
**'''description:''' short description of the function[/list]&lt;br /&gt;
[[Image:MTSEsuggestedfuncs.png]]&lt;br /&gt;
:(screenshot show an example of exported function that in meta.xml looks like the following:)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;export function=&amp;quot;getBankMarkers&amp;quot; retval=&amp;quot;table&amp;quot; params=&amp;quot;void&amp;quot; description=&amp;quot;Returns a table containing all bank markers.&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Function tooltip''' (available from 0.3) - tooltip showing function description. Moving mouse over function names in the function list (not the suggested functions list)&lt;br /&gt;
[[Image:MTASE_func_desc.png‎]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''MTA Server Configuration''' - a window where you can change server's settings. You won't have to open mtaserver.conf and change the server settings, startup resources, adding modules, etc.&lt;br /&gt;
[[Image:MTASEserverconfig.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Customize syntax highlighter''' - you can customize many syntax highlighter properties&lt;br /&gt;
[[Image:MTASEcustomizesyntax.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Exported functions''' - you can view all exported functions from every resource&lt;br /&gt;
[[Image:MTASEfuncs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
As you can see we want to simplify resource development and it seems to look pretty nice but we are still in development. There are some good key features that would attract you as a scripter. While we are still in development we wanted to ask you what you think about this tool and what would you like to see included in the release (do not ask when! we do not know when). Any suggestions? You're welcome to suggest some features and if possible we will do our best to implement it. Just visit [http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=24834 our MTA forum topic] and post your suggestions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
To download the tool, go to [http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=24834 our thread on the MTA forum]. That thread is updated frequently.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* To run this application you need to have .NET 2.0 Framework installed.&lt;br /&gt;
* You should be able to run it on Windows XP and Vista. Works on Windows 7 too!&lt;br /&gt;
* You must have both MTA Client and Server installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error/Warning messages at startup===&lt;br /&gt;
&lt;br /&gt;
===Loading irrKlang.NET2.0 library failed to load! This means you will not be able to preview sound files.===&lt;br /&gt;
This message appears most likely for Windows XP/Vista '''64bit''' users. It may occur on 32bit OS if that machine doesn't have .NET 2.0 SP1 installed.&lt;br /&gt;
&lt;br /&gt;
There is only 1 known way to solve the problem...: Make sure you have .NET 2.0 SP1 installed, if you don't have it you can download it from [http://www.microsoft.com/Downloads/details.aspx?familyid=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&amp;amp;displaylang=en Microsoft Download Center].&lt;br /&gt;
&lt;br /&gt;
===Error parsing meta.xml===&lt;br /&gt;
The reason why this window comes up should be explained in the message. It's most likely that your meta.xml has the following XML declarations:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-16&amp;quot; ?&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To solve the problem, simply open the file in WordPad or Notepad (Notepad++ may not solve the problem so use the Windows one), remove that line and save the changes.&lt;br /&gt;
&lt;br /&gt;
.NET 2.0 XML parser doesn't like not &amp;quot;well-formed&amp;quot; XML files, so you may get different messages with different meta.xml files.&lt;br /&gt;
&lt;br /&gt;
'''(THIS HAS BEEN FIXED IN 0.3)'''&lt;br /&gt;
&lt;br /&gt;
===Not able to save file===&lt;br /&gt;
If you can't seem to be able to save a file that's probably because you created a new file and the file wasn't added to any resource. This is a bug and will be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Problem with horizontal scrollbar===&lt;br /&gt;
If you have too long line and you paste some code on it, you may get a problem of not being able to scroll to the left (beginning of the line). This is problem with 3rd party library MTA:SE is using. It is not going to be fixed by its author (he's inactive for over 2 years now) and it's hard for us to find what is causing it. In fact, I was also given a link to another nice syntax highlighter library which I may use in the future. I hope this one doesn't have that problem.&lt;br /&gt;
If you encounter this problem there are a few ways to get to the beginning of the line.&lt;br /&gt;
* start highlighting this line so that caret moves to the left&lt;br /&gt;
* press Home key on your keyboard to move caret to the first character on a line&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Problems with loading some resources (meta.xml)===&lt;br /&gt;
If you have problems with some resources not being loaded and you get message your resource will not be shown in Resource Explorer, there are few things you can do to fix it:&lt;br /&gt;
- Make sure your files in not encoded in Unicode (you can open it in Windows' Notepad and save the meta.xml with ANSI encoding, don't use Notepad++ for this task since it may not change file encoding at all).&lt;br /&gt;
- Make sure you don't have &amp;quot;&amp;amp;&amp;quot; (ampersand) sign anywhere in the file since it may cause meta.xml not being parsed correctly. You should replace ampersands with '''&amp;amp;amp;amp;''' as this is the correct way to represent an ampersand in XML.&lt;br /&gt;
&lt;br /&gt;
Probably both of these can be fixed by changing/adding little piece of code but unfortunately I wasn't able to figure out what. If you know what can cause this parser error in C# .NET XML parser than don't hesitate and share this knowledge with me so I can fix this problem.&lt;br /&gt;
&lt;br /&gt;
'''(THIS HAS BEEN FIXED IN 0.3)'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
You can find us on [http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=24834 MTA forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=19953 50p] - Programmer &amp;amp; GUI designer.&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=30686 Fenix1042] - Programmer.&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=22437 Cazomino05] - XML files with MTA functions and events.&lt;br /&gt;
* MTA Developers - Delivering the amazing GTA:SA Multiplayer MOD that has almost unlimited possibilities...&lt;br /&gt;
&lt;br /&gt;
[[es:MTASE]]&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CreateVehicle&amp;diff=31785</id>
		<title>CreateVehicle</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CreateVehicle&amp;diff=31785"/>
		<updated>2012-07-05T20:05:04Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* explain direction parameter */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Needs_Checking|Numberplates only seem to work for some vehicles, and then only for the front or rear plate only}}&lt;br /&gt;
{{Needs_Checking|Explain the direction parameter which should always be false and what is the point of having a parameter whose value need to be the same all the time. --[[User:MTA SE|MTA SE]] 20:05, 5 July 2012 (UTC)}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
{{note_box|Vehicles (and other elements) created client-side are only seen by the client that created them, aren't synced and players cannot enter them. They are essentially for display only.}}&lt;br /&gt;
This function creates a vehicle at the specified location.&lt;br /&gt;
&lt;br /&gt;
Its worth noting that the position of the vehicle is the center point of the vehicle, not its base. As such, you need to ensure that the z value (vertical axis) is some height above the ground. You can find the exact height using the client side function [[getElementDistanceFromCentreOfMassToBaseOfModel]], or you can estimate it yourself and just spawn the vehicle so it drops to the ground.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
vehicle createVehicle ( int model, float x, float y, float z [, float rx, float ry, float rz, string numberplate, bool bDirection, int variant1, int variant2 ] )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
* '''model''': The [[Vehicle IDs|vehicle ID]] of the vehicle being created.&lt;br /&gt;
* '''x''': A floating point number representing the X coordinate on the map.&lt;br /&gt;
* '''y''': A floating point number representing the Y coordinate on the map.&lt;br /&gt;
* '''z''': A floating point number representing the Z coordinate on the map.&lt;br /&gt;
&lt;br /&gt;
===Optional Arguments===&lt;br /&gt;
{{OptionalArg}}&lt;br /&gt;
* '''rx''': A floating point number representing the rotation about the X axis in degrees.&lt;br /&gt;
* '''ry''': A floating point number representing the rotation about the Y axis in degrees.&lt;br /&gt;
* '''rz''': A floating point number representing the rotation about the Z axis in degrees.&lt;br /&gt;
* '''numberplate''': A string that will go on the number plate of the car (max 8 characters). This is only applicable to cars.&lt;br /&gt;
* '''direction''': A boolean which should be set to false. *SERVER ONLY*&lt;br /&gt;
{{New feature/item|3.0120|1.2|| &lt;br /&gt;
* '''variant1''': An integer for the first vehicle variant see [[Vehicle variants]]&lt;br /&gt;
* '''variant2''': An integer for the second vehicle variant see [[Vehicle variants]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns the [[vehicle]] element that was created. Returns ''false'' if the arguments are incorrect, or if the vehicle limit of 65535 is exceeded.&lt;br /&gt;
&lt;br /&gt;
==Using trains==&lt;br /&gt;
Trains are created using the createVehicle function. They are placed at the nearest point of the GTASA train pathing (railroad tracks) from their spawning point. &lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Example 1: Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This script spawns a Rhino on top of one lucky individual.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function scriptCreateTank ( player, command )&lt;br /&gt;
      local luckyBugger = getRandomPlayer() -- get a random player&lt;br /&gt;
      local x, y, z = getElementPosition ( luckyBugger ) -- retrive the player's position&lt;br /&gt;
      createVehicle ( 432, x, y, z + 10 ) -- create the tank 10 units above them&lt;br /&gt;
      outputChatBox ( &amp;quot;You got Tank'd!&amp;quot;, luckyBugger )&lt;br /&gt;
end&lt;br /&gt;
--Attach the 'scriptCreateTank' function to the &amp;quot;tank&amp;quot; command&lt;br /&gt;
addCommandHandler ( &amp;quot;tank&amp;quot;, scriptCreateTank )&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;Example 2: Client&amp;quot; class=&amp;quot;client&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This script spawns a Rhino on top of the local player.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function scriptCreateTank ( commandName )&lt;br /&gt;
      local luckyBugger = getLocalPlayer() -- get the local player&lt;br /&gt;
      local x, y, z = getElementPosition ( luckyBugger ) -- retrive the player's position&lt;br /&gt;
      createVehicle ( 432, x, y, z + 10 ) -- create the tank 10 units above them&lt;br /&gt;
      outputChatBox ( &amp;quot;You got Tank'd!&amp;quot;, 255, 0, 0)&lt;br /&gt;
end&lt;br /&gt;
--Attach the 'scriptCreateTank' function to the &amp;quot;tank&amp;quot; command&lt;br /&gt;
addCommandHandler ( &amp;quot;tank&amp;quot;, scriptCreateTank )&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;Example 3: Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
This example creates a vehicle five units to the right of a player when they type ''createvehicle'' and its name in the console:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
local distance = 5 --units&lt;br /&gt;
&lt;br /&gt;
-- define our handler (we'll take a variable number of parameters where the name goes, because there are vehicle names with more than one word)&lt;br /&gt;
function consoleCreateVehicle ( sourcePlayer, commandName, ... )&lt;br /&gt;
   -- if a player triggered it, not the admin,&lt;br /&gt;
   if ( sourcePlayer ) then&lt;br /&gt;
      -- calculate the position of the vehicle based on the player's position and rotation:&lt;br /&gt;
      local x, y, z = getElementPosition ( sourcePlayer ) -- get the player's position&lt;br /&gt;
      local rotZ = getPedRotation ( sourcePlayer ) -- get the player's rotation around the Z axis in degrees&lt;br /&gt;
      x = x + ( ( math.cos ( math.rad ( rotZ ) ) ) * distance ) -- calculate the X position of the vehicle&lt;br /&gt;
      y = y + ( ( math.sin ( math.rad ( rotZ ) ) ) * distance ) -- calculate the Y position of the vehicle&lt;br /&gt;
&lt;br /&gt;
      -- get the complete vehicle name by joining all passed parameters using Lua function table.concat&lt;br /&gt;
      local vehicleName = table.concat({...}, &amp;quot; &amp;quot;)&lt;br /&gt;
      -- get the vehicle's model ID from the name&lt;br /&gt;
      local vehicleID = getVehicleModelFromName ( vehicleName )&lt;br /&gt;
      -- if vehicle ID is valid,&lt;br /&gt;
      if vehicleID then&lt;br /&gt;
            -- create the vehicle using the information gathered above:&lt;br /&gt;
            local newVehicle = createVehicle ( vehicleID, x, y, z, 0, 0, rotZ )&lt;br /&gt;
            -- if vehicle creation failed, give the player a message&lt;br /&gt;
            if not newVehicle then&lt;br /&gt;
               outputConsole ( &amp;quot;Failed to create vehicle.&amp;quot;, sourcePlayer )&lt;br /&gt;
            end&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Attach the 'consoleCreateVehicle' function to the &amp;quot;createvehicle&amp;quot; command&lt;br /&gt;
addCommandHandler ( &amp;quot;createvehicle&amp;quot;, consoleCreateVehicle )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Vehicle functions}}&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=CancelLatentEvent&amp;diff=31765</id>
		<title>CancelLatentEvent</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=CancelLatentEvent&amp;diff=31765"/>
		<updated>2012-07-04T06:04:47Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* added sections for server/client syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
Stops a latent event from completing&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table cancelLatentEvent( player thePlayer, int handle )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''thePlayer:''' The player who is receiving the event.&lt;br /&gt;
*'''handle:''' A handle previous got from [[getLatentEventHandles]].&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;
table cancelLatentEvent( int handle )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''handle:''' A handle previous got from [[getLatentEventHandles]].&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a true if the latent event was successfully cancelled, or false if it was not&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
--TODO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.0-9.03772|1.3.0-9.03772|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Event functions}}&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetLatentEventStatus&amp;diff=31764</id>
		<title>GetLatentEventStatus</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetLatentEventStatus&amp;diff=31764"/>
		<updated>2012-07-04T06:02:31Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* added sections for server/client syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
Gets the status of one queued latent event.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table getLatentEventStatus( player thePlayer, int handle )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''thePlayer:''' The player who is receiving the event.&lt;br /&gt;
*'''handle:''' A handle previous got from [[getLatentEventHandles]].&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;
table getLatentEventStatus( int handle )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''handle:''' A handle previous got from [[getLatentEventHandles]].&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a table with the following info or false if invalid arguments were passed:&lt;br /&gt;
*'''tickStart:''' A number estimating how many ticks until the data transfer starts (Negative means the transfer has already started)&lt;br /&gt;
*'''tickEnd:''' A number estimating how many ticks until the data transfer completes&lt;br /&gt;
*'''totalSize:''' A number representing how many bytes in total this transfer will transfer&lt;br /&gt;
*'''percentComplete:''' A number between 0-100 saying how much is done&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;
The example starts a latent event and outputs the status of the transfer to the client console&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function beginTransfer()&lt;br /&gt;
    triggerLatentServerEvent(&amp;quot;blah&amp;quot;, resourceRoot, myVeryLongString)    -- Start latent event&lt;br /&gt;
    myHandle = getLatentEventHandles()[#getLatentEventHandles()]        -- Get last latent event handle&lt;br /&gt;
    myTimer = setTimer( updateStatus, 1000, 0 )                         -- Output status once a second&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function updateStatus()&lt;br /&gt;
    local status = getLatentEventStatus(myHandle)   -- Get latent event status&lt;br /&gt;
    if not status then&lt;br /&gt;
        killTimer(myTimer)                          -- getLatentEventStatus returns false when the handle is no longer valid&lt;br /&gt;
    else&lt;br /&gt;
        outputConsole( &amp;quot;Transfer status:&amp;quot;&lt;br /&gt;
            .. &amp;quot; tickStart:&amp;quot; .. tostring(status.tickStart)&lt;br /&gt;
            .. &amp;quot; tickEnd:&amp;quot; .. tostring(status.tickEnd)&lt;br /&gt;
            .. &amp;quot; totalSize:&amp;quot; .. tostring(status.totalSize)&lt;br /&gt;
            .. &amp;quot; percentComplete:&amp;quot; .. tostring(status.percentComplete)&lt;br /&gt;
            )&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;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.0-9.03772|1.3.0-9.03772|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Event functions}}&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=GetLatentEventHandles&amp;diff=31763</id>
		<title>GetLatentEventHandles</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=GetLatentEventHandles&amp;diff=31763"/>
		<updated>2012-07-04T05:57:09Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* added sections for server/client syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{{Server client function}}&lt;br /&gt;
Gets the currently queued latent events. The last one in the table is always the latest event queued. Each returned handle can be used with [[getLatentEventStatus]] or [[cancelLatentEvent]]&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;section name=&amp;quot;Server&amp;quot; class=&amp;quot;server&amp;quot; show=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
table getLatentEventHandles ( player thePlayer )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
===Required Arguments===&lt;br /&gt;
*'''thePlayer:''' The player who is receiving the events.&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;
table getLatentEventHandles ( )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/section&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Returns===&lt;br /&gt;
Returns a table of handles or false if invalid arguments were passed.&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
--TODO&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
{{Requirements|1.3.0-9.03772|1.3.0-9.03772|}}&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{Event functions}}&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=Server_Scripting_Functions&amp;diff=31756</id>
		<title>Server Scripting Functions</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=Server_Scripting_Functions&amp;diff=31756"/>
		<updated>2012-07-03T06:36:11Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* added __TOC__ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pageclass class=&amp;quot;server&amp;quot;&amp;gt;&amp;lt;/pageclass&amp;gt;&lt;br /&gt;
This page lists all the '''server-side''' scripting functions that have been implemented and are available as native functions. To request a function or event, use [[Requested Functions and Events]] or http://bugs.mtasa.com.&lt;br /&gt;
&lt;br /&gt;
Please note that the scripting functions can also be extended by loading in dynamic modules that provide new functionality, such as utility functions. These scripting functions are non-native and require the module to be loaded in order to work.&lt;br /&gt;
&lt;br /&gt;
Head over to [[Modules]] for a list of non-native serverside functions and modules that are available.&lt;br /&gt;
&lt;br /&gt;
For more functions, check the [[Useful_Functions|useful functions page]].&lt;br /&gt;
&lt;br /&gt;
'''Client-side scripting functions can be found here: [[Client Scripting Functions]].'''&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Account functions==&lt;br /&gt;
{{Account_functions}}&lt;br /&gt;
&lt;br /&gt;
==ACL functions==&lt;br /&gt;
{{ACL_functions}}&lt;br /&gt;
&lt;br /&gt;
==Admin functions==&lt;br /&gt;
{{Admin_functions}}&lt;br /&gt;
&lt;br /&gt;
==Audio functions==&lt;br /&gt;
{{Audio_functions}}&lt;br /&gt;
&lt;br /&gt;
==Announcement functions==&lt;br /&gt;
{{Announce_functions}}&lt;br /&gt;
&lt;br /&gt;
==Blip functions==&lt;br /&gt;
{{Blip_functions}}&lt;br /&gt;
&lt;br /&gt;
==Camera functions==&lt;br /&gt;
{{Camera functions}}&lt;br /&gt;
&lt;br /&gt;
==Collision shape functions==&lt;br /&gt;
{{Collision shape functions}}&lt;br /&gt;
&lt;br /&gt;
==Clothes and body functions==&lt;br /&gt;
{{Clothes and body functions}}&lt;br /&gt;
&lt;br /&gt;
==Cursor functions==&lt;br /&gt;
{{Cursor_functions}}&lt;br /&gt;
&lt;br /&gt;
==Element functions==&lt;br /&gt;
{{Element functions}}&lt;br /&gt;
&lt;br /&gt;
==Event functions==&lt;br /&gt;
{{Event_functions}}&lt;br /&gt;
&lt;br /&gt;
==Explosion functions==&lt;br /&gt;
{{Explosion_functions}}&lt;br /&gt;
&lt;br /&gt;
==File functions==&lt;br /&gt;
{{File_functions}}&lt;br /&gt;
&lt;br /&gt;
==HTTP functions==&lt;br /&gt;
{{HTTP_functions}}&lt;br /&gt;
&lt;br /&gt;
==Input functions==&lt;br /&gt;
{{Input_functions}}&lt;br /&gt;
&lt;br /&gt;
==Map functions==&lt;br /&gt;
{{Map_functions}}&lt;br /&gt;
&lt;br /&gt;
==Marker functions==&lt;br /&gt;
{{Marker functions}}&lt;br /&gt;
&lt;br /&gt;
==Module functions==&lt;br /&gt;
{{Module functions}}&lt;br /&gt;
&lt;br /&gt;
==Object functions==&lt;br /&gt;
{{Object functions}}&lt;br /&gt;
&lt;br /&gt;
==Ped functions==&lt;br /&gt;
{{Ped_functions}}&lt;br /&gt;
&lt;br /&gt;
==Pickup functions==&lt;br /&gt;
{{Pickup functions}}&lt;br /&gt;
&lt;br /&gt;
==Player functions==&lt;br /&gt;
{{Player functions}}&lt;br /&gt;
&lt;br /&gt;
==Radar area functions==&lt;br /&gt;
{{Radar area functions}}&lt;br /&gt;
&lt;br /&gt;
==Resource functions==&lt;br /&gt;
{{Resource functions}}&lt;br /&gt;
&lt;br /&gt;
==Serial functions==&lt;br /&gt;
{{Serial functions}}&lt;br /&gt;
&lt;br /&gt;
==Server functions==&lt;br /&gt;
{{Server functions}}&lt;br /&gt;
&lt;br /&gt;
==Settings registry functions==&lt;br /&gt;
{{Settings registry functions}}&lt;br /&gt;
&lt;br /&gt;
==SQL functions==&lt;br /&gt;
{{SQL_functions}}&lt;br /&gt;
&lt;br /&gt;
==Team functions==&lt;br /&gt;
{{Team functions}}&lt;br /&gt;
&lt;br /&gt;
==Text functions==&lt;br /&gt;
{{Text functions}}&lt;br /&gt;
&lt;br /&gt;
==Utility functions==&lt;br /&gt;
{{Utility functions}}&lt;br /&gt;
&lt;br /&gt;
==Vehicle functions==&lt;br /&gt;
{{Vehicle functions}}&lt;br /&gt;
&lt;br /&gt;
==Water functions==&lt;br /&gt;
{{Water functions}}&lt;br /&gt;
&lt;br /&gt;
==Weapon functions==&lt;br /&gt;
{{Weapon functions}}&lt;br /&gt;
&lt;br /&gt;
==World functions==&lt;br /&gt;
{{World functions}}&lt;br /&gt;
&lt;br /&gt;
==XML functions==&lt;br /&gt;
{{XML functions}}&lt;br /&gt;
&lt;br /&gt;
[[ru:Server Scripting Functions]]&lt;br /&gt;
[[es:Funciones_del_Server]]&lt;br /&gt;
[[de:Server-Seitige Scripting Funktionen]]&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MTASE&amp;diff=28031</id>
		<title>MTASE</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MTASE&amp;diff=28031"/>
		<updated>2011-11-17T21:21:06Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* Loading irrKlang.NET2.0 library failed to load!\nThis means you will not be able to preview sound files. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float: right; border-collapse: collapse; width: 270px&amp;quot;&lt;br /&gt;
|[[Image:MTASElogo_wiki.png]]&lt;br /&gt;
|}&lt;br /&gt;
{{TOClimit|1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
MTA Script Editor is a tool for Lua scripters. What we are aiming for is to speed up process of developing resources. We thought that process of creating new resources and testing them is, let's be honest... a pain in the ass. Management of the resources is a bit annoying sometimes. For instance, if you want to add a new script file to your resource you have to create it and add path to it into meta.xml, it happens that you forget about adding the file to meta.xml and you end up being surprised that your script didn't work at all. We wanted to do something that would speed this up so you could add a new file within a few seconds. If you use custom sounds, you can preview them within Script Editor just by double-clicking it in the resource explorer. We are aiming for something that reminds Visual Studio IDE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Things the tool offers==&lt;br /&gt;
We have been working on this tool for long but we had a long break due to lack of time and now I'm the only one working on this because education is more important than &amp;quot;having nice time&amp;quot;. Even though I'm working alone we are progressing smoothly. Currently we have implemented the followings:&lt;br /&gt;
&lt;br /&gt;
*Loading resources&lt;br /&gt;
*Easy resource management&lt;br /&gt;
*Preview sound files&lt;br /&gt;
*Preview image files&lt;br /&gt;
*Lua and XML syntax highlighting&lt;br /&gt;
*On-the-fly Lua syntax checker&lt;br /&gt;
*New resource wizard - allows you to create new resource with a few clicks&lt;br /&gt;
*Switching between resources&lt;br /&gt;
*C#'s #region-like grouping code - useful when working in teams and to keep the code clean&lt;br /&gt;
*Start/stop server and client&lt;br /&gt;
*Join your local server with 1 click&lt;br /&gt;
*Switch between game and Script Editor with only one key on the keyboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
*'''Main window''' - overall look of the application. On the right you can see a list of MTA functions. You can choose what functions you want to be displayed by changing item in the combo box above it. Are you going to ask what this &amp;quot;silly table&amp;quot; at the bottom of the window is doing? I knew it... It's the syntax checker. As you script the syntax is checked by Lua engine and outputs any errors you've made in the script. It speed up progress because you don't have to go into game and restart the resource to check if you fixed the syntax error. I made a little error on line 1 to show you how it looks:&lt;br /&gt;
[[Image:MTASEmainwnd.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New resource wizard''' - create a resource with 5 simple steps (3 steps are optional):&lt;br /&gt;
[[Image:MTASEnewreswizard.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sound player''' - preview sounds by double-clicking sound file in the resource explorer:&lt;br /&gt;
[[Image:MTASEsoundplayer.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Image viewer''' - preview images by hovering you cursor over nodes in resource explorer:&lt;br /&gt;
[[Image:MTASEimageviewer.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Suggested functions''' - a &amp;quot;window&amp;quot; similar to the one in Visual Studio showing a list of functions. It also shows a tooltip telling you what the function does and its parameters. It also contains all exported functions from every resource. You can add a 3 new attributes to your exported function tag in meta.xml to let Script Editor display descriptive tooltip, like on the screenshot:&lt;br /&gt;
**'''retval:''' return type (eg. bool, marker, int, etc.)&lt;br /&gt;
**'''params:''' list of parameters&lt;br /&gt;
**'''description:''' short description of the function[/list]&lt;br /&gt;
[[Image:MTSEsuggestedfuncs.png]]&lt;br /&gt;
:(screenshot show an example of exported function that in meta.xml looks like the following:)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;export function=&amp;quot;getBankMarkers&amp;quot; retval=&amp;quot;table&amp;quot; params=&amp;quot;void&amp;quot; description=&amp;quot;Returns a table containing all bank markers.&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''MTA Server Configuration''' - a window where you can change server's settings. You won't have to open mtaserver.conf and change the server settings, startup resources, adding modules, etc.&lt;br /&gt;
[[Image:MTASEserverconfig.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Customize syntax highlighter''' - you can customize many syntax highlighter properties&lt;br /&gt;
[[Image:MTASEcustomizesyntax.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Exported functions''' - you can view all exported functions from every resource&lt;br /&gt;
[[Image:MTASEfuncs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
As you can see we want to simplify resource development and it seems to look pretty nice but we are still in development. There are some good key features that would attract you as a scripter. While we are still in development we wanted to ask you what you think about this tool and what would you like to see included in the release (do not ask when! we do not know when). Any suggestions? You're welcome to suggest some features and if possible we will do our best to implement it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* To run this application you need to have .NET 2.0 Framework installed.&lt;br /&gt;
* You should be able to run it on Windows XP and Vista. Works on Windows 7 too!&lt;br /&gt;
* You must have both MTA Client and Server installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
To download the tool go to our thread on MTA forum [http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=24834 HERE]. That thread is updated frequently.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error/Warning messages at startup===&lt;br /&gt;
&lt;br /&gt;
===Loading irrKlang.NET2.0 library failed to load! This means you will not be able to preview sound files.===&lt;br /&gt;
This message appears most likely for Windows XP/Vista '''64bit''' users. It may occur on 32bit OS if that machine doesn't have .NET 2.0 SP1 installed.&lt;br /&gt;
&lt;br /&gt;
There is only 1 known way to solve the problem...: Make sure you have .NET 2.0 SP1 installed, if you don't have it you can download it from [http://www.microsoft.com/Downloads/details.aspx?familyid=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&amp;amp;displaylang=en Microsoft Download Center].&lt;br /&gt;
&lt;br /&gt;
===Error parsing meta.xml===&lt;br /&gt;
The reason why this window comes up should be explained in the message. It's most likely that your meta.xml has the following XML declarations:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-16&amp;quot; ?&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To solve the problem, simply open the file in WordPad or Notepad (Notepad++ may not solve the problem so use the Windows one), remove that line and save the changes.&lt;br /&gt;
&lt;br /&gt;
.NET 2.0 XML parser doesn't like not &amp;quot;well-formed&amp;quot; XML files, so you may get different messages with different meta.xml files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Not able to save file===&lt;br /&gt;
If you can't seem to be able to save a file that's probably because you created a new file and the file wasn't added to any resource. This is a bug and will be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Problem with horizontal scrollbar===&lt;br /&gt;
If you have too long line and you paste some code on it, you may get a problem of not being able to scroll to the left (beginning of the line). This is problem with 3rd party library MTA:SE is using. It is not going to be fixed by its author (he's inactive for over 2 years now) and it's hard for us to find what is causing it. In fact, I was also given a link to another nice syntax highlighter library which I may use in the future. I hope this one doesn't have that problem.&lt;br /&gt;
If you encounter this problem there are a few ways to get to the beginning of the line.&lt;br /&gt;
* start highlighting this line so that caret moves to the left&lt;br /&gt;
* press Home key on your keyboard to move caret to the first character on a line&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Problems with loading some resources (meta.xml)===&lt;br /&gt;
If you have problems with some resources not being loaded and you get message your resource will not be shown in Resource Explorer, there are few things you can do to fix it:&lt;br /&gt;
- Make sure your files in not encoded in Unicode (you can open it in Windows' Notepad and save the meta.xml with ANSI encoding, don't use Notepad++ for this task since it may not change file encoding at all).&lt;br /&gt;
- Make sure you don't have &amp;quot;&amp;amp;&amp;quot; (ampersand) sign anywhere in the file since it may cause meta.xml not being parsed correctly. You should replace ampersands with '''&amp;amp;amp;amp;''' as this is the correct way to represent an ampersand in XML.&lt;br /&gt;
&lt;br /&gt;
Probably both of these can be fixed by changing/adding little piece of code but unfortunately I wasn't able to figure out what. If you know what can cause this parser error in C# .NET XML parser than don't hesitate and share this knowledge with me so I can fix this problem.&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
We have an IRC channel on GTANet.com network which you can join, ask questions or even give suggestions. The channel name is #mtatools. You can also find us on [http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=24834 MTA forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=19953 50p] - Programmer &amp;amp; GUI designer.&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=30686 Fenix1042] - Programmer.&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=22437 Cazomino05] - XML files with MTA functions and events.&lt;br /&gt;
* MTA Developers - Delivering the amazing GTA:SA Multiplayer MOD that has almost unlimited possibilities...&lt;br /&gt;
&lt;br /&gt;
[[es:MTASE]]&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=MTASE&amp;diff=28030</id>
		<title>MTASE</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=MTASE&amp;diff=28030"/>
		<updated>2011-11-17T21:20:56Z</updated>

		<summary type="html">&lt;p&gt;MTA SE: /* Changed the title to: Loading irrKlang.NET2.0 library failed to load!\nThis means you will not be able to preview sound files. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float: right; border-collapse: collapse; width: 270px&amp;quot;&lt;br /&gt;
|[[Image:MTASElogo_wiki.png]]&lt;br /&gt;
|}&lt;br /&gt;
{{TOClimit|1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
MTA Script Editor is a tool for Lua scripters. What we are aiming for is to speed up process of developing resources. We thought that process of creating new resources and testing them is, let's be honest... a pain in the ass. Management of the resources is a bit annoying sometimes. For instance, if you want to add a new script file to your resource you have to create it and add path to it into meta.xml, it happens that you forget about adding the file to meta.xml and you end up being surprised that your script didn't work at all. We wanted to do something that would speed this up so you could add a new file within a few seconds. If you use custom sounds, you can preview them within Script Editor just by double-clicking it in the resource explorer. We are aiming for something that reminds Visual Studio IDE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Things the tool offers==&lt;br /&gt;
We have been working on this tool for long but we had a long break due to lack of time and now I'm the only one working on this because education is more important than &amp;quot;having nice time&amp;quot;. Even though I'm working alone we are progressing smoothly. Currently we have implemented the followings:&lt;br /&gt;
&lt;br /&gt;
*Loading resources&lt;br /&gt;
*Easy resource management&lt;br /&gt;
*Preview sound files&lt;br /&gt;
*Preview image files&lt;br /&gt;
*Lua and XML syntax highlighting&lt;br /&gt;
*On-the-fly Lua syntax checker&lt;br /&gt;
*New resource wizard - allows you to create new resource with a few clicks&lt;br /&gt;
*Switching between resources&lt;br /&gt;
*C#'s #region-like grouping code - useful when working in teams and to keep the code clean&lt;br /&gt;
*Start/stop server and client&lt;br /&gt;
*Join your local server with 1 click&lt;br /&gt;
*Switch between game and Script Editor with only one key on the keyboard&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Screenshots==&lt;br /&gt;
*'''Main window''' - overall look of the application. On the right you can see a list of MTA functions. You can choose what functions you want to be displayed by changing item in the combo box above it. Are you going to ask what this &amp;quot;silly table&amp;quot; at the bottom of the window is doing? I knew it... It's the syntax checker. As you script the syntax is checked by Lua engine and outputs any errors you've made in the script. It speed up progress because you don't have to go into game and restart the resource to check if you fixed the syntax error. I made a little error on line 1 to show you how it looks:&lt;br /&gt;
[[Image:MTASEmainwnd.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New resource wizard''' - create a resource with 5 simple steps (3 steps are optional):&lt;br /&gt;
[[Image:MTASEnewreswizard.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sound player''' - preview sounds by double-clicking sound file in the resource explorer:&lt;br /&gt;
[[Image:MTASEsoundplayer.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Image viewer''' - preview images by hovering you cursor over nodes in resource explorer:&lt;br /&gt;
[[Image:MTASEimageviewer.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Suggested functions''' - a &amp;quot;window&amp;quot; similar to the one in Visual Studio showing a list of functions. It also shows a tooltip telling you what the function does and its parameters. It also contains all exported functions from every resource. You can add a 3 new attributes to your exported function tag in meta.xml to let Script Editor display descriptive tooltip, like on the screenshot:&lt;br /&gt;
**'''retval:''' return type (eg. bool, marker, int, etc.)&lt;br /&gt;
**'''params:''' list of parameters&lt;br /&gt;
**'''description:''' short description of the function[/list]&lt;br /&gt;
[[Image:MTSEsuggestedfuncs.png]]&lt;br /&gt;
:(screenshot show an example of exported function that in meta.xml looks like the following:)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;export function=&amp;quot;getBankMarkers&amp;quot; retval=&amp;quot;table&amp;quot; params=&amp;quot;void&amp;quot; description=&amp;quot;Returns a table containing all bank markers.&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''MTA Server Configuration''' - a window where you can change server's settings. You won't have to open mtaserver.conf and change the server settings, startup resources, adding modules, etc.&lt;br /&gt;
[[Image:MTASEserverconfig.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Customize syntax highlighter''' - you can customize many syntax highlighter properties&lt;br /&gt;
[[Image:MTASEcustomizesyntax.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Exported functions''' - you can view all exported functions from every resource&lt;br /&gt;
[[Image:MTASEfuncs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
As you can see we want to simplify resource development and it seems to look pretty nice but we are still in development. There are some good key features that would attract you as a scripter. While we are still in development we wanted to ask you what you think about this tool and what would you like to see included in the release (do not ask when! we do not know when). Any suggestions? You're welcome to suggest some features and if possible we will do our best to implement it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* To run this application you need to have .NET 2.0 Framework installed.&lt;br /&gt;
* You should be able to run it on Windows XP and Vista. Works on Windows 7 too!&lt;br /&gt;
* You must have both MTA Client and Server installed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
To download the tool go to our thread on MTA forum [http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=24834 HERE]. That thread is updated frequently.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Error/Warning messages at startup===&lt;br /&gt;
&lt;br /&gt;
===Loading irrKlang.NET2.0 library failed to load!\nThis means you will not be able to preview sound files.===&lt;br /&gt;
This message appears most likely for Windows XP/Vista '''64bit''' users. It may occur on 32bit OS if that machine doesn't have .NET 2.0 SP1 installed.&lt;br /&gt;
&lt;br /&gt;
There is only 1 known way to solve the problem...: Make sure you have .NET 2.0 SP1 installed, if you don't have it you can download it from [http://www.microsoft.com/Downloads/details.aspx?familyid=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&amp;amp;displaylang=en Microsoft Download Center].&lt;br /&gt;
&lt;br /&gt;
===Error parsing meta.xml===&lt;br /&gt;
The reason why this window comes up should be explained in the message. It's most likely that your meta.xml has the following XML declarations:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot; lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-16&amp;quot; ?&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
To solve the problem, simply open the file in WordPad or Notepad (Notepad++ may not solve the problem so use the Windows one), remove that line and save the changes.&lt;br /&gt;
&lt;br /&gt;
.NET 2.0 XML parser doesn't like not &amp;quot;well-formed&amp;quot; XML files, so you may get different messages with different meta.xml files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Not able to save file===&lt;br /&gt;
If you can't seem to be able to save a file that's probably because you created a new file and the file wasn't added to any resource. This is a bug and will be fixed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Problem with horizontal scrollbar===&lt;br /&gt;
If you have too long line and you paste some code on it, you may get a problem of not being able to scroll to the left (beginning of the line). This is problem with 3rd party library MTA:SE is using. It is not going to be fixed by its author (he's inactive for over 2 years now) and it's hard for us to find what is causing it. In fact, I was also given a link to another nice syntax highlighter library which I may use in the future. I hope this one doesn't have that problem.&lt;br /&gt;
If you encounter this problem there are a few ways to get to the beginning of the line.&lt;br /&gt;
* start highlighting this line so that caret moves to the left&lt;br /&gt;
* press Home key on your keyboard to move caret to the first character on a line&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Problems with loading some resources (meta.xml)===&lt;br /&gt;
If you have problems with some resources not being loaded and you get message your resource will not be shown in Resource Explorer, there are few things you can do to fix it:&lt;br /&gt;
- Make sure your files in not encoded in Unicode (you can open it in Windows' Notepad and save the meta.xml with ANSI encoding, don't use Notepad++ for this task since it may not change file encoding at all).&lt;br /&gt;
- Make sure you don't have &amp;quot;&amp;amp;&amp;quot; (ampersand) sign anywhere in the file since it may cause meta.xml not being parsed correctly. You should replace ampersands with '''&amp;amp;amp;amp;''' as this is the correct way to represent an ampersand in XML.&lt;br /&gt;
&lt;br /&gt;
Probably both of these can be fixed by changing/adding little piece of code but unfortunately I wasn't able to figure out what. If you know what can cause this parser error in C# .NET XML parser than don't hesitate and share this knowledge with me so I can fix this problem.&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
We have an IRC channel on GTANet.com network which you can join, ask questions or even give suggestions. The channel name is #mtatools. You can also find us on [http://forum.multitheftauto.com/viewtopic.php?f=91&amp;amp;t=24834 MTA forum]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Credits==&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=19953 50p] - Programmer &amp;amp; GUI designer.&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=30686 Fenix1042] - Programmer.&lt;br /&gt;
* [http://forum.multitheftauto.com/memberlist.php?mode=viewprofile&amp;amp;u=22437 Cazomino05] - XML files with MTA functions and events.&lt;br /&gt;
* MTA Developers - Delivering the amazing GTA:SA Multiplayer MOD that has almost unlimited possibilities...&lt;br /&gt;
&lt;br /&gt;
[[es:MTASE]]&lt;/div&gt;</summary>
		<author><name>MTA SE</name></author>
	</entry>
</feed>