<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://graalonline.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Napo+p2p</id>
	<title>Graal Bible - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://graalonline.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Napo+p2p"/>
	<link rel="alternate" type="text/html" href="https://graalonline.net/Special:Contributions/Napo_p2p"/>
	<updated>2026-04-09T20:47:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://graalonline.net/index.php?title=News/2009/July&amp;diff=12366</id>
		<title>News/2009/July</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=News/2009/July&amp;diff=12366"/>
		<updated>2009-07-19T14:40:08Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Opan beta announcement&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== July ===&lt;br /&gt;
* '''July 19th''' - '''AEON - Opan Beta Application'''&lt;br /&gt;
[[Image:Aeonnews.png]]&lt;br /&gt;
&lt;br /&gt;
We've been making some great progress on AEON over the last few weeks, and we are pleased to announce that our modern world, Opan, is ready for a closed beta test.  At this time we have already issued invitations to some of our longtime players to test Opan, but we are still looking for more testers.  Trial and classic accounts are more than welcome to apply, since we would also like feedback from non-gold players&lt;br /&gt;
&lt;br /&gt;
The application for beta tester can be found [http://aeon.arklandonline.com/forums/viewtopic.php?f=1&amp;amp;t=729 here].  If you have any questions, don’t hesitate to contact Napo (*napo_p2p) or Hatred (*Hatred89).  We hope to see some of you on soon!&lt;br /&gt;
&lt;br /&gt;
-AEON Management&lt;br /&gt;
&lt;br /&gt;
* '''July 19th''' - '''Graal Kingdoms - Dustari Challenge''' {{News/Graal_Kingdoms}}&lt;br /&gt;
[[Image:Challenge.png]]&lt;br /&gt;
&lt;br /&gt;
Dear King Craigus Eldridge of Dustari&lt;br /&gt;
&lt;br /&gt;
We, The Pirates of the Crescent Isle, challenge Dustari to a core battle on Sunday the 19th of July 2009 at 21:00 GMT on Graal Kingdoms. Awaiting confirmation from King Craigus before proceeding.&lt;br /&gt;
&lt;br /&gt;
Thank you&lt;br /&gt;
&lt;br /&gt;
Signed,&lt;br /&gt;
&lt;br /&gt;
Retired Governor Felix Lionheart of the Crescent Pirates&lt;br /&gt;
&lt;br /&gt;
* '''July 15th''' - '''Dementia mining!''' {{News/Playerworlds}}&lt;br /&gt;
[[Image:Ddsdf1.png]]&lt;br /&gt;
&lt;br /&gt;
We now have a basic mining system and a mineral shop in the west to sell your stones to. Everybody starts with the pick axe, and minerals are all around the outside of OSL. Also, we have a simple little hat shop where you can spend the hard earned gold you have just made.&lt;br /&gt;
&lt;br /&gt;
[[Image:Ddsdf2.png]]&lt;br /&gt;
&lt;br /&gt;
Come check it out, and contact Latte by zaraxiel@gmail.com or online if you are interested in a developer job.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''July 14th''' - '''Zodiac V2 Updates and New Tutorial!''' {{News/Playerworlds}}&lt;br /&gt;
&lt;br /&gt;
[[Image:ZodiacV2img.PNG]]&lt;br /&gt;
Zodiac's Staff are currently working on the next version, so far they're completing the base of the Server, including systems such as the Inventory (Q), Status (W), Equipment (R), Basic PvP Combat, a New Boat System, and much more!&lt;br /&gt;
&lt;br /&gt;
When the base is complete they will begin announcing new planned features, and look to the community for talented Level Makers, and Graphic designers to help make Zodiac V2 shine!&lt;br /&gt;
To keep in touch with Zodiac's V2 updates [http://forums.zodiacdev.com/news.php Click Here!]&lt;br /&gt;
&lt;br /&gt;
Also, a new Tutorial has been released.&lt;br /&gt;
&amp;quot;This is our first step in making Zodiac more newbie-friendly, as it teaches a couple fundamentals of Graal and Zodiac. Most of which should come naturally after button-mashing for menus but it's all nice, spelled out and mandatory.&amp;quot; Said Jerret, a developer of Zodiac.&lt;br /&gt;
&lt;br /&gt;
* '''July 13th''' - '''Dementia Needs Help!''' {{News/Playerworlds}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Image33453d.png]]&lt;br /&gt;
&lt;br /&gt;
Dementia has been completely rebuilt. Currently we have a few levels, a few NPC, and some graphics. We plan to build a real time battle system, with custom stats, magic, weapons, wild enemies you can capture, and so much more! Check us out! Contact Latte if you are interested in a staff position, either in game, or by e-mail, zaraxiel@gmail.com. We are not yet hiring FAQs, GPs, or Events team yet, so please be patient!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''July 9th''' - '''Delteria Spar Tournament''' {{News/Playerworlds}}&lt;br /&gt;
Delteria's overworld and kitcsh returned along with the (DST) Delterian Spar Tournament. Each Wednesday night, starting at 11 PM EST, the DST will be held. Winners of the tournament will receive a statue in the Delterian Spar Complex.&lt;br /&gt;
Of the over 50 players online, 34 players participated and only one won the tournament. Congratulations to Chance Mercy (Veracity) for victory in the tournament on Wednesday! &lt;br /&gt;
&lt;br /&gt;
[[Image:DelteriaNews100709.PNG]]&lt;br /&gt;
&lt;br /&gt;
Along the side of the Delterian Spar Tournament, the Delterian Tag Team Spar Tournament is planning to make a return. The Delterian Tag Team Spar Tournament will begin at 11 PM EST on Monday the 13th of July. The first calls for the event will begin at 10:45 PM EST. Good luck to the teams that participate!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''July 9th''' - '''Graal Kingdoms - Monster Siege Part 1''' {{News/Graal_Kingdoms}}&lt;br /&gt;
[[Image:Gknews070909.png]]&lt;br /&gt;
&lt;br /&gt;
There's a letter. It was dropped by a Skelly. Hm... it's pretty garbled and torn up. Only one thing can be made out from the mess, &amp;quot;... we will attack...&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sounds ominous enough doesn't it? We need adventurers to strike out and slay monsters by the ton. We need to discover what their plans are. Where are they going to attack, what are they going to do?&lt;br /&gt;
&lt;br /&gt;
This '''Sunday''' at around '''5:00 server time''' I should have an idea on where there are some monsters hiding out. If you're there I'll send you off to recover more plans. Each piece you bring back will win you an event coin. Maybe then we'll learn what they're doing.&lt;br /&gt;
&lt;br /&gt;
* '''July 7th''' - '''Graal Kingdoms - Quarter 3''' {{News/Graal_Kingdoms}}&lt;br /&gt;
[[Image:Gkquarter32009.png]]&lt;br /&gt;
&lt;br /&gt;
Quarter 3 has arrived on Graal Kingdoms. Find more information [http://forums.graalonline.com/forums/showthread.php?p=1505099#post1505099 here.]&lt;br /&gt;
&lt;br /&gt;
* '''July 6th''' - '''Noctorious Beta''' {{News/Playerworlds}}&lt;br /&gt;
[[Image:Noctoriousbeta6july2009.png]]&lt;br /&gt;
&lt;br /&gt;
Noctorious is a modern themed server with many of the same features you'd expect from a modern server, however the the staff team has paid great attention to detail brining a unique style of design to the server. The public beta testing is from Monday the 6th until Monday the 13th of July giving a glimpse of what's to come. &lt;br /&gt;
&lt;br /&gt;
Notorious is looking for Scripters, Level, Graphic, and Gani Artists to help with the development project. For more details [[http://forums.graalonline.com/forums/showthread.php?t=86686 Click here]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Noctoriousscreenshot6july2009.png]]&lt;br /&gt;
&lt;br /&gt;
* '''July 5th''' - '''Unholy Nation Pets!''' {{News/Playerworlds}}&lt;br /&gt;
&lt;br /&gt;
Hi guys!&lt;br /&gt;
Sunday at 5:00 PM EST we will be having an open beta testing of the newest system on it's way to Unholy Nation. We have been slaving over it for two weeks, and are excited to get the final product public! You guessed right, it's the future pet system!&lt;br /&gt;
&lt;br /&gt;
[[Image:UnholyNationPets.PNG]]&lt;br /&gt;
&lt;br /&gt;
Just be ready to log onto Unholy Dev and have fun. The main objective is to evaluate the stress this system will have on the server when we have a large group of players using it at a time. There will be a thread on our own UN forums system (and the [http://forums.graalonline.com/forums/showthread.php?p=1503797#post1503797 GraalOnline forums]) for your opinion of the system.&lt;br /&gt;
&lt;br /&gt;
Keep in mind this is the beta! So what you're seeing isn't the finished product.&lt;br /&gt;
Thanks! &lt;br /&gt;
&lt;br /&gt;
~Streety/UN Team&lt;br /&gt;
&lt;br /&gt;
* '''July 4th''' - '''Zone 4th of July''' {{News/Zone}}&lt;br /&gt;
&lt;br /&gt;
Thanks to the Zone staff for the 4th of July updates. Flags were added to the bases, cookies were temporarily enabled with a limit of two, and the jetpack flames were changed to be red, white, and blue. Thanks in particular to Minomato and Novice for their contributions to allow these updates to happen. More updates will come soon! Have a happy 4th of July!&lt;br /&gt;
&lt;br /&gt;
[[Image:ZoneJulyFourth.PNG]]&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=File:Aeonnews.png&amp;diff=12365</id>
		<title>File:Aeonnews.png</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=File:Aeonnews.png&amp;diff=12365"/>
		<updated>2009-07-19T14:35:55Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/GScript/Stefan_Wisdom&amp;diff=12000</id>
		<title>Creation/Dev/GScript/Stefan Wisdom</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/GScript/Stefan_Wisdom&amp;diff=12000"/>
		<updated>2009-04-29T00:22:29Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: SQLite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
Stefan is the only GScript wizard in existence. Sometimes he illuminates his inferiors in a post so wise it can be felt without having a browser running. Following is a list of forum posts in the Official Graal Communication Center.&lt;br /&gt;
&lt;br /&gt;
==Announcements==&lt;br /&gt;
Stefan announcing new features etc.&lt;br /&gt;
* [http://forums.graalonline.com/forums/reputation.php?p=1482284 Using SQLite]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showthread.php?t=85257 wordFilterText and stuff]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showthread.php?t=84926 urlencode and scripthelp wildcards]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showthread.php?t=74042 Functions objects, anonymous functions]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showthread.php?t=77464 npcnewstorage]&lt;br /&gt;
&lt;br /&gt;
==Regular posts==&lt;br /&gt;
Most of these are Stefan helping people. What a nice guy!&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1367596&amp;amp;postcount=9 Preventing GUI controls from stealing focus]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1482479&amp;amp;postcount=17 commands.rtf equivalent for GS2]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1463493&amp;amp;postcount=11 Detailing when the params array is created]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1478088&amp;amp;postcount=13 Socket stuff]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1482324&amp;amp;postcount=23 Time formatting]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1391213&amp;amp;postcount=50 Observer mode events]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1466070&amp;amp;postcount=6 Dynamic variable names]&lt;br /&gt;
* [http://forums.graalonline.com/forums/showpost.php?p=1486291&amp;amp;postcount=6 How to use triggerserver in regular NPCs]&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11977</id>
		<title>Creation/Dev/wordFilter</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11977"/>
		<updated>2009-04-22T22:37:09Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The NPC server has built-in word filter functions.  This feature comes in handy for servers who want to implement a swear filter.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
* wordfiltertext(text, type) - returns integer - filters text with the rules defined in wordfilter/rules.txt, second parameter is the text type (chat, pm, toall or nick), result is a combination of 1 (log) + 2 (tell admins) + 4 (replace) + 8 (warn) + 16 (jail) + 32 (ban); use getWordFilterNewText(), getWordFilterMessage() and getWordFilterMatches() for more information about the filtered text&lt;br /&gt;
&lt;br /&gt;
* getwordfiltermatches(int) - returns object - returns an array of words which matched the word filter after calling wordFilterText(), parameter is the maximum number of matches you want&lt;br /&gt;
&lt;br /&gt;
* getwordfiltermessage() - returns string - returns the warn message after calling wordFilterText()&lt;br /&gt;
&lt;br /&gt;
* getwordfilternewtext() - returns string - returns the new text generated by the word filter after calling wordFilterText()&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following snippet shows how the word filter functions can be used to implement a swear filter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;temp.filteresult = wordFilterText(player.chat, &amp;quot;chat&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
if ((temp.filteresult &amp;amp; 1)!=0) &lt;br /&gt;
  savelog2(&amp;quot;cursinglog.txt&amp;quot;, player.account @ &amp;quot; used rude words: &amp;quot; @ getWordFilterMatches(3)); &lt;br /&gt;
&lt;br /&gt;
if ((temp.filteresult &amp;amp; (8 + 16 + 32))!=0) &lt;br /&gt;
  player.chat = getWordFilterMessage(); &lt;br /&gt;
else if ((temp.filteresult &amp;amp; 4)!=0) &lt;br /&gt;
  player.chat = getWordFilterNewText()&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/GScript&amp;diff=11976</id>
		<title>Creation/Dev/GScript</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/GScript&amp;diff=11976"/>
		<updated>2009-04-22T22:36:29Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: word filter link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
'''GScript''' is [[Graal]]'s scripting language.&lt;br /&gt;
&lt;br /&gt;
Its syntax and some of its semantics might seem familiar to those who program in [[WikiPedia:C (Programming Language) |C]] or [[WikiPedia:Java_programming_language|Java]], it uses ECMA-Script syntax. In some ways it is more dynamic, e.g. supporting dynamicly joining and leaving of classes, and brings support for easy management of online game content.&lt;br /&gt;
&lt;br /&gt;
It is used for [[clientside]] tasks like [[GUI | GUI programming]], special effects and custom [[NPC weapon|weapons]], and [[serverside]] systems like player housing, complex baddies or pets.&lt;br /&gt;
&lt;br /&gt;
'''If you would like to contribute to the GraalBible's GScript documentation, you might want to [[Creation/Dev/GScript/Contribute|read this article]].'''&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
In your scripting quest, you may find the following articles to be of use:&lt;br /&gt;
&lt;br /&gt;
'''Basic information'''&lt;br /&gt;
* [[Creation/Dev/Script/Starting Guide|Starting Guide]]&lt;br /&gt;
* [[Creation/Dev/Script/Client|Functions, variables and objects (clientside)]] &lt;br /&gt;
* [[Image:Guicontrol_window.png|80px]] [[Creation/Dev/Script/Client/GuiControls_List|GUI Controls]]&lt;br /&gt;
&lt;br /&gt;
'''Tutorials'''&lt;br /&gt;
* [[Image:s_dummies.png|80px]] [[Creation/Dev/GScript/New Engine GScript for Dummies|New Engine GScript for Dummies]]&lt;br /&gt;
* [[Creation/Dev/Excalibur's scripting guide|Excalibur's Scripting Guide]]&lt;br /&gt;
&lt;br /&gt;
'''Specific Features'''&lt;br /&gt;
* [[Creation/Dev/GS1_To_GS2|GS1 To GS2: Guide for fixing scripts to work with the new engine]]&lt;br /&gt;
* [[Creation/Dev/Output Methods|Output methods]]&lt;br /&gt;
* [[Creation/Dev/Using Classes Effectively|Use of classes]]&lt;br /&gt;
* [[Creation/Dev/GScript/Constants|Constants]]&lt;br /&gt;
* [[Creation/Dev/GScript/Understanding GUI Profiles|GUI Features: Understanding GUI profiles]]&lt;br /&gt;
* [[Image:Guicontrol_tab.png]] [[Creation/Dev/Creating Tabbed Window Panes|Creating Tabbed Window Panes]]&lt;br /&gt;
* [[Particle Engine|Particle Engine]]&lt;br /&gt;
* [[Creation/Dev/Graal v4 IRC|Graal IRC Scripting: Graal IRC Scripting Reference]]&lt;br /&gt;
* [[Creation/Dev/Troubleshooting Graal v4 IRC|Graal IRC Scripting: Troubleshooting Scripting Reference]]&lt;br /&gt;
* [[Creation/Dev/Database_Communication|Indexed Database Communication]]&lt;br /&gt;
* [[Vectors]] (3D)&lt;br /&gt;
* [[Creation/Dev/wordFilter|Word Filter]]&lt;br /&gt;
&lt;br /&gt;
'''Script Function List'''&lt;br /&gt;
&lt;br /&gt;
These are frequently updated, to get the latest list run Graal with the -listscriptfunctions option. You can also get help about script functions with the ''/scripthelp &amp;lt;string&amp;gt;'' command on RemoteControl chat.&lt;br /&gt;
* [[Creation/Dev/Script/Clientside_Functions|Client side]]&lt;br /&gt;
* [[Creation/Dev/Script Functions: NPC Server|Server side]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* [http://skyld.vip.graal.net Old GScript Wiki] (404)&lt;br /&gt;
* [http://wiki.graal.us/Index New GScript Wiki]&lt;br /&gt;
* [http://resource.nukedstudios.com Twinny's Scripting Page]&lt;br /&gt;
* [[GScript IRC channel]] (non-official)&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11975</id>
		<title>Creation/Dev/wordFilter</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11975"/>
		<updated>2009-04-22T22:34:08Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The NPC server has a built-in word filter.  This feature comes in handy for servers who want to implement a swear filter.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
* wordfiltertext(text, type) - returns integer - filters text with the rules defined in wordfilter/rules.txt, second parameter is the text type (chat, pm, toall or nick), result is a combination of 1 (log) + 2 (tell admins) + 4 (replace) + 8 (warn) + 16 (jail) + 32 (ban); use getWordFilterNewText(), getWordFilterMessage() and getWordFilterMatches() for more information about the filtered text&lt;br /&gt;
&lt;br /&gt;
* getwordfiltermatches(int) - returns object - returns an array of words which matched the word filter after calling wordFilterText(), parameter is the maximum number of matches you want&lt;br /&gt;
&lt;br /&gt;
* getwordfiltermessage() - returns string - returns the warn message after calling wordFilterText()&lt;br /&gt;
&lt;br /&gt;
* getwordfilternewtext() - returns string - returns the new text generated by the word filter after calling wordFilterText()&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following snippet shows how the word filter can be used to implement a swear filter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;temp.filteresult = wordFilterText(player.chat, &amp;quot;chat&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
if ((temp.filteresult &amp;amp; 1)!=0) &lt;br /&gt;
  savelog2(&amp;quot;cursinglog.txt&amp;quot;, player.account @ &amp;quot; used rude words: &amp;quot; @ getWordFilterMatches(3)); &lt;br /&gt;
&lt;br /&gt;
if ((temp.filteresult &amp;amp; (8 + 16 + 32))!=0) &lt;br /&gt;
  player.chat = getWordFilterMessage(); &lt;br /&gt;
else if ((temp.filteresult &amp;amp; 4)!=0) &lt;br /&gt;
  player.chat = getWordFilterNewText()&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11974</id>
		<title>Creation/Dev/wordFilter</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11974"/>
		<updated>2009-04-22T22:32:56Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The NPC server has a built-in word filter.  This feature comes in handy for servers who want to implement a swear filter.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
 * wordfiltertext(text, type) - returns integer - filters text with the rules defined in wordfilter/rules.txt, second parameter is the text type (chat, pm, toall or nick), result is a combination of 1 (log) + 2 (tell admins) + 4 (replace) + 8 (warn) + 16 (jail) + 32 (ban); use getWordFilterNewText(), getWordFilterMessage() and getWordFilterMatches() for more information about the filtered text&lt;br /&gt;
&lt;br /&gt;
 * getwordfiltermatches(int) - returns object - returns an array of words which matched the word filter after calling wordFilterText(), parameter is the maximum number of matches you want&lt;br /&gt;
&lt;br /&gt;
 * getwordfiltermessage() - returns string - returns the warn message after calling wordFilterText()&lt;br /&gt;
&lt;br /&gt;
 * getwordfilternewtext() - returns string - returns the new text generated by the word filter after calling wordFilterText()&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following snippet shows how the word filter can be used to implement a swear filter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;temp.filteresult = wordFilterText(player.chat, &amp;quot;chat&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
if ((temp.filteresult &amp;amp; 1)!=0) &lt;br /&gt;
  savelog2(&amp;quot;cursinglog.txt&amp;quot;, player.account @ &amp;quot; used rude words: &amp;quot; @ getWordFilterMatches(3)); &lt;br /&gt;
&lt;br /&gt;
if ((temp.filteresult &amp;amp; (8 + 16 + 32))!=0) &lt;br /&gt;
  player.chat = getWordFilterMessage(); &lt;br /&gt;
else if ((temp.filteresult &amp;amp; 4)!=0) &lt;br /&gt;
  player.chat = getWordFilterNewText()&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11973</id>
		<title>Creation/Dev/wordFilter</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/wordFilter&amp;diff=11973"/>
		<updated>2009-04-22T22:30:40Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: New page: == Introduction == The NPC server has a built-in word filter.  This feature comes in handy for servers who want to implement a swear filter.  == Functions == &amp;lt;pre&amp;gt;wordfiltertext(text, type...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The NPC server has a built-in word filter.  This feature comes in handy for servers who want to implement a swear filter.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
&amp;lt;pre&amp;gt;wordfiltertext(text, type) - returns integer - filters text with the rules defined in wordfilter/rules.txt, second parameter is the text type (chat, pm, toall or nick), result is a combination of 1 (log) + 2 (tell admins) + 4 (replace) + 8 (warn) + 16 (jail) + 32 (ban); use getWordFilterNewText(), getWordFilterMessage() and getWordFilterMatches() for more information about the filtered text&lt;br /&gt;
&lt;br /&gt;
getwordfiltermatches(int) - returns object - returns an array of words which matched the word filter after calling wordFilterText(), parameter is the maximum number of matches you want&lt;br /&gt;
&lt;br /&gt;
getwordfiltermessage() - returns string - returns the warn message after calling wordFilterText()&lt;br /&gt;
&lt;br /&gt;
getwordfilternewtext() - returns string - returns the new text generated by the word filter after calling wordFilterText()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
The following example shows how the word filter can be used to implement a swear filter.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script_Functions:_NPC_Server&amp;diff=11919</id>
		<title>Creation/Dev/Script Functions: NPC Server</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script_Functions:_NPC_Server&amp;diff=11919"/>
		<updated>2009-04-10T07:57:56Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Script functions (the mud functions, kingdom functions and TMudObject are only available on Graal Kingdoms):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  allplayerscount - integer (read only)&lt;br /&gt;
  canspin - boolean (read only)&lt;br /&gt;
  carriesblackstone - boolean (read only)&lt;br /&gt;
  carriesbush - boolean (read only)&lt;br /&gt;
  carriesnpc - boolean (read only)&lt;br /&gt;
  carriessign - boolean (read only)&lt;br /&gt;
  carriesstone - boolean (read only)&lt;br /&gt;
  carriesvase - boolean (read only)&lt;br /&gt;
  graalversion - float (read only)&lt;br /&gt;
  gravity - float&lt;br /&gt;
  nwday - integer (read only)&lt;br /&gt;
  nwhour - integer (read only)&lt;br /&gt;
  nwmin - integer (read only)&lt;br /&gt;
  nwmonth - integer (read only)&lt;br /&gt;
  nwtime - integer (read only)&lt;br /&gt;
  nwweek - integer (read only)&lt;br /&gt;
  nwweekday - integer (read only)&lt;br /&gt;
  nwyear - integer (read only)&lt;br /&gt;
  timevar - integer (read only)&lt;br /&gt;
  timevar2 - float (read only)&lt;br /&gt;
  addguildmember(str, str, str)&lt;br /&gt;
  addweapon(str)&lt;br /&gt;
  aindexof(float, obj) - returns integer&lt;br /&gt;
  attachplayertoobj(int, int)&lt;br /&gt;
  bodyexists(str) - returns boolean&lt;br /&gt;
  callnpc(int, params...)&lt;br /&gt;
  callweapon(int, params...)&lt;br /&gt;
  checksum(str) - returns float&lt;br /&gt;
  contains(str, str) - returns boolean&lt;br /&gt;
  copylevel(str, str)&lt;br /&gt;
  copystrings(str, str)&lt;br /&gt;
  deletefile(str) - returns boolean&lt;br /&gt;
  deletelevel(str) - returns boolean&lt;br /&gt;
  detachplayer()&lt;br /&gt;
  disableweapons()&lt;br /&gt;
  echo(str)&lt;br /&gt;
  enableweapons()&lt;br /&gt;
  extractfilebase(str) - returns string&lt;br /&gt;
  extractfileext(str) - returns string&lt;br /&gt;
  extractfilename(str) - returns string&lt;br /&gt;
  extractfilepath(str) - returns string&lt;br /&gt;
  fileexists(str) - returns boolean&lt;br /&gt;
  filesize(str) - returns integer&lt;br /&gt;
  findarchetype(str) - returns object&lt;br /&gt;
  findareanpcs(float, float, float, float) - returns object&lt;br /&gt;
  findlevel(str) - returns object&lt;br /&gt;
  findnearestplayer(float, float) - returns object&lt;br /&gt;
  findnearestplayers(float, float) - returns object&lt;br /&gt;
  findnpc(str) - returns object&lt;br /&gt;
  findplayer(str) - returns object&lt;br /&gt;
  findplayerbyid(int) - returns object&lt;br /&gt;
  findweapon(str) - returns object&lt;br /&gt;
  findweaponnpc(str) - returns object&lt;br /&gt;
  freezeplayer2()&lt;br /&gt;
  getareanpcs(float, float, float, float) - returns object&lt;br /&gt;
  getascii(str)&lt;br /&gt;
  getextension(str) - returns string&lt;br /&gt;
  getguildnick(str, str) - returns string&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkingdomhasright(str, str) - returns boolean&lt;br /&gt;
  getkingdomisally(str, str) - returns boolean&lt;br /&gt;
  getkingdomisenemy(str, str) - returns boolean&lt;br /&gt;
  getkingdomisinkingdom(str) - returns boolean&lt;br /&gt;
  getkingdomismember(str, str) - returns boolean&lt;br /&gt;
  getkingdomrankname(str) - returns string&lt;br /&gt;
  getkingdomrankrights(str) - returns string&lt;br /&gt;
  getkingdomranktitle(str) - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getnearestmonster(float, float) - returns integer&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getnpcindex(str) - returns integer&lt;br /&gt;
  getplayerindex(str) - returns integer&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  hasright(str, str) - returns boolean&lt;br /&gt;
  headexists(str) - returns boolean&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  kingdomadd(str)&lt;br /&gt;
  kingdomaddally(str)&lt;br /&gt;
  kingdomaddenemy(str)&lt;br /&gt;
  kingdomaddmember(str)&lt;br /&gt;
  kingdomaddrank(str)&lt;br /&gt;
  kingdomgetkingdom(str)&lt;br /&gt;
  kingdomjoin(str)&lt;br /&gt;
  kingdomlistallies(str)&lt;br /&gt;
  kingdomlistenemies(str)&lt;br /&gt;
  kingdomlistkingdoms()&lt;br /&gt;
  kingdomlistmembers(str)&lt;br /&gt;
  kingdomlistrankmembers(str)&lt;br /&gt;
  kingdomlistranks(str)&lt;br /&gt;
  kingdommessage(str)&lt;br /&gt;
  kingdommessage2(str, str)&lt;br /&gt;
  kingdomprofilekingdom(str)&lt;br /&gt;
  kingdomprofilemember(str)&lt;br /&gt;
  kingdomprofilerank(str)&lt;br /&gt;
  kingdomremove(str)&lt;br /&gt;
  kingdomremoveally(str)&lt;br /&gt;
  kingdomremoveenemy(str)&lt;br /&gt;
  kingdomremovemember(str)&lt;br /&gt;
  kingdomremoverank(str)&lt;br /&gt;
  kingdomrenamemember(str, str)&lt;br /&gt;
  kingdomrenamerank(str, str)&lt;br /&gt;
  kingdomsetrank(str, str)&lt;br /&gt;
  kingdomsetrankparent(str, str)&lt;br /&gt;
  kingdomsetrankrights(str, str)&lt;br /&gt;
  kingdomsetranktitle(str, str)&lt;br /&gt;
  kingdomsettitle(str)&lt;br /&gt;
  levelexists(str) - returns boolean&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  makescreenshot(str)&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  mudaddinvobject(int, str) - returns boolean&lt;br /&gt;
  mudaddmoney(int)&lt;br /&gt;
  mudapplyinvobject(int)&lt;br /&gt;
  mudapplyobject()&lt;br /&gt;
  mudattack(int, int) - returns integer&lt;br /&gt;
  mudcastspell(int, int) - returns integer&lt;br /&gt;
  mudcommand(str, str)&lt;br /&gt;
  mudcountinvobject(str) - returns integer&lt;br /&gt;
  muddooropen(int) - returns boolean&lt;br /&gt;
  muddropinvobject(int, float, float, int)&lt;br /&gt;
  mudequipweapon(str)&lt;br /&gt;
  mudexamineinvobject(int)&lt;br /&gt;
  mudexamineinvobject2(int, int)&lt;br /&gt;
  mudexamineobject()&lt;br /&gt;
  mudfindinvobject(str) - returns integer&lt;br /&gt;
  mudfirespell(int)&lt;br /&gt;
  mudfirespell2(int, int, int)&lt;br /&gt;
  mudhaskey(str) - returns boolean&lt;br /&gt;
  mudhaskey2(str, str) - returns boolean&lt;br /&gt;
  mudhaveskill(str) - returns boolean&lt;br /&gt;
  mudidentify()&lt;br /&gt;
  mudisbattleground(float, float) - returns boolean&lt;br /&gt;
  mudlistequipment()&lt;br /&gt;
  mudlistskills()&lt;br /&gt;
  mudlistspells()&lt;br /&gt;
  mudlistweapons()&lt;br /&gt;
  mudmissileactions()&lt;br /&gt;
  mudmissileattack(int, int) - returns integer&lt;br /&gt;
  mudmoveinvobject(int, int, int)&lt;br /&gt;
  mudnpccountinvobject(str) - returns integer&lt;br /&gt;
  mudnpcpickupobject(int, int) - returns boolean&lt;br /&gt;
  mudnpcremoveinvobject(int, str) - returns boolean&lt;br /&gt;
  mudobjectattr(str, str) - returns string&lt;br /&gt;
  mudorderinventory(obj)&lt;br /&gt;
  mudpay(int)&lt;br /&gt;
  mudpickupobject(int) - returns boolean&lt;br /&gt;
  mudpickupobject2(int) - returns boolean&lt;br /&gt;
  mudremoveinvobject(int, str) - returns boolean&lt;br /&gt;
  mudresetinvobject(int) - returns boolean&lt;br /&gt;
  mudresetplayer()&lt;br /&gt;
  mudrollstats()&lt;br /&gt;
  mudselectspell(str)&lt;br /&gt;
  mudsetplayerclass(str)&lt;br /&gt;
  mudskilllevel(str) - returns integer&lt;br /&gt;
  mudspellnumber(str) - returns integer&lt;br /&gt;
  mudstartspell(int)&lt;br /&gt;
  mudstopspell()&lt;br /&gt;
  mudtransferobject(int, int, int, int) - returns boolean&lt;br /&gt;
  muduseskill(str)&lt;br /&gt;
  muduseskill2(str)&lt;br /&gt;
  mudvalue(int) - returns integer&lt;br /&gt;
  passwordmatches(str, str) - returns boolean&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removeguild(str)&lt;br /&gt;
  removeguildmember(str, str)&lt;br /&gt;
  removeweapon(str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requestmysql(str, str, str, str, str) - returns object&lt;br /&gt;
  requestsql(str, bool) - returns object&lt;br /&gt;
  requestsql2(str, str, bool) - returns object&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  saveinfo(str, str)&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  savelog2(str, str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  sendpm(str)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtonc(str)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setlevel2(str, float, float)&lt;br /&gt;
  setpm(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  shieldexists(str) - returns boolean&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  swordexists(str) - returns boolean&lt;br /&gt;
  testnpc(float, float) - returns integer&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  triggeraction(float, float, str, str)&lt;br /&gt;
  triggerclient(str)&lt;br /&gt;
  unfreezeplayer()&lt;br /&gt;
  updateratingdeviation(float, float) - returns float - old deviation, time of last spar, returns new deviation&lt;br /&gt;
  updateratings(obj) - returns object - updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean (read only)&lt;br /&gt;
  joinedclasses - object (read only)&lt;br /&gt;
  name - string (read only)&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj)&lt;br /&gt;
  cancelevents(str)&lt;br /&gt;
  catchevent(str, str, str)&lt;br /&gt;
  copyfrom(obj)&lt;br /&gt;
  getdynamicvarnames() - returns object&lt;br /&gt;
  geteditvarnames() - returns object&lt;br /&gt;
  getfunctions() - returns object&lt;br /&gt;
  getstaticvarnames() - returns object&lt;br /&gt;
  getvarnames() - returns object&lt;br /&gt;
  ignoreevent(str, str)&lt;br /&gt;
  ignoreevents(str)&lt;br /&gt;
  insertarray(int, obj)&lt;br /&gt;
  isinclass(str) - returns float&lt;br /&gt;
  join(str)&lt;br /&gt;
  leave(str)&lt;br /&gt;
  loadfolder(str, int)&lt;br /&gt;
  loadlines(str)&lt;br /&gt;
  loadstring(str)&lt;br /&gt;
  loadvars(str)&lt;br /&gt;
  loadvarsfromarray(obj)&lt;br /&gt;
  objecttype() - returns string&lt;br /&gt;
  savelines(str, int)&lt;br /&gt;
  savestring(str, int)&lt;br /&gt;
  savevars(str, int)&lt;br /&gt;
  savevarstoarray(bool) - returns object&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object&lt;br /&gt;
  settimer(float)&lt;br /&gt;
  sortascending()&lt;br /&gt;
  sortbyvalue(str, str, bool)&lt;br /&gt;
  sortdescending()&lt;br /&gt;
  timershow()&lt;br /&gt;
  trigger(str, params...)&lt;br /&gt;
&lt;br /&gt;
  TGaniObject (TGraalVar):&lt;br /&gt;
    ani - string (read only)&lt;br /&gt;
    aniparams - string (read only)&lt;br /&gt;
    attr - object (read only)&lt;br /&gt;
    colors - object (read only)&lt;br /&gt;
&lt;br /&gt;
    TServerNPC (TGaniObject):&lt;br /&gt;
      ani - string&lt;br /&gt;
      aniparams - string&lt;br /&gt;
      ap - integer&lt;br /&gt;
      arrows - integer&lt;br /&gt;
      body - string&lt;br /&gt;
      bodyimg - string&lt;br /&gt;
      bombs - integer&lt;br /&gt;
      chat - string&lt;br /&gt;
      darts - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dontsave - boolean&lt;br /&gt;
      glovepower - integer&lt;br /&gt;
      gralats - integer&lt;br /&gt;
      head - string&lt;br /&gt;
      headimg - string&lt;br /&gt;
      hearts - float&lt;br /&gt;
      height - float (read only)&lt;br /&gt;
      hidetoclients - boolean&lt;br /&gt;
      horseimg - string&lt;br /&gt;
      hurtdx - float&lt;br /&gt;
      hurtdy - float&lt;br /&gt;
      hurtpower - float (read only)&lt;br /&gt;
      id - integer (read only)&lt;br /&gt;
      image - string&lt;br /&gt;
      level - object (read only)&lt;br /&gt;
      name - string (read only)&lt;br /&gt;
      nick - string&lt;br /&gt;
      npcsindex - integer (read only)&lt;br /&gt;
      rupees - integer&lt;br /&gt;
      save - object (read only)&lt;br /&gt;
      shield - string&lt;br /&gt;
      shieldimg - string&lt;br /&gt;
      shieldpower - integer&lt;br /&gt;
      sprite - integer&lt;br /&gt;
      sword - string&lt;br /&gt;
      swordimg - string&lt;br /&gt;
      swordpower - integer&lt;br /&gt;
      visible - boolean&lt;br /&gt;
      width - float (read only)&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      blockagain()&lt;br /&gt;
      canbecarried()&lt;br /&gt;
      canbepulled()&lt;br /&gt;
      canbepushed()&lt;br /&gt;
      cannotbecarried()&lt;br /&gt;
      cannotbepulled()&lt;br /&gt;
      cannotbepushed()&lt;br /&gt;
      cannotwarp()&lt;br /&gt;
      canwarp()&lt;br /&gt;
      canwarp2()&lt;br /&gt;
      changeimgcolors(int, float, float, float, float)&lt;br /&gt;
      changeimgmode(int, int)&lt;br /&gt;
      changeimgpart(int, int, int, int, int)&lt;br /&gt;
      changeimgvis(int, int)&lt;br /&gt;
      changeimgzoom(int, float)&lt;br /&gt;
      destroy()&lt;br /&gt;
      destroymudobject()&lt;br /&gt;
      dontblock()&lt;br /&gt;
      drawaslight()&lt;br /&gt;
      drawoverplayer()&lt;br /&gt;
      drawunderplayer()&lt;br /&gt;
      findimg(int) - returns object&lt;br /&gt;
      hide()&lt;br /&gt;
      hideimg(int)&lt;br /&gt;
      hideimgs(int, int)&lt;br /&gt;
      makemudobject(str)&lt;br /&gt;
      message(str)&lt;br /&gt;
      move(float, float, float, int)&lt;br /&gt;
      noplayeronwall()&lt;br /&gt;
      onwall(float, float) - returns boolean&lt;br /&gt;
      onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
      onwallpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
      playeronwall()&lt;br /&gt;
      requesttext(str, str)&lt;br /&gt;
      scriptdone()&lt;br /&gt;
      sendtext(str, str, params...)&lt;br /&gt;
      setcharani(str, str)&lt;br /&gt;
      setchargender(str)&lt;br /&gt;
      setimg(str)&lt;br /&gt;
      setimgpart(str, int, int, int, int)&lt;br /&gt;
      setshape(int, int, int)&lt;br /&gt;
      setshape2(int, int, obj)&lt;br /&gt;
      show()&lt;br /&gt;
      showani(int, float, float, int, str) - returns object&lt;br /&gt;
      showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
      showcharacter()&lt;br /&gt;
      showimg(int, str, float, float) - returns object&lt;br /&gt;
      showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
      showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
      showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
      toweapons(str)&lt;br /&gt;
      warpto(str, float, float)&lt;br /&gt;
&lt;br /&gt;
    TServerPlayer (TGaniObject):&lt;br /&gt;
      account - string (read only)&lt;br /&gt;
      ani - string&lt;br /&gt;
      aniparams - string&lt;br /&gt;
      ap - integer&lt;br /&gt;
      arrows - integer&lt;br /&gt;
      attached - boolean (read only)&lt;br /&gt;
      attachid - integer (read only)&lt;br /&gt;
      attachtype - integer (read only)&lt;br /&gt;
      body - string&lt;br /&gt;
      bodyimg - string&lt;br /&gt;
      bombs - integer&lt;br /&gt;
      canspin - boolean (read only)&lt;br /&gt;
      carriesblackstone - boolean (read only)&lt;br /&gt;
      carriesbush - boolean (read only)&lt;br /&gt;
      carriesnpc - boolean (read only)&lt;br /&gt;
      carriessign - boolean (read only)&lt;br /&gt;
      carriesstone - boolean (read only)&lt;br /&gt;
      carriesvase - boolean (read only)&lt;br /&gt;
      chat - string&lt;br /&gt;
      darts - integer&lt;br /&gt;
      deaths - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      fullhearts - integer&lt;br /&gt;
      glovepower - integer&lt;br /&gt;
      graalversion - float (read only)&lt;br /&gt;
      gralats - integer&lt;br /&gt;
      guild - string&lt;br /&gt;
      head - string&lt;br /&gt;
      headimg - string&lt;br /&gt;
      headset - integer&lt;br /&gt;
      hearts - float&lt;br /&gt;
      horseimg - string&lt;br /&gt;
      hp - float&lt;br /&gt;
      id - integer (read only)&lt;br /&gt;
      isfemale - boolean&lt;br /&gt;
      ismale - boolean&lt;br /&gt;
      kills - integer&lt;br /&gt;
      language - string (read only)&lt;br /&gt;
      languagedomain - string (read only)&lt;br /&gt;
      lastdead - integer (read only)&lt;br /&gt;
      level - object (read only)&lt;br /&gt;
      logintime - integer (read only)&lt;br /&gt;
      maxhp - integer&lt;br /&gt;
      movementlimit - float&lt;br /&gt;
      mp - integer&lt;br /&gt;
      nick - string&lt;br /&gt;
      onlinetime - integer (read only)&lt;br /&gt;
      pause - boolean (read only)&lt;br /&gt;
      paused - boolean (read only)&lt;br /&gt;
      platform - string (read only)&lt;br /&gt;
      rating - float&lt;br /&gt;
      ratingd - float&lt;br /&gt;
      rupees - integer&lt;br /&gt;
      shield - string&lt;br /&gt;
      shieldimg - string&lt;br /&gt;
      shieldpower - integer&lt;br /&gt;
      sprite - integer&lt;br /&gt;
      sword - string&lt;br /&gt;
      swordimg - string&lt;br /&gt;
      swordpower - integer&lt;br /&gt;
      trial - boolean (read only)&lt;br /&gt;
      upgradestatus - string (read only)&lt;br /&gt;
      version - float (read only)&lt;br /&gt;
      weapons - object (read only)&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      addweapon(str)&lt;br /&gt;
      attachplayertoobj(int, int)&lt;br /&gt;
      callweapon(int, params...)&lt;br /&gt;
      detachplayer()&lt;br /&gt;
      disableweapons()&lt;br /&gt;
      enableweapons()&lt;br /&gt;
      findweapon(str) - returns object&lt;br /&gt;
      freezeplayer2()&lt;br /&gt;
      hasright(str, str) - returns boolean&lt;br /&gt;
      makescreenshot(str)&lt;br /&gt;
      removeweapon(str)&lt;br /&gt;
      say(int)&lt;br /&gt;
      say2(str)&lt;br /&gt;
      sendpm(str)&lt;br /&gt;
      sendrpgmessage(str)&lt;br /&gt;
      setani(str, str)&lt;br /&gt;
      setbeltcolor(str)&lt;br /&gt;
      setcoatcolor(str)&lt;br /&gt;
      setgender(str)&lt;br /&gt;
      sethead(str)&lt;br /&gt;
      setlevel2(str, float, float)&lt;br /&gt;
      setshield(str, int)&lt;br /&gt;
      setshoecolor(str)&lt;br /&gt;
      setskincolor(str)&lt;br /&gt;
      setsleevecolor(str)&lt;br /&gt;
      setsword(str, int)&lt;br /&gt;
      triggerclient(str)&lt;br /&gt;
      unfreezeplayer()&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string (read only)&lt;br /&gt;
    contentlanguage - string (read only)&lt;br /&gt;
    contenttype - string (read only)&lt;br /&gt;
    downloadcomplete - boolean (read only)&lt;br /&gt;
    file - string (read only)&lt;br /&gt;
    fulldata - string (read only)&lt;br /&gt;
    lastmodified - string (read only)&lt;br /&gt;
    port - integer (read only)&lt;br /&gt;
    returncode - integer (read only)&lt;br /&gt;
    returnmessage - string (read only)&lt;br /&gt;
    server - string (read only)&lt;br /&gt;
&lt;br /&gt;
  TKingdom (TGraalVar):&lt;br /&gt;
    title - string&lt;br /&gt;
&lt;br /&gt;
  TKingdomMember (TGraalVar):&lt;br /&gt;
    kingdom - object (read only)&lt;br /&gt;
    kingdomjointime - integer (read only)&lt;br /&gt;
    rank - object (read only)&lt;br /&gt;
    rankjointime - integer (read only)&lt;br /&gt;
&lt;br /&gt;
  TKingdomRank (TGraalVar):&lt;br /&gt;
    kingdom - object (read only)&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    rights - string&lt;br /&gt;
    title - string&lt;br /&gt;
&lt;br /&gt;
  TMudArch (TGraalVar):&lt;br /&gt;
    fullname - string (read only)&lt;br /&gt;
&lt;br /&gt;
  TMudObject (TGraalVar):&lt;br /&gt;
    alive - boolean&lt;br /&gt;
    applied - boolean&lt;br /&gt;
    arch - object (read only)&lt;br /&gt;
    archname - string (read only)&lt;br /&gt;
    cursed - boolean&lt;br /&gt;
    damned - boolean&lt;br /&gt;
    datablock - string (read only)&lt;br /&gt;
    icon - string (read only)&lt;br /&gt;
    identified - boolean&lt;br /&gt;
    iscontrolledbynpc - boolean (read only)&lt;br /&gt;
    isdungeonmaster - boolean (read only)&lt;br /&gt;
    ismudobject - boolean (read only)&lt;br /&gt;
    mudcarrying - integer (read only)&lt;br /&gt;
    mudexp - integer&lt;br /&gt;
    mudfood - integer&lt;br /&gt;
    mudfullname - string (read only)&lt;br /&gt;
    mudgraalparam - string&lt;br /&gt;
    mudgraaltype - integer&lt;br /&gt;
    mudhp - integer&lt;br /&gt;
    mudid - integer (read only)&lt;br /&gt;
    mudlevel - integer&lt;br /&gt;
    mudmarketprize - integer&lt;br /&gt;
    mudmaxhp - integer&lt;br /&gt;
    mudmaxsp - integer&lt;br /&gt;
    mudmoney - integer (read only)&lt;br /&gt;
    mudname - string (read only)&lt;br /&gt;
    mudowner - object&lt;br /&gt;
    mudquantity - integer (read only)&lt;br /&gt;
    mudrandomvar - integer&lt;br /&gt;
    mudrealname - string&lt;br /&gt;
    mudslaying - string&lt;br /&gt;
    mudsp - integer&lt;br /&gt;
    mudspeed - float (read only)&lt;br /&gt;
    mudtype - integer (read only)&lt;br /&gt;
    mudweight - integer (read only)&lt;br /&gt;
    nodamage - boolean&lt;br /&gt;
    nopick - boolean&lt;br /&gt;
    npcparam - string&lt;br /&gt;
    npctype - integer&lt;br /&gt;
    petmove - boolean&lt;br /&gt;
    restrictaccess - string&lt;br /&gt;
    scared - boolean&lt;br /&gt;
    unpaid - boolean&lt;br /&gt;
    value - string (read only)&lt;br /&gt;
    apply()&lt;br /&gt;
    attackblind(obj, int) - blinds the object, specify the hitter and the hit damage&lt;br /&gt;
    attackconfuse()&lt;br /&gt;
    attackparalyze(int) - paralyzes the object, specifiy the hit damage&lt;br /&gt;
    attackpoison(obj, int) - poisones the object, specify the hitter and hit damage&lt;br /&gt;
    attackslow()&lt;br /&gt;
    checkphysicallyinfect(obj) - infect this object by transfering diseases from the hitter&lt;br /&gt;
    countinvobject(str) - returns integer&lt;br /&gt;
    drainstat(int)&lt;br /&gt;
    examine()&lt;br /&gt;
    findinvobject(str) - returns object&lt;br /&gt;
    findinvobjectbyid(int) - returns object&lt;br /&gt;
    getattackmessageattacker(int, int, obj) - returns string - specify attacktype, damage and hitter&lt;br /&gt;
    getattackmessagevictim(int, int, obj) - returns string - specify attacktype, damage and hitter&lt;br /&gt;
    getkey(str) - returns object - finds keys matching the key string and returns the key object&lt;br /&gt;
    getkey2(str, str) - returns object - finds keys matching the key string and arch name and returns the key object&lt;br /&gt;
    getwieldedobject() - returns object&lt;br /&gt;
    haskey(str) - returns boolean - checks if the object has a key matching the specified key string&lt;br /&gt;
    haskey2(str, str) - returns boolean - checks if the object has a key matching a key string and arch name&lt;br /&gt;
    hasskill(str) - returns boolean&lt;br /&gt;
    haveskill(str) - returns boolean&lt;br /&gt;
    isonbattleground() - returns boolean&lt;br /&gt;
    iswieldobject() - returns boolean&lt;br /&gt;
    killobject(obj) - kills this object, specify the killer as parameter&lt;br /&gt;
    learnrecipe(str, str) - returns boolean - specify arch name and title (eventually 'NONE')&lt;br /&gt;
    mudpay(int)&lt;br /&gt;
    mudvalue(int) - returns integer&lt;br /&gt;
    skillattack(obj) - returns integer - lets another object attack this object and returns how much damage done&lt;br /&gt;
&lt;br /&gt;
    TMudDoor (TMudObject):&lt;br /&gt;
      activatetraps(obj) - returns boolean - returns if an ongoing attack should be aborted&lt;br /&gt;
&lt;br /&gt;
    TMudHouseDoor (TMudObject):&lt;br /&gt;
      keepopen() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TMudPlayer (TMudObject):&lt;br /&gt;
      lastdeath - integer&lt;br /&gt;
      peaceful - boolean&lt;br /&gt;
      addinvobject(int, str) - returns object&lt;br /&gt;
      applyinvobject(int)&lt;br /&gt;
      examineinvobject(int)&lt;br /&gt;
      removeinvobject(int, str) - returns boolean&lt;br /&gt;
      removeinvobjectbyid(int, int) - returns boolean&lt;br /&gt;
      removeinvobjects(str)&lt;br /&gt;
&lt;br /&gt;
  TProjectile (TGraalVar):&lt;br /&gt;
    angle - float (read only)&lt;br /&gt;
    fromplayer - object&lt;br /&gt;
    horiz - boolean (read only)&lt;br /&gt;
    params - string&lt;br /&gt;
    speed - float (read only)&lt;br /&gt;
    x - float (read only)&lt;br /&gt;
    y - float (read only)&lt;br /&gt;
    z - float (read only)&lt;br /&gt;
    zspeed - float (read only)&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    board - object (read only)&lt;br /&gt;
    height - integer (read only)&lt;br /&gt;
    isnopkzone - boolean (read only)&lt;br /&gt;
    issparringzone - boolean (read only)&lt;br /&gt;
    width - integer (read only)&lt;br /&gt;
    dontswapoutlevel()&lt;br /&gt;
    getz(float, float) - returns float&lt;br /&gt;
    mudaddobject(float, float, str) - returns object&lt;br /&gt;
    mudaddspecialobject(float, float, int, str, str) - returns object&lt;br /&gt;
    mudaddspellbook(float, float, int, str, str) - returns object&lt;br /&gt;
    noplayerkilling()&lt;br /&gt;
    onwall(float, float) - returns boolean&lt;br /&gt;
    onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
    onwallpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
    onwater(float, float) - returns boolean&lt;br /&gt;
    onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
    onwaterpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    putnpc2(float, float, str) - returns object&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str)&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
    updateboard2(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TServerSign (TGraalVar):&lt;br /&gt;
    text - string&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script_Functions:_NPC_Server&amp;diff=11918</id>
		<title>Creation/Dev/Script Functions: NPC Server</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script_Functions:_NPC_Server&amp;diff=11918"/>
		<updated>2009-04-10T07:55:59Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Script functions (the mud functions, kingdom functions and TMudObject are only available on Graal Kingdoms):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  allplayerscount - integer (read only)&lt;br /&gt;
  canspin - boolean (read only)&lt;br /&gt;
  carriesblackstone - boolean (read only)&lt;br /&gt;
  carriesbush - boolean (read only)&lt;br /&gt;
  carriesnpc - boolean (read only)&lt;br /&gt;
  carriessign - boolean (read only)&lt;br /&gt;
  carriesstone - boolean (read only)&lt;br /&gt;
  carriesvase - boolean (read only)&lt;br /&gt;
  graalversion - float (read only)&lt;br /&gt;
  gravity - float&lt;br /&gt;
  nwday - integer (read only)&lt;br /&gt;
  nwhour - integer (read only)&lt;br /&gt;
  nwmin - integer (read only)&lt;br /&gt;
  nwmonth - integer (read only)&lt;br /&gt;
  nwtime - integer (read only)&lt;br /&gt;
  nwweek - integer (read only)&lt;br /&gt;
  nwweekday - integer (read only)&lt;br /&gt;
  nwyear - integer (read only)&lt;br /&gt;
  timevar - integer (read only)&lt;br /&gt;
  timevar2 - float (read only)&lt;br /&gt;
  addguildmember(str, str, str)&lt;br /&gt;
  addweapon(str)&lt;br /&gt;
  aindexof(float, obj) - returns integer&lt;br /&gt;
  attachplayertoobj(int, int)&lt;br /&gt;
  bodyexists(str) - returns boolean&lt;br /&gt;
  callnpc(int, params...)&lt;br /&gt;
  callweapon(int, params...)&lt;br /&gt;
  checksum(str) - returns float&lt;br /&gt;
  contains(str, str) - returns boolean&lt;br /&gt;
  copylevel(str, str)&lt;br /&gt;
  copystrings(str, str)&lt;br /&gt;
  deletefile(str) - returns boolean&lt;br /&gt;
  deletelevel(str) - returns boolean&lt;br /&gt;
  detachplayer()&lt;br /&gt;
  disableweapons()&lt;br /&gt;
  echo(str)&lt;br /&gt;
  enableweapons()&lt;br /&gt;
  extractfilebase(str) - returns string&lt;br /&gt;
  extractfileext(str) - returns string&lt;br /&gt;
  extractfilename(str) - returns string&lt;br /&gt;
  extractfilepath(str) - returns string&lt;br /&gt;
  fileexists(str) - returns boolean&lt;br /&gt;
  filesize(str) - returns integer&lt;br /&gt;
  findarchetype(str) - returns object&lt;br /&gt;
  findareanpcs(float, float, float, float) - returns object&lt;br /&gt;
  findlevel(str) - returns object&lt;br /&gt;
  findnearestplayer(float, float) - returns object&lt;br /&gt;
  findnearestplayers(float, float) - returns object&lt;br /&gt;
  findnpc(str) - returns object&lt;br /&gt;
  findplayer(str) - returns object&lt;br /&gt;
  findplayerbyid(int) - returns object&lt;br /&gt;
  findweapon(str) - returns object&lt;br /&gt;
  findweaponnpc(str) - returns object&lt;br /&gt;
  freezeplayer2()&lt;br /&gt;
  getareanpcs(float, float, float, float) - returns object&lt;br /&gt;
  getascii(str)&lt;br /&gt;
  getextension(str) - returns string&lt;br /&gt;
  getguildnick(str, str) - returns string&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkingdomhasright(str, str) - returns boolean&lt;br /&gt;
  getkingdomisally(str, str) - returns boolean&lt;br /&gt;
  getkingdomisenemy(str, str) - returns boolean&lt;br /&gt;
  getkingdomisinkingdom(str) - returns boolean&lt;br /&gt;
  getkingdomismember(str, str) - returns boolean&lt;br /&gt;
  getkingdomrankname(str) - returns string&lt;br /&gt;
  getkingdomrankrights(str) - returns string&lt;br /&gt;
  getkingdomranktitle(str) - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getnearestmonster(float, float) - returns integer&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getnpcindex(str) - returns integer&lt;br /&gt;
  getplayerindex(str) - returns integer&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  hasright(str, str) - returns boolean&lt;br /&gt;
  headexists(str) - returns boolean&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  kingdomadd(str)&lt;br /&gt;
  kingdomaddally(str)&lt;br /&gt;
  kingdomaddenemy(str)&lt;br /&gt;
  kingdomaddmember(str)&lt;br /&gt;
  kingdomaddrank(str)&lt;br /&gt;
  kingdomgetkingdom(str)&lt;br /&gt;
  kingdomjoin(str)&lt;br /&gt;
  kingdomlistallies(str)&lt;br /&gt;
  kingdomlistenemies(str)&lt;br /&gt;
  kingdomlistkingdoms()&lt;br /&gt;
  kingdomlistmembers(str)&lt;br /&gt;
  kingdomlistrankmembers(str)&lt;br /&gt;
  kingdomlistranks(str)&lt;br /&gt;
  kingdommessage(str)&lt;br /&gt;
  kingdommessage2(str, str)&lt;br /&gt;
  kingdomprofilekingdom(str)&lt;br /&gt;
  kingdomprofilemember(str)&lt;br /&gt;
  kingdomprofilerank(str)&lt;br /&gt;
  kingdomremove(str)&lt;br /&gt;
  kingdomremoveally(str)&lt;br /&gt;
  kingdomremoveenemy(str)&lt;br /&gt;
  kingdomremovemember(str)&lt;br /&gt;
  kingdomremoverank(str)&lt;br /&gt;
  kingdomrenamemember(str, str)&lt;br /&gt;
  kingdomrenamerank(str, str)&lt;br /&gt;
  kingdomsetrank(str, str)&lt;br /&gt;
  kingdomsetrankparent(str, str)&lt;br /&gt;
  kingdomsetrankrights(str, str)&lt;br /&gt;
  kingdomsetranktitle(str, str)&lt;br /&gt;
  kingdomsettitle(str)&lt;br /&gt;
  levelexists(str) - returns boolean&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  makescreenshot(str)&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  mudaddinvobject(int, str) - returns boolean&lt;br /&gt;
  mudaddmoney(int)&lt;br /&gt;
  mudapplyinvobject(int)&lt;br /&gt;
  mudapplyobject()&lt;br /&gt;
  mudattack(int, int) - returns integer&lt;br /&gt;
  mudcastspell(int, int) - returns integer&lt;br /&gt;
  mudcommand(str, str)&lt;br /&gt;
  mudcountinvobject(str) - returns integer&lt;br /&gt;
  muddooropen(int) - returns boolean&lt;br /&gt;
  muddropinvobject(int, float, float, int)&lt;br /&gt;
  mudequipweapon(str)&lt;br /&gt;
  mudexamineinvobject(int)&lt;br /&gt;
  mudexamineinvobject2(int, int)&lt;br /&gt;
  mudexamineobject()&lt;br /&gt;
  mudfindinvobject(str) - returns integer&lt;br /&gt;
  mudfirespell(int)&lt;br /&gt;
  mudfirespell2(int, int, int)&lt;br /&gt;
  mudhaskey(str) - returns boolean&lt;br /&gt;
  mudhaskey2(str, str) - returns boolean&lt;br /&gt;
  mudhaveskill(str) - returns boolean&lt;br /&gt;
  mudidentify()&lt;br /&gt;
  mudisbattleground(float, float) - returns boolean&lt;br /&gt;
  mudlistequipment()&lt;br /&gt;
  mudlistskills()&lt;br /&gt;
  mudlistspells()&lt;br /&gt;
  mudlistweapons()&lt;br /&gt;
  mudmissileactions()&lt;br /&gt;
  mudmissileattack(int, int) - returns integer&lt;br /&gt;
  mudmoveinvobject(int, int, int)&lt;br /&gt;
  mudnpccountinvobject(str) - returns integer&lt;br /&gt;
  mudnpcpickupobject(int, int) - returns boolean&lt;br /&gt;
  mudnpcremoveinvobject(int, str) - returns boolean&lt;br /&gt;
  mudobjectattr(str, str) - returns string&lt;br /&gt;
  mudorderinventory(obj)&lt;br /&gt;
  mudpay(int)&lt;br /&gt;
  mudpickupobject(int) - returns boolean&lt;br /&gt;
  mudpickupobject2(int) - returns boolean&lt;br /&gt;
  mudremoveinvobject(int, str) - returns boolean&lt;br /&gt;
  mudresetinvobject(int) - returns boolean&lt;br /&gt;
  mudresetplayer()&lt;br /&gt;
  mudrollstats()&lt;br /&gt;
  mudselectspell(str)&lt;br /&gt;
  mudsetplayerclass(str)&lt;br /&gt;
  mudskilllevel(str) - returns integer&lt;br /&gt;
  mudspellnumber(str) - returns integer&lt;br /&gt;
  mudstartspell(int)&lt;br /&gt;
  mudstopspell()&lt;br /&gt;
  mudtransferobject(int, int, int, int) - returns boolean&lt;br /&gt;
  muduseskill(str)&lt;br /&gt;
  muduseskill2(str)&lt;br /&gt;
  mudvalue(int) - returns integer&lt;br /&gt;
  passwordmatches(str, str) - returns boolean&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removeguild(str)&lt;br /&gt;
  removeguildmember(str, str)&lt;br /&gt;
  removeweapon(str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requestmysql(str, str, str, str, str) - returns object&lt;br /&gt;
  requestsql(str, bool) - returns object - executes a sql query &lt;br /&gt;
  for the default database, parameters are the query string and if you expect a result (e.g. from a select-query); the result is an event object, call waitfor(requestobj,&amp;quot;onReceiveData&amp;quot;,60) and then use requestobj.rows, error and lastinsertid&lt;br /&gt;
  requestsql2(str, str, bool) - returns object - like requestSQL(), but allows you to select the database, parameters are database identifier, query, expect result (true/false)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  saveinfo(str, str)&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  savelog2(str, str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  sendpm(str)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtonc(str)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setlevel2(str, float, float)&lt;br /&gt;
  setpm(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  shieldexists(str) - returns boolean&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  swordexists(str) - returns boolean&lt;br /&gt;
  testnpc(float, float) - returns integer&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  triggeraction(float, float, str, str)&lt;br /&gt;
  triggerclient(str)&lt;br /&gt;
  unfreezeplayer()&lt;br /&gt;
  updateratingdeviation(float, float) - returns float - old deviation, time of last spar, returns new deviation&lt;br /&gt;
  updateratings(obj) - returns object - updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean (read only)&lt;br /&gt;
  joinedclasses - object (read only)&lt;br /&gt;
  name - string (read only)&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj)&lt;br /&gt;
  cancelevents(str)&lt;br /&gt;
  catchevent(str, str, str)&lt;br /&gt;
  copyfrom(obj)&lt;br /&gt;
  getdynamicvarnames() - returns object&lt;br /&gt;
  geteditvarnames() - returns object&lt;br /&gt;
  getfunctions() - returns object&lt;br /&gt;
  getstaticvarnames() - returns object&lt;br /&gt;
  getvarnames() - returns object&lt;br /&gt;
  ignoreevent(str, str)&lt;br /&gt;
  ignoreevents(str)&lt;br /&gt;
  insertarray(int, obj)&lt;br /&gt;
  isinclass(str) - returns float&lt;br /&gt;
  join(str)&lt;br /&gt;
  leave(str)&lt;br /&gt;
  loadfolder(str, int)&lt;br /&gt;
  loadlines(str)&lt;br /&gt;
  loadstring(str)&lt;br /&gt;
  loadvars(str)&lt;br /&gt;
  loadvarsfromarray(obj)&lt;br /&gt;
  objecttype() - returns string&lt;br /&gt;
  savelines(str, int)&lt;br /&gt;
  savestring(str, int)&lt;br /&gt;
  savevars(str, int)&lt;br /&gt;
  savevarstoarray(bool) - returns object&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object&lt;br /&gt;
  settimer(float)&lt;br /&gt;
  sortascending()&lt;br /&gt;
  sortbyvalue(str, str, bool)&lt;br /&gt;
  sortdescending()&lt;br /&gt;
  timershow()&lt;br /&gt;
  trigger(str, params...)&lt;br /&gt;
&lt;br /&gt;
  TGaniObject (TGraalVar):&lt;br /&gt;
    ani - string (read only)&lt;br /&gt;
    aniparams - string (read only)&lt;br /&gt;
    attr - object (read only)&lt;br /&gt;
    colors - object (read only)&lt;br /&gt;
&lt;br /&gt;
    TServerNPC (TGaniObject):&lt;br /&gt;
      ani - string&lt;br /&gt;
      aniparams - string&lt;br /&gt;
      ap - integer&lt;br /&gt;
      arrows - integer&lt;br /&gt;
      body - string&lt;br /&gt;
      bodyimg - string&lt;br /&gt;
      bombs - integer&lt;br /&gt;
      chat - string&lt;br /&gt;
      darts - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dontsave - boolean&lt;br /&gt;
      glovepower - integer&lt;br /&gt;
      gralats - integer&lt;br /&gt;
      head - string&lt;br /&gt;
      headimg - string&lt;br /&gt;
      hearts - float&lt;br /&gt;
      height - float (read only)&lt;br /&gt;
      hidetoclients - boolean&lt;br /&gt;
      horseimg - string&lt;br /&gt;
      hurtdx - float&lt;br /&gt;
      hurtdy - float&lt;br /&gt;
      hurtpower - float (read only)&lt;br /&gt;
      id - integer (read only)&lt;br /&gt;
      image - string&lt;br /&gt;
      level - object (read only)&lt;br /&gt;
      name - string (read only)&lt;br /&gt;
      nick - string&lt;br /&gt;
      npcsindex - integer (read only)&lt;br /&gt;
      rupees - integer&lt;br /&gt;
      save - object (read only)&lt;br /&gt;
      shield - string&lt;br /&gt;
      shieldimg - string&lt;br /&gt;
      shieldpower - integer&lt;br /&gt;
      sprite - integer&lt;br /&gt;
      sword - string&lt;br /&gt;
      swordimg - string&lt;br /&gt;
      swordpower - integer&lt;br /&gt;
      visible - boolean&lt;br /&gt;
      width - float (read only)&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      blockagain()&lt;br /&gt;
      canbecarried()&lt;br /&gt;
      canbepulled()&lt;br /&gt;
      canbepushed()&lt;br /&gt;
      cannotbecarried()&lt;br /&gt;
      cannotbepulled()&lt;br /&gt;
      cannotbepushed()&lt;br /&gt;
      cannotwarp()&lt;br /&gt;
      canwarp()&lt;br /&gt;
      canwarp2()&lt;br /&gt;
      changeimgcolors(int, float, float, float, float)&lt;br /&gt;
      changeimgmode(int, int)&lt;br /&gt;
      changeimgpart(int, int, int, int, int)&lt;br /&gt;
      changeimgvis(int, int)&lt;br /&gt;
      changeimgzoom(int, float)&lt;br /&gt;
      destroy()&lt;br /&gt;
      destroymudobject()&lt;br /&gt;
      dontblock()&lt;br /&gt;
      drawaslight()&lt;br /&gt;
      drawoverplayer()&lt;br /&gt;
      drawunderplayer()&lt;br /&gt;
      findimg(int) - returns object&lt;br /&gt;
      hide()&lt;br /&gt;
      hideimg(int)&lt;br /&gt;
      hideimgs(int, int)&lt;br /&gt;
      makemudobject(str)&lt;br /&gt;
      message(str)&lt;br /&gt;
      move(float, float, float, int)&lt;br /&gt;
      noplayeronwall()&lt;br /&gt;
      onwall(float, float) - returns boolean&lt;br /&gt;
      onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
      onwallpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
      playeronwall()&lt;br /&gt;
      requesttext(str, str)&lt;br /&gt;
      scriptdone()&lt;br /&gt;
      sendtext(str, str, params...)&lt;br /&gt;
      setcharani(str, str)&lt;br /&gt;
      setchargender(str)&lt;br /&gt;
      setimg(str)&lt;br /&gt;
      setimgpart(str, int, int, int, int)&lt;br /&gt;
      setshape(int, int, int)&lt;br /&gt;
      setshape2(int, int, obj)&lt;br /&gt;
      show()&lt;br /&gt;
      showani(int, float, float, int, str) - returns object&lt;br /&gt;
      showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
      showcharacter()&lt;br /&gt;
      showimg(int, str, float, float) - returns object&lt;br /&gt;
      showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
      showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
      showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
      toweapons(str)&lt;br /&gt;
      warpto(str, float, float)&lt;br /&gt;
&lt;br /&gt;
    TServerPlayer (TGaniObject):&lt;br /&gt;
      account - string (read only)&lt;br /&gt;
      ani - string&lt;br /&gt;
      aniparams - string&lt;br /&gt;
      ap - integer&lt;br /&gt;
      arrows - integer&lt;br /&gt;
      attached - boolean (read only)&lt;br /&gt;
      attachid - integer (read only)&lt;br /&gt;
      attachtype - integer (read only)&lt;br /&gt;
      body - string&lt;br /&gt;
      bodyimg - string&lt;br /&gt;
      bombs - integer&lt;br /&gt;
      canspin - boolean (read only)&lt;br /&gt;
      carriesblackstone - boolean (read only)&lt;br /&gt;
      carriesbush - boolean (read only)&lt;br /&gt;
      carriesnpc - boolean (read only)&lt;br /&gt;
      carriessign - boolean (read only)&lt;br /&gt;
      carriesstone - boolean (read only)&lt;br /&gt;
      carriesvase - boolean (read only)&lt;br /&gt;
      chat - string&lt;br /&gt;
      darts - integer&lt;br /&gt;
      deaths - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      fullhearts - integer&lt;br /&gt;
      glovepower - integer&lt;br /&gt;
      graalversion - float (read only)&lt;br /&gt;
      gralats - integer&lt;br /&gt;
      guild - string&lt;br /&gt;
      head - string&lt;br /&gt;
      headimg - string&lt;br /&gt;
      headset - integer&lt;br /&gt;
      hearts - float&lt;br /&gt;
      horseimg - string&lt;br /&gt;
      hp - float&lt;br /&gt;
      id - integer (read only)&lt;br /&gt;
      isfemale - boolean&lt;br /&gt;
      ismale - boolean&lt;br /&gt;
      kills - integer&lt;br /&gt;
      language - string (read only)&lt;br /&gt;
      languagedomain - string (read only)&lt;br /&gt;
      lastdead - integer (read only)&lt;br /&gt;
      level - object (read only)&lt;br /&gt;
      logintime - integer (read only)&lt;br /&gt;
      maxhp - integer&lt;br /&gt;
      movementlimit - float&lt;br /&gt;
      mp - integer&lt;br /&gt;
      nick - string&lt;br /&gt;
      onlinetime - integer (read only)&lt;br /&gt;
      pause - boolean (read only)&lt;br /&gt;
      paused - boolean (read only)&lt;br /&gt;
      platform - string (read only)&lt;br /&gt;
      rating - float&lt;br /&gt;
      ratingd - float&lt;br /&gt;
      rupees - integer&lt;br /&gt;
      shield - string&lt;br /&gt;
      shieldimg - string&lt;br /&gt;
      shieldpower - integer&lt;br /&gt;
      sprite - integer&lt;br /&gt;
      sword - string&lt;br /&gt;
      swordimg - string&lt;br /&gt;
      swordpower - integer&lt;br /&gt;
      trial - boolean (read only)&lt;br /&gt;
      upgradestatus - string (read only)&lt;br /&gt;
      version - float (read only)&lt;br /&gt;
      weapons - object (read only)&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      addweapon(str)&lt;br /&gt;
      attachplayertoobj(int, int)&lt;br /&gt;
      callweapon(int, params...)&lt;br /&gt;
      detachplayer()&lt;br /&gt;
      disableweapons()&lt;br /&gt;
      enableweapons()&lt;br /&gt;
      findweapon(str) - returns object&lt;br /&gt;
      freezeplayer2()&lt;br /&gt;
      hasright(str, str) - returns boolean&lt;br /&gt;
      makescreenshot(str)&lt;br /&gt;
      removeweapon(str)&lt;br /&gt;
      say(int)&lt;br /&gt;
      say2(str)&lt;br /&gt;
      sendpm(str)&lt;br /&gt;
      sendrpgmessage(str)&lt;br /&gt;
      setani(str, str)&lt;br /&gt;
      setbeltcolor(str)&lt;br /&gt;
      setcoatcolor(str)&lt;br /&gt;
      setgender(str)&lt;br /&gt;
      sethead(str)&lt;br /&gt;
      setlevel2(str, float, float)&lt;br /&gt;
      setshield(str, int)&lt;br /&gt;
      setshoecolor(str)&lt;br /&gt;
      setskincolor(str)&lt;br /&gt;
      setsleevecolor(str)&lt;br /&gt;
      setsword(str, int)&lt;br /&gt;
      triggerclient(str)&lt;br /&gt;
      unfreezeplayer()&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string (read only)&lt;br /&gt;
    contentlanguage - string (read only)&lt;br /&gt;
    contenttype - string (read only)&lt;br /&gt;
    downloadcomplete - boolean (read only)&lt;br /&gt;
    file - string (read only)&lt;br /&gt;
    fulldata - string (read only)&lt;br /&gt;
    lastmodified - string (read only)&lt;br /&gt;
    port - integer (read only)&lt;br /&gt;
    returncode - integer (read only)&lt;br /&gt;
    returnmessage - string (read only)&lt;br /&gt;
    server - string (read only)&lt;br /&gt;
&lt;br /&gt;
  TKingdom (TGraalVar):&lt;br /&gt;
    title - string&lt;br /&gt;
&lt;br /&gt;
  TKingdomMember (TGraalVar):&lt;br /&gt;
    kingdom - object (read only)&lt;br /&gt;
    kingdomjointime - integer (read only)&lt;br /&gt;
    rank - object (read only)&lt;br /&gt;
    rankjointime - integer (read only)&lt;br /&gt;
&lt;br /&gt;
  TKingdomRank (TGraalVar):&lt;br /&gt;
    kingdom - object (read only)&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    rights - string&lt;br /&gt;
    title - string&lt;br /&gt;
&lt;br /&gt;
  TMudArch (TGraalVar):&lt;br /&gt;
    fullname - string (read only)&lt;br /&gt;
&lt;br /&gt;
  TMudObject (TGraalVar):&lt;br /&gt;
    alive - boolean&lt;br /&gt;
    applied - boolean&lt;br /&gt;
    arch - object (read only)&lt;br /&gt;
    archname - string (read only)&lt;br /&gt;
    cursed - boolean&lt;br /&gt;
    damned - boolean&lt;br /&gt;
    datablock - string (read only)&lt;br /&gt;
    icon - string (read only)&lt;br /&gt;
    identified - boolean&lt;br /&gt;
    iscontrolledbynpc - boolean (read only)&lt;br /&gt;
    isdungeonmaster - boolean (read only)&lt;br /&gt;
    ismudobject - boolean (read only)&lt;br /&gt;
    mudcarrying - integer (read only)&lt;br /&gt;
    mudexp - integer&lt;br /&gt;
    mudfood - integer&lt;br /&gt;
    mudfullname - string (read only)&lt;br /&gt;
    mudgraalparam - string&lt;br /&gt;
    mudgraaltype - integer&lt;br /&gt;
    mudhp - integer&lt;br /&gt;
    mudid - integer (read only)&lt;br /&gt;
    mudlevel - integer&lt;br /&gt;
    mudmarketprize - integer&lt;br /&gt;
    mudmaxhp - integer&lt;br /&gt;
    mudmaxsp - integer&lt;br /&gt;
    mudmoney - integer (read only)&lt;br /&gt;
    mudname - string (read only)&lt;br /&gt;
    mudowner - object&lt;br /&gt;
    mudquantity - integer (read only)&lt;br /&gt;
    mudrandomvar - integer&lt;br /&gt;
    mudrealname - string&lt;br /&gt;
    mudslaying - string&lt;br /&gt;
    mudsp - integer&lt;br /&gt;
    mudspeed - float (read only)&lt;br /&gt;
    mudtype - integer (read only)&lt;br /&gt;
    mudweight - integer (read only)&lt;br /&gt;
    nodamage - boolean&lt;br /&gt;
    nopick - boolean&lt;br /&gt;
    npcparam - string&lt;br /&gt;
    npctype - integer&lt;br /&gt;
    petmove - boolean&lt;br /&gt;
    restrictaccess - string&lt;br /&gt;
    scared - boolean&lt;br /&gt;
    unpaid - boolean&lt;br /&gt;
    value - string (read only)&lt;br /&gt;
    apply()&lt;br /&gt;
    attackblind(obj, int) - blinds the object, specify the hitter and the hit damage&lt;br /&gt;
    attackconfuse()&lt;br /&gt;
    attackparalyze(int) - paralyzes the object, specifiy the hit damage&lt;br /&gt;
    attackpoison(obj, int) - poisones the object, specify the hitter and hit damage&lt;br /&gt;
    attackslow()&lt;br /&gt;
    checkphysicallyinfect(obj) - infect this object by transfering diseases from the hitter&lt;br /&gt;
    countinvobject(str) - returns integer&lt;br /&gt;
    drainstat(int)&lt;br /&gt;
    examine()&lt;br /&gt;
    findinvobject(str) - returns object&lt;br /&gt;
    findinvobjectbyid(int) - returns object&lt;br /&gt;
    getattackmessageattacker(int, int, obj) - returns string - specify attacktype, damage and hitter&lt;br /&gt;
    getattackmessagevictim(int, int, obj) - returns string - specify attacktype, damage and hitter&lt;br /&gt;
    getkey(str) - returns object - finds keys matching the key string and returns the key object&lt;br /&gt;
    getkey2(str, str) - returns object - finds keys matching the key string and arch name and returns the key object&lt;br /&gt;
    getwieldedobject() - returns object&lt;br /&gt;
    haskey(str) - returns boolean - checks if the object has a key matching the specified key string&lt;br /&gt;
    haskey2(str, str) - returns boolean - checks if the object has a key matching a key string and arch name&lt;br /&gt;
    hasskill(str) - returns boolean&lt;br /&gt;
    haveskill(str) - returns boolean&lt;br /&gt;
    isonbattleground() - returns boolean&lt;br /&gt;
    iswieldobject() - returns boolean&lt;br /&gt;
    killobject(obj) - kills this object, specify the killer as parameter&lt;br /&gt;
    learnrecipe(str, str) - returns boolean - specify arch name and title (eventually 'NONE')&lt;br /&gt;
    mudpay(int)&lt;br /&gt;
    mudvalue(int) - returns integer&lt;br /&gt;
    skillattack(obj) - returns integer - lets another object attack this object and returns how much damage done&lt;br /&gt;
&lt;br /&gt;
    TMudDoor (TMudObject):&lt;br /&gt;
      activatetraps(obj) - returns boolean - returns if an ongoing attack should be aborted&lt;br /&gt;
&lt;br /&gt;
    TMudHouseDoor (TMudObject):&lt;br /&gt;
      keepopen() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TMudPlayer (TMudObject):&lt;br /&gt;
      lastdeath - integer&lt;br /&gt;
      peaceful - boolean&lt;br /&gt;
      addinvobject(int, str) - returns object&lt;br /&gt;
      applyinvobject(int)&lt;br /&gt;
      examineinvobject(int)&lt;br /&gt;
      removeinvobject(int, str) - returns boolean&lt;br /&gt;
      removeinvobjectbyid(int, int) - returns boolean&lt;br /&gt;
      removeinvobjects(str)&lt;br /&gt;
&lt;br /&gt;
  TProjectile (TGraalVar):&lt;br /&gt;
    angle - float (read only)&lt;br /&gt;
    fromplayer - object&lt;br /&gt;
    horiz - boolean (read only)&lt;br /&gt;
    params - string&lt;br /&gt;
    speed - float (read only)&lt;br /&gt;
    x - float (read only)&lt;br /&gt;
    y - float (read only)&lt;br /&gt;
    z - float (read only)&lt;br /&gt;
    zspeed - float (read only)&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    board - object (read only)&lt;br /&gt;
    height - integer (read only)&lt;br /&gt;
    isnopkzone - boolean (read only)&lt;br /&gt;
    issparringzone - boolean (read only)&lt;br /&gt;
    width - integer (read only)&lt;br /&gt;
    dontswapoutlevel()&lt;br /&gt;
    getz(float, float) - returns float&lt;br /&gt;
    mudaddobject(float, float, str) - returns object&lt;br /&gt;
    mudaddspecialobject(float, float, int, str, str) - returns object&lt;br /&gt;
    mudaddspellbook(float, float, int, str, str) - returns object&lt;br /&gt;
    noplayerkilling()&lt;br /&gt;
    onwall(float, float) - returns boolean&lt;br /&gt;
    onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
    onwallpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
    onwater(float, float) - returns boolean&lt;br /&gt;
    onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
    onwaterpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    putnpc2(float, float, str) - returns object&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str)&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
    updateboard2(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TServerSign (TGraalVar):&lt;br /&gt;
    text - string&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script_Functions:_NPC_Server&amp;diff=11917</id>
		<title>Creation/Dev/Script Functions: NPC Server</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script_Functions:_NPC_Server&amp;diff=11917"/>
		<updated>2009-04-10T07:55:54Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Script functions (the mud functions, kingdom functions and TMudObject are only available on Graal Kingdoms):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  allplayerscount - integer (read only)&lt;br /&gt;
  canspin - boolean (read only)&lt;br /&gt;
  carriesblackstone - boolean (read only)&lt;br /&gt;
  carriesbush - boolean (read only)&lt;br /&gt;
  carriesnpc - boolean (read only)&lt;br /&gt;
  carriessign - boolean (read only)&lt;br /&gt;
  carriesstone - boolean (read only)&lt;br /&gt;
  carriesvase - boolean (read only)&lt;br /&gt;
  graalversion - float (read only)&lt;br /&gt;
  gravity - float&lt;br /&gt;
  nwday - integer (read only)&lt;br /&gt;
  nwhour - integer (read only)&lt;br /&gt;
  nwmin - integer (read only)&lt;br /&gt;
  nwmonth - integer (read only)&lt;br /&gt;
  nwtime - integer (read only)&lt;br /&gt;
  nwweek - integer (read only)&lt;br /&gt;
  nwweekday - integer (read only)&lt;br /&gt;
  nwyear - integer (read only)&lt;br /&gt;
  timevar - integer (read only)&lt;br /&gt;
  timevar2 - float (read only)&lt;br /&gt;
  addguildmember(str, str, str)&lt;br /&gt;
  addweapon(str)&lt;br /&gt;
  aindexof(float, obj) - returns integer&lt;br /&gt;
  attachplayertoobj(int, int)&lt;br /&gt;
  bodyexists(str) - returns boolean&lt;br /&gt;
  callnpc(int, params...)&lt;br /&gt;
  callweapon(int, params...)&lt;br /&gt;
  checksum(str) - returns float&lt;br /&gt;
  contains(str, str) - returns boolean&lt;br /&gt;
  copylevel(str, str)&lt;br /&gt;
  copystrings(str, str)&lt;br /&gt;
  deletefile(str) - returns boolean&lt;br /&gt;
  deletelevel(str) - returns boolean&lt;br /&gt;
  detachplayer()&lt;br /&gt;
  disableweapons()&lt;br /&gt;
  echo(str)&lt;br /&gt;
  enableweapons()&lt;br /&gt;
  extractfilebase(str) - returns string&lt;br /&gt;
  extractfileext(str) - returns string&lt;br /&gt;
  extractfilename(str) - returns string&lt;br /&gt;
  extractfilepath(str) - returns string&lt;br /&gt;
  fileexists(str) - returns boolean&lt;br /&gt;
  filesize(str) - returns integer&lt;br /&gt;
  findarchetype(str) - returns object&lt;br /&gt;
  findareanpcs(float, float, float, float) - returns object&lt;br /&gt;
  findlevel(str) - returns object&lt;br /&gt;
  findnearestplayer(float, float) - returns object&lt;br /&gt;
  findnearestplayers(float, float) - returns object&lt;br /&gt;
  findnpc(str) - returns object&lt;br /&gt;
  findplayer(str) - returns object&lt;br /&gt;
  findplayerbyid(int) - returns object&lt;br /&gt;
  findweapon(str) - returns object&lt;br /&gt;
  findweaponnpc(str) - returns object&lt;br /&gt;
  freezeplayer2()&lt;br /&gt;
  getareanpcs(float, float, float, float) - returns object&lt;br /&gt;
  getascii(str)&lt;br /&gt;
  getextension(str) - returns string&lt;br /&gt;
  getguildnick(str, str) - returns string&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkingdomhasright(str, str) - returns boolean&lt;br /&gt;
  getkingdomisally(str, str) - returns boolean&lt;br /&gt;
  getkingdomisenemy(str, str) - returns boolean&lt;br /&gt;
  getkingdomisinkingdom(str) - returns boolean&lt;br /&gt;
  getkingdomismember(str, str) - returns boolean&lt;br /&gt;
  getkingdomrankname(str) - returns string&lt;br /&gt;
  getkingdomrankrights(str) - returns string&lt;br /&gt;
  getkingdomranktitle(str) - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getnearestmonster(float, float) - returns integer&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getnpcindex(str) - returns integer&lt;br /&gt;
  getplayerindex(str) - returns integer&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  hasright(str, str) - returns boolean&lt;br /&gt;
  headexists(str) - returns boolean&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  kingdomadd(str)&lt;br /&gt;
  kingdomaddally(str)&lt;br /&gt;
  kingdomaddenemy(str)&lt;br /&gt;
  kingdomaddmember(str)&lt;br /&gt;
  kingdomaddrank(str)&lt;br /&gt;
  kingdomgetkingdom(str)&lt;br /&gt;
  kingdomjoin(str)&lt;br /&gt;
  kingdomlistallies(str)&lt;br /&gt;
  kingdomlistenemies(str)&lt;br /&gt;
  kingdomlistkingdoms()&lt;br /&gt;
  kingdomlistmembers(str)&lt;br /&gt;
  kingdomlistrankmembers(str)&lt;br /&gt;
  kingdomlistranks(str)&lt;br /&gt;
  kingdommessage(str)&lt;br /&gt;
  kingdommessage2(str, str)&lt;br /&gt;
  kingdomprofilekingdom(str)&lt;br /&gt;
  kingdomprofilemember(str)&lt;br /&gt;
  kingdomprofilerank(str)&lt;br /&gt;
  kingdomremove(str)&lt;br /&gt;
  kingdomremoveally(str)&lt;br /&gt;
  kingdomremoveenemy(str)&lt;br /&gt;
  kingdomremovemember(str)&lt;br /&gt;
  kingdomremoverank(str)&lt;br /&gt;
  kingdomrenamemember(str, str)&lt;br /&gt;
  kingdomrenamerank(str, str)&lt;br /&gt;
  kingdomsetrank(str, str)&lt;br /&gt;
  kingdomsetrankparent(str, str)&lt;br /&gt;
  kingdomsetrankrights(str, str)&lt;br /&gt;
  kingdomsetranktitle(str, str)&lt;br /&gt;
  kingdomsettitle(str)&lt;br /&gt;
  levelexists(str) - returns boolean&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  makescreenshot(str)&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  mudaddinvobject(int, str) - returns boolean&lt;br /&gt;
  mudaddmoney(int)&lt;br /&gt;
  mudapplyinvobject(int)&lt;br /&gt;
  mudapplyobject()&lt;br /&gt;
  mudattack(int, int) - returns integer&lt;br /&gt;
  mudcastspell(int, int) - returns integer&lt;br /&gt;
  mudcommand(str, str)&lt;br /&gt;
  mudcountinvobject(str) - returns integer&lt;br /&gt;
  muddooropen(int) - returns boolean&lt;br /&gt;
  muddropinvobject(int, float, float, int)&lt;br /&gt;
  mudequipweapon(str)&lt;br /&gt;
  mudexamineinvobject(int)&lt;br /&gt;
  mudexamineinvobject2(int, int)&lt;br /&gt;
  mudexamineobject()&lt;br /&gt;
  mudfindinvobject(str) - returns integer&lt;br /&gt;
  mudfirespell(int)&lt;br /&gt;
  mudfirespell2(int, int, int)&lt;br /&gt;
  mudhaskey(str) - returns boolean&lt;br /&gt;
  mudhaskey2(str, str) - returns boolean&lt;br /&gt;
  mudhaveskill(str) - returns boolean&lt;br /&gt;
  mudidentify()&lt;br /&gt;
  mudisbattleground(float, float) - returns boolean&lt;br /&gt;
  mudlistequipment()&lt;br /&gt;
  mudlistskills()&lt;br /&gt;
  mudlistspells()&lt;br /&gt;
  mudlistweapons()&lt;br /&gt;
  mudmissileactions()&lt;br /&gt;
  mudmissileattack(int, int) - returns integer&lt;br /&gt;
  mudmoveinvobject(int, int, int)&lt;br /&gt;
  mudnpccountinvobject(str) - returns integer&lt;br /&gt;
  mudnpcpickupobject(int, int) - returns boolean&lt;br /&gt;
  mudnpcremoveinvobject(int, str) - returns boolean&lt;br /&gt;
  mudobjectattr(str, str) - returns string&lt;br /&gt;
  mudorderinventory(obj)&lt;br /&gt;
  mudpay(int)&lt;br /&gt;
  mudpickupobject(int) - returns boolean&lt;br /&gt;
  mudpickupobject2(int) - returns boolean&lt;br /&gt;
  mudremoveinvobject(int, str) - returns boolean&lt;br /&gt;
  mudresetinvobject(int) - returns boolean&lt;br /&gt;
  mudresetplayer()&lt;br /&gt;
  mudrollstats()&lt;br /&gt;
  mudselectspell(str)&lt;br /&gt;
  mudsetplayerclass(str)&lt;br /&gt;
  mudskilllevel(str) - returns integer&lt;br /&gt;
  mudspellnumber(str) - returns integer&lt;br /&gt;
  mudstartspell(int)&lt;br /&gt;
  mudstopspell()&lt;br /&gt;
  mudtransferobject(int, int, int, int) - returns boolean&lt;br /&gt;
  muduseskill(str)&lt;br /&gt;
  muduseskill2(str)&lt;br /&gt;
  mudvalue(int) - returns integer&lt;br /&gt;
  passwordmatches(str, str) - returns boolean&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removeguild(str)&lt;br /&gt;
  removeguildmember(str, str)&lt;br /&gt;
  removeweapon(str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requestmysql(str, str, str, str, str) - returns object&lt;br /&gt;
  requestsql(str, bool) - returns object - executes a sql query for the default database, parameters are the query string and if you expect a result (e.g. from a select-query); the result is an event object, call waitfor(requestobj,&amp;quot;onReceiveData&amp;quot;,60) and then use requestobj.rows, error and lastinsertid&lt;br /&gt;
  requestsql2(str, str, bool) - returns object - like requestSQL(), but allows you to select the database, parameters are database identifier, query, expect result (true/false)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  saveinfo(str, str)&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  savelog2(str, str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  sendpm(str)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtonc(str)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setlevel2(str, float, float)&lt;br /&gt;
  setpm(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  shieldexists(str) - returns boolean&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  swordexists(str) - returns boolean&lt;br /&gt;
  testnpc(float, float) - returns integer&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  triggeraction(float, float, str, str)&lt;br /&gt;
  triggerclient(str)&lt;br /&gt;
  unfreezeplayer()&lt;br /&gt;
  updateratingdeviation(float, float) - returns float - old deviation, time of last spar, returns new deviation&lt;br /&gt;
  updateratings(obj) - returns object - updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean (read only)&lt;br /&gt;
  joinedclasses - object (read only)&lt;br /&gt;
  name - string (read only)&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj)&lt;br /&gt;
  cancelevents(str)&lt;br /&gt;
  catchevent(str, str, str)&lt;br /&gt;
  copyfrom(obj)&lt;br /&gt;
  getdynamicvarnames() - returns object&lt;br /&gt;
  geteditvarnames() - returns object&lt;br /&gt;
  getfunctions() - returns object&lt;br /&gt;
  getstaticvarnames() - returns object&lt;br /&gt;
  getvarnames() - returns object&lt;br /&gt;
  ignoreevent(str, str)&lt;br /&gt;
  ignoreevents(str)&lt;br /&gt;
  insertarray(int, obj)&lt;br /&gt;
  isinclass(str) - returns float&lt;br /&gt;
  join(str)&lt;br /&gt;
  leave(str)&lt;br /&gt;
  loadfolder(str, int)&lt;br /&gt;
  loadlines(str)&lt;br /&gt;
  loadstring(str)&lt;br /&gt;
  loadvars(str)&lt;br /&gt;
  loadvarsfromarray(obj)&lt;br /&gt;
  objecttype() - returns string&lt;br /&gt;
  savelines(str, int)&lt;br /&gt;
  savestring(str, int)&lt;br /&gt;
  savevars(str, int)&lt;br /&gt;
  savevarstoarray(bool) - returns object&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object&lt;br /&gt;
  settimer(float)&lt;br /&gt;
  sortascending()&lt;br /&gt;
  sortbyvalue(str, str, bool)&lt;br /&gt;
  sortdescending()&lt;br /&gt;
  timershow()&lt;br /&gt;
  trigger(str, params...)&lt;br /&gt;
&lt;br /&gt;
  TGaniObject (TGraalVar):&lt;br /&gt;
    ani - string (read only)&lt;br /&gt;
    aniparams - string (read only)&lt;br /&gt;
    attr - object (read only)&lt;br /&gt;
    colors - object (read only)&lt;br /&gt;
&lt;br /&gt;
    TServerNPC (TGaniObject):&lt;br /&gt;
      ani - string&lt;br /&gt;
      aniparams - string&lt;br /&gt;
      ap - integer&lt;br /&gt;
      arrows - integer&lt;br /&gt;
      body - string&lt;br /&gt;
      bodyimg - string&lt;br /&gt;
      bombs - integer&lt;br /&gt;
      chat - string&lt;br /&gt;
      darts - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dontsave - boolean&lt;br /&gt;
      glovepower - integer&lt;br /&gt;
      gralats - integer&lt;br /&gt;
      head - string&lt;br /&gt;
      headimg - string&lt;br /&gt;
      hearts - float&lt;br /&gt;
      height - float (read only)&lt;br /&gt;
      hidetoclients - boolean&lt;br /&gt;
      horseimg - string&lt;br /&gt;
      hurtdx - float&lt;br /&gt;
      hurtdy - float&lt;br /&gt;
      hurtpower - float (read only)&lt;br /&gt;
      id - integer (read only)&lt;br /&gt;
      image - string&lt;br /&gt;
      level - object (read only)&lt;br /&gt;
      name - string (read only)&lt;br /&gt;
      nick - string&lt;br /&gt;
      npcsindex - integer (read only)&lt;br /&gt;
      rupees - integer&lt;br /&gt;
      save - object (read only)&lt;br /&gt;
      shield - string&lt;br /&gt;
      shieldimg - string&lt;br /&gt;
      shieldpower - integer&lt;br /&gt;
      sprite - integer&lt;br /&gt;
      sword - string&lt;br /&gt;
      swordimg - string&lt;br /&gt;
      swordpower - integer&lt;br /&gt;
      visible - boolean&lt;br /&gt;
      width - float (read only)&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      blockagain()&lt;br /&gt;
      canbecarried()&lt;br /&gt;
      canbepulled()&lt;br /&gt;
      canbepushed()&lt;br /&gt;
      cannotbecarried()&lt;br /&gt;
      cannotbepulled()&lt;br /&gt;
      cannotbepushed()&lt;br /&gt;
      cannotwarp()&lt;br /&gt;
      canwarp()&lt;br /&gt;
      canwarp2()&lt;br /&gt;
      changeimgcolors(int, float, float, float, float)&lt;br /&gt;
      changeimgmode(int, int)&lt;br /&gt;
      changeimgpart(int, int, int, int, int)&lt;br /&gt;
      changeimgvis(int, int)&lt;br /&gt;
      changeimgzoom(int, float)&lt;br /&gt;
      destroy()&lt;br /&gt;
      destroymudobject()&lt;br /&gt;
      dontblock()&lt;br /&gt;
      drawaslight()&lt;br /&gt;
      drawoverplayer()&lt;br /&gt;
      drawunderplayer()&lt;br /&gt;
      findimg(int) - returns object&lt;br /&gt;
      hide()&lt;br /&gt;
      hideimg(int)&lt;br /&gt;
      hideimgs(int, int)&lt;br /&gt;
      makemudobject(str)&lt;br /&gt;
      message(str)&lt;br /&gt;
      move(float, float, float, int)&lt;br /&gt;
      noplayeronwall()&lt;br /&gt;
      onwall(float, float) - returns boolean&lt;br /&gt;
      onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
      onwallpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
      playeronwall()&lt;br /&gt;
      requesttext(str, str)&lt;br /&gt;
      scriptdone()&lt;br /&gt;
      sendtext(str, str, params...)&lt;br /&gt;
      setcharani(str, str)&lt;br /&gt;
      setchargender(str)&lt;br /&gt;
      setimg(str)&lt;br /&gt;
      setimgpart(str, int, int, int, int)&lt;br /&gt;
      setshape(int, int, int)&lt;br /&gt;
      setshape2(int, int, obj)&lt;br /&gt;
      show()&lt;br /&gt;
      showani(int, float, float, int, str) - returns object&lt;br /&gt;
      showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
      showcharacter()&lt;br /&gt;
      showimg(int, str, float, float) - returns object&lt;br /&gt;
      showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
      showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
      showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
      toweapons(str)&lt;br /&gt;
      warpto(str, float, float)&lt;br /&gt;
&lt;br /&gt;
    TServerPlayer (TGaniObject):&lt;br /&gt;
      account - string (read only)&lt;br /&gt;
      ani - string&lt;br /&gt;
      aniparams - string&lt;br /&gt;
      ap - integer&lt;br /&gt;
      arrows - integer&lt;br /&gt;
      attached - boolean (read only)&lt;br /&gt;
      attachid - integer (read only)&lt;br /&gt;
      attachtype - integer (read only)&lt;br /&gt;
      body - string&lt;br /&gt;
      bodyimg - string&lt;br /&gt;
      bombs - integer&lt;br /&gt;
      canspin - boolean (read only)&lt;br /&gt;
      carriesblackstone - boolean (read only)&lt;br /&gt;
      carriesbush - boolean (read only)&lt;br /&gt;
      carriesnpc - boolean (read only)&lt;br /&gt;
      carriessign - boolean (read only)&lt;br /&gt;
      carriesstone - boolean (read only)&lt;br /&gt;
      carriesvase - boolean (read only)&lt;br /&gt;
      chat - string&lt;br /&gt;
      darts - integer&lt;br /&gt;
      deaths - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      fullhearts - integer&lt;br /&gt;
      glovepower - integer&lt;br /&gt;
      graalversion - float (read only)&lt;br /&gt;
      gralats - integer&lt;br /&gt;
      guild - string&lt;br /&gt;
      head - string&lt;br /&gt;
      headimg - string&lt;br /&gt;
      headset - integer&lt;br /&gt;
      hearts - float&lt;br /&gt;
      horseimg - string&lt;br /&gt;
      hp - float&lt;br /&gt;
      id - integer (read only)&lt;br /&gt;
      isfemale - boolean&lt;br /&gt;
      ismale - boolean&lt;br /&gt;
      kills - integer&lt;br /&gt;
      language - string (read only)&lt;br /&gt;
      languagedomain - string (read only)&lt;br /&gt;
      lastdead - integer (read only)&lt;br /&gt;
      level - object (read only)&lt;br /&gt;
      logintime - integer (read only)&lt;br /&gt;
      maxhp - integer&lt;br /&gt;
      movementlimit - float&lt;br /&gt;
      mp - integer&lt;br /&gt;
      nick - string&lt;br /&gt;
      onlinetime - integer (read only)&lt;br /&gt;
      pause - boolean (read only)&lt;br /&gt;
      paused - boolean (read only)&lt;br /&gt;
      platform - string (read only)&lt;br /&gt;
      rating - float&lt;br /&gt;
      ratingd - float&lt;br /&gt;
      rupees - integer&lt;br /&gt;
      shield - string&lt;br /&gt;
      shieldimg - string&lt;br /&gt;
      shieldpower - integer&lt;br /&gt;
      sprite - integer&lt;br /&gt;
      sword - string&lt;br /&gt;
      swordimg - string&lt;br /&gt;
      swordpower - integer&lt;br /&gt;
      trial - boolean (read only)&lt;br /&gt;
      upgradestatus - string (read only)&lt;br /&gt;
      version - float (read only)&lt;br /&gt;
      weapons - object (read only)&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      addweapon(str)&lt;br /&gt;
      attachplayertoobj(int, int)&lt;br /&gt;
      callweapon(int, params...)&lt;br /&gt;
      detachplayer()&lt;br /&gt;
      disableweapons()&lt;br /&gt;
      enableweapons()&lt;br /&gt;
      findweapon(str) - returns object&lt;br /&gt;
      freezeplayer2()&lt;br /&gt;
      hasright(str, str) - returns boolean&lt;br /&gt;
      makescreenshot(str)&lt;br /&gt;
      removeweapon(str)&lt;br /&gt;
      say(int)&lt;br /&gt;
      say2(str)&lt;br /&gt;
      sendpm(str)&lt;br /&gt;
      sendrpgmessage(str)&lt;br /&gt;
      setani(str, str)&lt;br /&gt;
      setbeltcolor(str)&lt;br /&gt;
      setcoatcolor(str)&lt;br /&gt;
      setgender(str)&lt;br /&gt;
      sethead(str)&lt;br /&gt;
      setlevel2(str, float, float)&lt;br /&gt;
      setshield(str, int)&lt;br /&gt;
      setshoecolor(str)&lt;br /&gt;
      setskincolor(str)&lt;br /&gt;
      setsleevecolor(str)&lt;br /&gt;
      setsword(str, int)&lt;br /&gt;
      triggerclient(str)&lt;br /&gt;
      unfreezeplayer()&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string (read only)&lt;br /&gt;
    contentlanguage - string (read only)&lt;br /&gt;
    contenttype - string (read only)&lt;br /&gt;
    downloadcomplete - boolean (read only)&lt;br /&gt;
    file - string (read only)&lt;br /&gt;
    fulldata - string (read only)&lt;br /&gt;
    lastmodified - string (read only)&lt;br /&gt;
    port - integer (read only)&lt;br /&gt;
    returncode - integer (read only)&lt;br /&gt;
    returnmessage - string (read only)&lt;br /&gt;
    server - string (read only)&lt;br /&gt;
&lt;br /&gt;
  TKingdom (TGraalVar):&lt;br /&gt;
    title - string&lt;br /&gt;
&lt;br /&gt;
  TKingdomMember (TGraalVar):&lt;br /&gt;
    kingdom - object (read only)&lt;br /&gt;
    kingdomjointime - integer (read only)&lt;br /&gt;
    rank - object (read only)&lt;br /&gt;
    rankjointime - integer (read only)&lt;br /&gt;
&lt;br /&gt;
  TKingdomRank (TGraalVar):&lt;br /&gt;
    kingdom - object (read only)&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    rights - string&lt;br /&gt;
    title - string&lt;br /&gt;
&lt;br /&gt;
  TMudArch (TGraalVar):&lt;br /&gt;
    fullname - string (read only)&lt;br /&gt;
&lt;br /&gt;
  TMudObject (TGraalVar):&lt;br /&gt;
    alive - boolean&lt;br /&gt;
    applied - boolean&lt;br /&gt;
    arch - object (read only)&lt;br /&gt;
    archname - string (read only)&lt;br /&gt;
    cursed - boolean&lt;br /&gt;
    damned - boolean&lt;br /&gt;
    datablock - string (read only)&lt;br /&gt;
    icon - string (read only)&lt;br /&gt;
    identified - boolean&lt;br /&gt;
    iscontrolledbynpc - boolean (read only)&lt;br /&gt;
    isdungeonmaster - boolean (read only)&lt;br /&gt;
    ismudobject - boolean (read only)&lt;br /&gt;
    mudcarrying - integer (read only)&lt;br /&gt;
    mudexp - integer&lt;br /&gt;
    mudfood - integer&lt;br /&gt;
    mudfullname - string (read only)&lt;br /&gt;
    mudgraalparam - string&lt;br /&gt;
    mudgraaltype - integer&lt;br /&gt;
    mudhp - integer&lt;br /&gt;
    mudid - integer (read only)&lt;br /&gt;
    mudlevel - integer&lt;br /&gt;
    mudmarketprize - integer&lt;br /&gt;
    mudmaxhp - integer&lt;br /&gt;
    mudmaxsp - integer&lt;br /&gt;
    mudmoney - integer (read only)&lt;br /&gt;
    mudname - string (read only)&lt;br /&gt;
    mudowner - object&lt;br /&gt;
    mudquantity - integer (read only)&lt;br /&gt;
    mudrandomvar - integer&lt;br /&gt;
    mudrealname - string&lt;br /&gt;
    mudslaying - string&lt;br /&gt;
    mudsp - integer&lt;br /&gt;
    mudspeed - float (read only)&lt;br /&gt;
    mudtype - integer (read only)&lt;br /&gt;
    mudweight - integer (read only)&lt;br /&gt;
    nodamage - boolean&lt;br /&gt;
    nopick - boolean&lt;br /&gt;
    npcparam - string&lt;br /&gt;
    npctype - integer&lt;br /&gt;
    petmove - boolean&lt;br /&gt;
    restrictaccess - string&lt;br /&gt;
    scared - boolean&lt;br /&gt;
    unpaid - boolean&lt;br /&gt;
    value - string (read only)&lt;br /&gt;
    apply()&lt;br /&gt;
    attackblind(obj, int) - blinds the object, specify the hitter and the hit damage&lt;br /&gt;
    attackconfuse()&lt;br /&gt;
    attackparalyze(int) - paralyzes the object, specifiy the hit damage&lt;br /&gt;
    attackpoison(obj, int) - poisones the object, specify the hitter and hit damage&lt;br /&gt;
    attackslow()&lt;br /&gt;
    checkphysicallyinfect(obj) - infect this object by transfering diseases from the hitter&lt;br /&gt;
    countinvobject(str) - returns integer&lt;br /&gt;
    drainstat(int)&lt;br /&gt;
    examine()&lt;br /&gt;
    findinvobject(str) - returns object&lt;br /&gt;
    findinvobjectbyid(int) - returns object&lt;br /&gt;
    getattackmessageattacker(int, int, obj) - returns string - specify attacktype, damage and hitter&lt;br /&gt;
    getattackmessagevictim(int, int, obj) - returns string - specify attacktype, damage and hitter&lt;br /&gt;
    getkey(str) - returns object - finds keys matching the key string and returns the key object&lt;br /&gt;
    getkey2(str, str) - returns object - finds keys matching the key string and arch name and returns the key object&lt;br /&gt;
    getwieldedobject() - returns object&lt;br /&gt;
    haskey(str) - returns boolean - checks if the object has a key matching the specified key string&lt;br /&gt;
    haskey2(str, str) - returns boolean - checks if the object has a key matching a key string and arch name&lt;br /&gt;
    hasskill(str) - returns boolean&lt;br /&gt;
    haveskill(str) - returns boolean&lt;br /&gt;
    isonbattleground() - returns boolean&lt;br /&gt;
    iswieldobject() - returns boolean&lt;br /&gt;
    killobject(obj) - kills this object, specify the killer as parameter&lt;br /&gt;
    learnrecipe(str, str) - returns boolean - specify arch name and title (eventually 'NONE')&lt;br /&gt;
    mudpay(int)&lt;br /&gt;
    mudvalue(int) - returns integer&lt;br /&gt;
    skillattack(obj) - returns integer - lets another object attack this object and returns how much damage done&lt;br /&gt;
&lt;br /&gt;
    TMudDoor (TMudObject):&lt;br /&gt;
      activatetraps(obj) - returns boolean - returns if an ongoing attack should be aborted&lt;br /&gt;
&lt;br /&gt;
    TMudHouseDoor (TMudObject):&lt;br /&gt;
      keepopen() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TMudPlayer (TMudObject):&lt;br /&gt;
      lastdeath - integer&lt;br /&gt;
      peaceful - boolean&lt;br /&gt;
      addinvobject(int, str) - returns object&lt;br /&gt;
      applyinvobject(int)&lt;br /&gt;
      examineinvobject(int)&lt;br /&gt;
      removeinvobject(int, str) - returns boolean&lt;br /&gt;
      removeinvobjectbyid(int, int) - returns boolean&lt;br /&gt;
      removeinvobjects(str)&lt;br /&gt;
&lt;br /&gt;
  TProjectile (TGraalVar):&lt;br /&gt;
    angle - float (read only)&lt;br /&gt;
    fromplayer - object&lt;br /&gt;
    horiz - boolean (read only)&lt;br /&gt;
    params - string&lt;br /&gt;
    speed - float (read only)&lt;br /&gt;
    x - float (read only)&lt;br /&gt;
    y - float (read only)&lt;br /&gt;
    z - float (read only)&lt;br /&gt;
    zspeed - float (read only)&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    board - object (read only)&lt;br /&gt;
    height - integer (read only)&lt;br /&gt;
    isnopkzone - boolean (read only)&lt;br /&gt;
    issparringzone - boolean (read only)&lt;br /&gt;
    width - integer (read only)&lt;br /&gt;
    dontswapoutlevel()&lt;br /&gt;
    getz(float, float) - returns float&lt;br /&gt;
    mudaddobject(float, float, str) - returns object&lt;br /&gt;
    mudaddspecialobject(float, float, int, str, str) - returns object&lt;br /&gt;
    mudaddspellbook(float, float, int, str, str) - returns object&lt;br /&gt;
    noplayerkilling()&lt;br /&gt;
    onwall(float, float) - returns boolean&lt;br /&gt;
    onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
    onwallpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
    onwater(float, float) - returns boolean&lt;br /&gt;
    onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
    onwaterpath(float, float, float, float, float, float) - returns boolean&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    putnpc2(float, float, str) - returns object&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str)&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
    updateboard2(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TServerSign (TGraalVar):&lt;br /&gt;
    text - string&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11695</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11695"/>
		<updated>2009-03-17T11:33:34Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: A little bit of organization&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Variables=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Variable'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Functions=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Variable'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(object)&lt;br /&gt;
|&lt;br /&gt;
| adds 'object' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string image, string prefix, int format)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition with the supplied tileset image, level prefix and tileset format (0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string image, string prefix, int x, int y)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset with the supplied tileset image and level prefix. Parameters 'x' and 'y' represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer - the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| Returns float - the arc cosine of 'float'.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| Returns float - the arc sine of 'float'.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int index, string function)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where 'index' is the NPC's index and 'function' is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int index, string function)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where 'index' is the weapon's index and 'function' is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray({x,y,x}, {x,y,z}, string type)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector({x, y, z})&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|-&lt;br /&gt;
| gethttprequest(string, integer, string)&lt;br /&gt;
| &lt;br /&gt;
| returns object (This function is the same as requestHttp())&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the height (in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getimgpixel(string, integer, integer)&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the width(in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getkeycode(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the keycode of the key indicated by string.  The keycode returned can be used in keydown2().&lt;br /&gt;
|-&lt;br /&gt;
| getloginaccountname()&lt;br /&gt;
|&lt;br /&gt;
| Presumably used for the login server.  Use player.account instead.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(string)&lt;br /&gt;
| &lt;br /&gt;
| Gets the x coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(string)&lt;br /&gt;
|&lt;br /&gt;
| Gets the y coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmusicfilename()&lt;br /&gt;
|&lt;br /&gt;
| Returns the filename of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusicstatus()&lt;br /&gt;
|&lt;br /&gt;
| Returns the status of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusictags()&lt;br /&gt;
|&lt;br /&gt;
| Returns the tags of the music currently playing.  This function can be used to retrieve the title and artist info of the music.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayer(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayer() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayers(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayers() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloadcomplete()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the package downloads are complete.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloaded()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the most recent packages are already downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getplatform()&lt;br /&gt;
|&lt;br /&gt;
| Returns the platform that the player is using.  (i.e. windows, mac, or linux)&lt;br /&gt;
|-&lt;br /&gt;
| getresolutionlist(string)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getservername()&lt;br /&gt;
|&lt;br /&gt;
| Returns the name of the server the player is currently connected to.&lt;br /&gt;
|-&lt;br /&gt;
| getstringkeys(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array of the variables that begins with the supplied string.&lt;br /&gt;
|-&lt;br /&gt;
| getterraintexture(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getterraintextureindex(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns integer&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float zoom, string style, string font)&lt;br /&gt;
|&lt;br /&gt;
| returns integer - The height in pixels of the text with the given zoom, style and font.&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float zoom, string style, string font, string text)&lt;br /&gt;
|&lt;br /&gt;
| returns integer - The width of the text with the given zoom, style, font and text.&lt;br /&gt;
|-&lt;br /&gt;
| gettileset()&lt;br /&gt;
|&lt;br /&gt;
| returns string - the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
|-&lt;br /&gt;
| gettilesettype()&lt;br /&gt;
|&lt;br /&gt;
| returns integer - the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
|-&lt;br /&gt;
| gettotalupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| returns integer - The total size of the update packages.&lt;br /&gt;
|-&lt;br /&gt;
| getupdatepackage(string name)&lt;br /&gt;
|&lt;br /&gt;
| returns object - A reference to the update package with the given name.&lt;br /&gt;
|-&lt;br /&gt;
| getvectorfromangles(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|- &lt;br /&gt;
| getz(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| graalcontrolhasfocus(bool)&lt;br /&gt;
|&lt;br /&gt;
| returns boolean - Whether or not the graal control has focus.  Parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float time)&lt;br /&gt;
|&lt;br /&gt;
| Hides player for the specified amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float time)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player's sword for the specified amount of time.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Objects=&lt;br /&gt;
&amp;lt;pre&amp;gt;TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Global=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11694</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11694"/>
		<updated>2009-03-17T11:24:44Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: continuing documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(object)&lt;br /&gt;
|&lt;br /&gt;
| adds 'object' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string image, string prefix, int format)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition with the supplied tileset image, level prefix and tileset format (0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string image, string prefix, int x, int y)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset with the supplied tileset image and level prefix. Parameters 'x' and 'y' represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer - the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| Returns float - the arc cosine of 'float'.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| Returns float - the arc sine of 'float'.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int index, string function)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where 'index' is the NPC's index and 'function' is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int index, string function)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where 'index' is the weapon's index and 'function' is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray({x,y,x}, {x,y,z}, string type)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector({x, y, z})&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|-&lt;br /&gt;
| gethttprequest(string, integer, string)&lt;br /&gt;
| &lt;br /&gt;
| returns object (This function is the same as requestHttp())&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the height (in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getimgpixel(string, integer, integer)&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the width(in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getkeycode(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the keycode of the key indicated by string.  The keycode returned can be used in keydown2().&lt;br /&gt;
|-&lt;br /&gt;
| getloginaccountname()&lt;br /&gt;
|&lt;br /&gt;
| Presumably used for the login server.  Use player.account instead.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(string)&lt;br /&gt;
| &lt;br /&gt;
| Gets the x coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(string)&lt;br /&gt;
|&lt;br /&gt;
| Gets the y coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmusicfilename()&lt;br /&gt;
|&lt;br /&gt;
| Returns the filename of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusicstatus()&lt;br /&gt;
|&lt;br /&gt;
| Returns the status of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusictags()&lt;br /&gt;
|&lt;br /&gt;
| Returns the tags of the music currently playing.  This function can be used to retrieve the title and artist info of the music.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayer(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayer() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayers(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayers() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloadcomplete()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the package downloads are complete.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloaded()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the most recent packages are already downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getplatform()&lt;br /&gt;
|&lt;br /&gt;
| Returns the platform that the player is using.  (i.e. windows, mac, or linux)&lt;br /&gt;
|-&lt;br /&gt;
| getresolutionlist(string)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getservername()&lt;br /&gt;
|&lt;br /&gt;
| Returns the name of the server the player is currently connected to.&lt;br /&gt;
|-&lt;br /&gt;
| getstringkeys(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array of the variables that begins with the supplied string.&lt;br /&gt;
|-&lt;br /&gt;
| getterraintexture(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getterraintextureindex(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns integer&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float zoom, string style, string font)&lt;br /&gt;
|&lt;br /&gt;
| returns integer - The height in pixels of the text with the given zoom, style and font.&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float zoom, string style, string font, string text)&lt;br /&gt;
|&lt;br /&gt;
| returns integer - The width of the text with the given zoom, style, font and text.&lt;br /&gt;
|-&lt;br /&gt;
| gettileset()&lt;br /&gt;
|&lt;br /&gt;
| returns string - the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
|-&lt;br /&gt;
| gettilesettype()&lt;br /&gt;
|&lt;br /&gt;
| returns integer - the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
|-&lt;br /&gt;
| gettotalupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| returns integer - The total size of the update packages.&lt;br /&gt;
|-&lt;br /&gt;
| getupdatepackage(string name)&lt;br /&gt;
|&lt;br /&gt;
| returns object - A reference to the update package with the given name.&lt;br /&gt;
|-&lt;br /&gt;
| getvectorfromangles(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|- &lt;br /&gt;
| getz(float, float)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| graalcontrolhasfocus(bool)&lt;br /&gt;
|&lt;br /&gt;
| returns boolean - Whether or not the graal control has focus.  Parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float time)&lt;br /&gt;
|&lt;br /&gt;
| Hides player for the specified amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float time)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player's sword for the specified amount of time.&lt;br /&gt;
|}&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11691</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11691"/>
		<updated>2009-03-15T23:22:43Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: clarifying some parameters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(object)&lt;br /&gt;
|&lt;br /&gt;
| adds 'object' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string image, string prefix, int format)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition with the supplied tileset image, level prefix and tileset format (0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string image, string prefix, int x, int y)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset with the supplied tileset image and level prefix. Parameters 'x' and 'y' represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer - the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| Returns float - the arc cosine of 'float'.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| Returns float - the arc sine of 'float'.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int index, string function)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where 'index' is the NPC's index and 'function' is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int index, string function)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where 'index' is the weapon's index and 'function' is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray({x,y,x}, {x,y,z}, string type)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|-&lt;br /&gt;
| gethttprequest(string, integer, string)&lt;br /&gt;
| &lt;br /&gt;
| returns object (This function is the same as requestHttp())&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the height (in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getimgpixel(string, integer, integer)&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the width(in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getkeycode(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the keycode of the key indicated by string.  The keycode returned can be used in keydown2().&lt;br /&gt;
|-&lt;br /&gt;
| getloginaccountname()&lt;br /&gt;
|&lt;br /&gt;
| Presumably used for the login server.  Use player.account instead.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(string)&lt;br /&gt;
| &lt;br /&gt;
| Gets the x coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(string)&lt;br /&gt;
|&lt;br /&gt;
| Gets the y coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmusicfilename()&lt;br /&gt;
|&lt;br /&gt;
| Returns the filename of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusicstatus()&lt;br /&gt;
|&lt;br /&gt;
| Returns the status of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusictags()&lt;br /&gt;
|&lt;br /&gt;
| Returns the tags of the music currently playing.  This function can be used to retrieve the title and artist info of the music.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayer(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayer() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayers(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayers() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloadcomplete()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the package downloads are complete.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloaded()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the most recent packages are already downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getplatform()&lt;br /&gt;
|&lt;br /&gt;
| Returns the platform that the player is using.  (i.e. windows, mac, or linux)&lt;br /&gt;
|-&lt;br /&gt;
| getresolutionlist(string)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getservername()&lt;br /&gt;
|&lt;br /&gt;
| Returns the name of the server the player is currently connected to.&lt;br /&gt;
|-&lt;br /&gt;
| getstringkeys(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array of the variables that begins with the supplied string.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/GScript/Contribute&amp;diff=11682</id>
		<title>Creation/Dev/GScript/Contribute</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/GScript/Contribute&amp;diff=11682"/>
		<updated>2009-03-14T11:37:36Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
The GraalBible is a collaborative project, where anyone can submit information and resources for others to use. This applies also to the GScript reference section.&lt;br /&gt;
&lt;br /&gt;
If you would like to submit some documentation or reference material, do not be afraid to contribute!&lt;br /&gt;
&lt;br /&gt;
=== Contributing to the Wiki ===&lt;br /&gt;
First, be sure that you are logged into the GraalBible. Your GraalBible username and password are the same as your GraalOnline account name and password. Once you have logged in, you gain the ability to edit and create pages. To edit a page, locate the &amp;quot;Edit&amp;quot; button on the page, where you will be presented with the source for the page, and you can update the source to add and edit things in the page.&lt;br /&gt;
&lt;br /&gt;
=== What to contribute ===&lt;br /&gt;
The following list is the sort of things that you could contribute to the GraalBible:&lt;br /&gt;
* Tutorials on creating certain types of scripts&lt;br /&gt;
* Information on the new engine &amp;quot;classes&amp;quot;, for example, explaining in more detail how the Kingdoms MUD classes, or TStaticVar classes work&lt;br /&gt;
* Explanation of new engine features, for example, variables and functions&lt;br /&gt;
* Understanding the serverside/clientside&lt;br /&gt;
* Script efficiency and construction&lt;br /&gt;
* Edits to existing pages, updating commands lists, etc&lt;br /&gt;
* Create dedicated pages for commonly used functions with extended descriptions and code examples.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/GScript/Contribute&amp;diff=11681</id>
		<title>Creation/Dev/GScript/Contribute</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/GScript/Contribute&amp;diff=11681"/>
		<updated>2009-03-14T11:37:19Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
The GraalBible is a collaborative project, where anyone can submit information and resources for others to use. This applies also to the GScript reference section.&lt;br /&gt;
&lt;br /&gt;
If you would like to submit some documentation or reference material, do not be afraid to contribute!&lt;br /&gt;
&lt;br /&gt;
=== Contributing to the Wiki ===&lt;br /&gt;
First, be sure that you are logged into the GraalBible. Your GraalBible username and password are the same as your GraalOnline account name and password. Once you have logged in, you gain the ability to edit and create pages. To edit a page, locate the &amp;quot;Edit&amp;quot; button on the page, where you will be presented with the source for the page, and you can update the source to add and edit things in the page.&lt;br /&gt;
&lt;br /&gt;
=== What to contribute ===&lt;br /&gt;
The following list is the sort of things that you could contribute to the GraalBible:&lt;br /&gt;
* Tutorials on creating certain types of scripts&lt;br /&gt;
* Information on the new engine &amp;quot;classes&amp;quot;, for example, explaining in more detail how the Kingdoms MUD classes, or TStaticVar classes work&lt;br /&gt;
* Explanation of new engine features, for example, variables and functions&lt;br /&gt;
* Understanding the serverside/clientside&lt;br /&gt;
* Script efficiency and construction&lt;br /&gt;
* Edits to existing pages, updating commands lists, etc&lt;br /&gt;
* created dedicated pages to commonly used functions with extended descriptions and code examples.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11680</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11680"/>
		<updated>2009-03-14T11:35:05Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: continuing documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|-&lt;br /&gt;
| gethttprequest(string, integer, string)&lt;br /&gt;
| &lt;br /&gt;
| returns object (This function is the same as requestHttp())&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the height (in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getimgpixel(string, integer, integer)&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the width(in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getkeycode(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the keycode of the key indicated by string.  The keycode returned can be used in keydown2().&lt;br /&gt;
|-&lt;br /&gt;
| getloginaccountname()&lt;br /&gt;
|&lt;br /&gt;
| Presumably used for the login server.  Use player.account instead.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(string)&lt;br /&gt;
| &lt;br /&gt;
| Gets the x coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(string)&lt;br /&gt;
|&lt;br /&gt;
| Gets the y coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmusicfilename()&lt;br /&gt;
|&lt;br /&gt;
| Returns the filename of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusicstatus()&lt;br /&gt;
|&lt;br /&gt;
| Returns the status of the music currently playing.&lt;br /&gt;
|-&lt;br /&gt;
| getmusictags()&lt;br /&gt;
|&lt;br /&gt;
| Returns the tags of the music currently playing.  This function can be used to retrieve the title and artist info of the music.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayer(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayer() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getnearestplayers(float, float)&lt;br /&gt;
|&lt;br /&gt;
| Deprecated.  Use findnearestplayers() instead.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloadcomplete()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the package downloads are complete.&lt;br /&gt;
|-&lt;br /&gt;
| getpackagesdownloaded()&lt;br /&gt;
|&lt;br /&gt;
| Returns 'true' if the most recent packages are already downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getplatform()&lt;br /&gt;
|&lt;br /&gt;
| Returns the platform that the player is using.  (i.e. windows, mac, or linux)&lt;br /&gt;
|-&lt;br /&gt;
| getresolutionlist(string)&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getservername()&lt;br /&gt;
|&lt;br /&gt;
| Returns the name of the server the player is currently connected to.&lt;br /&gt;
|-&lt;br /&gt;
| getstringkeys(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array of the variables that begins with the supplied string.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/GuiTextCtrl&amp;diff=11678</id>
		<title>Creation/Dev/Script/Client/GuiTextCtrl</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/GuiTextCtrl&amp;diff=11678"/>
		<updated>2009-03-14T01:34:12Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inherits from [[Creation/Dev/Script/Client/GuiControl|GuiControl]].&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
[[Image:Guicontrol_text.png]]&lt;br /&gt;
&lt;br /&gt;
Simply displays some text. By using the variables ''textshadow'', ''shadowoffset'' and ''shadowcolor'' of the [[Creation/Dev/Script/Client/GuiControlProfile|profile]] you can improve the look.&lt;br /&gt;
&lt;br /&gt;
Note that GuiTextCtrl will only display one line of text.  If you need to display more than one line, then use a [[Creation/Dev/Script/Client/GuiMLTextCtrl|GuiMLTextCtrl]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Variables=&lt;br /&gt;
&lt;br /&gt;
text - string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Functions=&lt;br /&gt;
&lt;br /&gt;
gettext() - returns string&lt;br /&gt;
&lt;br /&gt;
settext(str)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
&lt;br /&gt;
onTextChanged(newtext) - the text has been modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Example=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
new GuiTextCtrl(&amp;quot;Test_Text&amp;quot;) {&lt;br /&gt;
  profile = GuiBlueTextProfile;&lt;br /&gt;
  x = 10;&lt;br /&gt;
  y = 10;&lt;br /&gt;
  height = 20;&lt;br /&gt;
  text = &amp;quot;Text&amp;quot;;&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:TSAdmin&amp;diff=11677</id>
		<title>User:TSAdmin</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:TSAdmin&amp;diff=11677"/>
		<updated>2009-03-14T01:30:08Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{player}}&lt;br /&gt;
&lt;br /&gt;
I am just an ordinary person playing Graal, nothing super special.&lt;br /&gt;
&lt;br /&gt;
I started Graal because I wanted to use the Graal Editor again. I have been using it since before 2003 or 2004 (I really couldn't pin-point a date xD). Upon going to the GraalOnline website, I found that you had to download it via the Game Client. I created an account and downloaded it, however before I even opened it I decided to check out a server. I got that far, why not go further, right? :p&lt;br /&gt;
&lt;br /&gt;
I started out on Era, a trial burying my items to retain them before each log-out. Though a trial, I was able to get myself a Manager rank at a Player-Owned business the owner and I eventually named &amp;quot;Asianic Weaponry Foundation&amp;quot; which was located near the flower shop. The owner was a great person who protected my items rather than having me bury them all the time in exchange for my services. Since he never betrayed my trust, I put a lot of confidence in him.&lt;br /&gt;
&lt;br /&gt;
I managed to pay for my account after a long while. During my time in the Player-Owned business, I met Jen (Eclectic, who later became a PR) and YenroY (YenroY777, who later became an LAT). They got me into Terisu Family, not before I tried to do so, myself, and got scammed for the first time out of $2000 to Celarion. Getting in came in the form of Israfel adding a bunch of random people ranking them &amp;quot;Zerg Pawn&amp;quot;. Yenroy had recently gained rights to change ranks and nearing the end of the Zerg Pawn phase, he changed my rank to a low-level real Terisu Family rank. Israfel didn't notice for a while and when he did, we started talking. Turned out we lived nearby each other and we seemed to get along, so he kept me in...not before telling me I had to change my nickname, as I was using a seriously newbie style nickname. I ended up just using my account as my nickname because it looked cool to me to have a * randomly appear to the start of my nickname when I said setnick TSAdmin. I thought it was a bug at first :p&lt;br /&gt;
&lt;br /&gt;
During a period of time where FAQ's were seriously lacking under the new FAQ Admin at the time, I decided to take it upon myself to tell people I would answer their questions as a non-FAQ. This brought some flak with it from the FAQ's. My main motivation was when I asked questions, the most active FAQ of my timezone was Malicious, who was only on in my timezone because he lives in the same country, as I found out later. His answer to everything I asked was &amp;quot;Yellow&amp;quot;. I used to hang out with kinetaro and Skyld in a Gay Bar kinetaro had put together, along with Dro (drogankid). Smu had FAQ Admin by the time I got hired to the FAQ Team, and when he was perspectively the next manager, he gave up his roll and randomly warped to me asking if I would like to take the position. I accepted.&lt;br /&gt;
&lt;br /&gt;
After a while as FAQ Admin, in my spare time I would make levels for fun, which essentially lead to me creating the FAQ Lounge that is still used today (March, 2009). Alec and CaramelDarkhaven hired me to the LAT team. They encouraged me to submit an application, along with the push of Israfel for me to try out.&lt;br /&gt;
&lt;br /&gt;
From there it was upwards. From LAT I got GP rights (Ban, disconnect, etc), more and more rights came in as my productivity increased and abilities became enhanced by way of ability to script GS2 with the help of Andrew (xAndrewx). Lucky for him, I was a quick learner and it wasn't long before the main help I asked of him was &amp;quot;Is this correct?&amp;quot;, &amp;quot;Will/Why won't this work?&amp;quot;, and &amp;quot;Can it be improved in any way?&amp;quot;. This lead me to become a strong Developer with the skills to do just about anything thrown at me. When all the managers before him had their chance, the roll was then passed onto Daz. While there was no manager, though, and the PWA had stepped in, I was named Administrator of the server. Upon Daz's dismissal, I was handed the roll by HoudiniMan, who unfortunately did not discuss it with me specifically by asking if I would take on the roll.&lt;br /&gt;
&lt;br /&gt;
As manager of the server, I gave it all I could. With any management comes criticism, negative and positive, some more vocal than others, however it ended pretty well. I resigned my position and turned it over to my Administrator of the time, Icarus (xTcDiabloxTc). My reason for this was HoudiniMan had since posted an application for a position in the PWA to which I later found out I had been accepted.&lt;br /&gt;
&lt;br /&gt;
I am still part of the PWA under the direction of Bell, HoudiniMan's replacement after he had left on personal reasons after just shy of 6 years. Annnnd that is my story, haha.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Wiki_Account&amp;diff=11670</id>
		<title>Wiki Account</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Wiki_Account&amp;diff=11670"/>
		<updated>2009-03-13T11:13:49Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: silly typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How do I create a GraalOnline Wiki Account? ==&lt;br /&gt;
In order to access a [[Wiki Account|wiki account]], you must have an active [[Gold account|gold subscription]]. The login for the [[Wiki Account|wiki account]] is simply your [[Graal|GraalOnline]] [[communityname|community name]] and password. Since this wiki is operated and run by [[Graal|GraalOnline]], you don't need to worry about password-stealing.  The account information is accessed directly from the [[Graal|GraalOnline]] accounts database.&lt;br /&gt;
&lt;br /&gt;
== What can I do with a wiki account? ==&lt;br /&gt;
A [[Wiki Account|wiki account]] allows you to contribute to the wiki and release  general information to the players of [[Graal|GraalOnline]]. You can also add to the news tab on the login of the [[Graal|Graal]] client by going to &amp;lt;nowiki&amp;gt;http://wiki.graal.net/index.php/News/[Year]/[Month]&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example: [http://wiki.graal.net/index.php/News/2009/March wiki.graal.net/index.php/News/2009/March] shows the news for March 2009.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Wiki_Account&amp;diff=11669</id>
		<title>Wiki Account</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Wiki_Account&amp;diff=11669"/>
		<updated>2009-03-13T09:45:27Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Changing some wording&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How do I create a GraalOnline Wiki Account? ==&lt;br /&gt;
In order to access a [[Wiki Account|wiki account]], you must have an active [[Gold account|gold scubscription]]. The login for the [[Wiki Account|wiki account]] is simply your [[Graal|GraalOnline]] [[communityname|community name]] and password. Since this wiki is operated and run by [[Graal|GraalOnline]], you don't need to worry about password-stealing.  The account information is accessed directly from the [[Graal|GraalOnline]] accounts database.&lt;br /&gt;
&lt;br /&gt;
== What can I do with a wiki account? ==&lt;br /&gt;
A [[Wiki Account|wiki account]] allows you to contribute to the wiki and release  general information to the players of [[Graal|GraalOnline]]. You can also add to the news tab on the login of the [[Graal|Graal]] client by going to &amp;lt;nowiki&amp;gt;http://wiki.graal.net/index.php/News/[Year]/[Month]&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For example: [http://wiki.graal.net/index.php/News/2009/March wiki.graal.net/index.php/News/2009/March] shows the news for March 2009.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11668</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11668"/>
		<updated>2009-03-13T09:34:32Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|-&lt;br /&gt;
| gethttprequest(string, integer, string)&lt;br /&gt;
| &lt;br /&gt;
| returns object (This function is the same as requestHttp())&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the height (in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getimgpixel(string, integer, integer)&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the width(in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getkeycode(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the keycode of the key indicated by string.  The keycode returned can be used in keydown2().&lt;br /&gt;
|-&lt;br /&gt;
| getloginaccountname()&lt;br /&gt;
|&lt;br /&gt;
| Presumably used for the login server.  Use player.account instead.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(string)&lt;br /&gt;
| &lt;br /&gt;
| Gets the x coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(string)&lt;br /&gt;
|&lt;br /&gt;
| Gets the y coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmusicfilename()&lt;br /&gt;
|&lt;br /&gt;
| Returns the filename of the music currently playing.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11667</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11667"/>
		<updated>2009-03-13T09:33:37Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: continuing documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|-&lt;br /&gt;
| gethttprequest(string, integer, string)&lt;br /&gt;
| &lt;br /&gt;
| returns object (This function is the same as requestHttp()&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the height (in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getimgpixel(string, integer, integer)&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the width(in pixels) of the filename indicated by string.&lt;br /&gt;
|-&lt;br /&gt;
| getkeycode(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the keycode of the key indicated by string.  The keycode returned can be used in keydown2().&lt;br /&gt;
|-&lt;br /&gt;
| getloginaccountname()&lt;br /&gt;
|&lt;br /&gt;
| Presumably used for the login server.  Use player.account instead.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(string)&lt;br /&gt;
| &lt;br /&gt;
| Gets the x coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(string)&lt;br /&gt;
|&lt;br /&gt;
| Gets the y coordinate location in the gmap of the level indicated by string.  The top-left level starts at (0, 0).&lt;br /&gt;
|-&lt;br /&gt;
| getmusicfilename()&lt;br /&gt;
|&lt;br /&gt;
| Returns the filename of the music currently playing.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11666</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11666"/>
		<updated>2009-03-13T09:19:17Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: adding border... helps readability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11665</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11665"/>
		<updated>2009-03-13T09:17:24Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: fixing formatting error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11664</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11664"/>
		<updated>2009-03-13T09:13:34Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: continuing documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| Takes in a file name, and returns its extension. &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|-&lt;br /&gt;
| getdropz(string)&lt;br /&gt;
|&lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| getExtension(string)&lt;br /&gt;
|&lt;br /&gt;
| This function is the same as extractFileExt().  Takes in a file name, and returns its extension.&lt;br /&gt;
|-&lt;br /&gt;
| getfilemodtime(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns a timestamp of when the file was last modified (in unix time compatible to timevar2). This function accepts both exact file path and plain file name.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/GScript/GScript_for_Dummies&amp;diff=11642</id>
		<title>Creation/Dev/GScript/GScript for Dummies</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/GScript/GScript_for_Dummies&amp;diff=11642"/>
		<updated>2009-03-09T11:41:48Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Added text under all headings.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style='float: right;'&amp;gt;[[Image:s_dummies.png]]&amp;lt;/span&amp;gt;&lt;br /&gt;
= Preface =&lt;br /&gt;
== Introduction ==&lt;br /&gt;
New Engine GScript for Dummies is a guide designed to aid the learning of the new scripting engine, frequently dubbed 'gscript2'. This guide will explain the basics, such as functions, variables and some Gscript-specific concepts that you will need to know in order to get scripting in no time. The guide is indexed at the top of the page, and by clicking one of the index links, you will be taken to the appropriate section. If you haven't really a clue where to start, then you're probably best reading through the entire guide.&lt;br /&gt;
&lt;br /&gt;
== Who is this for? ==&lt;br /&gt;
This is for absolutely anyone who is interested in learning in Gscript. Having some previous knowledge of scripting would be beneficial, but isn't required.&lt;br /&gt;
&lt;br /&gt;
== What should I do if I have a problem or a question not covered here? ==&lt;br /&gt;
You can, of course, post your problem on the [http://forums.graalonline.com/forums/ GraalOnline Forums] in the NPC Scripting section. Similarly, you can also contact a member of the Global Scripting Team via Forum PM if you think that you require more direct assistance, although usually forum regulars will be happy to help.&lt;br /&gt;
&lt;br /&gt;
= Welcome to GScript =&lt;br /&gt;
GScript is the scripting language that powers most of the dynamic content provided by GraalOnline. The scripting language is a very useful tool, since it enables you to create a very wide variety of systems, including automated baddies, scripted systems, GUIs.&lt;br /&gt;
&lt;br /&gt;
== Glossary of Terms ==&lt;br /&gt;
Through this guide, a number of terms are likely to be used. In case you are not sure exactly what any of the terms mean, you can look them up here!&lt;br /&gt;
* '''Variable''': This is a special type of object that stores data. The data might be a string, an integer, a float, or an array.&lt;br /&gt;
* '''String''': This is a type of data that can be stored in a variable. A string is a collection of letters, numbers and symbols. For example, if you are interested in storing a sentence in a variable, a string is probably your best bet.&lt;br /&gt;
* '''Integer''': This is a type of data that can be stored in a variable. An integer is simply a round number. No decimal places. Positive or negative, it's just a round number.&lt;br /&gt;
* '''Float''': This is a type of data that can be stored in a variable. A float is a number that is not an integer, that may contain decimal places.&lt;br /&gt;
* '''Function''': This is a block of code. A function is a defined routine of instructions that can be ran at any time in a script.&lt;br /&gt;
* '''Predefined Function''': This is a function that is already available in the scripting engine. Such functions are internal, that usually allow mathematical and other variable operations, manipulation of players and such like. You do not need to define a predefined function yourself, since it is already there for you to use!&lt;br /&gt;
* '''Event Functions''': These are functions that are called by the scripting engine automatically based on events happening. For example, one function may be called when a player touches the NPC, and another one might be called when a player enters the level. Note that these event functions are only called if you have written the instructions for them yourself. This will be explained in the Functions section.&lt;br /&gt;
&lt;br /&gt;
= Using GScript =&lt;br /&gt;
So, hopefully by now you have a general idea of what GScript is.  Now, it's time to fill you in on how to use GScript.  With the help of this guide, hopefully you'll be creating scripts of your own in no time!&lt;br /&gt;
&lt;br /&gt;
== Basic concepts ==&lt;br /&gt;
It is important to remember a couple of very basic, but very important concepts when using GScript.&lt;br /&gt;
* All statements (that is, function calls, writing to variables) '''must''' end in a semicolon (that's a ;). This simply tells the engine that the current statement has finished. You must remember to include it, or the engine will throw errors at you when it does not realise that you have finished a statement before it moves onto the next one.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
A function, like mentioned in the Glossary of Terms, is a defined block of instructions. Practically everything you do in GScript will rely on functions. First, let's look at how you can define a function.&lt;br /&gt;
&lt;br /&gt;
=== Defining a function ===&lt;br /&gt;
The syntax for defining a function is, in fact, very simple. Let's look at an example.&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first thing to identify is the 'function' keyword. This tells the scripting engine that you're going to define a function. This is absolutely necessary in defining functions of any kind yourself.&lt;br /&gt;
&lt;br /&gt;
Second, you'll notice a name - 'myFunction'. This is the bit where you specify the name of the function that you're defining. This can be anything, providing that it doesn't contain strange symbols (usually an underscore '_' is the best suited symbol to split up function names with, since other symbols can cause errors).&lt;br /&gt;
&lt;br /&gt;
Thirdly, you'll see (). This is a convention that is later used for parameters, but for now, that's not important. Just stick () on the end of your name for now.&lt;br /&gt;
&lt;br /&gt;
Finally, you'll see { and }. These are braces, and define exactly what the function contains. Anything inside the braces is code that is specific to the function. If it's inside the braces for that function, it'll run when you call that function. Very simple.&lt;br /&gt;
&lt;br /&gt;
=== Function scopes ===&lt;br /&gt;
A fairly important concept is the idea of scopes. As demonstrated before, anything inside the { and } of a function means that it's a part of the function. Now, imagine that the entire script is like a hallway, and behind every door, is a function. When you walk into a room and close the door behind you, you are in a fairly closed space. This is true of functions.&lt;br /&gt;
&lt;br /&gt;
Some types of variable, when set inside a function, are placed in the function's 'local' scope. This simply means that the variable is available for use inside the function, but not outside of the function. The 'global' scope is where other types of variable are stored, for example, variables that need to be accessible in all functions. This will be explained further in the variables section.&lt;br /&gt;
&lt;br /&gt;
=== Calling a function ===&lt;br /&gt;
Now you've created your function, it's there to be used. Anywhere inside your script, you can call this function using the following method:&lt;br /&gt;
&amp;lt;pre&amp;gt;myFunction();&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the 'function' keyword is not present because we are not defining a function, we are just calling one. Now, the moment the scripting engine hits a function call, any code that you put inside of your function will run. Let's use the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  player.chat = &amp;quot;Hello!&amp;quot;;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is a very basic function that just sets the player's chat text. Let's call the function.&lt;br /&gt;
&amp;lt;pre&amp;gt;myFunction();&amp;lt;/pre&amp;gt;&lt;br /&gt;
Suddenly, the player's chat will be set to &amp;quot;Hello!&amp;quot;. By calling the function, you've told the engine to run the code inside of that function - in this case, setting the player's chat.&lt;br /&gt;
&lt;br /&gt;
=== Return values ===&lt;br /&gt;
A function execution can return a value to where the function was called. This is how a lot of Graal's built-in functions work: by returning the value.&lt;br /&gt;
&lt;br /&gt;
Take the following example, which will return the value of timevar2 (a built-in variable which counts how many seconds it has been since 1st January 1970):&lt;br /&gt;
&amp;lt;pre&amp;gt;function getTime()&lt;br /&gt;
{&lt;br /&gt;
  return timevar2;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you call the function, like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.time = getTime();&amp;lt;/pre&amp;gt;&lt;br /&gt;
... then this.time will be set to the value of timevar2.&lt;br /&gt;
&lt;br /&gt;
It is very important to remember that the return function immediately ends the function's execution. Therefore:&lt;br /&gt;
&amp;lt;pre&amp;gt;function foo()&lt;br /&gt;
{&lt;br /&gt;
  player.chat = &amp;quot;Foo&amp;quot;;&lt;br /&gt;
  return;&lt;br /&gt;
  player.chat = &amp;quot;Bar&amp;quot;;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
player.chat = &amp;quot;Bar&amp;quot;; won't be executed because of return; being used.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Now, you've seen how functions work. The next very important part is using variables. As you have read in the glossary of terms, a variable is simply a sort of object that stores information.&lt;br /&gt;
&lt;br /&gt;
Variables have three important factors: name, type and value.&lt;br /&gt;
=== Name ===&lt;br /&gt;
Every variable must have a unique name. This is how you will access the value that is stored inside of the variable whenever you want to use it. &lt;br /&gt;
&lt;br /&gt;
=== Type ===&lt;br /&gt;
Every variable also has a type. In GScript, there is a clever little system in place for variables called 'variants'. This sounds complicated, but is in fact also very simple. It simply means that the variable's type ''adjusts itself'' in order to suit the sort of data that it contains.&lt;br /&gt;
&lt;br /&gt;
For example, if you make the value of a variable &amp;quot;Hello!&amp;quot;, then the variable automatically becomes a string, and simply because you assigned it a value of a string. In GScript, all string values must be enclosed in &amp;quot;speechmarks&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What about a number? You don't even need to use speechmarks for numbers - you just type the number! Simple, no? When you do so, the variable automatically becomes either an integer or a float type in order to suit the number that you just put in it.&lt;br /&gt;
&lt;br /&gt;
=== Value ===&lt;br /&gt;
As already established, this is simply the information/data that the variable contains.&lt;br /&gt;
&lt;br /&gt;
=== Why variables are useful ===&lt;br /&gt;
Variables are incredibly useful for a number of reasons. They allow you to:&lt;br /&gt;
* Store a value that you plan to repeatedly use in your script. If you change the value of the variable, then the script uses the new value in every place the variable is used.&lt;br /&gt;
* Keep a value saved for when you want it later. If you take the player's chat text and want to save it, then you can use a variable.&lt;br /&gt;
* Manipulate a value. There are many predefined functions available in the scripting engine that will allow you to modify and use the value that is stored inside a variable; for example, mathematical operations.&lt;br /&gt;
&lt;br /&gt;
=== Setting a variable ===&lt;br /&gt;
Setting the value of a variable is ''even'' simpler than defining a function. Let's use an example.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable = &amp;quot;Hello!&amp;quot;;&lt;br /&gt;
myVariable = 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Looking at this, it's easy to see the logic here.&lt;br /&gt;
* First, the engine is taking the variable name - in this case, &amp;quot;myVariable&amp;quot;.&lt;br /&gt;
* Second, it is identifying the assignment operator (=). Simply, the engine has so far established that you want &amp;quot;myVariable&amp;quot; to equal something.&lt;br /&gt;
* Finally, it is taking the value that you want to set the variable's value to, and setting it.&lt;br /&gt;
&lt;br /&gt;
In our example, we initially set the variable &amp;quot;myVariable&amp;quot; to &amp;quot;Hello!&amp;quot;. This turns the variable automatically into a string. However! Immediately after, we have rewritten the value of &amp;quot;myVariable&amp;quot; with the number 3. Since there are no decimal places, the variable suddenly becomes an integer.&lt;br /&gt;
&lt;br /&gt;
=== Reading a variable ===&lt;br /&gt;
Any time you want to get a variable's value and use it, you simply write the name of the variable. This is best explained while using a Conditional Check.&lt;br /&gt;
&lt;br /&gt;
== Conditional Checks ==&lt;br /&gt;
For your script to even be remotely useful, you're going to have to check something somewhere. For example, if you want the script to only respond to a player saying &amp;quot;Foo&amp;quot;, then you're going to have to use a conditional check.&lt;br /&gt;
&lt;br /&gt;
There is another operator, called the comparison operator. It's two equals signs stuck together (==), and just instructs the engine to compare the two values. If the two values are the same, then it'll return TRUE. If they are different, it'll return FALSE.&lt;br /&gt;
&lt;br /&gt;
This is simple enough. Observe the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable = &amp;quot;excellent&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
We've set the variable 'myVariable' to &amp;quot;excellent&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable == &amp;quot;excellent&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This time, we're checking to see if 'myVariable' equals &amp;quot;excellent&amp;quot;. Since it does, this statement will evaluate to be TRUE.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable == &amp;quot;fabulous&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, we're checking to see if 'myVariable' equals &amp;quot;fabulous&amp;quot;. It clearly doesn't, since we set it's value to &amp;quot;excellent&amp;quot; instead. As a result, this statement returns FALSE.&lt;br /&gt;
&lt;br /&gt;
=== Working with if () checks ===&lt;br /&gt;
Now, conditional checks alone are no good to you in a complex script. You'll need to actually use the result of your conditional checks to make a difference in what happens during the execution of the script.&lt;br /&gt;
&lt;br /&gt;
To do this, you use an 'if' statement. 'if' is a very simple operator (it doesn't get complicated yet!) that simply runs one thing if the statement you give it is true, and optionally runs another thing if it isn't.&lt;br /&gt;
&lt;br /&gt;
Since using examples so far has been the common way, let's see one here. We'll even include a bit of what you've learned already:&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  myVariable = &amp;quot;excellent&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  if (myVariable == &amp;quot;excellent&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    player.chat = &amp;quot;Hooray! The values match.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
    else&lt;br /&gt;
  {&lt;br /&gt;
    player.chat = &amp;quot;The values don't match.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now. The first thing about an if statement is giving it something to check. The statement &amp;quot;myVariable ==&amp;quot; alone will return either one of two values - TRUE (1, one) or FALSE (0, zero).&lt;br /&gt;
&lt;br /&gt;
An if () statement by itself will only check if something is true. If not, it'll ignore it. If you put an else in, like in the above example, that code will be run in the case of a failure.&lt;br /&gt;
&lt;br /&gt;
=== Storing the result of a conditional check ===&lt;br /&gt;
Now, as previously mentioned, a comparison (==) will only produce either true or false. If you want to store the value of a conditional check for use later, then you can assign the result to a variable, instead of using it in an if () check now.&lt;br /&gt;
&amp;lt;pre&amp;gt;this.variable = (myVariable == &amp;quot;excellent&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... saves the result of the check into this.variable. So later, you can do:&lt;br /&gt;
&amp;lt;pre&amp;gt;if (this.variable)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
... to see if the check was successful. Similarly, you can do:&lt;br /&gt;
&amp;lt;pre&amp;gt;if (!this.variable)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
... to see if the check failed.&lt;br /&gt;
&lt;br /&gt;
== Manipulating data ==&lt;br /&gt;
Data can be manipulated in various ways. For example, you can modify parts of a string. You can apply math functions to a number. This section explains those sorts of functions.&lt;br /&gt;
&lt;br /&gt;
=== Basic math ===&lt;br /&gt;
GScript allows you to perform basic operations like add, subtract, multiply, divide, etc. However, GScript does not use functions for this. Instead, it has a set of &amp;quot;operators&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Examine the following examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 3 + 4; // addition (sets this.result to 7 in this case)&lt;br /&gt;
this.result = 3 - 4; // subtraction (sets this.result to -1 in this case)&lt;br /&gt;
this.result = 3 * 4; // multiplication (sets this.result to 12 in this case)&lt;br /&gt;
this.result = 3 / 4; // division (sets this.result to 0.75 in this case)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note how the operators are between two values: the value to start with, and then the value to operate with. The use of an operator returns a value in the same way as other comparisons, so let's take this example:&lt;br /&gt;
&amp;lt;pre&amp;gt;if ((3 - 4) == -1)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement evaluates to be true, because 3 - 4 does, in fact, equal -1.&lt;br /&gt;
&lt;br /&gt;
=== Priority order ===&lt;br /&gt;
If you're doing complex operations, it is important to ensure that your priority order is correct. In it's most basic mathematic form, the default order of operations is the following:&lt;br /&gt;
* B - Brackets&lt;br /&gt;
* O - Order&lt;br /&gt;
* D - Division&lt;br /&gt;
* M - Multiplication&lt;br /&gt;
* A - Addition&lt;br /&gt;
* S - Subtraction&lt;br /&gt;
That means that in a complex expression, multiplication takes priority order over addition, and that a part of the expression surrounded by brackets will always be calculated first.&lt;br /&gt;
&lt;br /&gt;
Brackets are very useful because it allows you to specify the order of operations. Consider this example:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = (3 * 4) / (2 * 3);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is calculated in this order:&lt;br /&gt;
* First, 3 is multiplied by 4:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 12 / (2 * 3);&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Second, 2 is multiplied by 3:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 12 / 6;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Finally, 12 is divided by 6:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result == 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slightly more complex operators ===&lt;br /&gt;
There are another set of operators which allow for basic math manipulation on a variable. These allow you to add and subtract to a number variable, without having to perform the expression yourself. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result += 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = this.result + 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result -= 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = this.result - 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The increment and decrement operators are as follows:&lt;br /&gt;
* += - add to&lt;br /&gt;
* -= - subtract to&lt;br /&gt;
* *= - multiply by&lt;br /&gt;
* /= - divide by&lt;br /&gt;
&lt;br /&gt;
Occasionally it is useful to just add or subtract one to a variable. There are operators to do this, too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var ++;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var = this.var + 1;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var --;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var = this.var - 1;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Understanding booleans ==&lt;br /&gt;
&lt;br /&gt;
Booleans are, plainly and simply, true or false values. They don't do anything else.&lt;br /&gt;
&amp;lt;pre&amp;gt;this.value = true;&lt;br /&gt;
this.value = false;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, true is the same as 1, and false is the same as 0, but the keywords are here to tidy things up a bit. Booleans are very useful because they help to control how your script operates. Now, as you know, a conditional check will produce a true or false result. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;3 == 3&amp;lt;/pre&amp;gt;&lt;br /&gt;
... produces true, because 3 equals three.&lt;br /&gt;
&amp;lt;pre&amp;gt;3 == 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
... produces false, because 3 doesn't equal 2.&lt;br /&gt;
&lt;br /&gt;
== Understanding Objects ==&lt;br /&gt;
No one can call them self a true Graal scripter until they have a firm grasp on the concept of objects.  Basically, in GSCript, all items of a given type - players, NPCs, levels, Gui Controls, etc - act in the same way.  Objects of the same type give you the same kinds of data, and can even be controlled in the same way.&lt;br /&gt;
&lt;br /&gt;
Let's say you wanted to access some kind of data from the Control-NPC.  It turns out that the Control-NPC itself is an object.   All you have to do is create an object which represents the Control-NPC.  After the object is created, you can use variables from it, or execute commands as if it were that NPC.  For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;temp.controlnpc = findnpc(&amp;quot;Control-NPC&amp;quot;);  //Creates an object references the Control-NPC&lt;br /&gt;
this.player_data = temp.controlnpc.player_data;  //Copies data from the Control-NPC to the current NPC.&lt;br /&gt;
temp.controlnpc.onCreated(); //Executes the onCreated function through the Control-NPC&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can even use the object directly:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.where_is_waldo = findnpc(&amp;quot;Waldo&amp;quot;).level.name;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here, the 'Waldo' npc is being called directly.  As you can see, the NPC's level is also an object!  Finding Waldo has never been so easy.&lt;br /&gt;
&lt;br /&gt;
Players work the same way (they are also objects):&lt;br /&gt;
&amp;lt;pre&amp;gt;temp.p = findplayerbycommunityname(&amp;quot;Stefan&amp;quot;);&lt;br /&gt;
temp.p.chat = &amp;quot;Hi! I'm playing Graal!&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This script would find the player with the community name 'Stefan' and set his chat to 'Hi! I'm playing Graal!'.  Also, no matter how you got the player object, everything works the same way:&lt;br /&gt;
&amp;lt;pre&amp;gt;findplayer(&amp;quot;napo_p2p&amp;quot;).say2(&amp;quot;EAAAGLE!&amp;quot;);&lt;br /&gt;
allplayers[3].chat = &amp;quot;How appropriate.  You fight like a cow.&amp;quot;;&lt;br /&gt;
players[i].setlevel2(&amp;quot;jail.nw&amp;quot;, 30, 30);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In fact, most everything within GScript is some type of object!  That weapon you're using to wreak havoc on your enemies? Why, that's a TServerWeapon.  Those bullets hitting your foes? TProjectile.  That level you've been jailed in one too many times? TServerLevel.  You can access all of these objects with GScript.  If you decide to be more ambitious, you can even create your own.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11641</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11641"/>
		<updated>2009-03-09T09:11:49Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getdropz(str) - returns float&lt;br /&gt;
  getextension(str) - returns string - same as extractFileExt()&lt;br /&gt;
  getfilemodtime(str) - returns integer - gets the file modifcation time (in unix time compatible to timevar2); accepts both exact file path and plain file name&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Output_Methods&amp;diff=11640</id>
		<title>Creation/Dev/Output Methods</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Output_Methods&amp;diff=11640"/>
		<updated>2009-03-09T06:24:24Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: updating echo()&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
With the addition of the [[GScript|new scripting engine]], there are a number of new methods in which you can create output from an NPC. In this article, I will discuss a couple of ways.&lt;br /&gt;
&lt;br /&gt;
== Useful Things To Know ==&lt;br /&gt;
If you've played with the new engine for a while, you're probably aware of the string concationation operators. If not, here they are.&lt;br /&gt;
&amp;lt;pre&amp;gt;String Concatenation     a @ b&lt;br /&gt;
    with space            a SPC b&lt;br /&gt;
    with newline          a NL b&lt;br /&gt;
    with tabulator        a TAB b&amp;lt;/pre&amp;gt;&lt;br /&gt;
What these operators do is join values together to form one value.&lt;br /&gt;
&lt;br /&gt;
An example of using @ would be:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Hello, &amp;quot; @ player.account&amp;lt;/pre&amp;gt;&lt;br /&gt;
... which would produce &amp;quot;Hello, accountnamehere&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The SPC, NL and TAB operators work using the same principal - except that they insert a Space, New Line or Tab Space respectively.&lt;br /&gt;
&lt;br /&gt;
If you don't put a space at the end of the first value or at the beginning of the second value when using @, you don't get a visible space, for example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Hello&amp;quot; @ &amp;quot;World&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... will produce &amp;quot;HelloWorld&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
However! If you use SPC, you'll get a space in place of the operator:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Hello&amp;quot; SPC &amp;quot;World&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... producing &amp;quot;Hello World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You can use these operators just about anywhere that a variable is requested, i.e. setting a variable, or sending to a function.&lt;br /&gt;
&lt;br /&gt;
== format() function ==&lt;br /&gt;
Or, if you aren't so interested in using the concationation operators, you can use the ''format()'' function.&lt;br /&gt;
&lt;br /&gt;
What this function does, is that it takes a sort of template from the first parameter you give it, and replaces % codes with other parameters you give it.&lt;br /&gt;
&lt;br /&gt;
Now, the template format primarily uses the following % characters:&lt;br /&gt;
&amp;lt;pre&amp;gt;%d %i - Integer&lt;br /&gt;
%f - Float (number with decimal)&lt;br /&gt;
%s - String&lt;br /&gt;
%c - Single character&lt;br /&gt;
%% - Literal &amp;quot;%&amp;quot; character&lt;br /&gt;
%x %X - Print an integer as a hexadecimal&amp;lt;/pre&amp;gt;&lt;br /&gt;
There are more, since the function is made to be compatible with C's ''printf()'' function.&lt;br /&gt;
&lt;br /&gt;
In the template, every % code will be replaced with the respective parameter.&lt;br /&gt;
&lt;br /&gt;
Say you want to produce &amp;quot;Hello, '''Mr. Skyld'''. You ate '''4''' apples today!&amp;quot; using format(). First, your format would be this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;Hello, %s. You ate %i apples today!&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... and you must not forget to give the parameters containing the values:&lt;br /&gt;
&amp;lt;pre&amp;gt;format(&amp;quot;Hello, %s. You ate %i apples today!&amp;quot;, &amp;quot;Mr. Skyld&amp;quot;, 4);&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can give the format() functions as many parameters as necessary to build up your value. If you use a % code and a value isn't present for it, a 0 (zero) will appear in it's place.&lt;br /&gt;
&lt;br /&gt;
You can also use ''format2()'', which acts just like format() with the exception that instead of passing variables as separate parameters, they are sent as an array to the 2nd parameter.&lt;br /&gt;
The example above would become&lt;br /&gt;
&amp;lt;pre&amp;gt;format2(&amp;quot;Hello, %s. You ate %i apples today!&amp;quot;, {&amp;quot;Mr. Skyld&amp;quot;, 4});&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Along with format2() came the indexing of the parameters. This method will work with both format() and format2() functions. It allows us to choose which parameter to place in which position in the format string. The problem of parameters being placed in the wrong order will not exist if each parameter has a different data type, however.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;format2(&amp;quot;Hello, %2$s. You ate %1$s apples today!&amp;quot;, {&amp;quot;four&amp;quot;,&amp;quot;Mr. Skyld&amp;quot;});&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example, both parameters are strings, so it would be necessary to give them an index when trying to insert them in a different order than they were passed. ''%1$s'' refers to the 1&amp;lt;sup&amp;gt;st&amp;lt;/sup&amp;gt; object in the array inserted as a string. ''%n$T'' is general; the n&amp;lt;sup&amp;gt;th&amp;lt;/sup&amp;gt; parameter inserted with datatype of ''T''.&lt;br /&gt;
&lt;br /&gt;
Now, let's continue on various ways of outputting data.&lt;br /&gt;
&lt;br /&gt;
== Outputs ==&lt;br /&gt;
=== Direct Output ===&lt;br /&gt;
Direct Output is sending an output directly to the game client, or to RC/NC. There are a number of functions for these tasks.&lt;br /&gt;
&lt;br /&gt;
==== echo() ====&lt;br /&gt;
The echo() function will, on the serverside, send data to NC (by default), so RC users who have the NPC-Control right will see the message in RC chat, and on the clientside, sends the message to the F2 window. It expects one parameter, and that's the message you're sending. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo(&amp;quot;This is a message!&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
The message &amp;quot;This is a message!&amp;quot; will appear either in RC or the F2 window using this example.&lt;br /&gt;
&lt;br /&gt;
Servers can change the [[Server_options#Send_NPC_output_to_RCs|sendechotorc]] server option to allow echo() messages to be sent to everyone on RC.&lt;br /&gt;
&lt;br /&gt;
==== sendtorc() ====&lt;br /&gt;
The sendtorc() function works in the same way that the echo() function does, however, it only usually works on the serverside. It will appear to all RC users. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;sendtorc(&amp;quot;This is a message!&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... will send &amp;quot;NPC-Server (Server): This is a message!&amp;quot; to RC.&lt;br /&gt;
&lt;br /&gt;
'''Note''' that this function can only be used on the clientside when Client-RC is active.&lt;br /&gt;
&lt;br /&gt;
==== sendtonc() ====&lt;br /&gt;
The sendtonc() function works in exactly the same way as echo() does serverside, except the message will display '''only''' to NC users.&lt;br /&gt;
&lt;br /&gt;
==== sendrpgmessage() ====&lt;br /&gt;
The sendrpgmessage() will send a message appearing in the player's F2 log window and can be used on both client- and server-side. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;sendrpgmessage(&amp;quot;This is a message!&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... will send &amp;quot;This is a message!&amp;quot; to the player's F2 window.&lt;br /&gt;
&lt;br /&gt;
=== Working with Files ===&lt;br /&gt;
==== loadstring() ====&lt;br /&gt;
loadstring() is an object function which loads the contents of a given file.&lt;br /&gt;
&lt;br /&gt;
Say that the file &amp;quot;levels/file.txt&amp;quot; contains the message &amp;quot;HELLO WORLD&amp;quot;. If you want to load that value into a variable called &amp;quot;myVar&amp;quot;, you should use this function:&lt;br /&gt;
&amp;lt;pre&amp;gt;myVar.loadstring(&amp;quot;levels/file.txt&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can easily check the contents of the file:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo(myVar);&amp;lt;/pre&amp;gt;&lt;br /&gt;
Use myVar.escape() if you want to print a string that might contain special characters like new-line which would not appear on RC-chat.&lt;br /&gt;
&lt;br /&gt;
==== savestring() ====&lt;br /&gt;
savestring() is another object function, however, instead of loading the contents of a file, it writes the contents instead.&lt;br /&gt;
&lt;br /&gt;
Consider this with the previous example:&lt;br /&gt;
&amp;lt;pre&amp;gt;myVar = &amp;quot;HELLO PLANET&amp;quot;;&lt;br /&gt;
myVar.savestring(&amp;quot;levels/file.txt&amp;quot;, 0);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... would write &amp;quot;HELLO PLANET&amp;quot; to &amp;quot;levels/file.txt&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The second operator, which is 0 (zero) in that example, is the '''Append''' function, and decides whether the file should be overwritten with the new value, or whether the new value should be added onto the end of the file. If you specify '''1''', then the value will be appended, if not, it will overwrite the file.&lt;br /&gt;
&lt;br /&gt;
==== savevars() ====&lt;br /&gt;
savevars() is an object function which saves the variables of an object into a file. Consider this example:&lt;br /&gt;
&amp;lt;pre&amp;gt;myVar = new TStaticVar(); // Create a TStaticVar&lt;br /&gt;
myVar.variable = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
myVar.secondvariable = &amp;quot;World&amp;quot;;&lt;br /&gt;
myVar.saveVars(&amp;quot;levels/test.txt&amp;quot;, 0);&amp;lt;/pre&amp;gt;&lt;br /&gt;
This will save the variables inside the &amp;quot;myVar&amp;quot; object into &amp;quot;levels/test.txt&amp;quot;. You can then recall these variables using loadvars();&lt;br /&gt;
&lt;br /&gt;
Like savelines(), the second parameter controls whether the variables are to be appended to the file. '''0''' will overwrite the file, and '''1''' will append to the file.&lt;br /&gt;
&lt;br /&gt;
==== loadvars() ====&lt;br /&gt;
loadvars() is another object function which loads savevars()-style variables from a file into an object. Let's say you used the previous example from savevars(), then you could restore these values using the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;myNewVar.loadvars(&amp;quot;levels/test.txt&amp;quot;);&lt;br /&gt;
echo(myNewVar.secondvariable);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... which will output &amp;quot;World&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Private Messages (PMs) ===&lt;br /&gt;
From the serverside, you can send PMs to players. They appear from the NPC-Server.&lt;br /&gt;
&lt;br /&gt;
If you wanted to send a PM to the player &amp;quot;Skyld&amp;quot; (if the player is online), the you would use the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;findPlayer(&amp;quot;Skyld&amp;quot;).sendPM(&amp;quot;This is a PM&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... and then the specified player, in this case Skyld, would receive the PM &amp;quot;This is a PM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you want to send a PM to the current player, you would simply use:&lt;br /&gt;
&amp;lt;pre&amp;gt;player.sendPM(&amp;quot;This is a PM&amp;quot;);&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11639</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11639"/>
		<updated>2009-03-09T06:19:02Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: adding format()&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| format(string, string, ...)&lt;br /&gt;
|&lt;br /&gt;
| See [[Creation/Dev/Output_Methods#format.28.29_function|format()]]. &lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getdropz(str) - returns float&lt;br /&gt;
  getextension(str) - returns string - same as extractFileExt()&lt;br /&gt;
  getfilemodtime(str) - returns integer - gets the file modifcation time (in unix time compatible to timevar2); accepts both exact file path and plain file name&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/GScript/GScript_for_Dummies&amp;diff=11638</id>
		<title>Creation/Dev/GScript/GScript for Dummies</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/GScript/GScript_for_Dummies&amp;diff=11638"/>
		<updated>2009-03-09T05:57:57Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: attempting to explain objects&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style='float: right;'&amp;gt;[[Image:s_dummies.png]]&amp;lt;/span&amp;gt;&lt;br /&gt;
= Preface =&lt;br /&gt;
== Introduction ==&lt;br /&gt;
New Engine GScript for Dummies is a guide designed to aid the learning of the new scripting engine, frequently dubbed 'gscript2'. This guide will explain the basics, such as functions, variables and some Gscript-specific concepts that you will need to know in order to get scripting in no time. The guide is indexed at the top of the page, and by clicking one of the index links, you will be taken to the appropriate section. If you haven't really a clue where to start, then you're probably best reading through the entire guide.&lt;br /&gt;
&lt;br /&gt;
== Who is this for? ==&lt;br /&gt;
This is for absolutely anyone who is interested in learning in Gscript. Having some previous knowledge of scripting would be beneficial, but isn't required.&lt;br /&gt;
&lt;br /&gt;
== What should I do if I have a problem or a question not covered here? ==&lt;br /&gt;
You can, of course, post your problem on the [http://forums.graalonline.com/forums/ GraalOnline Forums] in the NPC Scripting section. Similarly, you can also contact a member of the Global Scripting Team via Forum PM if you think that you require more direct assistance, although usually forum regulars will be happy to help.&lt;br /&gt;
&lt;br /&gt;
= Welcome to GScript =&lt;br /&gt;
GScript is the scripting language that powers most of the dynamic content provided by GraalOnline. The scripting language is a very useful tool, since it enables you to create a very wide variety of systems, including automated baddies, scripted systems, GUIs.&lt;br /&gt;
&lt;br /&gt;
== Glossary of Terms ==&lt;br /&gt;
Through this guide, a number of terms are likely to be used. In case you are not sure exactly what any of the terms mean, you can look them up here!&lt;br /&gt;
* '''Variable''': This is a special type of object that stores data. The data might be a string, an integer, a float, or an array.&lt;br /&gt;
* '''String''': This is a type of data that can be stored in a variable. A string is a collection of letters, numbers and symbols. For example, if you are interested in storing a sentence in a variable, a string is probably your best bet.&lt;br /&gt;
* '''Integer''': This is a type of data that can be stored in a variable. An integer is simply a round number. No decimal places. Positive or negative, it's just a round number.&lt;br /&gt;
* '''Float''': This is a type of data that can be stored in a variable. A float is a number that is not an integer, that may contain decimal places.&lt;br /&gt;
* '''Function''': This is a block of code. A function is a defined routine of instructions that can be ran at any time in a script.&lt;br /&gt;
* '''Predefined Function''': This is a function that is already available in the scripting engine. Such functions are internal, that usually allow mathematical and other variable operations, manipulation of players and such like. You do not need to define a predefined function yourself, since it is already there for you to use!&lt;br /&gt;
* '''Event Functions''': These are functions that are called by the scripting engine automatically based on events happening. For example, one function may be called when a player touches the NPC, and another one might be called when a player enters the level. Note that these event functions are only called if you have written the instructions for them yourself. This will be explained in the Functions section.&lt;br /&gt;
&lt;br /&gt;
= Using GScript =&lt;br /&gt;
== Basic concepts ==&lt;br /&gt;
It is important to remember a couple of very basic, but very important concepts when using GScript.&lt;br /&gt;
* All statements (that is, function calls, writing to variables) '''must''' end in a semicolon (that's a ;). This simply tells the engine that the current statement has finished. You must remember to include it, or the engine will throw errors at you when it does not realise that you have finished a statement before it moves onto the next one.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
A function, like mentioned in the Glossary of Terms, is a defined block of instructions. Practically everything you do in GScript will rely on functions. First, let's look at how you can define a function.&lt;br /&gt;
&lt;br /&gt;
=== Defining a function ===&lt;br /&gt;
The syntax for defining a function is, in fact, very simple. Let's look at an example.&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first thing to identify is the 'function' keyword. This tells the scripting engine that you're going to define a function. This is absolutely necessary in defining functions of any kind yourself.&lt;br /&gt;
&lt;br /&gt;
Second, you'll notice a name - 'myFunction'. This is the bit where you specify the name of the function that you're defining. This can be anything, providing that it doesn't contain strange symbols (usually an underscore '_' is the best suited symbol to split up function names with, since other symbols can cause errors).&lt;br /&gt;
&lt;br /&gt;
Thirdly, you'll see (). This is a convention that is later used for parameters, but for now, that's not important. Just stick () on the end of your name for now.&lt;br /&gt;
&lt;br /&gt;
Finally, you'll see { and }. These are braces, and define exactly what the function contains. Anything inside the braces is code that is specific to the function. If it's inside the braces for that function, it'll run when you call that function. Very simple.&lt;br /&gt;
&lt;br /&gt;
=== Function scopes ===&lt;br /&gt;
A fairly important concept is the idea of scopes. As demonstrated before, anything inside the { and } of a function means that it's a part of the function. Now, imagine that the entire script is like a hallway, and behind every door, is a function. When you walk into a room and close the door behind you, you are in a fairly closed space. This is true of functions.&lt;br /&gt;
&lt;br /&gt;
Some types of variable, when set inside a function, are placed in the function's 'local' scope. This simply means that the variable is available for use inside the function, but not outside of the function. The 'global' scope is where other types of variable are stored, for example, variables that need to be accessible in all functions. This will be explained further in the variables section.&lt;br /&gt;
&lt;br /&gt;
=== Calling a function ===&lt;br /&gt;
Now you've created your function, it's there to be used. Anywhere inside your script, you can call this function using the following method:&lt;br /&gt;
&amp;lt;pre&amp;gt;myFunction();&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the 'function' keyword is not present because we are not defining a function, we are just calling one. Now, the moment the scripting engine hits a function call, any code that you put inside of your function will run. Let's use the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  player.chat = &amp;quot;Hello!&amp;quot;;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is a very basic function that just sets the player's chat text. Let's call the function.&lt;br /&gt;
&amp;lt;pre&amp;gt;myFunction();&amp;lt;/pre&amp;gt;&lt;br /&gt;
Suddenly, the player's chat will be set to &amp;quot;Hello!&amp;quot;. By calling the function, you've told the engine to run the code inside of that function - in this case, setting the player's chat.&lt;br /&gt;
&lt;br /&gt;
=== Return values ===&lt;br /&gt;
A function execution can return a value to where the function was called. This is how a lot of Graal's built-in functions work: by returning the value.&lt;br /&gt;
&lt;br /&gt;
Take the following example, which will return the value of timevar2 (a built-in variable which counts how many seconds it has been since 1st January 1970):&lt;br /&gt;
&amp;lt;pre&amp;gt;function getTime()&lt;br /&gt;
{&lt;br /&gt;
  return timevar2;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you call the function, like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.time = getTime();&amp;lt;/pre&amp;gt;&lt;br /&gt;
... then this.time will be set to the value of timevar2.&lt;br /&gt;
&lt;br /&gt;
It is very important to remember that the return function immediately ends the function's execution. Therefore:&lt;br /&gt;
&amp;lt;pre&amp;gt;function foo()&lt;br /&gt;
{&lt;br /&gt;
  player.chat = &amp;quot;Foo&amp;quot;;&lt;br /&gt;
  return;&lt;br /&gt;
  player.chat = &amp;quot;Bar&amp;quot;;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
player.chat = &amp;quot;Bar&amp;quot;; won't be executed because of return; being used.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Now, you've seen how functions work. The next very important part is using variables. As you have read in the glossary of terms, a variable is simply a sort of object that stores information.&lt;br /&gt;
&lt;br /&gt;
Variables have three important factors: name, type and value.&lt;br /&gt;
=== Name ===&lt;br /&gt;
Every variable must have a unique name. This is how you will access the value that is stored inside of the variable whenever you want to use it. &lt;br /&gt;
&lt;br /&gt;
=== Type ===&lt;br /&gt;
Every variable also has a type. In GScript, there is a clever little system in place for variables called 'variants'. This sounds complicated, but is in fact also very simple. It simply means that the variable's type ''adjusts itself'' in order to suit the sort of data that it contains.&lt;br /&gt;
&lt;br /&gt;
For example, if you make the value of a variable &amp;quot;Hello!&amp;quot;, then the variable automatically becomes a string, and simply because you assigned it a value of a string. In GScript, all string values must be enclosed in &amp;quot;speechmarks&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What about a number? You don't even need to use speechmarks for numbers - you just type the number! Simple, no? When you do so, the variable automatically becomes either an integer or a float type in order to suit the number that you just put in it.&lt;br /&gt;
&lt;br /&gt;
=== Value ===&lt;br /&gt;
As already established, this is simply the information/data that the variable contains.&lt;br /&gt;
&lt;br /&gt;
=== Why variables are useful ===&lt;br /&gt;
Variables are incredibly useful for a number of reasons. They allow you to:&lt;br /&gt;
* Store a value that you plan to repeatedly use in your script. If you change the value of the variable, then the script uses the new value in every place the variable is used.&lt;br /&gt;
* Keep a value saved for when you want it later. If you take the player's chat text and want to save it, then you can use a variable.&lt;br /&gt;
* Manipulate a value. There are many predefined functions available in the scripting engine that will allow you to modify and use the value that is stored inside a variable; for example, mathematical operations.&lt;br /&gt;
&lt;br /&gt;
=== Setting a variable ===&lt;br /&gt;
Setting the value of a variable is ''even'' simpler than defining a function. Let's use an example.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable = &amp;quot;Hello!&amp;quot;;&lt;br /&gt;
myVariable = 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Looking at this, it's easy to see the logic here.&lt;br /&gt;
* First, the engine is taking the variable name - in this case, &amp;quot;myVariable&amp;quot;.&lt;br /&gt;
* Second, it is identifying the assignment operator (=). Simply, the engine has so far established that you want &amp;quot;myVariable&amp;quot; to equal something.&lt;br /&gt;
* Finally, it is taking the value that you want to set the variable's value to, and setting it.&lt;br /&gt;
&lt;br /&gt;
In our example, we initially set the variable &amp;quot;myVariable&amp;quot; to &amp;quot;Hello!&amp;quot;. This turns the variable automatically into a string. However! Immediately after, we have rewritten the value of &amp;quot;myVariable&amp;quot; with the number 3. Since there are no decimal places, the variable suddenly becomes an integer.&lt;br /&gt;
&lt;br /&gt;
=== Reading a variable ===&lt;br /&gt;
Any time you want to get a variable's value and use it, you simply write the name of the variable. This is best explained while using a Conditional Check.&lt;br /&gt;
&lt;br /&gt;
== Conditional Checks ==&lt;br /&gt;
For your script to even be remotely useful, you're going to have to check something somewhere. For example, if you want the script to only respond to a player saying &amp;quot;Foo&amp;quot;, then you're going to have to use a conditional check.&lt;br /&gt;
&lt;br /&gt;
There is another operator, called the comparison operator. It's two equals signs stuck together (==), and just instructs the engine to compare the two values. If the two values are the same, then it'll return TRUE. If they are different, it'll return FALSE.&lt;br /&gt;
&lt;br /&gt;
This is simple enough. Observe the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable = &amp;quot;excellent&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
We've set the variable 'myVariable' to &amp;quot;excellent&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable == &amp;quot;excellent&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This time, we're checking to see if 'myVariable' equals &amp;quot;excellent&amp;quot;. Since it does, this statement will evaluate to be TRUE.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable == &amp;quot;fabulous&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, we're checking to see if 'myVariable' equals &amp;quot;fabulous&amp;quot;. It clearly doesn't, since we set it's value to &amp;quot;excellent&amp;quot; instead. As a result, this statement returns FALSE.&lt;br /&gt;
&lt;br /&gt;
=== Working with if () checks ===&lt;br /&gt;
Now, conditional checks alone are no good to you in a complex script. You'll need to actually use the result of your conditional checks to make a difference in what happens during the execution of the script.&lt;br /&gt;
&lt;br /&gt;
To do this, you use an 'if' statement. 'if' is a very simple operator (it doesn't get complicated yet!) that simply runs one thing if the statement you give it is true, and optionally runs another thing if it isn't.&lt;br /&gt;
&lt;br /&gt;
Since using examples so far has been the common way, let's see one here. We'll even include a bit of what you've learned already:&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  myVariable = &amp;quot;excellent&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  if (myVariable == &amp;quot;excellent&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    player.chat = &amp;quot;Hooray! The values match.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
    else&lt;br /&gt;
  {&lt;br /&gt;
    player.chat = &amp;quot;The values don't match.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now. The first thing about an if statement is giving it something to check. The statement &amp;quot;myVariable ==&amp;quot; alone will return either one of two values - TRUE (1, one) or FALSE (0, zero).&lt;br /&gt;
&lt;br /&gt;
An if () statement by itself will only check if something is true. If not, it'll ignore it. If you put an else in, like in the above example, that code will be run in the case of a failure.&lt;br /&gt;
&lt;br /&gt;
=== Storing the result of a conditional check ===&lt;br /&gt;
Now, as previously mentioned, a comparison (==) will only produce either true or false. If you want to store the value of a conditional check for use later, then you can assign the result to a variable, instead of using it in an if () check now.&lt;br /&gt;
&amp;lt;pre&amp;gt;this.variable = (myVariable == &amp;quot;excellent&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... saves the result of the check into this.variable. So later, you can do:&lt;br /&gt;
&amp;lt;pre&amp;gt;if (this.variable)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
... to see if the check was successful. Similarly, you can do:&lt;br /&gt;
&amp;lt;pre&amp;gt;if (!this.variable)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
... to see if the check failed.&lt;br /&gt;
&lt;br /&gt;
== Manipulating data ==&lt;br /&gt;
=== Explanation ===&lt;br /&gt;
Data can be manipulated in various ways. For example, you can modify parts of a string. You can apply math functions to a number. This section explains those sorts of functions.&lt;br /&gt;
&lt;br /&gt;
=== Basic math ===&lt;br /&gt;
GScript allows you to perform basic operations like add, subtract, multiply, divide, etc. However, GScript does not use functions for this. Instead, it has a set of &amp;quot;operators&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Examine the following examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 3 + 4; // addition (sets this.result to 7 in this case)&lt;br /&gt;
this.result = 3 - 4; // subtraction (sets this.result to -1 in this case)&lt;br /&gt;
this.result = 3 * 4; // multiplication (sets this.result to 12 in this case)&lt;br /&gt;
this.result = 3 / 4; // division (sets this.result to 0.75 in this case)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note how the operators are between two values: the value to start with, and then the value to operate with. The use of an operator returns a value in the same way as other comparisons, so let's take this example:&lt;br /&gt;
&amp;lt;pre&amp;gt;if ((3 - 4) == -1)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement evaluates to be true, because 3 - 4 does, in fact, equal -1.&lt;br /&gt;
&lt;br /&gt;
=== Priority order ===&lt;br /&gt;
If you're doing complex operations, it is important to ensure that your priority order is correct. In it's most basic mathematic form, the default order of operations is the following:&lt;br /&gt;
* B - Brackets&lt;br /&gt;
* O - Order&lt;br /&gt;
* D - Division&lt;br /&gt;
* M - Multiplication&lt;br /&gt;
* A - Addition&lt;br /&gt;
* S - Subtraction&lt;br /&gt;
That means that in a complex expression, multiplication takes priority order over addition, and that a part of the expression surrounded by brackets will always be calculated first.&lt;br /&gt;
&lt;br /&gt;
Brackets are very useful because it allows you to specify the order of operations. Consider this example:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = (3 * 4) / (2 * 3);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is calculated in this order:&lt;br /&gt;
* First, 3 is multiplied by 4:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 12 / (2 * 3);&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Second, 2 is multiplied by 3:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 12 / 6;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Finally, 12 is divided by 6:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result == 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slightly more complex operators ===&lt;br /&gt;
There are another set of operators which allow for basic math manipulation on a variable. These allow you to add and subtract to a number variable, without having to perform the expression yourself. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result += 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = this.result + 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result -= 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = this.result - 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The increment and decrement operators are as follows:&lt;br /&gt;
* += - add to&lt;br /&gt;
* -= - subtract to&lt;br /&gt;
* *= - multiply by&lt;br /&gt;
* /= - divide by&lt;br /&gt;
&lt;br /&gt;
Occasionally it is useful to just add or subtract one to a variable. There are operators to do this, too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var ++;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var = this.var + 1;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var --;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var = this.var - 1;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Understanding booleans ==&lt;br /&gt;
&lt;br /&gt;
Booleans are, plainly and simply, true or false values. They don't do anything else.&lt;br /&gt;
&amp;lt;pre&amp;gt;this.value = true;&lt;br /&gt;
this.value = false;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, true is the same as 1, and false is the same as 0, but the keywords are here to tidy things up a bit. Booleans are very useful because they help to control how your script operates. Now, as you know, a conditional check will produce a true or false result. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;3 == 3&amp;lt;/pre&amp;gt;&lt;br /&gt;
... produces true, because 3 equals three.&lt;br /&gt;
&amp;lt;pre&amp;gt;3 == 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
... produces false, because 3 doesn't equal 2.&lt;br /&gt;
&lt;br /&gt;
== Understanding Objects ==&lt;br /&gt;
No one can call them self a true Graal scripter until they have a firm grasp on the concept of objects.  Basically, in GSCript, all items of a given type - players, NPCs, levels, Gui Controls, etc - act in the same way.  Objects of the same type give you the same kinds of data, and can even be controlled in the same way.&lt;br /&gt;
&lt;br /&gt;
Let's say you wanted to access some kind of data from the Control-NPC.  It turns out that the Control-NPC itself is an object.   All you have to do is create an object which represents the Control-NPC.  After the object is created, you can use variables from it, or execute commands as if it were that NPC.  For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;temp.controlnpc = findnpc(&amp;quot;Control-NPC&amp;quot;);  //Creates an object references the Control-NPC&lt;br /&gt;
this.player_data = temp.controlnpc.player_data;  //Copies data from the Control-NPC to the current NPC.&lt;br /&gt;
temp.controlnpc.onCreated(); //Executes the onCreated function through the Control-NPC&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can even use the object directly:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.where_is_waldo = findnpc(&amp;quot;Waldo&amp;quot;).level.name;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Here, the 'Waldo' npc is being called directly.  As you can see, the NPC's level is also an object!  Finding Waldo has never been so easy.&lt;br /&gt;
&lt;br /&gt;
Players work the same way (they are also objects):&lt;br /&gt;
&amp;lt;pre&amp;gt;temp.p = findplayerbycommunityname(&amp;quot;Stefan&amp;quot;);&lt;br /&gt;
temp.p.chat = &amp;quot;Hi! I'm playing Graal!&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This script would find the player with the community name 'Stefan' and set his chat to 'Hi! I'm playing Graal!'.  Also, no matter how you got the player object, everything works the same way:&lt;br /&gt;
&amp;lt;pre&amp;gt;findplayer(&amp;quot;napo_p2p&amp;quot;).say2(&amp;quot;EAAAGLE!&amp;quot;);&lt;br /&gt;
allplayers[3].chat = &amp;quot;How appropriate.  You fight like a cow.&amp;quot;;&lt;br /&gt;
players[i].setlevel2(&amp;quot;jail.nw&amp;quot;, 30, 30);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In fact, most everything within GScript is some type of object!  That weapon you're using to wreak havoc on your enemies? Why, that's a TServerWeapon.  Those bullets hitting your foes? TProjectile.  That level you've been jailed in one too many times? TServerLevel.  You can access all of these objects with GScript.  If you decide to be more ambitious, you can even create your own.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/GScript/GScript_for_Dummies&amp;diff=11637</id>
		<title>Creation/Dev/GScript/GScript for Dummies</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/GScript/GScript_for_Dummies&amp;diff=11637"/>
		<updated>2009-03-09T05:25:52Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style='float: right;'&amp;gt;[[Image:s_dummies.png]]&amp;lt;/span&amp;gt;&lt;br /&gt;
= Preface =&lt;br /&gt;
== Introduction ==&lt;br /&gt;
New Engine GScript for Dummies is a guide designed to aid the learning of the new scripting engine, frequently dubbed 'gscript2'. This guide will explain the basics, such as functions, variables and some Gscript-specific concepts that you will need to know in order to get scripting in no time. The guide is indexed at the top of the page, and by clicking one of the index links, you will be taken to the appropriate section. If you haven't really a clue where to start, then you're probably best reading through the entire guide.&lt;br /&gt;
&lt;br /&gt;
== Who is this for? ==&lt;br /&gt;
This is for absolutely anyone who is interested in learning in Gscript. Having some previous knowledge of scripting would be beneficial, but isn't required.&lt;br /&gt;
&lt;br /&gt;
== What should I do if I have a problem or a question not covered here? ==&lt;br /&gt;
You can, of course, post your problem on the [http://forums.graalonline.com/forums/ GraalOnline Forums] in the NPC Scripting section. Similarly, you can also contact a member of the Global Scripting Team via Forum PM if you think that you require more direct assistance, although usually forum regulars will be happy to help.&lt;br /&gt;
&lt;br /&gt;
= Welcome to GScript =&lt;br /&gt;
GScript is the scripting language that powers most of the dynamic content provided by GraalOnline. The scripting language is a very useful tool, since it enables you to create a very wide variety of systems, including automated baddies, scripted systems, GUIs.&lt;br /&gt;
&lt;br /&gt;
== Glossary of Terms ==&lt;br /&gt;
Through this guide, a number of terms are likely to be used. In case you are not sure exactly what any of the terms mean, you can look them up here!&lt;br /&gt;
* '''Variable''': This is a special type of object that stores data. The data might be a string, an integer, a float, or an array.&lt;br /&gt;
* '''String''': This is a type of data that can be stored in a variable. A string is a collection of letters, numbers and symbols. For example, if you are interested in storing a sentence in a variable, a string is probably your best bet.&lt;br /&gt;
* '''Integer''': This is a type of data that can be stored in a variable. An integer is simply a round number. No decimal places. Positive or negative, it's just a round number.&lt;br /&gt;
* '''Float''': This is a type of data that can be stored in a variable. A float is a number that is not an integer, that may contain decimal places.&lt;br /&gt;
* '''Function''': This is a block of code. A function is a defined routine of instructions that can be ran at any time in a script.&lt;br /&gt;
* '''Predefined Function''': This is a function that is already available in the scripting engine. Such functions are internal, that usually allow mathematical and other variable operations, manipulation of players and such like. You do not need to define a predefined function yourself, since it is already there for you to use!&lt;br /&gt;
* '''Event Functions''': These are functions that are called by the scripting engine automatically based on events happening. For example, one function may be called when a player touches the NPC, and another one might be called when a player enters the level. Note that these event functions are only called if you have written the instructions for them yourself. This will be explained in the Functions section.&lt;br /&gt;
&lt;br /&gt;
= Using GScript =&lt;br /&gt;
== Basic concepts ==&lt;br /&gt;
It is important to remember a couple of very basic, but very important concepts when using GScript.&lt;br /&gt;
* All statements (that is, function calls, writing to variables) '''must''' end in a semicolon (that's a ;). This simply tells the engine that the current statement has finished. You must remember to include it, or the engine will throw errors at you when it does not realise that you have finished a statement before it moves onto the next one.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
A function, like mentioned in the Glossary of Terms, is a defined block of instructions. Practically everything you do in GScript will rely on functions. First, let's look at how you can define a function.&lt;br /&gt;
&lt;br /&gt;
=== Defining a function ===&lt;br /&gt;
The syntax for defining a function is, in fact, very simple. Let's look at an example.&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
The first thing to identify is the 'function' keyword. This tells the scripting engine that you're going to define a function. This is absolutely necessary in defining functions of any kind yourself.&lt;br /&gt;
&lt;br /&gt;
Second, you'll notice a name - 'myFunction'. This is the bit where you specify the name of the function that you're defining. This can be anything, providing that it doesn't contain strange symbols (usually an underscore '_' is the best suited symbol to split up function names with, since other symbols can cause errors).&lt;br /&gt;
&lt;br /&gt;
Thirdly, you'll see (). This is a convention that is later used for parameters, but for now, that's not important. Just stick () on the end of your name for now.&lt;br /&gt;
&lt;br /&gt;
Finally, you'll see { and }. These are braces, and define exactly what the function contains. Anything inside the braces is code that is specific to the function. If it's inside the braces for that function, it'll run when you call that function. Very simple.&lt;br /&gt;
&lt;br /&gt;
=== Function scopes ===&lt;br /&gt;
A fairly important concept is the idea of scopes. As demonstrated before, anything inside the { and } of a function means that it's a part of the function. Now, imagine that the entire script is like a hallway, and behind every door, is a function. When you walk into a room and close the door behind you, you are in a fairly closed space. This is true of functions.&lt;br /&gt;
&lt;br /&gt;
Some types of variable, when set inside a function, are placed in the function's 'local' scope. This simply means that the variable is available for use inside the function, but not outside of the function. The 'global' scope is where other types of variable are stored, for example, variables that need to be accessible in all functions. This will be explained further in the variables section.&lt;br /&gt;
&lt;br /&gt;
=== Calling a function ===&lt;br /&gt;
Now you've created your function, it's there to be used. Anywhere inside your script, you can call this function using the following method:&lt;br /&gt;
&amp;lt;pre&amp;gt;myFunction();&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the 'function' keyword is not present because we are not defining a function, we are just calling one. Now, the moment the scripting engine hits a function call, any code that you put inside of your function will run. Let's use the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  player.chat = &amp;quot;Hello!&amp;quot;;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is a very basic function that just sets the player's chat text. Let's call the function.&lt;br /&gt;
&amp;lt;pre&amp;gt;myFunction();&amp;lt;/pre&amp;gt;&lt;br /&gt;
Suddenly, the player's chat will be set to &amp;quot;Hello!&amp;quot;. By calling the function, you've told the engine to run the code inside of that function - in this case, setting the player's chat.&lt;br /&gt;
&lt;br /&gt;
=== Return values ===&lt;br /&gt;
A function execution can return a value to where the function was called. This is how a lot of Graal's built-in functions work: by returning the value.&lt;br /&gt;
&lt;br /&gt;
Take the following example, which will return the value of timevar2 (a built-in variable which counts how many seconds it has been since 1st January 1970):&lt;br /&gt;
&amp;lt;pre&amp;gt;function getTime()&lt;br /&gt;
{&lt;br /&gt;
  return timevar2;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you call the function, like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.time = getTime();&amp;lt;/pre&amp;gt;&lt;br /&gt;
... then this.time will be set to the value of timevar2.&lt;br /&gt;
&lt;br /&gt;
It is very important to remember that the return function immediately ends the function's execution. Therefore:&lt;br /&gt;
&amp;lt;pre&amp;gt;function foo()&lt;br /&gt;
{&lt;br /&gt;
  player.chat = &amp;quot;Foo&amp;quot;;&lt;br /&gt;
  return;&lt;br /&gt;
  player.chat = &amp;quot;Bar&amp;quot;;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
player.chat = &amp;quot;Bar&amp;quot;; won't be executed because of return; being used.&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
Now, you've seen how functions work. The next very important part is using variables. As you have read in the glossary of terms, a variable is simply a sort of object that stores information.&lt;br /&gt;
&lt;br /&gt;
Variables have three important factors: name, type and value.&lt;br /&gt;
=== Name ===&lt;br /&gt;
Every variable must have a unique name. This is how you will access the value that is stored inside of the variable whenever you want to use it. &lt;br /&gt;
&lt;br /&gt;
=== Type ===&lt;br /&gt;
Every variable also has a type. In GScript, there is a clever little system in place for variables called 'variants'. This sounds complicated, but is in fact also very simple. It simply means that the variable's type ''adjusts itself'' in order to suit the sort of data that it contains.&lt;br /&gt;
&lt;br /&gt;
For example, if you make the value of a variable &amp;quot;Hello!&amp;quot;, then the variable automatically becomes a string, and simply because you assigned it a value of a string. In GScript, all string values must be enclosed in &amp;quot;speechmarks&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
What about a number? You don't even need to use speechmarks for numbers - you just type the number! Simple, no? When you do so, the variable automatically becomes either an integer or a float type in order to suit the number that you just put in it.&lt;br /&gt;
&lt;br /&gt;
=== Value ===&lt;br /&gt;
As already established, this is simply the information/data that the variable contains.&lt;br /&gt;
&lt;br /&gt;
=== Why variables are useful ===&lt;br /&gt;
Variables are incredibly useful for a number of reasons. They allow you to:&lt;br /&gt;
* Store a value that you plan to repeatedly use in your script. If you change the value of the variable, then the script uses the new value in every place the variable is used.&lt;br /&gt;
* Keep a value saved for when you want it later. If you take the player's chat text and want to save it, then you can use a variable.&lt;br /&gt;
* Manipulate a value. There are many predefined functions available in the scripting engine that will allow you to modify and use the value that is stored inside a variable; for example, mathematical operations.&lt;br /&gt;
&lt;br /&gt;
=== Setting a variable ===&lt;br /&gt;
Setting the value of a variable is ''even'' simpler than defining a function. Let's use an example.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable = &amp;quot;Hello!&amp;quot;;&lt;br /&gt;
myVariable = 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Looking at this, it's easy to see the logic here.&lt;br /&gt;
* First, the engine is taking the variable name - in this case, &amp;quot;myVariable&amp;quot;.&lt;br /&gt;
* Second, it is identifying the assignment operator (=). Simply, the engine has so far established that you want &amp;quot;myVariable&amp;quot; to equal something.&lt;br /&gt;
* Finally, it is taking the value that you want to set the variable's value to, and setting it.&lt;br /&gt;
&lt;br /&gt;
In our example, we initially set the variable &amp;quot;myVariable&amp;quot; to &amp;quot;Hello!&amp;quot;. This turns the variable automatically into a string. However! Immediately after, we have rewritten the value of &amp;quot;myVariable&amp;quot; with the number 3. Since there are no decimal places, the variable suddenly becomes an integer.&lt;br /&gt;
&lt;br /&gt;
=== Reading a variable ===&lt;br /&gt;
Any time you want to get a variable's value and use it, you simply write the name of the variable. This is best explained while using a Conditional Check.&lt;br /&gt;
&lt;br /&gt;
== Conditional Checks ==&lt;br /&gt;
For your script to even be remotely useful, you're going to have to check something somewhere. For example, if you want the script to only respond to a player saying &amp;quot;Foo&amp;quot;, then you're going to have to use a conditional check.&lt;br /&gt;
&lt;br /&gt;
There is another operator, called the comparison operator. It's two equals signs stuck together (==), and just instructs the engine to compare the two values. If the two values are the same, then it'll return TRUE. If they are different, it'll return FALSE.&lt;br /&gt;
&lt;br /&gt;
This is simple enough. Observe the following example:&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable = &amp;quot;excellent&amp;quot;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
We've set the variable 'myVariable' to &amp;quot;excellent&amp;quot;.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable == &amp;quot;excellent&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This time, we're checking to see if 'myVariable' equals &amp;quot;excellent&amp;quot;. Since it does, this statement will evaluate to be TRUE.&lt;br /&gt;
&amp;lt;pre&amp;gt;myVariable == &amp;quot;fabulous&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now, we're checking to see if 'myVariable' equals &amp;quot;fabulous&amp;quot;. It clearly doesn't, since we set it's value to &amp;quot;excellent&amp;quot; instead. As a result, this statement returns FALSE.&lt;br /&gt;
&lt;br /&gt;
=== Working with if () checks ===&lt;br /&gt;
Now, conditional checks alone are no good to you in a complex script. You'll need to actually use the result of your conditional checks to make a difference in what happens during the execution of the script.&lt;br /&gt;
&lt;br /&gt;
To do this, you use an 'if' statement. 'if' is a very simple operator (it doesn't get complicated yet!) that simply runs one thing if the statement you give it is true, and optionally runs another thing if it isn't.&lt;br /&gt;
&lt;br /&gt;
Since using examples so far has been the common way, let's see one here. We'll even include a bit of what you've learned already:&lt;br /&gt;
&amp;lt;pre&amp;gt;function myFunction()&lt;br /&gt;
{&lt;br /&gt;
  myVariable = &amp;quot;excellent&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
  if (myVariable == &amp;quot;excellent&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    player.chat = &amp;quot;Hooray! The values match.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
    else&lt;br /&gt;
  {&lt;br /&gt;
    player.chat = &amp;quot;The values don't match.&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now. The first thing about an if statement is giving it something to check. The statement &amp;quot;myVariable ==&amp;quot; alone will return either one of two values - TRUE (1, one) or FALSE (0, zero).&lt;br /&gt;
&lt;br /&gt;
An if () statement by itself will only check if something is true. If not, it'll ignore it. If you put an else in, like in the above example, that code will be run in the case of a failure.&lt;br /&gt;
&lt;br /&gt;
=== Storing the result of a conditional check ===&lt;br /&gt;
Now, as previously mentioned, a comparison (==) will only produce either true or false. If you want to store the value of a conditional check for use later, then you can assign the result to a variable, instead of using it in an if () check now.&lt;br /&gt;
&amp;lt;pre&amp;gt;this.variable = (myVariable == &amp;quot;excellent&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... saves the result of the check into this.variable. So later, you can do:&lt;br /&gt;
&amp;lt;pre&amp;gt;if (this.variable)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
... to see if the check was successful. Similarly, you can do:&lt;br /&gt;
&amp;lt;pre&amp;gt;if (!this.variable)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
... to see if the check failed.&lt;br /&gt;
&lt;br /&gt;
== Manipulating data ==&lt;br /&gt;
=== Explanation ===&lt;br /&gt;
Data can be manipulated in various ways. For example, you can modify parts of a string. You can apply math functions to a number. This section explains those sorts of functions.&lt;br /&gt;
&lt;br /&gt;
=== Basic math ===&lt;br /&gt;
GScript allows you to perform basic operations like add, subtract, multiply, divide, etc. However, GScript does not use functions for this. Instead, it has a set of &amp;quot;operators&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Examine the following examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 3 + 4; // addition (sets this.result to 7 in this case)&lt;br /&gt;
this.result = 3 - 4; // subtraction (sets this.result to -1 in this case)&lt;br /&gt;
this.result = 3 * 4; // multiplication (sets this.result to 12 in this case)&lt;br /&gt;
this.result = 3 / 4; // division (sets this.result to 0.75 in this case)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note how the operators are between two values: the value to start with, and then the value to operate with. The use of an operator returns a value in the same way as other comparisons, so let's take this example:&lt;br /&gt;
&amp;lt;pre&amp;gt;if ((3 - 4) == -1)&lt;br /&gt;
{&lt;br /&gt;
  // code&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement evaluates to be true, because 3 - 4 does, in fact, equal -1.&lt;br /&gt;
&lt;br /&gt;
=== Priority order ===&lt;br /&gt;
If you're doing complex operations, it is important to ensure that your priority order is correct. In it's most basic mathematic form, the default order of operations is the following:&lt;br /&gt;
* B - Brackets&lt;br /&gt;
* O - Order&lt;br /&gt;
* D - Division&lt;br /&gt;
* M - Multiplication&lt;br /&gt;
* A - Addition&lt;br /&gt;
* S - Subtraction&lt;br /&gt;
That means that in a complex expression, multiplication takes priority order over addition, and that a part of the expression surrounded by brackets will always be calculated first.&lt;br /&gt;
&lt;br /&gt;
Brackets are very useful because it allows you to specify the order of operations. Consider this example:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = (3 * 4) / (2 * 3);&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is calculated in this order:&lt;br /&gt;
* First, 3 is multiplied by 4:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 12 / (2 * 3);&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Second, 2 is multiplied by 3:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = 12 / 6;&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Finally, 12 is divided by 6:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result == 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Slightly more complex operators ===&lt;br /&gt;
There are another set of operators which allow for basic math manipulation on a variable. These allow you to add and subtract to a number variable, without having to perform the expression yourself. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result += 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = this.result + 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result -= 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.result = this.result - 3;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The increment and decrement operators are as follows:&lt;br /&gt;
* += - add to&lt;br /&gt;
* -= - subtract to&lt;br /&gt;
* *= - multiply by&lt;br /&gt;
* /= - divide by&lt;br /&gt;
&lt;br /&gt;
Occasionally it is useful to just add or subtract one to a variable. There are operators to do this, too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var ++;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var = this.var + 1;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Also:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var --;&amp;lt;/pre&amp;gt;&lt;br /&gt;
... is the same as doing:&lt;br /&gt;
&amp;lt;pre&amp;gt;this.var = this.var - 1;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Understanding booleans ==&lt;br /&gt;
&lt;br /&gt;
Booleans are, plainly and simply, true or false values. They don't do anything else.&lt;br /&gt;
&amp;lt;pre&amp;gt;this.value = true;&lt;br /&gt;
this.value = false;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technically, true is the same as 1, and false is the same as 0, but the keywords are here to tidy things up a bit. Booleans are very useful because they help to control how your script operates. Now, as you know, a conditional check will produce a true or false result. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;3 == 3&amp;lt;/pre&amp;gt;&lt;br /&gt;
... produces true, because 3 equals three.&lt;br /&gt;
&amp;lt;pre&amp;gt;3 == 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
... produces false, because 3 doesn't equal 2.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11636</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11636"/>
		<updated>2009-03-09T05:16:25Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getdropz(str) - returns float&lt;br /&gt;
  getextension(str) - returns string - same as extractFileExt()&lt;br /&gt;
  getfilemodtime(str) - returns integer - gets the file modifcation time (in unix time compatible to timevar2); accepts both exact file path and plain file name&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Hosted_server&amp;diff=11632</id>
		<title>Hosted server</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Hosted_server&amp;diff=11632"/>
		<updated>2009-03-08T06:30:42Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Adding spawn&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hosted servers are the newest 'type' of Graal servers. These servers appear on the Hosted tab of the server list.&lt;br /&gt;
&lt;br /&gt;
=History=&lt;br /&gt;
The Hosted tab was created shortly after the playerworld rental system was introduced on June 23, 2003.&lt;br /&gt;
&lt;br /&gt;
=Access=&lt;br /&gt;
* Playerworlds Gold subscription: Full access&lt;br /&gt;
* Other: Limited time per month, switched to observer mode from time to time&lt;br /&gt;
&lt;br /&gt;
=Servers=&lt;br /&gt;
Currently there are '''3''' Hosted servers.&lt;br /&gt;
* [[Worlds/Aeon|Aeon]]&lt;br /&gt;
* [[Worlds/Ol' West|Ol' West]]&lt;br /&gt;
* [[Worlds/Spawn|Spawn]]&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11631</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11631"/>
		<updated>2009-03-08T03:52:09Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: continuing documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| &lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getanglesfromvector(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array that contains the angles the 3D vector {x, y, z} makes with the X-Y and X-Z axes.&lt;br /&gt;
|-&lt;br /&gt;
| getascii(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the [http://www.asciitable.com/ ascii] code for string.&lt;br /&gt;
|-&lt;br /&gt;
| getbasepackage()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getboxcenter(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns an array containing the center of a 3D box specified by string ({x0,y0,z0,x1,y1,z1,...}).&lt;br /&gt;
|-&lt;br /&gt;
| getdesktopresolution()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getdisplaydevicelist()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadedupdatepackagesize()&lt;br /&gt;
|&lt;br /&gt;
| Returns the size of the downloaded update package.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackage()&lt;br /&gt;
|&lt;br /&gt;
| Returns a reference to current update package being downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| getdownloadingpackagescount()&lt;br /&gt;
|&lt;br /&gt;
| Returns a count of the number of update packages to download.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getdropz(str) - returns float&lt;br /&gt;
  getextension(str) - returns string - same as extractFileExt()&lt;br /&gt;
  getfilemodtime(str) - returns integer - gets the file modifcation time (in unix time compatible to timevar2); accepts both exact file path and plain file name&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11626</id>
		<title>Creation/Dev/Script/Clientside Functions</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=11626"/>
		<updated>2009-03-08T03:25:46Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: continued with documentation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;50%&amp;quot;&lt;br /&gt;
|[R]&lt;br /&gt;
| denotes it is read-only.&lt;br /&gt;
|-&lt;br /&gt;
|[3D]&lt;br /&gt;
| denotes it is a Graal3D function.&lt;br /&gt;
|-&lt;br /&gt;
|[opengl]&lt;br /&gt;
| denotes it is functional only in opengl mode.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Function'''&lt;br /&gt;
|width=&amp;quot;100px&amp;quot;|'''Type'''&lt;br /&gt;
| '''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the count of all players on your playerlist, including IRC bots.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Used with showstats() in order to show all stats.&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player has spin attack.&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a black stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a bush.&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying an NPC&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns whether the player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Returns the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the position of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Returns the size of the currently downloaded file.&lt;br /&gt;
|-&lt;br /&gt;
| editingmission&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| emoticonchar&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Position of the camera in tile units.&lt;br /&gt;
|-&lt;br /&gt;
| ghostsnear&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If a ghost(observer) is in the same level as the player.&lt;br /&gt;
|-&lt;br /&gt;
| graalplugincookie&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
| Version of Graal the player is using.&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| ''float''&lt;br /&gt;
| The gravity value that effects how fast projectiles fall. It universally effects all projectiles.&lt;br /&gt;
|-&lt;br /&gt;
| installedlanguages&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isapplicationactive&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Is Graal window active?&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Returns true of false if the player is carrying something.&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player was the first to enter the level.&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is on a map.&lt;br /&gt;
|-&lt;br /&gt;
| isopengl&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Graal is in opengl mode.&lt;br /&gt;
|-&lt;br /&gt;
| isrecordingvideo&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Player is currently recording(alt+6) Graal.&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| isgraalplugin&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| The last file downloaded.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed.&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the left mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| Whether the player has their lights enabled via options.&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebuttonglobal&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the middle mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttonsglobal&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousepitch&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Position of the mouse in the Graal screen, in pixel units on the y-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| How much the mouse wheel has been scrolled.&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the x-axis.&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| ''float''&lt;br /&gt;
| Position of the mouse in the level, in tile units, on the y-axis&lt;br /&gt;
|-&lt;br /&gt;
| mouseyaw&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musiclen &lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Length of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Position of current playing '''MP3'''&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If player has particles enabled in their options.&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebuttonglobal &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the right mouse button is pressed. Returns whether mouse is in focus of GUIs or not.&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Height of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| ''integer [R]''&lt;br /&gt;
| Width of the Graal screen in pixel units.&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols &lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| Whether the player has the scripted playerlist enabled.&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogwritetoreadonly&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| ''object''&lt;br /&gt;
| An object of all players selected on the playerlist.&lt;br /&gt;
|-&lt;br /&gt;
| selectedsword &lt;br /&gt;
| ''integer''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedweapon &lt;br /&gt;
| ''integer''&lt;br /&gt;
| Index of the currently selected weapon.&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| ''string [R]''&lt;br /&gt;
| Name of the server.&lt;br /&gt;
|-&lt;br /&gt;
| serverstartconnect &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| serverstartparams &lt;br /&gt;
| ''string''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbybaddy&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a baddy(default) arrow.&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by another players arrow.&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| ''boolean''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| spritesimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set sprite image.&lt;br /&gt;
|-&lt;br /&gt;
| statusimage&lt;br /&gt;
| ''string''&lt;br /&gt;
| Filename of the currently set state image.&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| ''integer [R].''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| ''float [R]''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar3&lt;br /&gt;
| ''float [R] [3D]''&lt;br /&gt;
| Synchronized time which works on both server and client-side, precision is milliseconds.&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| ''boolean [R]''&lt;br /&gt;
| If the player is shot by a default arrow.&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| ''object [R]''&lt;br /&gt;
| all the players weapons, this includes login inherited weapons.&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If the players weapons are enabled via disableweapons()/enableweapons().&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| If weather is enabled in the players options.&lt;br /&gt;
|-&lt;br /&gt;
| worldclockstopped&lt;br /&gt;
| ''boolean''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldhour &lt;br /&gt;
| ''integer''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminute &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldminutesofday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| worldrealsecondsperday &lt;br /&gt;
| ''float''&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds 'obj' to the parent control.&lt;br /&gt;
|-&lt;br /&gt;
| addmaterialmapping(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef(string1, string2, integer)&lt;br /&gt;
| &lt;br /&gt;
| Adds a tileset definition. str1 = tileset image, str2 = level prefix, int = tileset format(0=pics1, 1=new world, 5=terrain).&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(string1, string2, integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Overlays an image on the tileset. String1 is the image name, string2 is the level prefix, integer 1 and 2 represent the x and y position on the tileset of where to place the new image.&lt;br /&gt;
|-&lt;br /&gt;
| aindexof(float, array)&lt;br /&gt;
| &lt;br /&gt;
| Returns integer of the position of 'float' in the array.&lt;br /&gt;
|-&lt;br /&gt;
| arccos(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| arcsin(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(integer1, integer2)&lt;br /&gt;
| &lt;br /&gt;
| Attaches the player to the object with the matching ID where integer1 is the object type (currently only NPCs - 0) and integer2 is the ID of the desired object.&lt;br /&gt;
|-&lt;br /&gt;
| base64decode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Decodes a base64 string.&lt;br /&gt;
|-&lt;br /&gt;
| base64encode(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - Encodes string in to several characters of a 64 printable character set (A-Z, a-z, 0-9, + and /, while &amp;quot;=&amp;quot; is a special suffix code)&lt;br /&gt;
|-&lt;br /&gt;
| boxcontains(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean.&lt;br /&gt;
|-&lt;br /&gt;
| boxcontainsvector(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxintersect(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| boxoverlaps(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| boxscale(string, string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from an NPC where integer is the NPC's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(integer, string)&lt;br /&gt;
| &lt;br /&gt;
| Calls a function from a weapon where integer is the weapon's index and string is the function name.&lt;br /&gt;
|-&lt;br /&gt;
| castray(string, string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| returns object - specify the start and end of the ray, and the object types (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| checksum(string)&lt;br /&gt;
| &lt;br /&gt;
| returns float&lt;br /&gt;
|-&lt;br /&gt;
| contains(string2, string1)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean - True if string1 is contained within string2.&lt;br /&gt;
|-&lt;br /&gt;
| copystrings(string, string)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| cursoroff()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Disables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| cursoron()&lt;br /&gt;
| [opengl]&lt;br /&gt;
| Enables the visible mouse cursor.&lt;br /&gt;
|-&lt;br /&gt;
| degtorad(float)&lt;br /&gt;
| &lt;br /&gt;
| returns float - Converts angle measurements of degrees to radians&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
| &lt;br /&gt;
| Detaches a player from an attached object.&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default movement system and controls(including weapons, sword, grab. Does not include Q-menu, pause, map...).&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default map (M).&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default pause (P).&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default Q-menu (Q).&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Disables the default sword (S) and weapons (D).&lt;br /&gt;
|-&lt;br /&gt;
| echo(string)&lt;br /&gt;
| &lt;br /&gt;
| echos 'string' to the debug window(F2).&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default movement system.&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default map system(M).&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default pause system(P).&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default Q-menu(Q).&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
| &lt;br /&gt;
| Enables the default sword(S) and weapons(D).&lt;br /&gt;
|-&lt;br /&gt;
| escapestring(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(integer)&lt;br /&gt;
| &lt;br /&gt;
| explodes the bomb with the id of 'integer'.&lt;br /&gt;
|-&lt;br /&gt;
| extractfilebase(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string&lt;br /&gt;
|-&lt;br /&gt;
| extractfileext(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| extractfilepath(string)&lt;br /&gt;
| &lt;br /&gt;
| returns string &lt;br /&gt;
|-&lt;br /&gt;
| fileexists(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean of whether the file 'str' exists in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| filesize(string)&lt;br /&gt;
| &lt;br /&gt;
| Returns the size(int) of the file 'string' in the players Graal/ directory(does not search subfolders).&lt;br /&gt;
|-&lt;br /&gt;
| fileupdate(string)&lt;br /&gt;
| &lt;br /&gt;
| returns boolean&lt;br /&gt;
|-&lt;br /&gt;
| findani(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findfiles(string, integer)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(string)&lt;br /&gt;
| &lt;br /&gt;
| returns object&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayer(float1, float2)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest player's object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnearestplayers(float, float)&lt;br /&gt;
| &lt;br /&gt;
| Returns the closest players' object relevant to float1 and float2.&lt;br /&gt;
|-&lt;br /&gt;
| findnpcbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the NPC object with the ID of 'int'.&lt;br /&gt;
|-&lt;br /&gt;
| findpathinarray(obj1, obj2, obj3, obj4, obj5, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
| Returns object - Simple path-finding: Obj1 being tiles that allow walking, Obj2 being tiles that don't allow walking, Obj3; tiles that shouldn't be allowed to walked on, Obj4; tiles that are able to be walked on, Obj5; tiles where we may stop. Integers are relevant to the startx, starty and maximum path length. - Arrays for allowed/non-allowed tiles are only checked if they aren't null.&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the account equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbycommunityname(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the community name equal to string.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(integer)&lt;br /&gt;
|&lt;br /&gt;
| Returns the player object with the ID equal to integer.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(string)&lt;br /&gt;
|&lt;br /&gt;
| Returns the weapon object with the name equal to string.&lt;br /&gt;
|- &lt;br /&gt;
| format2(string, array)&lt;br /&gt;
| ''string''&lt;br /&gt;
| Like format(), except that this expects the format string and an array of variables instead of passing the variables as separate parameters.&lt;br /&gt;
|-&lt;br /&gt;
| freefileresources(string)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float)&lt;br /&gt;
|&lt;br /&gt;
| Freezes the player for the number of seconds specified by float.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectat(float, float, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the specified screen position, third parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectatmouse(boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
| Gets the 3d object at the mouse.  Parameter true if it should do box collision.&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectbyray(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| get3dobjectsbybox(string, string)&lt;br /&gt;
| [3D]&lt;br /&gt;
| 1st parameter defines the box {minx,miny,minz, maxx,maxy,maxz}.  Second parameter specifies the type of object to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
|-&lt;br /&gt;
| get3dscreenposition(string, boolean)&lt;br /&gt;
| [3D]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  getanglesfromvector(str) - returns object&lt;br /&gt;
  getascii(str) - returns integer&lt;br /&gt;
  getbasepackage() - returns object&lt;br /&gt;
  getboxcenter(str) - returns string&lt;br /&gt;
  getdesktopresolution() - returns string&lt;br /&gt;
  getdisplaydevicelist() - returns string&lt;br /&gt;
  getdownloadedupdatepackagesize() - returns integer&lt;br /&gt;
  getdownloadingpackage() - returns object&lt;br /&gt;
  getdownloadingpackagescount() - returns integer&lt;br /&gt;
  getdropz(str) - returns float&lt;br /&gt;
  getextension(str) - returns string - same as extractFileExt()&lt;br /&gt;
  getfilemodtime(str) - returns integer - gets the file modifcation time (in unix time compatible to timevar2); accepts both exact file path and plain file name&lt;br /&gt;
  gethttprequest(str, int, str) - returns object&lt;br /&gt;
  getimgheight(str) - returns integer&lt;br /&gt;
  getimgpixel(str, int, int) - returns object&lt;br /&gt;
  getimgwidth(str) - returns integer&lt;br /&gt;
  getkeycode(str) - returns integer&lt;br /&gt;
  getloginaccountname() - returns string&lt;br /&gt;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicfilename() - returns string - returns the currently played music&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - returns object&lt;br /&gt;
  getnearestplayer(float, float) - returns integer&lt;br /&gt;
  getnearestplayers(float, float) - returns object&lt;br /&gt;
  getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
  getpackagesdownloaded() - returns boolean&lt;br /&gt;
  getplatform() - returns string&lt;br /&gt;
  getresolutionlist(str) - returns string&lt;br /&gt;
  getservername() - returns string&lt;br /&gt;
  getstringkeys(str) - returns object&lt;br /&gt;
  getterraintexture(float, float) - returns string&lt;br /&gt;
  getterraintextureindex(float, float) - returns integer&lt;br /&gt;
  gettextheight(float, str, str) - returns integer&lt;br /&gt;
  gettextwidth(float, str, str, str) - returns integer&lt;br /&gt;
  gettileset() - returns string - returns the current main tileset (pics1.png, picso.png etc.)&lt;br /&gt;
  gettilesettype() - returns integer - returns the current tileset type (pics1.png:0, picso.png:5 etc.)&lt;br /&gt;
  gettotalupdatepackagesize() - returns integer&lt;br /&gt;
  getupdatepackage(str) - returns object&lt;br /&gt;
  getvectorfromangles(float, float) - returns string&lt;br /&gt;
  getz(float, float) - returns float&lt;br /&gt;
  graalcontrolhasfocus(bool) - returns boolean - parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
  hideplayer(float)&lt;br /&gt;
  hidesword(float)&lt;br /&gt;
  hitnpc(int, float, float, float)&lt;br /&gt;
  hitobjects(float, float, float)&lt;br /&gt;
  hitplayer(int, float, float, float)&lt;br /&gt;
  isadminguild(str) - returns boolean&lt;br /&gt;
  isclassloaded(str) - returns boolean&lt;br /&gt;
  iscursoron() - returns boolean&lt;br /&gt;
  isdevicefullscreenonly(str) - returns boolean&lt;br /&gt;
  isdownloading(str) - returns boolean - checks if a file is currently downloaded or requested from the server&lt;br /&gt;
  isdownloadingfiles() - returns boolean - checks if Graal is currently downloading or requesting files from the server&lt;br /&gt;
  isfullscreenmode() - returns boolean&lt;br /&gt;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  ismusicplaying() - returns boolean&lt;br /&gt;
  isobject(str) - returns boolean&lt;br /&gt;
  issoundplaying(str) - returns boolean&lt;br /&gt;
  keydown(int) - returns boolean&lt;br /&gt;
  keydown2(int, bool) - returns boolean&lt;br /&gt;
  keydown2global(int, bool) - returns boolean&lt;br /&gt;
  keydownglobal(int) - returns boolean&lt;br /&gt;
  keyname(int) - returns string&lt;br /&gt;
  lay2(str, float, float)&lt;br /&gt;
  lightscene() - returns boolean&lt;br /&gt;
  loadclass(str)&lt;br /&gt;
  loadmap(str)&lt;br /&gt;
  loadtranslation(str)&lt;br /&gt;
  lowercase(str) - returns string&lt;br /&gt;
  ltmfs(bool)&lt;br /&gt;
  ltmmax(float, float)&lt;br /&gt;
  ltmmin(float, float)&lt;br /&gt;
  makescreenshot2(str, int, float, float, float, int, int)&lt;br /&gt;
  matrixcreate(str, str) - returns string&lt;br /&gt;
  matrixcreatefromeuler(str) - returns string&lt;br /&gt;
  matrixmulpoint(str, str) - returns string&lt;br /&gt;
  matrixmultiply(str, str) - returns string&lt;br /&gt;
  matrixmulvector(str, str) - returns string&lt;br /&gt;
  md5(str) - returns string&lt;br /&gt;
  noplayerkilling()&lt;br /&gt;
  onwall(float, float) - returns boolean&lt;br /&gt;
  onwall2(float, float, float, float) - returns boolean&lt;br /&gt;
  onwater(float, float) - returns boolean&lt;br /&gt;
  onwater2(float, float, float, float) - returns boolean&lt;br /&gt;
  opengraalurl(str)&lt;br /&gt;
  openurl(str)&lt;br /&gt;
  openurl2(str, int, int)&lt;br /&gt;
  play(str)&lt;br /&gt;
  play2(str, float, float, float)&lt;br /&gt;
  play3d(str, bool, str, str)&lt;br /&gt;
  playlooped(str)&lt;br /&gt;
  playlooped2(str, float, float, float)&lt;br /&gt;
  popdialog()&lt;br /&gt;
  pushdialog(obj)&lt;br /&gt;
  putleaps(int, float, float)&lt;br /&gt;
  radtodeg(float) - returns float&lt;br /&gt;
  randomstring(str) - returns string&lt;br /&gt;
  removetiledefs(str)&lt;br /&gt;
  replaceani(str, str)&lt;br /&gt;
  requestfiledeletion(str)&lt;br /&gt;
  requestfilerename(str, str)&lt;br /&gt;
  requestfilesmove(str, str)&lt;br /&gt;
  requesthttp(str, int, str) - returns object&lt;br /&gt;
  requesttext(str, str)&lt;br /&gt;
  requesturl(str) - returns object&lt;br /&gt;
  resetfocus()&lt;br /&gt;
  rotationadd(str, str) - returns string&lt;br /&gt;
  rotationaddeuler(str, str) - returns string&lt;br /&gt;
  rotationfromeuler(str) - returns string&lt;br /&gt;
  rotationsub(str, str) - returns string&lt;br /&gt;
  rotationtoeuler(str) - returns string&lt;br /&gt;
  rungarbagecollector()&lt;br /&gt;
  savelog(str)&lt;br /&gt;
  say(int)&lt;br /&gt;
  say2(str)&lt;br /&gt;
  screenx(float, float) - returns integer&lt;br /&gt;
  screeny(float, float) - returns integer&lt;br /&gt;
  selectfilefordownload(str) - opens the select-file-dialog for the download location of files (from scripted RC)&lt;br /&gt;
  selectfileforupload() - opens the select-file-dialog for uploading of files (into scripted RC)&lt;br /&gt;
  sendrpgmessage(str)&lt;br /&gt;
  sendtext(str, str, params...)&lt;br /&gt;
  sendtorc(str)&lt;br /&gt;
  serverwarp(str)&lt;br /&gt;
  setani(str, str)&lt;br /&gt;
  setbeltcolor(str)&lt;br /&gt;
  setcoatcolor(str)&lt;br /&gt;
  setcontentcontrol(obj)&lt;br /&gt;
  setcursor2(str)&lt;br /&gt;
  seteffect(float, float, float, float)&lt;br /&gt;
  setfocus(float, float)&lt;br /&gt;
  setfogcolors(obj)&lt;br /&gt;
  setgender(str)&lt;br /&gt;
  sethead(str)&lt;br /&gt;
  setinteriorrendermode(int)&lt;br /&gt;
  setletters(str)&lt;br /&gt;
  setmap(str, str, float, float) - sets a text map (you can see the tiles of other levels but not the npcs), parameters are text file with level names, the map image (not used anymore), default x and y for the head icons; use gmaps if possible instead of this&lt;br /&gt;
  setminimap(str, str, float, float) - parameters are a text file with level names, the image, default x and y; use gmaps if possible instead of this&lt;br /&gt;
  setmusicvolume(float, float)&lt;br /&gt;
  setplayerdir(str)&lt;br /&gt;
  setshield(str, int)&lt;br /&gt;
  setshoecolor(str)&lt;br /&gt;
  setshootparams(str)&lt;br /&gt;
  setskincolor(str)&lt;br /&gt;
  setskybandcolors(obj)&lt;br /&gt;
  setskybandsizes(obj)&lt;br /&gt;
  setsleevecolor(str)&lt;br /&gt;
  setspritesimage(str)&lt;br /&gt;
  setstatusimage(str)&lt;br /&gt;
  setsuncolors(obj)&lt;br /&gt;
  setsword(str, int)&lt;br /&gt;
  setterrainrendermode(int)&lt;br /&gt;
  showstats(int)&lt;br /&gt;
  spyfire(int, int)&lt;br /&gt;
  startrecordvideo() - returns boolean&lt;br /&gt;
  stopmidi() - same as stopmusic(), kept for compatibility&lt;br /&gt;
  stopmusic()&lt;br /&gt;
  stoprecordvideo() - returns boolean&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&lt;br /&gt;
  switchtoopengl()&lt;br /&gt;
  synctimeofday(float, float)&lt;br /&gt;
  takeplayercarry()&lt;br /&gt;
  takeplayerhorse()&lt;br /&gt;
  testplayer(float, float) - returns integer&lt;br /&gt;
  trace(str) - same as echo()&lt;br /&gt;
  triggeraction(float, float, str, params...)&lt;br /&gt;
  triggerserver(str, str)&lt;br /&gt;
  update3dterrain(float, float, float, float)&lt;br /&gt;
  updateboard(int, int, int, int)&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&lt;br /&gt;
  uploadfile(str) - uploads a file, you must provide the full path provided by a onDropFiles() event, also this will only work if the scripted RC has currently a file browser window open; once the file is uploaded an onFilesUploaded event will be invoked&lt;br /&gt;
  uppercase(str) - returns string&lt;br /&gt;
  vectoradd(str, str) - returns string&lt;br /&gt;
  vectorcross(str, str) - returns string&lt;br /&gt;
  vectordist(str, str) - returns float&lt;br /&gt;
  vectordot(str, str) - returns float&lt;br /&gt;
  vectorlen(str) - returns float&lt;br /&gt;
  vectornormalize(str) - returns string&lt;br /&gt;
  vectororthobasis(str) - returns string&lt;br /&gt;
  vectorscale(str, float) - returns string&lt;br /&gt;
  vectorsub(str, str) - returns string&lt;br /&gt;
  worldx(float, float) - returns float&lt;br /&gt;
  worldy(float, float) - returns float&lt;br /&gt;
  wraptext(int, str, str) - returns object&lt;br /&gt;
  wraptext2(int, float, str, str) - returns object&lt;br /&gt;
&lt;br /&gt;
TGraalVar:&lt;br /&gt;
  initialized - boolean [R]&lt;br /&gt;
  ispaused - boolean - suspends the script if set to paused&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  maxlooplimit - integer - sets the maxmimum number of loop iterations, default 10000; the allowed range for this can vary from server to server&lt;br /&gt;
  name - string&lt;br /&gt;
  scripterrors - object [R] - gives the list of script errors which were reported for this object&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&lt;br /&gt;
  addarraymember(str) - returns object - adds an array member with a name and returns the new array member&lt;br /&gt;
  addnamedstring(str, str) - returns object&lt;br /&gt;
  cancelevents(str) - removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
  catchevent(str, str, str) - adds an event handler for the specified object and event, third parameter is the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
  clearemptyvars() - removes empty subvariables from memory&lt;br /&gt;
  clearvars() - clears all dynamic variables&lt;br /&gt;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  getarraymember(str) - returns object - searches for an array member by name&lt;br /&gt;
  getdynamicvarnames() - returns object - gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
  geteditvarnames() - returns object - gets the names of all dynamic variables which can be modified&lt;br /&gt;
  getfunctions() - returns object - gets the names of all functions of the object as array, also each entry has subvariables which give more information about the function (&amp;quot;parameters&amp;quot;, &amp;quot;description&amp;quot;, &amp;quot;scope&amp;quot;)&lt;br /&gt;
  getstaticvarnames() - returns object - gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
  getvarnames() - returns object - gets the names of all subvariables of this object&lt;br /&gt;
  hasfunction(str) - returns boolean - checks if the object has a function of the specified name (also checks if it can be called by the current script object)&lt;br /&gt;
  ignoreevent(str, str) - lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
  ignoreevents(str) - lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
  insertarray(int, obj) - inserts an array at the specified index&lt;br /&gt;
  isinclass(str) - returns boolean - checks if the object has joined the specified class&lt;br /&gt;
  join(str) - lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
  leave(str) - leaves a previously joined class&lt;br /&gt;
  loadfolder(str, int) - loads the content of a folder into the variable, you must specify the folder name and pattern (e.g. &amp;quot;levels/bodies/*.png&amp;quot;) and if it should be recursive&lt;br /&gt;
  loadini(str) - loads an .ini file into the variable, you can access variables by obj.inisection.varname&lt;br /&gt;
  loadlines(str) - loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
  loadstring(str) - loads the content of a file into the variable&lt;br /&gt;
  loadvars(str) - loads the variables from a file where each line has the format varname=value&lt;br /&gt;
  loadvarsfromarray(obj) - loads the variables from a string list of the format varname=value&lt;br /&gt;
  loadxml(str)&lt;br /&gt;
  loadxmlfromstring(str)&lt;br /&gt;
  objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
  savelines(str, int) - saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savestring(str, int) - saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevars(str, int) - saves the subvars in the format varname=value into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
  savevarstoarray(bool) - returns object - saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
  savexml(str, int)&lt;br /&gt;
  savexmltostring() - returns string&lt;br /&gt;
  scheduleevent(float, str, params...) - returns object - invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
  settimer(float) - invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
  sortascending() - sorts the array in ascending order (smallest value first)&lt;br /&gt;
  sortbyvalue(str, str, bool) - sorts an array, specify the variable of the array members which is compared, also the variable type and if it should be sorted ascending; variable type can be &amp;quot;string&amp;quot;, otherwise it is sorted by floating point value&lt;br /&gt;
  sortdescending() - sorts the array in descending order (highest value first)&lt;br /&gt;
  subarray2(int, int, int, int) - returns object - extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
  timershow() - lets an npc show the current timeout variable, deprecated&lt;br /&gt;
  trigger(str, params...) - invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
&lt;br /&gt;
  ActionMap (TGraalVar):&lt;br /&gt;
    bind(str, str, str)&lt;br /&gt;
    getbinding(str) - returns string&lt;br /&gt;
    getcommand(str, str) - returns string&lt;br /&gt;
    load() - returns boolean&lt;br /&gt;
    pop()&lt;br /&gt;
    push()&lt;br /&gt;
    save()&lt;br /&gt;
    unbind(str, str)&lt;br /&gt;
&lt;br /&gt;
  DTSAniThread (TGraalVar):&lt;br /&gt;
    aniindex - integer [R]&lt;br /&gt;
    atend - boolean [R]&lt;br /&gt;
    attack - boolean&lt;br /&gt;
    endpos - float&lt;br /&gt;
    hold - boolean&lt;br /&gt;
    position - float&lt;br /&gt;
    sequence - string&lt;br /&gt;
    startpos - float&lt;br /&gt;
    state - string&lt;br /&gt;
    timescale - float&lt;br /&gt;
    transtitiontime - float&lt;br /&gt;
    isintransition() - returns boolean&lt;br /&gt;
    play()&lt;br /&gt;
&lt;br /&gt;
  GameMovementInterpolate (TGraalVar):&lt;br /&gt;
    rigid - object [R]&lt;br /&gt;
    applyimpulse(str, str)&lt;br /&gt;
&lt;br /&gt;
    GameMovementRigid (GameMovementInterpolate):&lt;br /&gt;
      addrigidmove(str, str) - adds torque and force vector&lt;br /&gt;
&lt;br /&gt;
  GameMovementList (TGraalVar):&lt;br /&gt;
    finishmoves()&lt;br /&gt;
    move3d(str, float, int)&lt;br /&gt;
&lt;br /&gt;
  GameShape (TGraalVar):&lt;br /&gt;
    pixelshader - string&lt;br /&gt;
    vertexshader - string&lt;br /&gt;
&lt;br /&gt;
    GameShapeDIF (GameShape):&lt;br /&gt;
      activatelight(str)&lt;br /&gt;
      deactivatelight(str)&lt;br /&gt;
&lt;br /&gt;
    GameShapeDTS (GameShape):&lt;br /&gt;
      materiallist - object [R]&lt;br /&gt;
      materials - object [R]&lt;br /&gt;
      forceanimations() - starts to animate the object to make sure the animations are the wished start position&lt;br /&gt;
      getanimation(int) - returns object&lt;br /&gt;
      listnodes() - returns object&lt;br /&gt;
      pauseanimation(int)&lt;br /&gt;
      playanimation(int, str, int) - returns object - specify animation slot, animation name and flags (1 - hold, 2 - atend, 4 - attackanimation)&lt;br /&gt;
      playanimation2(int, str, int, float, float, float, float) - returns object - specify animation slot, animation name, flags, startpos, endpos, timescale, transitiontime&lt;br /&gt;
      stopanimation(int)&lt;br /&gt;
&lt;br /&gt;
    GameShapeFT (GameShape):&lt;br /&gt;
      levels - integer&lt;br /&gt;
      seed - integer&lt;br /&gt;
&lt;br /&gt;
  GuiControl (TGraalVar):&lt;br /&gt;
    acceptdropfiles - boolean&lt;br /&gt;
    active - boolean&lt;br /&gt;
    alpha - float&lt;br /&gt;
    awake - boolean [R]&lt;br /&gt;
    blue - float&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&lt;br /&gt;
    clientextent - string&lt;br /&gt;
    clientheight - integer&lt;br /&gt;
    clientwidth - integer&lt;br /&gt;
    clipmove - boolean - when the user moves the control (see canMove) then this makes sure that the control is not moving outside the parents bounds, by default true&lt;br /&gt;
    color - string&lt;br /&gt;
    editing - boolean&lt;br /&gt;
    extent - string - width and height of the control&lt;br /&gt;
    flickerbasetime - float - if you want to let controls flicker at different time but with the same frequency, then set this to some random value (e.g. random(0,1))&lt;br /&gt;
    flickering - boolean - lets the control automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the control is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string - text which is displayed when the user moves the mouse over the control&lt;br /&gt;
    hinttime - float - says after how much time of not moving the mouse the hint should appear&lt;br /&gt;
    horizsizing - string - specifies the horizontal resizing behaviour when the parent control is resized: right, width, left, center or relative&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
    minextent - string - minimum width and height for the control which should be enforced&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    mode - integer - the control drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    red - float&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled horizontally when clicking on the left/right scroll bar buttons&lt;br /&gt;
    scrollliney - integer - if this is the first control inside a GuiScrollCtrl, then this defines by how many pixel the scroll control is scrolled vertically when clicking on the up/down scroll bar buttons&lt;br /&gt;
    showhint - boolean - whether the hint should be shown when the user moves the mouse over the control&lt;br /&gt;
    style - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string - specifies the vertical resizing behaviour when the parent control is resized: bottom, height, top, center or relative&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    addcontrol(obj)&lt;br /&gt;
    bringtofront()&lt;br /&gt;
    clearcontrols()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getparent() - returns object&lt;br /&gt;
    globaltolocalcoord(str) - returns string - converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
    hide()&lt;br /&gt;
    isactuallyvisible() - returns boolean&lt;br /&gt;
    isfirstresponder() - returns boolean&lt;br /&gt;
    localtoglobalcoord(str) - returns string - converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
    makefirstresponder(bool)&lt;br /&gt;
    pushtoback()&lt;br /&gt;
    resize(int, int, int, int)&lt;br /&gt;
    show()&lt;br /&gt;
    showtop() - calls show(), tabfirst() and bringtofront()&lt;br /&gt;
    startdrag()&lt;br /&gt;
    tabfirst() - returns object&lt;br /&gt;
&lt;br /&gt;
    EditManager (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiArrayCtrl (GuiControl):&lt;br /&gt;
      allowmultipleselections - boolean&lt;br /&gt;
&lt;br /&gt;
      GuiTextListCtrl (GuiArrayCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTreeViewCtrl (GuiArrayCtrl):&lt;br /&gt;
        boxwidth - integer&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        expanded - boolean&lt;br /&gt;
        expandedimage - integer&lt;br /&gt;
        expandedselectedimage - integer&lt;br /&gt;
        expandondoubleclick - boolean&lt;br /&gt;
        extent - string [R]&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer [R]&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer [R]&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object [R]&lt;br /&gt;
        parent - object [R]&lt;br /&gt;
        position - string [R]&lt;br /&gt;
        profile - object&lt;br /&gt;
        selectedimage - integer&lt;br /&gt;
        sortgroup - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        sortvalue - integer&lt;br /&gt;
        statuswidth - integer&lt;br /&gt;
        text - string&lt;br /&gt;
        useownprofile - boolean&lt;br /&gt;
        visible - boolean&lt;br /&gt;
        width - integer [R]&lt;br /&gt;
        x - integer [R]&lt;br /&gt;
        y - integer [R]&lt;br /&gt;
        addlines(obj, bool)&lt;br /&gt;
        addnode(str) - returns object&lt;br /&gt;
        addnodebypath(str, str) - returns object&lt;br /&gt;
        addvars(obj, bool)&lt;br /&gt;
        clearnodes()&lt;br /&gt;
        clearrows() - same as clearNodes()&lt;br /&gt;
        destroy()&lt;br /&gt;
        getfullname(str) - returns string&lt;br /&gt;
        getnode(str) - returns object&lt;br /&gt;
        getnodeat(int, int) - returns object&lt;br /&gt;
        getnodebypath(str, str) - returns object&lt;br /&gt;
        getselectednode() - returns object&lt;br /&gt;
        select()&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapBorderCtrl (GuiControl):&lt;br /&gt;
      tile - boolean&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapButtonCtrl (GuiControl):&lt;br /&gt;
      mouseoverbitmap - string&lt;br /&gt;
      normalbitmap - string&lt;br /&gt;
      pressedbitmap - string&lt;br /&gt;
      text - string&lt;br /&gt;
      setbitmap(str, int)&lt;br /&gt;
&lt;br /&gt;
    GuiBitmapCtrl (GuiControl):&lt;br /&gt;
      bitmap - string&lt;br /&gt;
      tile - boolean - specifies if the bitmap should be repeated (true) or stretched (false)&lt;br /&gt;
      wrap - boolean - same as 'tile', kept for compatibility&lt;br /&gt;
      setbitmap(str)&lt;br /&gt;
      setvalue(int, int) - sets the offset of the image (horizontal and vertical)&lt;br /&gt;
&lt;br /&gt;
      GuiMapOverviewCtrl (GuiBitmapCtrl):&lt;br /&gt;
        mapalpha - float&lt;br /&gt;
        pointsize - float&lt;br /&gt;
&lt;br /&gt;
    GuiBrowserCtrl (GuiControl):&lt;br /&gt;
      url - string&lt;br /&gt;
&lt;br /&gt;
    GuiButtonBaseCtrl (GuiControl):&lt;br /&gt;
      buttontype - string&lt;br /&gt;
      checked - boolean&lt;br /&gt;
      groupnum - integer&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      performclick()&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiButtonCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
        stylesection - string&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
      GuiCheckBoxCtrl (GuiButtonBaseCtrl):&lt;br /&gt;
&lt;br /&gt;
        GuiRadioCtrl (GuiCheckBoxCtrl):&lt;br /&gt;
&lt;br /&gt;
    GuiContextMenuCtrl (GuiControl):&lt;br /&gt;
      clipcolumntext - boolean&lt;br /&gt;
      columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
      enumerate - boolean&lt;br /&gt;
      fitparentwidth - boolean&lt;br /&gt;
      groupsortorder - string&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      maxpopupheight - integer&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object [R]&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      sortcolumn - integer&lt;br /&gt;
      sortmode - string&lt;br /&gt;
      sortorder - string&lt;br /&gt;
      textprofile - object&lt;br /&gt;
      width - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      close()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedids() - returns object - array of row ids&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedrows() - returns object - array of row indices&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isopen() - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
      openatmouse()&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setrowactivebyid(int, bool)&lt;br /&gt;
      setrowbyid(int, str)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedbytext(str)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
      sort()&lt;br /&gt;
&lt;br /&gt;
      GuiStartMenuCtrl (GuiContextMenuCtrl):&lt;br /&gt;
        text - string&lt;br /&gt;
        width - integer&lt;br /&gt;
        gettext() - returns string&lt;br /&gt;
        settext(str)&lt;br /&gt;
&lt;br /&gt;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer [R]&lt;br /&gt;
      partw - integer [R]&lt;br /&gt;
      partx - integer [R]&lt;br /&gt;
      party - integer [R]&lt;br /&gt;
      clearall()&lt;br /&gt;
      clearrectangle(int, int, int, int)&lt;br /&gt;
      drawimage(int, int, str)&lt;br /&gt;
      drawimagerectangle(int, int, str, int, int, int, int)&lt;br /&gt;
      drawimagestretched(int, int, int, int, str, int, int, int, int)&lt;br /&gt;
      saveimage(str)&lt;br /&gt;
&lt;br /&gt;
    GuiFlash (GuiControl):&lt;br /&gt;
      backgroundalpha - float&lt;br /&gt;
      downloadwebfiles - boolean&lt;br /&gt;
      hideonoverlap - boolean&lt;br /&gt;
      loopmovie - boolean&lt;br /&gt;
      messageonoverlap - string&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean - same as requiresplugin&lt;br /&gt;
      requiresplugin - boolean - only displays the flash file if the flash plugin or activex control could be loaded&lt;br /&gt;
      tryactivex - boolean - same as tryplugin&lt;br /&gt;
      tryplugin - boolean - tries to load the flash plugin or activex control to display the flash file&lt;br /&gt;
      getflashvariable(str) - returns string&lt;br /&gt;
      loadmovie(str, bool, float)&lt;br /&gt;
      playmovie()&lt;br /&gt;
      restartmovie()&lt;br /&gt;
      setbackgroundalpha(float)&lt;br /&gt;
      setflashvariable(str, str)&lt;br /&gt;
      setlooping(bool)&lt;br /&gt;
      stopmovie()&lt;br /&gt;
&lt;br /&gt;
    GuiFrameSetCtrl (GuiControl):&lt;br /&gt;
      autobalance - boolean&lt;br /&gt;
      bordercolor - string&lt;br /&gt;
      borderenable - string&lt;br /&gt;
      bordermovable - string&lt;br /&gt;
      borderwidth - integer&lt;br /&gt;
      columncount - integer&lt;br /&gt;
      fudgefactor - integer&lt;br /&gt;
      minextent - string&lt;br /&gt;
      rowcount - integer&lt;br /&gt;
      getcolumncount() - returns integer&lt;br /&gt;
      getcolumnoffset(int) - returns integer&lt;br /&gt;
      getrowcount() - returns integer&lt;br /&gt;
      getrowoffset(int) - returns integer&lt;br /&gt;
      setcolumncount(int)&lt;br /&gt;
      setcolumnoffset(int, int)&lt;br /&gt;
      setrowcount(int)&lt;br /&gt;
      setrowoffset(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiGraal3DCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiGraalCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiInputCtrl (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      addmenu(str) - returns object&lt;br /&gt;
      clearmenus()&lt;br /&gt;
      findmenu(str) - returns object&lt;br /&gt;
      removemenu(str)&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
&lt;br /&gt;
    GuiMLTextCtrl (GuiControl):&lt;br /&gt;
      allowcolorchars - boolean&lt;br /&gt;
      allowedtags - string&lt;br /&gt;
      alpha - float&lt;br /&gt;
      deniedsound - string&lt;br /&gt;
      disallowedtags - string&lt;br /&gt;
      htmlcompatibility - boolean&lt;br /&gt;
      htmllinks - boolean - will automatically open a webbrowser when clicking on a link if you don't want to do it yourself by handling onURL() events via script&lt;br /&gt;
      maxchars - integer&lt;br /&gt;
      parsetags - boolean&lt;br /&gt;
      syntaxhighlighting - boolean&lt;br /&gt;
      text - string&lt;br /&gt;
      urlbase - string&lt;br /&gt;
      wordwrap - boolean&lt;br /&gt;
      addtext(str, bool)&lt;br /&gt;
      getcursorline() - returns integer&lt;br /&gt;
      getline(int) - returns string&lt;br /&gt;
      getlinecount() - returns integer&lt;br /&gt;
      getlines() - returns object - array of lines&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      reflow()&lt;br /&gt;
      scrolltobottom()&lt;br /&gt;
      scrolltotag(str)&lt;br /&gt;
      scrolltotop()&lt;br /&gt;
      setlines(obj)&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiMLTextEditCtrl (GuiMLTextCtrl):&lt;br /&gt;
        autoindenting - boolean - when pressing the return key, then it's automatically inserting the same number of spaces in front of the new line as in the previous line&lt;br /&gt;
        tabspaces - integer - when the user presses the tab key then this number of spaces are inserted, by default the tab key is ignored&lt;br /&gt;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          clear()&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        addpm(obj) - adds the received pm from the specified player to the text of this control&lt;br /&gt;
        clear()&lt;br /&gt;
        showpm(obj) - replaces the text with the received pm from this player&lt;br /&gt;
&lt;br /&gt;
      GuiPMHistoryCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showhistory(obj)&lt;br /&gt;
&lt;br /&gt;
    GuiPlayerView (GuiControl):&lt;br /&gt;
      ambientcolor - string&lt;br /&gt;
      cameraz - float&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      modelrotx - float&lt;br /&gt;
      modelrotz - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
&lt;br /&gt;
    GuiProgressCtrl (GuiControl):&lt;br /&gt;
      progress - float&lt;br /&gt;
&lt;br /&gt;
    GuiScrollCtrl (GuiControl):&lt;br /&gt;
      childmargin - string&lt;br /&gt;
      constantthumbheight - boolean&lt;br /&gt;
      hscrollbar - string&lt;br /&gt;
      scrollpos - string&lt;br /&gt;
      tile - boolean&lt;br /&gt;
      vscrollbar - string&lt;br /&gt;
      wheelscrolllines - integer&lt;br /&gt;
      willfirstrespond - boolean&lt;br /&gt;
      scrolldelta(int, int)&lt;br /&gt;
      scrollrectvisible(int, int, int, int)&lt;br /&gt;
      scrollto(int, int)&lt;br /&gt;
      scrolltobottom() - scrolls to the button, simply calls scrollto(0, 0x7fffffff)&lt;br /&gt;
      scrolltotop() - scrolls to the top, simply calls scrollto(0, 0)&lt;br /&gt;
&lt;br /&gt;
    GuiShapeNameHud (GuiControl):&lt;br /&gt;
      alignbottom - boolean&lt;br /&gt;
      chatprofile - string&lt;br /&gt;
      damagealignbottom - boolean&lt;br /&gt;
      damageoffset - string&lt;br /&gt;
      damagetimeout - float&lt;br /&gt;
      distancefade - float&lt;br /&gt;
      fillcolor - string&lt;br /&gt;
      framecolor - string&lt;br /&gt;
      maxdistance - float&lt;br /&gt;
      showfill - boolean&lt;br /&gt;
      showframe - boolean&lt;br /&gt;
      useshapesize - boolean&lt;br /&gt;
      verticaldamageoffset - float&lt;br /&gt;
      verticaloffset - float&lt;br /&gt;
&lt;br /&gt;
    GuiShowImgCtrl (GuiControl):&lt;br /&gt;
      alpha - float&lt;br /&gt;
      ani - string&lt;br /&gt;
      ani - string&lt;br /&gt;
      attachnode - string&lt;br /&gt;
      attachoffset - string&lt;br /&gt;
      attachtoowner - boolean&lt;br /&gt;
      blue - float&lt;br /&gt;
      code - string - the old representation as 'font@style@text'&lt;br /&gt;
      dimension - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      dir - integer&lt;br /&gt;
      emitter - object [R]&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      flashfile - string&lt;br /&gt;
      font - string&lt;br /&gt;
      green - float&lt;br /&gt;
      image - string&lt;br /&gt;
      imageindex - integer [R]&lt;br /&gt;
      is3dlight - boolean&lt;br /&gt;
      layer - integer&lt;br /&gt;
      layer - integer&lt;br /&gt;
      mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
      offsetx - integer&lt;br /&gt;
      offsety - integer&lt;br /&gt;
      playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
      polygon - object&lt;br /&gt;
      position - string&lt;br /&gt;
      red - float&lt;br /&gt;
      rotation - float&lt;br /&gt;
      shape - string&lt;br /&gt;
      shapeobject - object [R]&lt;br /&gt;
      spin - float&lt;br /&gt;
      stretchx - float&lt;br /&gt;
      stretchy - float&lt;br /&gt;
      style - string&lt;br /&gt;
      text - string&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      zoom - float&lt;br /&gt;
&lt;br /&gt;
    GuiSliderCtrl (GuiControl):&lt;br /&gt;
      range - string&lt;br /&gt;
      ticks - integer&lt;br /&gt;
      value - float&lt;br /&gt;
&lt;br /&gt;
    GuiStretchCtrl (GuiControl):&lt;br /&gt;
      clientextent - integer&lt;br /&gt;
      clientheight - integer&lt;br /&gt;
      clientwidth - integer&lt;br /&gt;
&lt;br /&gt;
    GuiTabCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer [R]&lt;br /&gt;
      iconwidth - integer [R]&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer [R]&lt;br /&gt;
      overlapwidth - integer&lt;br /&gt;
      selected - object [R]&lt;br /&gt;
      tabwidth - integer&lt;br /&gt;
      addrow(int, str) - returns object - the added row&lt;br /&gt;
      clearrows()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      findtext(str) - returns integer - row index&lt;br /&gt;
      findtextid(str) - returns integer - row id&lt;br /&gt;
      getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
      getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
      getrownumbyid(int) - returns integer&lt;br /&gt;
      getselectedid() - returns integer - row id&lt;br /&gt;
      getselectedrow() - returns integer - row index&lt;br /&gt;
      getselectedtext() - returns string&lt;br /&gt;
      insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
      isidselected(int) - returns boolean&lt;br /&gt;
      isrowselected(int) - returns boolean&lt;br /&gt;
      makevisible(int)&lt;br /&gt;
      makevisiblebyid(int)&lt;br /&gt;
      removerow(int)&lt;br /&gt;
      removerowbyid(int)&lt;br /&gt;
      rowcount() - returns integer&lt;br /&gt;
      seticonsize(int, int)&lt;br /&gt;
      setselectedbyid(int)&lt;br /&gt;
      setselectedrow(int)&lt;br /&gt;
&lt;br /&gt;
    GuiTaskbar (GuiControl):&lt;br /&gt;
&lt;br /&gt;
    GuiTextCtrl (GuiControl):&lt;br /&gt;
      text - string&lt;br /&gt;
      gettext() - returns string&lt;br /&gt;
      settext(str)&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpEditCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiPopUpMenuCtrl (GuiTextCtrl):&lt;br /&gt;
        clipcolumntext - boolean&lt;br /&gt;
        columns - string - of format &amp;quot;0 16&amp;quot;, offset of the tabulators&lt;br /&gt;
        enumerate - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        iconheight - integer [R]&lt;br /&gt;
        iconwidth - integer [R]&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        rows - object [R]&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object [R]&lt;br /&gt;
        sortcolumn - integer&lt;br /&gt;
        sortmode - string&lt;br /&gt;
        sortorder - string&lt;br /&gt;
        textprofile - object&lt;br /&gt;
        width - integer&lt;br /&gt;
        addrow(int, str) - returns object - the added row&lt;br /&gt;
        addtext(str, int) - deprecated, use addRow() instead&lt;br /&gt;
        clearrows()&lt;br /&gt;
        clearselection()&lt;br /&gt;
        close()&lt;br /&gt;
        findtext(str) - returns integer&lt;br /&gt;
        findtext(str) - returns integer - row index&lt;br /&gt;
        findtextid(str) - returns integer - row id&lt;br /&gt;
        forceclose()&lt;br /&gt;
        forceonaction()&lt;br /&gt;
        getrowatpoint(int, int) - returns integer - row index&lt;br /&gt;
        getrowidatpoint(int, int) - returns integer - row id&lt;br /&gt;
        getrownumbyid(int) - returns integer&lt;br /&gt;
        getselected() - returns integer&lt;br /&gt;
        getselectedid() - returns integer - row id&lt;br /&gt;
        getselectedids() - returns object - array of row ids&lt;br /&gt;
        getselectedrow() - returns integer - row index&lt;br /&gt;
        getselectedrows() - returns object - array of row indices&lt;br /&gt;
        getselectedtext() - returns string&lt;br /&gt;
        insertrow(int, int, str) - returns object - the inserted row&lt;br /&gt;
        isidselected(int) - returns boolean&lt;br /&gt;
        isopen() - returns boolean&lt;br /&gt;
        isrowselected(int) - returns boolean&lt;br /&gt;
        makevisible(int)&lt;br /&gt;
        makevisiblebyid(int)&lt;br /&gt;
        open(int, int) - opens the menu at the specified screen position, if possible use openAtMouse() instead&lt;br /&gt;
        openatmouse()&lt;br /&gt;
        removerow(int)&lt;br /&gt;
        removerowbyid(int)&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        rowcount() - returns integer&lt;br /&gt;
        seticonsize(int, int)&lt;br /&gt;
        setrowactivebyid(int, bool)&lt;br /&gt;
        setrowbyid(int, str)&lt;br /&gt;
        setselected(int)&lt;br /&gt;
        setselectedbyid(int)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedbytext(str)&lt;br /&gt;
        setselectedrow(int)&lt;br /&gt;
        sort()&lt;br /&gt;
&lt;br /&gt;
      GuiTextEditCtrl (GuiTextCtrl):&lt;br /&gt;
        deniedsound - string&lt;br /&gt;
        historysize - integer&lt;br /&gt;
        password - boolean&lt;br /&gt;
        tabcomplete - boolean&lt;br /&gt;
        setselection(int, int)&lt;br /&gt;
        undo()&lt;br /&gt;
&lt;br /&gt;
        GuiAccountPasswordCtrl (GuiTextEditCtrl):&lt;br /&gt;
          applypassword()&lt;br /&gt;
          clearpassword()&lt;br /&gt;
          isempty() - returns boolean&lt;br /&gt;
          setpasswordofaccount(str)&lt;br /&gt;
&lt;br /&gt;
        GuiTextEditSliderCtrl (GuiTextEditCtrl):&lt;br /&gt;
          allowedit - string&lt;br /&gt;
          format - string&lt;br /&gt;
          increment - float&lt;br /&gt;
          range - string&lt;br /&gt;
          value - float&lt;br /&gt;
&lt;br /&gt;
      GuiWindowCtrl (GuiTextCtrl):&lt;br /&gt;
        canclose - boolean&lt;br /&gt;
        canmaximize - boolean&lt;br /&gt;
        canminimize - boolean&lt;br /&gt;
        clientrelative - boolean - by default false; if enabled then sub-controls are positioned automatically to not overlap the header or the borders; use clientwidth and clientheight to get the available space for sub-controls&lt;br /&gt;
        closequery - boolean&lt;br /&gt;
        destroyonhide - boolean&lt;br /&gt;
        extent - string&lt;br /&gt;
        maximized - boolean&lt;br /&gt;
        minimized - boolean&lt;br /&gt;
        tile - boolean&lt;br /&gt;
        isactivewindow() - returns boolean&lt;br /&gt;
&lt;br /&gt;
    TerrainEditor (GuiControl):&lt;br /&gt;
      adjustheightmousescale - float&lt;br /&gt;
      adjustheightval - float&lt;br /&gt;
      borderfillcolor - string&lt;br /&gt;
      borderframecolor - string&lt;br /&gt;
      borderheight - float&lt;br /&gt;
      borderlinemode - boolean&lt;br /&gt;
      brushpos - string&lt;br /&gt;
      enablesoftbrushes - boolean&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      ismissiondirty - boolean&lt;br /&gt;
      materialgroup - integer&lt;br /&gt;
      paintmaterial - string&lt;br /&gt;
      processusesbrush - boolean&lt;br /&gt;
      renderborder - boolean&lt;br /&gt;
      rendervertexselection - boolean&lt;br /&gt;
      scaleval - float&lt;br /&gt;
      selectionhidden - boolean&lt;br /&gt;
      setheightval - float&lt;br /&gt;
      smoothfactor - float&lt;br /&gt;
      softselectdefaultfilter - string&lt;br /&gt;
      softselectfilter - string&lt;br /&gt;
      softselectradius - float&lt;br /&gt;
      attachterrain(str)&lt;br /&gt;
      buildmaterialmap()&lt;br /&gt;
      clearmodifiedflags()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      getactionname(int) - returns string&lt;br /&gt;
      getbrushpos() - returns string&lt;br /&gt;
      getcurrentaction() - returns string&lt;br /&gt;
      getnumactions() - returns integer&lt;br /&gt;
      getnumtextures() - returns integer&lt;br /&gt;
      getterrainmaterials() - returns object&lt;br /&gt;
      gettexturename(int) - returns string&lt;br /&gt;
      markemptysquares()&lt;br /&gt;
      mirrorterrain(int)&lt;br /&gt;
      popbasematerialinfo()&lt;br /&gt;
      processaction(str)&lt;br /&gt;
      pushbasematerialinfo()&lt;br /&gt;
      redo()&lt;br /&gt;
      resetselweights(bool)&lt;br /&gt;
      setaction(str)&lt;br /&gt;
      setbrushpos(str)&lt;br /&gt;
      setbrushsize(int, int)&lt;br /&gt;
      setbrushtype(str)&lt;br /&gt;
      setlonebasematerial(str)&lt;br /&gt;
      setterrainmaterials(str)&lt;br /&gt;
      undo()&lt;br /&gt;
&lt;br /&gt;
    WorldEditor (GuiControl):&lt;br /&gt;
      automaticsync - boolean&lt;br /&gt;
      axisgizmoactive - boolean&lt;br /&gt;
      axisgizmomaxscreenlen - integer&lt;br /&gt;
      boundingboxcollision - boolean&lt;br /&gt;
      defaulthandle - string&lt;br /&gt;
      dragrectcolor - string&lt;br /&gt;
      droptype - string&lt;br /&gt;
      faceselectcolor - string&lt;br /&gt;
      gridcolor - string&lt;br /&gt;
      gridsize - string&lt;br /&gt;
      isdirty - boolean&lt;br /&gt;
      lockedhandle - string&lt;br /&gt;
      maxscalefactor - float&lt;br /&gt;
      minscalefactor - float&lt;br /&gt;
      mousemovescale - float&lt;br /&gt;
      mouserotatescale - float&lt;br /&gt;
      mousescalescale - float&lt;br /&gt;
      namedistancefade - float&lt;br /&gt;
      namemaxdistance - float&lt;br /&gt;
      objectsuseboxcenter - boolean&lt;br /&gt;
      objecttextcolor - string&lt;br /&gt;
      objmouseovercolor - string&lt;br /&gt;
      objmouseoverselectcolor - string&lt;br /&gt;
      objselectcolor - string&lt;br /&gt;
      objtextformat - string&lt;br /&gt;
      planarmovement - boolean&lt;br /&gt;
      planedim - float&lt;br /&gt;
      popupbackgroundcolor - string&lt;br /&gt;
      popuptextcolor - string&lt;br /&gt;
      projectdistance - float&lt;br /&gt;
      rendernav - boolean&lt;br /&gt;
      renderobjhandle - boolean&lt;br /&gt;
      renderobjtext - boolean&lt;br /&gt;
      renderplane - boolean&lt;br /&gt;
      renderplanehashes - boolean&lt;br /&gt;
      renderpopupbackground - boolean&lt;br /&gt;
      renderselectionbox - boolean&lt;br /&gt;
      rotationsnap - float&lt;br /&gt;
      selecthandle - string&lt;br /&gt;
      selectionboxcolor - string&lt;br /&gt;
      selectionlocked - boolean&lt;br /&gt;
      showmousepopupinfo - boolean&lt;br /&gt;
      snaprotations - boolean&lt;br /&gt;
      snaptogrid - boolean&lt;br /&gt;
      toggleignorelist - boolean&lt;br /&gt;
      undolimit - integer&lt;br /&gt;
      addundostate()&lt;br /&gt;
      clearignorelist()&lt;br /&gt;
      clearselection()&lt;br /&gt;
      deleteselection()&lt;br /&gt;
      dropselection()&lt;br /&gt;
      getmode() - returns string&lt;br /&gt;
      getselectedobject(int) - returns object&lt;br /&gt;
      getselectioncentroid() - returns string&lt;br /&gt;
      getselectionsize() - returns integer&lt;br /&gt;
      hideselection(bool)&lt;br /&gt;
      ignoreobjclass(str)&lt;br /&gt;
      lightselection()&lt;br /&gt;
      lockselection(bool)&lt;br /&gt;
      redo()&lt;br /&gt;
      reloadselection()&lt;br /&gt;
      selectobject(obj)&lt;br /&gt;
      setmode(str)&lt;br /&gt;
      syncselection()&lt;br /&gt;
      undo()&lt;br /&gt;
      unselectobject(obj)&lt;br /&gt;
&lt;br /&gt;
  GuiControlProfile (TGraalVar):&lt;br /&gt;
    align - string&lt;br /&gt;
    autosizeheight - boolean&lt;br /&gt;
    autosizewidth - boolean&lt;br /&gt;
    backgroundinset - string&lt;br /&gt;
    bitmap - string&lt;br /&gt;
    border - integer&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    bordercolorhl - string&lt;br /&gt;
    bordercolorna - string&lt;br /&gt;
    borderthickness - integer&lt;br /&gt;
    cankeyfocus - boolean&lt;br /&gt;
    cursorcolor - string&lt;br /&gt;
    fillcolor - string&lt;br /&gt;
    fillcolorhl - string&lt;br /&gt;
    fillcolorna - string&lt;br /&gt;
    fillonlynonchildarea - boolean - when opaque is true, then fill only the part of the control that is not covered by child controls&lt;br /&gt;
    focusonshow - boolean&lt;br /&gt;
    fontcolor - string&lt;br /&gt;
    fontcolorhl - string&lt;br /&gt;
    fontcolorlink - string&lt;br /&gt;
    fontcolorlinkhl - string&lt;br /&gt;
    fontcolorna - string&lt;br /&gt;
    fontcolorsel - string&lt;br /&gt;
    fontsize - integer&lt;br /&gt;
    fontstyle - string&lt;br /&gt;
    fonttype - string&lt;br /&gt;
    justify - string - the same like &amp;quot;align&amp;quot;&lt;br /&gt;
    linespacing - integer&lt;br /&gt;
    modal - boolean&lt;br /&gt;
    mouseoverselected - boolean&lt;br /&gt;
    numbersonly - boolean&lt;br /&gt;
    opaque - boolean&lt;br /&gt;
    returntab - boolean&lt;br /&gt;
    shadowcolor - string&lt;br /&gt;
    shadowoffset - string&lt;br /&gt;
    soundbuttondown - string&lt;br /&gt;
    soundbuttonover - string&lt;br /&gt;
    tab - boolean&lt;br /&gt;
    textoffset - string&lt;br /&gt;
    textshadow - boolean&lt;br /&gt;
    transparency - float&lt;br /&gt;
    gettextheight() - returns integer&lt;br /&gt;
    gettextwidth(str) - returns integer&lt;br /&gt;
&lt;br /&gt;
  GuiCursor (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  GuiTabCtrlEntry (TGraalVar):&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTextListEntry (TGraalVar):&lt;br /&gt;
    active - boolean&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    flickering - boolean - lets the entry automatically show and hide itself in flickertime intervals&lt;br /&gt;
    flickertime - float - says in what interval the entry is shown and hidden, in seconds; works only in combination with flickering=true&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    gettext() - returns string&lt;br /&gt;
    settext(str)&lt;br /&gt;
&lt;br /&gt;
  GuiTreeViewNode (TGraalVar):&lt;br /&gt;
    expanded - boolean&lt;br /&gt;
    expandedimage - integer&lt;br /&gt;
    expandedselectedimage - integer&lt;br /&gt;
    extent - string [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer [R]&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    position - string [R]&lt;br /&gt;
    profile - object&lt;br /&gt;
    selectedimage - integer&lt;br /&gt;
    sortgroup - integer&lt;br /&gt;
    sortvalue - integer&lt;br /&gt;
    text - string&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    visible - boolean&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    x - integer [R]&lt;br /&gt;
    y - integer [R]&lt;br /&gt;
    addlines(obj, bool)&lt;br /&gt;
    addnode(str) - returns object&lt;br /&gt;
    addnodebypath(str, str) - returns object&lt;br /&gt;
    addvars(obj, bool)&lt;br /&gt;
    clearnodes()&lt;br /&gt;
    destroy()&lt;br /&gt;
    getfullname(str) - returns string&lt;br /&gt;
    getnode(str) - returns object&lt;br /&gt;
    getnodebypath(str, str) - returns object&lt;br /&gt;
    select()&lt;br /&gt;
&lt;br /&gt;
  MovieClip (TGraalVar):&lt;br /&gt;
    _level0 - object [R]&lt;br /&gt;
    _parent - object [R]&lt;br /&gt;
    _root - object [R]&lt;br /&gt;
    _visible - boolean&lt;br /&gt;
    _x - float&lt;br /&gt;
    _xmouse - float [R]&lt;br /&gt;
    _y - float&lt;br /&gt;
    _ymouse - float [R]&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    frame - integer&lt;br /&gt;
    framecount - integer [R]&lt;br /&gt;
    green - float&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    layernames - object [R]&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    math - object [R]&lt;br /&gt;
    objectname - string&lt;br /&gt;
    objectnames - object [R]&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    red - float&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    attachmovie(params...) - returns object - parameters are the movie clip to copy, the name of the new clip, and the layer&lt;br /&gt;
    createemptymovieclip(str, int) - returns object - parameters are the the name of the new clip and the layer&lt;br /&gt;
    duplicatemovieclip(params...) - returns object&lt;br /&gt;
    getbytesloaded() - returns integer&lt;br /&gt;
    getbytestotal() - returns integer&lt;br /&gt;
    getcolor() - returns string&lt;br /&gt;
    getdepth() - returns integer&lt;br /&gt;
    getlayer(str) - returns object&lt;br /&gt;
    getproperty(int) - returns string&lt;br /&gt;
    gotoandplay(params...) - specify the frame name or frame number&lt;br /&gt;
    gotoandstop(params...) - specify the frame name or frame number&lt;br /&gt;
    hittest(params...) - returns boolean&lt;br /&gt;
    nextframe()&lt;br /&gt;
    play()&lt;br /&gt;
    prevframe()&lt;br /&gt;
    removelayer(str)&lt;br /&gt;
    removemovieclip()&lt;br /&gt;
    setcolor(str)&lt;br /&gt;
    setproperty(int, str)&lt;br /&gt;
    stop()&lt;br /&gt;
    swapdepths(str)&lt;br /&gt;
    unloadmovie() - same as removeMovieClip()&lt;br /&gt;
&lt;br /&gt;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float - a random floating point number between 0 and 1&lt;br /&gt;
    randint() - returns integer - a random integer number between 0 and 2147483647, use the modulus operator to generate a value in a smaller range (e.g. obj.randInt()%10 to get a value between 0 and 9)&lt;br /&gt;
&lt;br /&gt;
    MRandomLCG (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
    MRandomR250 (MRandomGenerator):&lt;br /&gt;
&lt;br /&gt;
  SimObject (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
    SceneObject (SimObject):&lt;br /&gt;
      eulerrotation - string&lt;br /&gt;
      forwardvector - string&lt;br /&gt;
      objectbox - string [R]&lt;br /&gt;
      position - string&lt;br /&gt;
      renderposition - string&lt;br /&gt;
      rightvector - string&lt;br /&gt;
      rotation - string&lt;br /&gt;
      scale - string&lt;br /&gt;
      scaledobjectbox - string [R]&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string [R]&lt;br /&gt;
      worldboxcenter - string [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
      getforwardvector() - returns string&lt;br /&gt;
      getobjectbox() - returns string&lt;br /&gt;
      getposition() - returns string&lt;br /&gt;
      getrightvector() - returns string&lt;br /&gt;
      getscale() - returns string&lt;br /&gt;
      gettransform() - returns string&lt;br /&gt;
      getupvector() - returns string&lt;br /&gt;
      getworldbox() - returns string&lt;br /&gt;
      getworldboxcenter() - returns string&lt;br /&gt;
      light()&lt;br /&gt;
      setforwardvector(str)&lt;br /&gt;
      setposition(str)&lt;br /&gt;
      setrightvector(str)&lt;br /&gt;
      setscale(str)&lt;br /&gt;
      settransform(str)&lt;br /&gt;
      setupvector(str)&lt;br /&gt;
&lt;br /&gt;
      fxSunLight (SceneObject):&lt;br /&gt;
        animazimuth - boolean&lt;br /&gt;
        animbrightness - boolean&lt;br /&gt;
        animcolour - boolean&lt;br /&gt;
        animelevation - boolean&lt;br /&gt;
        animrotation - boolean&lt;br /&gt;
        animsize - boolean&lt;br /&gt;
        azimuthkeys - string&lt;br /&gt;
        azimuthtime - float&lt;br /&gt;
        blendmode - integer&lt;br /&gt;
        bluekeys - string&lt;br /&gt;
        brightness - float&lt;br /&gt;
        brightnesskeys - string&lt;br /&gt;
        brightnesstime - float&lt;br /&gt;
        colour - string&lt;br /&gt;
        colourtime - float&lt;br /&gt;
        elevationkeys - string&lt;br /&gt;
        elevationtime - float&lt;br /&gt;
        enable - boolean&lt;br /&gt;
        fadetime - float&lt;br /&gt;
        flaresize - float&lt;br /&gt;
        flaretp - boolean&lt;br /&gt;
        greenkeys - string&lt;br /&gt;
        lerpazimuth - boolean&lt;br /&gt;
        lerpbrightness - boolean&lt;br /&gt;
        lerpcolour - boolean&lt;br /&gt;
        lerpelevation - boolean&lt;br /&gt;
        lerprotation - boolean&lt;br /&gt;
        lerpsize - boolean&lt;br /&gt;
        linkflaresize - boolean&lt;br /&gt;
        localflarebitmap - string&lt;br /&gt;
        maxazimuth - float&lt;br /&gt;
        maxbrightness - float&lt;br /&gt;
        maxcolour - string&lt;br /&gt;
        maxelevation - float&lt;br /&gt;
        maxrotation - float&lt;br /&gt;
        maxsize - float&lt;br /&gt;
        minazimuth - float&lt;br /&gt;
        minbrightness - float&lt;br /&gt;
        mincolour - string&lt;br /&gt;
        minelevation - float&lt;br /&gt;
        minrotation - float&lt;br /&gt;
        minsize - float&lt;br /&gt;
        redkeys - string&lt;br /&gt;
        remoteflarebitmap - string&lt;br /&gt;
        rotationkeys - string&lt;br /&gt;
        rotationtime - float&lt;br /&gt;
        singlecolourkeys - boolean&lt;br /&gt;
        sizekeys - string&lt;br /&gt;
        sizetime - float&lt;br /&gt;
        sunazimuth - float&lt;br /&gt;
        sunelevation - float&lt;br /&gt;
        reset()&lt;br /&gt;
&lt;br /&gt;
      GameObject (SceneObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        attachedtoobject - object&lt;br /&gt;
        attrobjects - object [R]&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float [R]&lt;br /&gt;
        liquidtype - string [R]&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nick - string - same as nickname&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string [R]&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string [R]&lt;br /&gt;
        showterrain - boolean&lt;br /&gt;
        skin - string&lt;br /&gt;
        solid - boolean&lt;br /&gt;
        transform - string&lt;br /&gt;
        velocity - string&lt;br /&gt;
        watercoverage - float [R]&lt;br /&gt;
        checkcollision(str, str) - returns object&lt;br /&gt;
        checkcollisionbybox(str, str, str) - returns object&lt;br /&gt;
        clippolygons(str) - returns object&lt;br /&gt;
        findimg(int) - returns object&lt;br /&gt;
        getcontrollingclient() - returns object&lt;br /&gt;
        getcontrollingobject() - returns object&lt;br /&gt;
        getdropz(str) - returns float&lt;br /&gt;
        getinteriorobject() - returns object&lt;br /&gt;
        getmountedobject(int) - returns object&lt;br /&gt;
        getmountedobjectcount() - returns integer&lt;br /&gt;
        getmountedobjectnode(int) - returns integer&lt;br /&gt;
        getmountnodeobject(int) - returns object&lt;br /&gt;
        getmountposition(int) - returns string&lt;br /&gt;
        getmounttransform(int) - returns string&lt;br /&gt;
        getnodeposition(str) - returns string&lt;br /&gt;
        getnodetransform(str) - returns string&lt;br /&gt;
        getobjectmount() - returns object&lt;br /&gt;
        hideimg(int)&lt;br /&gt;
        hideimgs(int, int)&lt;br /&gt;
        isdrawn() - returns boolean&lt;br /&gt;
        isininterior() - returns boolean&lt;br /&gt;
        ismounted() - returns boolean&lt;br /&gt;
        mountobject(obj, int) - returns boolean&lt;br /&gt;
        setdirection(str)&lt;br /&gt;
        unmount()&lt;br /&gt;
        unmountobject(obj) - returns boolean&lt;br /&gt;
&lt;br /&gt;
        Camera (GameObject):&lt;br /&gt;
          cameramode - string&lt;br /&gt;
          eulerrotation - string&lt;br /&gt;
          followattachedobject - object&lt;br /&gt;
          lookatposition - string&lt;br /&gt;
          lookvector - string&lt;br /&gt;
          updateposition()&lt;br /&gt;
&lt;br /&gt;
        DynamicShapeReplicator (GameObject):&lt;br /&gt;
          aligntoterrain - boolean&lt;br /&gt;
          allowedterrainslope - integer&lt;br /&gt;
          allowoninteriors - boolean&lt;br /&gt;
          allowonstatics - boolean&lt;br /&gt;
          allowonterrain - boolean&lt;br /&gt;
          allowonwater - boolean&lt;br /&gt;
          allowwatersurface - boolean&lt;br /&gt;
          boxmax - string&lt;br /&gt;
          boxmin - string&lt;br /&gt;
          hidereplications - boolean&lt;br /&gt;
          maxgridobjects - integer&lt;br /&gt;
          mingridobjects - integer&lt;br /&gt;
          offsetz - float&lt;br /&gt;
          radius - integer&lt;br /&gt;
          seed - integer&lt;br /&gt;
          shapefiles - string&lt;br /&gt;
          shaperotatemax - string&lt;br /&gt;
          shaperotatemin - string&lt;br /&gt;
          shapescalemax - string&lt;br /&gt;
          shapescalemin - string&lt;br /&gt;
          surfaceexclusionmode - boolean&lt;br /&gt;
          surfacetype - integer&lt;br /&gt;
          terrainalignment - string&lt;br /&gt;
&lt;br /&gt;
          DynamicGrass (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
          DynamicGrassReplicator (DynamicShapeReplicator):&lt;br /&gt;
&lt;br /&gt;
      Sky (SceneObject):&lt;br /&gt;
        cloudheight1 - float&lt;br /&gt;
        cloudheight2 - float&lt;br /&gt;
        cloudheight3 - float&lt;br /&gt;
        cloudspeed1 - float&lt;br /&gt;
        cloudspeed2 - float&lt;br /&gt;
        cloudspeed3 - float&lt;br /&gt;
        fogcolor - string&lt;br /&gt;
        fogstorm1 - boolean&lt;br /&gt;
        fogstorm2 - boolean&lt;br /&gt;
        fogstorm3 - boolean&lt;br /&gt;
        fogvolume1 - string&lt;br /&gt;
        fogvolume2 - string&lt;br /&gt;
        fogvolume3 - string&lt;br /&gt;
        fogvolumecolor1 - string&lt;br /&gt;
        fogvolumecolor2 - string&lt;br /&gt;
        fogvolumecolor3 - string&lt;br /&gt;
        materiallist - string&lt;br /&gt;
        norenderbans - boolean&lt;br /&gt;
        renderbottomtexture - boolean&lt;br /&gt;
        skyfadetime - float&lt;br /&gt;
        skysolidcolor - string&lt;br /&gt;
        useskytextures - boolean&lt;br /&gt;
        windeffectprecipitation - boolean&lt;br /&gt;
        windvelocity - string&lt;br /&gt;
        getwindowvelocity() - returns string&lt;br /&gt;
        realfog(bool, float, float, float) - specify if it should show, and max, min and speed values&lt;br /&gt;
        stormclouds(bool, float) - specify if it should show, and the duration&lt;br /&gt;
        stormcloudsshow(bool)&lt;br /&gt;
        stormfog(float, float) - percent and duration of the fog&lt;br /&gt;
        stormfogshow(bool)&lt;br /&gt;
&lt;br /&gt;
      TerrainBlock (SceneObject):&lt;br /&gt;
        repeatterrain - boolean&lt;br /&gt;
        squaresize - integer&lt;br /&gt;
        terrainfile - string&lt;br /&gt;
&lt;br /&gt;
      WaterBlock (SceneObject):&lt;br /&gt;
        density - float&lt;br /&gt;
        depthgradient - float&lt;br /&gt;
        distortgridscale - float&lt;br /&gt;
        distortmag - float&lt;br /&gt;
        distorttime - float&lt;br /&gt;
        envmapintensity - float&lt;br /&gt;
        envmapovertexture - string&lt;br /&gt;
        envmapundertexture - string&lt;br /&gt;
        flowangle - float&lt;br /&gt;
        flowrate - float&lt;br /&gt;
        ignoreterrain - boolean&lt;br /&gt;
        liquidtype - string&lt;br /&gt;
        maxalpha - float&lt;br /&gt;
        minalpha - float&lt;br /&gt;
        removewetedges - boolean&lt;br /&gt;
        shoredepth - float&lt;br /&gt;
        shoretexture - string&lt;br /&gt;
        specularcolor - string&lt;br /&gt;
        specularmasktex - string&lt;br /&gt;
        specularpower - float&lt;br /&gt;
        submergetexture0 - string&lt;br /&gt;
        submergetexture1 - string&lt;br /&gt;
        surfaceopacity - float&lt;br /&gt;
        surfaceparallax - float&lt;br /&gt;
        surfacetexture - string&lt;br /&gt;
        tessshore - float&lt;br /&gt;
        tesssurface - float&lt;br /&gt;
        usedepthmask - boolean&lt;br /&gt;
        viscosity - float&lt;br /&gt;
        wavemagnitude - float&lt;br /&gt;
&lt;br /&gt;
    SimGroup (SimObject):&lt;br /&gt;
      addcontrol(obj)&lt;br /&gt;
&lt;br /&gt;
      GameConnection (SimGroup):&lt;br /&gt;
        account - string [R]&lt;br /&gt;
        camera - object [R]&lt;br /&gt;
        communityname - string [R]&lt;br /&gt;
        isobserver - boolean [R]&lt;br /&gt;
        nick - string [R]&lt;br /&gt;
        objecttype() - returns string&lt;br /&gt;
        showprofile()&lt;br /&gt;
&lt;br /&gt;
    Sun (SimObject):&lt;br /&gt;
      ambient - string&lt;br /&gt;
      color - string&lt;br /&gt;
      direction - string&lt;br /&gt;
&lt;br /&gt;
  TDrawableObject (TGraalVar):&lt;br /&gt;
    layer - integer [R]&lt;br /&gt;
&lt;br /&gt;
    TBaddy (TDrawableObject):&lt;br /&gt;
      dir - integer&lt;br /&gt;
      headdir - integer&lt;br /&gt;
      mode - integer&lt;br /&gt;
      power - integer&lt;br /&gt;
      type - integer&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
&lt;br /&gt;
    TLevelObject (TDrawableObject):&lt;br /&gt;
      level - object [R]&lt;br /&gt;
      x - float&lt;br /&gt;
      y - float&lt;br /&gt;
      z - float&lt;br /&gt;
&lt;br /&gt;
      TExplosion (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        power - integer [R]&lt;br /&gt;
        time - float [R]&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - object [R]&lt;br /&gt;
        aniparams - string [R]&lt;br /&gt;
        anistep - integer [R]&lt;br /&gt;
        attachedtoobject - object [R]&lt;br /&gt;
        attachid - integer [R]&lt;br /&gt;
        attachtype - integer [R]&lt;br /&gt;
        attr - object [R]&lt;br /&gt;
        blue - float&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object [R]&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object [R]&lt;br /&gt;
        green - float&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&lt;br /&gt;
        mode - integer - the object drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shield - string&lt;br /&gt;
        sprite - integer&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        sword - string&lt;br /&gt;
        zoom - float&lt;br /&gt;
        getimageforsprite(obj) - returns string&lt;br /&gt;
        getsprite(str) - returns object&lt;br /&gt;
        getspriteforspritepos(obj) - returns object&lt;br /&gt;
        setcoloreffect(float, float, float, float)&lt;br /&gt;
        seteffectmode(int)&lt;br /&gt;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float [R]&lt;br /&gt;
          fromplayer - object [R]&lt;br /&gt;
          horiz - boolean [R]&lt;br /&gt;
          params - object [R]&lt;br /&gt;
          speed - float [R]&lt;br /&gt;
          x - float [R]&lt;br /&gt;
          y - float [R]&lt;br /&gt;
          z - float [R]&lt;br /&gt;
          zspeed - float [R]&lt;br /&gt;
&lt;br /&gt;
        TServerHorse (TGaniObject):&lt;br /&gt;
          bombpower - integer&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          bushes - integer&lt;br /&gt;
          dir - integer&lt;br /&gt;
          type - integer&lt;br /&gt;
&lt;br /&gt;
        TServerPlayer (TGaniObject):&lt;br /&gt;
          account - string [R]&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean [R]&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          communityname - string [R]&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer [R]&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string [R]&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float [R]&lt;br /&gt;
          horseimg - string [R]&lt;br /&gt;
          hp - float [R]&lt;br /&gt;
          id - integer [R]&lt;br /&gt;
          isadmin - boolean [R]&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean [R]&lt;br /&gt;
          ischannelopen - boolean [R]&lt;br /&gt;
          ischanneluser - boolean [R]&lt;br /&gt;
          isexternal - boolean [R]&lt;br /&gt;
          isfemale - boolean [R]&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean [R]&lt;br /&gt;
          isloggedin - boolean [R]&lt;br /&gt;
          ismale - boolean [R]&lt;br /&gt;
          ismuted - boolean [R]&lt;br /&gt;
          ismuting - boolean [R]&lt;br /&gt;
          language - string [R]&lt;br /&gt;
          languagedomain - string [R]&lt;br /&gt;
          mapicon - object [R] - of type TDrawingPanel, this is the icon that appears on the mini-map, usually updated by the playerlist script&lt;br /&gt;
          maxhp - integer [R]&lt;br /&gt;
          messagebubble - integer [R]&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string [R]&lt;br /&gt;
          playersindex - integer [R]&lt;br /&gt;
          rating - float [R]&lt;br /&gt;
          ratingd - float [R]&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string - only there for compatibility with GS1, use just 'shield' instead&lt;br /&gt;
          shieldpower - integer [R]&lt;br /&gt;
          swordimg - string - only there for compatibility with GS1, use just 'sword' instead&lt;br /&gt;
          swordpower - integer [R]&lt;br /&gt;
          x - float&lt;br /&gt;
          y - float&lt;br /&gt;
          isguildpm() - returns boolean&lt;br /&gt;
          ismasspm() - returns boolean&lt;br /&gt;
          openexternalhistory() - returns boolean&lt;br /&gt;
          openexternalpm(bool) - returns boolean - as parameter specify 'true' if it should display the pm sent by the player, otherwise always open a blank PM window&lt;br /&gt;
          pmswaiting() - returns boolean&lt;br /&gt;
          showprofile()&lt;br /&gt;
&lt;br /&gt;
          TPlayer (TServerPlayer):&lt;br /&gt;
            ap - integer&lt;br /&gt;
            chat - string&lt;br /&gt;
            freezetime - float&lt;br /&gt;
            hearts - float&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurt - boolean [R]&lt;br /&gt;
            hurtdx - float [R]&lt;br /&gt;
            hurtdy - float [R]&lt;br /&gt;
            hurted - boolean [R]&lt;br /&gt;
            hurtpower - float [R]&lt;br /&gt;
            isfemale - boolean [R]&lt;br /&gt;
            ismale - boolean [R]&lt;br /&gt;
            isobserver - boolean [R]&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean [R]&lt;br /&gt;
            nick - string [R]&lt;br /&gt;
            onhorse - boolean [R]&lt;br /&gt;
            online - boolean [R]&lt;br /&gt;
            paused - boolean [R]&lt;br /&gt;
            reading - boolean [R]&lt;br /&gt;
            shieldimg - string - same as 'shield', except that changing this also updates the shieldpower&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean [R]&lt;br /&gt;
            swordimg - string - same as 'sword', except that changing this also updates the swordpower&lt;br /&gt;
            weapon - object [R]&lt;br /&gt;
            weapons - object [R]&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer [R]&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float [R]&lt;br /&gt;
            horseimg - string&lt;br /&gt;
            hp - float&lt;br /&gt;
            hurtdx - float&lt;br /&gt;
            hurtdy - float&lt;br /&gt;
            image - string&lt;br /&gt;
            isblocking - boolean&lt;br /&gt;
            isblockingprojectiles - boolean&lt;br /&gt;
            layer - integer&lt;br /&gt;
            npcsindex - integer [R]&lt;br /&gt;
            peltwithblackstone - boolean [R]&lt;br /&gt;
            peltwithbush - boolean [R]&lt;br /&gt;
            peltwithnpc - boolean [R]&lt;br /&gt;
            peltwithsign - boolean [R]&lt;br /&gt;
            peltwithstone - boolean [R]&lt;br /&gt;
            peltwithvase - boolean [R]&lt;br /&gt;
            save - object [R]&lt;br /&gt;
            shieldpower - integer&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swordpower - integer&lt;br /&gt;
            visible - boolean&lt;br /&gt;
            width - float [R]&lt;br /&gt;
            x - float&lt;br /&gt;
            y - float&lt;br /&gt;
            blockagain()&lt;br /&gt;
            blockagainlocal()&lt;br /&gt;
            canbecarried()&lt;br /&gt;
            canbepulled()&lt;br /&gt;
            canbepushed()&lt;br /&gt;
            cannotbecarried()&lt;br /&gt;
            cannotbepulled()&lt;br /&gt;
            cannotbepushed()&lt;br /&gt;
            carryobject(str)&lt;br /&gt;
            changeimgcolors(int, float, float, float, float)&lt;br /&gt;
            changeimgmode(int, int)&lt;br /&gt;
            changeimgpart(int, int, int, int, int)&lt;br /&gt;
            changeimgvis(int, int)&lt;br /&gt;
            changeimgzoom(int, float)&lt;br /&gt;
            destroy()&lt;br /&gt;
            dontblock()&lt;br /&gt;
            dontblocklocal()&lt;br /&gt;
            drawaslight()&lt;br /&gt;
            drawoverplayer()&lt;br /&gt;
            drawunderplayer()&lt;br /&gt;
            findimg(int) - returns object&lt;br /&gt;
            hide()&lt;br /&gt;
            hideimg(int)&lt;br /&gt;
            hideimgs(int, int)&lt;br /&gt;
            hidelocal()&lt;br /&gt;
            hurt(int)&lt;br /&gt;
            lay(str)&lt;br /&gt;
            message(str)&lt;br /&gt;
            move(float, float, float, int)&lt;br /&gt;
            setbow(str)&lt;br /&gt;
            setcharani(str, str)&lt;br /&gt;
            setchargender(str)&lt;br /&gt;
            setimg(str)&lt;br /&gt;
            setimgpart(str, int, int, int, int)&lt;br /&gt;
            setshape(int, int, int)&lt;br /&gt;
            setshape2(int, int, obj)&lt;br /&gt;
            setzoomeffect(float)&lt;br /&gt;
            shootarrow(int)&lt;br /&gt;
            shootball()&lt;br /&gt;
            shootfireball(int)&lt;br /&gt;
            shootfireblast(int)&lt;br /&gt;
            shootnuke(int)&lt;br /&gt;
            show()&lt;br /&gt;
            showani(int, float, float, int, str) - returns object&lt;br /&gt;
            showani2(int, float, float, float, int, str) - returns object&lt;br /&gt;
            showcharacter()&lt;br /&gt;
            showimg(int, str, float, float) - returns object&lt;br /&gt;
            showimg2(int, str, float, float, float) - returns object&lt;br /&gt;
            showlocal()&lt;br /&gt;
            showpoly(int, obj) - returns object&lt;br /&gt;
            showpoly2(int, obj) - returns object&lt;br /&gt;
            showtext(int, float, float, str, str, str) - returns object&lt;br /&gt;
            showtext2(int, float, float, float, str, str, str) - returns object&lt;br /&gt;
            take(str)&lt;br /&gt;
            take2(int)&lt;br /&gt;
            takehorse(int)&lt;br /&gt;
            throwcarry()&lt;br /&gt;
            timereverywhere()&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean [R]&lt;br /&gt;
&lt;br /&gt;
      TServerBomb (TLevelObject):&lt;br /&gt;
        power - integer&lt;br /&gt;
        time - float&lt;br /&gt;
&lt;br /&gt;
      TServerCarry (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerChest (TLevelObject):&lt;br /&gt;
        isopen - boolean [R]&lt;br /&gt;
        item - string [R]&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer [R]&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer [R]&lt;br /&gt;
        type - integer [R]&lt;br /&gt;
&lt;br /&gt;
      TServerLeap (TLevelObject):&lt;br /&gt;
&lt;br /&gt;
      TServerSign (TLevelObject):&lt;br /&gt;
        text - string&lt;br /&gt;
&lt;br /&gt;
      TShowImg (TLevelObject):&lt;br /&gt;
        alpha - float&lt;br /&gt;
        ani - string&lt;br /&gt;
        attachnode - string&lt;br /&gt;
        attachoffset - string&lt;br /&gt;
        attachtoowner - boolean&lt;br /&gt;
        blue - float&lt;br /&gt;
        code - string - the old representation as 'font@style@text'&lt;br /&gt;
        dimension - integer&lt;br /&gt;
        dir - integer&lt;br /&gt;
        emitter - object [R]&lt;br /&gt;
        eulerrotation - string&lt;br /&gt;
        flashfile - string&lt;br /&gt;
        font - string&lt;br /&gt;
        green - float&lt;br /&gt;
        image - string&lt;br /&gt;
        imageindex - integer [R]&lt;br /&gt;
        is3dlight - boolean&lt;br /&gt;
        layer - integer&lt;br /&gt;
        mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
        playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
        polygon - object&lt;br /&gt;
        position - string&lt;br /&gt;
        red - float&lt;br /&gt;
        rotation - float&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapeobject - object [R]&lt;br /&gt;
        spin - float&lt;br /&gt;
        stretchx - float&lt;br /&gt;
        stretchy - float&lt;br /&gt;
        style - string&lt;br /&gt;
        text - string&lt;br /&gt;
        x - float&lt;br /&gt;
        y - float&lt;br /&gt;
        z - float&lt;br /&gt;
        zoom - float&lt;br /&gt;
&lt;br /&gt;
  TDrawingPanel (TGraalVar):&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isclear - boolean [R]&lt;br /&gt;
    parth - integer [R]&lt;br /&gt;
    partw - integer [R]&lt;br /&gt;
    partx - integer [R]&lt;br /&gt;
    party - integer [R]&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    clearall()&lt;br /&gt;
    clearrectangle(int, int, int, int) - x, y, width and height&lt;br /&gt;
    drawimage(int, int, str) - x, y, source image&lt;br /&gt;
    drawimagerectangle(int, int, str, int, int, int, int) - destination x and y, source image, source x,y,width and height&lt;br /&gt;
    drawimagestretched(int, int, int, int, str, int, int, int, int) - destination x,y,width and height, source image, source x,y,width and height&lt;br /&gt;
    saveimage(str)&lt;br /&gt;
&lt;br /&gt;
  Terraformer (TGraalVar):&lt;br /&gt;
    loadgrayscale(int, str) - returns boolean&lt;br /&gt;
    loadgreyscale(int, str) - returns boolean&lt;br /&gt;
    savegreyscale(int, str) - returns boolean&lt;br /&gt;
    setterrain(int) - returns boolean&lt;br /&gt;
&lt;br /&gt;
  TFrameDetail (TGraalVar):&lt;br /&gt;
    bordercolor - string&lt;br /&gt;
    borderenable - string&lt;br /&gt;
    bordermovable - string&lt;br /&gt;
    borderwidth - integer&lt;br /&gt;
    minextent - string&lt;br /&gt;
&lt;br /&gt;
  TGameObjectAttr (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGaniParam (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TGraalAni (TGraalVar):&lt;br /&gt;
    continuous - boolean&lt;br /&gt;
    ganitype - string [R]&lt;br /&gt;
    loop - boolean&lt;br /&gt;
    movie - boolean&lt;br /&gt;
    setbackto - string&lt;br /&gt;
    singledirection - boolean&lt;br /&gt;
    addsprite(int) - returns object&lt;br /&gt;
    addstep() - returns object&lt;br /&gt;
    deletesprite(int)&lt;br /&gt;
    deletestep(int)&lt;br /&gt;
    getsprite(int) - returns object&lt;br /&gt;
    insertstep(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniPart (TGraalVar):&lt;br /&gt;
    attr - integer&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    param - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSound (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    dx - float&lt;br /&gt;
    dy - float&lt;br /&gt;
    sound - string&lt;br /&gt;
&lt;br /&gt;
  TGraalAniSprite (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    description - string&lt;br /&gt;
    green - float&lt;br /&gt;
    height - integer&lt;br /&gt;
    image - string&lt;br /&gt;
    imagetype - string [R]&lt;br /&gt;
    mode - integer&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spriteindex - integer&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    width - integer&lt;br /&gt;
    x - integer&lt;br /&gt;
    y - integer&lt;br /&gt;
    zoom - float&lt;br /&gt;
    addattachment() - returns object&lt;br /&gt;
    deleteattachment(int)&lt;br /&gt;
    insertattachment(int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalAniStep (TGraalVar):&lt;br /&gt;
    delay - float&lt;br /&gt;
    addpos(int) - returns object&lt;br /&gt;
    deletepos(int, int)&lt;br /&gt;
    insertpos(int, int) - returns object&lt;br /&gt;
&lt;br /&gt;
  TGraalSpriteAttachment (TGraalVar):&lt;br /&gt;
    behind - boolean&lt;br /&gt;
    dx - integer&lt;br /&gt;
    dy - integer&lt;br /&gt;
    sprite - object&lt;br /&gt;
&lt;br /&gt;
  THTTPRequest (TGraalVar):&lt;br /&gt;
    address - string [R]&lt;br /&gt;
    contentlanguage - string [R]&lt;br /&gt;
    contentlength - integer [R]&lt;br /&gt;
    contenttype - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    file - string [R]&lt;br /&gt;
    fulldata - string [R]&lt;br /&gt;
    lastmodified - string [R]&lt;br /&gt;
    port - integer [R]&lt;br /&gt;
    returncode - integer [R]&lt;br /&gt;
    returnmessage - string [R]&lt;br /&gt;
    server - string [R]&lt;br /&gt;
    url - string [R]&lt;br /&gt;
&lt;br /&gt;
  TMovementRigid (TGraalVar):&lt;br /&gt;
    mass - float&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float&lt;br /&gt;
    lifetime - float&lt;br /&gt;
    movementvector - string&lt;br /&gt;
    sound - string&lt;br /&gt;
    speed - float&lt;br /&gt;
    zangle - float&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean&lt;br /&gt;
    autorotation - boolean&lt;br /&gt;
    checkbelowterrain - boolean&lt;br /&gt;
    clippingbox - string&lt;br /&gt;
    cliptoscreen - boolean&lt;br /&gt;
    continueafterdestroy - boolean&lt;br /&gt;
    currentparticlecount - integer [R]&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object [R]&lt;br /&gt;
    dropwateremitter - object [R]&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer [R]&lt;br /&gt;
    firstinfront - boolean&lt;br /&gt;
    isfrozen - boolean&lt;br /&gt;
    maxparticles - integer&lt;br /&gt;
    movementfactor - float&lt;br /&gt;
    nrofparticles - integer&lt;br /&gt;
    particle - object [R]&lt;br /&gt;
    particletypes - integer&lt;br /&gt;
    wraptoclippingbox - boolean&lt;br /&gt;
    addemitmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addglobalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    addlocalmodifier(str, float, float, str, str, float, float) - returns object&lt;br /&gt;
    advancetime(float)&lt;br /&gt;
    emit()&lt;br /&gt;
    emitat(str)&lt;br /&gt;
    removemodifiers()&lt;br /&gt;
    removeparticles()&lt;br /&gt;
&lt;br /&gt;
  TParticleModifier (TGraalVar):&lt;br /&gt;
    addmod(str, str, float, float)&lt;br /&gt;
&lt;br /&gt;
  TScriptFunction (TGraalVar):&lt;br /&gt;
&lt;br /&gt;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean [R]&lt;br /&gt;
    height - integer [R]&lt;br /&gt;
    isnopkzone - boolean [R]&lt;br /&gt;
    issparringzone - boolean [R]&lt;br /&gt;
    nopkzone - boolean [R] - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer [R]&lt;br /&gt;
    findareanpcs(float, float, float, float) - returns object - returns an array of all npcs at the specified rectangle (x,y,width,height)&lt;br /&gt;
    getmappartfile(float, float) - returns string&lt;br /&gt;
    hitcompu(int, int, float, float)&lt;br /&gt;
    putbomb(int, float, float)&lt;br /&gt;
    putcomp(str, float, float)&lt;br /&gt;
    putexplosion(int, float, float)&lt;br /&gt;
    putexplosion2(int, int, float, float)&lt;br /&gt;
    puthorse(str, float, float)&lt;br /&gt;
    putnewcomp(str, float, float, str, int)&lt;br /&gt;
    reflectarrow(int)&lt;br /&gt;
    removearrow(int)&lt;br /&gt;
    removebomb(int)&lt;br /&gt;
    removecompus()&lt;br /&gt;
    removeexplo(int)&lt;br /&gt;
    removehorse(int)&lt;br /&gt;
    removeitem(int)&lt;br /&gt;
    setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
    shoot(float, float, float, float, float, float, str, str) - shoots a projectile with x,y,z,angle,zangle,strength,ani,aniparams&lt;br /&gt;
    testbomb(float, float) - returns integer&lt;br /&gt;
    testexplo(float, float) - returns integer&lt;br /&gt;
    testhorse(float, float) - returns integer&lt;br /&gt;
    testitem(float, float) - returns integer&lt;br /&gt;
    testnpc(float, float) - returns integer&lt;br /&gt;
    testsign(float, float) - returns integer&lt;br /&gt;
    tiletype(float, float) - returns integer&lt;br /&gt;
&lt;br /&gt;
  TServerLevelLink (TGraalVar):&lt;br /&gt;
    destlevel - string [R]&lt;br /&gt;
    destx - float [R]&lt;br /&gt;
    desty - float [R]&lt;br /&gt;
    height - float [R]&lt;br /&gt;
    width - float [R]&lt;br /&gt;
    x - float [R]&lt;br /&gt;
    y - float [R]&lt;br /&gt;
&lt;br /&gt;
  TShapeMaterial (TGraalVar):&lt;br /&gt;
    specularpower - integer&lt;br /&gt;
&lt;br /&gt;
  TShowImg_Values (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
    red - float&lt;br /&gt;
    rotation - float&lt;br /&gt;
    spin - float&lt;br /&gt;
    stretchx - float&lt;br /&gt;
    stretchy - float&lt;br /&gt;
    zoom - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Flash (TShowImg_Values):&lt;br /&gt;
      flash - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object [R]&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Image (TShowImg_Values):&lt;br /&gt;
      height - float&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      width - float&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Poly (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Shape (TShowImg_Values):&lt;br /&gt;
      lightcolor - string&lt;br /&gt;
      lightdirection - string&lt;br /&gt;
      shadowdirection - string&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Text (TShowImg_Values):&lt;br /&gt;
      parth - integer&lt;br /&gt;
      partw - integer&lt;br /&gt;
      partx - integer&lt;br /&gt;
      party - integer&lt;br /&gt;
      shadowcolor - string&lt;br /&gt;
      shadowoffset - string&lt;br /&gt;
      textshadow - boolean&lt;br /&gt;
&lt;br /&gt;
  TStaticVar (TGraalVar):&lt;br /&gt;
    destroy()&lt;br /&gt;
&lt;br /&gt;
    Array (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Color (TStaticVar):&lt;br /&gt;
      initialize(obj)&lt;br /&gt;
      setrgb(int)&lt;br /&gt;
&lt;br /&gt;
    Date (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    Math (TStaticVar):&lt;br /&gt;
      abs(float) - returns float&lt;br /&gt;
      floor(float) - returns integer&lt;br /&gt;
      random() - returns float&lt;br /&gt;
      sin(float) - returns float&lt;br /&gt;
      sqrt(float) - returns float&lt;br /&gt;
&lt;br /&gt;
    Sound (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
    String (TStaticVar):&lt;br /&gt;
      initialize(params...)&lt;br /&gt;
&lt;br /&gt;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer [R]&lt;br /&gt;
    offset - string&lt;br /&gt;
    red - float&lt;br /&gt;
    x - float&lt;br /&gt;
    y - float&lt;br /&gt;
    z - float&lt;br /&gt;
    updateboard(int, int, int, int)&lt;br /&gt;
&lt;br /&gt;
  TUpdatePackage (TGraalVar):&lt;br /&gt;
    accounts - object [R]&lt;br /&gt;
    description - string [R]&lt;br /&gt;
    downloadcomplete - boolean [R]&lt;br /&gt;
    downloadedsize - integer [R]&lt;br /&gt;
    filecount - integer [R]&lt;br /&gt;
    filedownloadedsize - integer [R]&lt;br /&gt;
    filename - string [R]&lt;br /&gt;
    filetotalsize - integer [R]&lt;br /&gt;
    isuninstalled - boolean [R]&lt;br /&gt;
    lastdownloadfile - string [R]&lt;br /&gt;
    localversion - float [R]&lt;br /&gt;
    mode - string [R]&lt;br /&gt;
    name - string [R]&lt;br /&gt;
    parent - object [R]&lt;br /&gt;
    platform - string [R]&lt;br /&gt;
    protectoverwrite - boolean [R]&lt;br /&gt;
    totalsize - integer [R]&lt;br /&gt;
    usechecksum - boolean [R]&lt;br /&gt;
    version - float [R]&lt;br /&gt;
    reinstall() - returns boolean&lt;br /&gt;
    uninstall() - returns boolean&lt;br /&gt;
    update() - returns boolean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Global:&lt;br /&gt;
  $pref::audio::choosenvoicecodec - integer&lt;br /&gt;
  $pref::audio::microactivatebyvolume - boolean&lt;br /&gt;
  $pref::audio::microactivationlevel - integer&lt;br /&gt;
  $pref::audio::microinputdevice - integer&lt;br /&gt;
  $pref::audio::microon - boolean&lt;br /&gt;
  $pref::audio::microvolumefactor - integer&lt;br /&gt;
  $pref::audio::midivolume - integer&lt;br /&gt;
  $pref::audio::mp3volume - integer&lt;br /&gt;
  $pref::audio::radiovolume - integer&lt;br /&gt;
  $pref::audio::reversestereo - boolean&lt;br /&gt;
  $pref::audio::sfxvolume - integer&lt;br /&gt;
  $pref::audio::voicevolume - integer&lt;br /&gt;
  $pref::capture::allowbyscript - boolean [R]&lt;br /&gt;
  $pref::capture::area - string&lt;br /&gt;
  $pref::capture::audiobitrate - integer&lt;br /&gt;
  $pref::capture::disabledaynight - boolean&lt;br /&gt;
  $pref::capture::format - string&lt;br /&gt;
  $pref::capture::fps - integer&lt;br /&gt;
  $pref::capture::hideinterface - boolean&lt;br /&gt;
  $pref::capture::recordaudio - boolean&lt;br /&gt;
  $pref::capture::showmouse - boolean&lt;br /&gt;
  $pref::capture::size - string&lt;br /&gt;
  $pref::capture::videobitrate - integer&lt;br /&gt;
  $pref::graal::allowglobalpms - boolean&lt;br /&gt;
  $pref::graal::automapping - boolean&lt;br /&gt;
  $pref::graal::defaultfontname - string&lt;br /&gt;
  $pref::graal::defaultfontsize - integer&lt;br /&gt;
  $pref::graal::dontconnectlevels - boolean&lt;br /&gt;
  $pref::graal::dontloadlistheads - boolean&lt;br /&gt;
  $pref::graal::dontsavepasswords - boolean&lt;br /&gt;
  $pref::graal::dontsavepms - boolean&lt;br /&gt;
  $pref::graal::fixedport - boolean&lt;br /&gt;
  $pref::graal::fixedudpport - integer&lt;br /&gt;
  $pref::graal::language - string&lt;br /&gt;
  $pref::graal::limitnicknames - boolean&lt;br /&gt;
  $pref::graal::loadbuddylistfromserver - boolean&lt;br /&gt;
  $pref::graal::nicknamelimit - integer&lt;br /&gt;
  $pref::graal::nomassmessages - boolean&lt;br /&gt;
  $pref::graal::notoalls - boolean&lt;br /&gt;
  $pref::graal::noudp - boolean&lt;br /&gt;
  $pref::graal::showyourselfonbuddylists - boolean&lt;br /&gt;
  $pref::input::mousesensitivity - float&lt;br /&gt;
  $pref::interior::lockarrays - boolean&lt;br /&gt;
  $pref::video::defaultguistyle - string&lt;br /&gt;
  $pref::video::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::resolution - integer&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=News/2008/March&amp;diff=10609</id>
		<title>News/2008/March</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=News/2008/March&amp;diff=10609"/>
		<updated>2008-03-06T22:01:43Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: /* March */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== March ===&lt;br /&gt;
* '''March 7th''' - '''AEON has opened a world to players''' {{News/Playerworlds}}&lt;br /&gt;
[[Image:Server_aeon.png]]&lt;br /&gt;
&lt;br /&gt;
AEON has released its classic-themed overworld, Elan: The Faded Nation.&lt;br /&gt;
&lt;br /&gt;
The release of the overworld is accompanied by the release of several systems:&lt;br /&gt;
*A Town Takeover System. Guilds are able to capture Elan's Towns, and receive perks for controlling them.&lt;br /&gt;
*A hunting system.  Players can hunt animals and sell their hides for some cash.  Higher level hunters can choose more powerful weapons.&lt;br /&gt;
*A mining system.  Higher level Miners have an easier time mining.  Miners can also purchase better axes.  Draisines make it easier for Miners to travel through the mines.&lt;br /&gt;
*An automated Event Bot.  Elan offers a variety of events.  If an Event Staff is not on, the Event Bot temporarily takes the place of staff.&lt;br /&gt;
*Guild PK Rankings.  Guilds can prove they are the best by reaching the top of the Guild PK Rankings.&lt;br /&gt;
*A wide selection of Weapons and Prizes.  Shops are scattered throughout the playerworld.&lt;br /&gt;
&lt;br /&gt;
In the works:&lt;br /&gt;
*Guild and Individual Spar rankings&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''March 6th''' - '''Zone has a new Events Developer!''' {{News/Zone}}&lt;br /&gt;
&lt;br /&gt;
[[Image:screenshot_neo.gif]]&lt;br /&gt;
The new Events Developer is Deas_Voice (AKA Neo)&lt;br /&gt;
Today we say Welcome to Neo!&lt;br /&gt;
&lt;br /&gt;
* '''March 2nd''' - '''Atrius is back!''' {{News/Playerworlds}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Atrius.gif]]&lt;br /&gt;
&lt;br /&gt;
You can look foward to:&lt;br /&gt;
*Gangs&lt;br /&gt;
*Businesses&lt;br /&gt;
*New Quests with Prizes&lt;br /&gt;
*In-Game Instant Messaging&lt;br /&gt;
*GPS Style Map&lt;br /&gt;
*and much more...&lt;br /&gt;
&lt;br /&gt;
We hope you enjoy the new features and come and play! Enjoy!&lt;br /&gt;
 &lt;br /&gt;
-TheJames (Manager of Atrius)&lt;br /&gt;
&lt;br /&gt;
* '''March 1st''' - '''Utopia is back!''' {{News/Playerworlds}}&lt;br /&gt;
Utopia is currently back from it's &amp;quot;In-Developmental Staff-Only&amp;quot; state. A long&lt;br /&gt;
with the opening, we've introduced the:&lt;br /&gt;
*New Inside OSL&lt;br /&gt;
*Biz System (Still being developed)&lt;br /&gt;
*Ammo System (All guns)&lt;br /&gt;
&lt;br /&gt;
*Also, we are hiring:&lt;br /&gt;
*1-2 NAT's&lt;br /&gt;
*1-2 GAT's&lt;br /&gt;
*Please hop on and talk to Ork for a job.&lt;br /&gt;
&lt;br /&gt;
*All for now!&lt;br /&gt;
&lt;br /&gt;
*Best Regards,&lt;br /&gt;
*Ork&lt;br /&gt;
*Utopia General Manager&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=News/2008/March&amp;diff=10608</id>
		<title>News/2008/March</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=News/2008/March&amp;diff=10608"/>
		<updated>2008-03-06T22:01:27Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Updated AEON news&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== March ===&lt;br /&gt;
* '''March 7th''' - '''AEON has opened a world to players''' {{News/Playerworlds}}&lt;br /&gt;
[[Image:Server_aeon.png]]&lt;br /&gt;
&lt;br /&gt;
AEON has released its classic-themed overworld, Elan: The Faded Nation.&lt;br /&gt;
&lt;br /&gt;
The release of the overworld is accompanied by the release of several systems:&lt;br /&gt;
*A Town Takeover System. Guilds are able to capture Elan's Towns, and receive perks for controlling them.&lt;br /&gt;
*A hunting system.  Players can hunt animals and sell their hides for some cash.  Higher level hunters can choose more powerful weapons.&lt;br /&gt;
*A mining system.  Higher level Miners have an easier time mining.  Miners can also purchase better axes.  Draisines make it easier for Miners to travel through the mines.&lt;br /&gt;
*An automated Event Bot.  Elan offers a variety of events.  If an Event Staff is not on, the Event Bot temporarily takes the place of staff.&lt;br /&gt;
*Guild PK Rankings.  Guilds can prove they are the best by reaching the top of the Guild PK Rankings.&lt;br /&gt;
*A wide selection of Weapons and Prizes.  Shops are scattered throughout the playerworld.&lt;br /&gt;
&lt;br /&gt;
In the works:&lt;br /&gt;
*Guild and Individual Spar rankings&lt;br /&gt;
&lt;br /&gt;
* '''March 6th''' - '''Zone has a new Events Developer!''' {{News/Zone}}&lt;br /&gt;
&lt;br /&gt;
[[Image:screenshot_neo.gif]]&lt;br /&gt;
The new Events Developer is Deas_Voice (AKA Neo)&lt;br /&gt;
Today we say Welcome to Neo!&lt;br /&gt;
&lt;br /&gt;
* '''March 2nd''' - '''Atrius is back!''' {{News/Playerworlds}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Atrius.gif]]&lt;br /&gt;
&lt;br /&gt;
You can look foward to:&lt;br /&gt;
*Gangs&lt;br /&gt;
*Businesses&lt;br /&gt;
*New Quests with Prizes&lt;br /&gt;
*In-Game Instant Messaging&lt;br /&gt;
*GPS Style Map&lt;br /&gt;
*and much more...&lt;br /&gt;
&lt;br /&gt;
We hope you enjoy the new features and come and play! Enjoy!&lt;br /&gt;
 &lt;br /&gt;
-TheJames (Manager of Atrius)&lt;br /&gt;
&lt;br /&gt;
* '''March 1st''' - '''Utopia is back!''' {{News/Playerworlds}}&lt;br /&gt;
Utopia is currently back from it's &amp;quot;In-Developmental Staff-Only&amp;quot; state. A long&lt;br /&gt;
with the opening, we've introduced the:&lt;br /&gt;
*New Inside OSL&lt;br /&gt;
*Biz System (Still being developed)&lt;br /&gt;
*Ammo System (All guns)&lt;br /&gt;
&lt;br /&gt;
*Also, we are hiring:&lt;br /&gt;
*1-2 NAT's&lt;br /&gt;
*1-2 GAT's&lt;br /&gt;
*Please hop on and talk to Ork for a job.&lt;br /&gt;
&lt;br /&gt;
*All for now!&lt;br /&gt;
&lt;br /&gt;
*Best Regards,&lt;br /&gt;
*Ork&lt;br /&gt;
*Utopia General Manager&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=News/2008/March&amp;diff=10605</id>
		<title>News/2008/March</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=News/2008/March&amp;diff=10605"/>
		<updated>2008-03-06T04:34:30Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: /* March */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== March ===&lt;br /&gt;
* '''March 4th''' - '''AEON has opened a world to players''' {{News/Playerworlds}}&lt;br /&gt;
[[Image:Server_aeon.png]]&lt;br /&gt;
&lt;br /&gt;
AEON has released its classic-themed overworld, Elan: The Faded Nation.&lt;br /&gt;
&lt;br /&gt;
The release of the overworld is accompanied by the release of several systems:&lt;br /&gt;
*A Town Takeover System. Guilds are able to capture Elan's Towns, and receive perks for controlling them.&lt;br /&gt;
*A hunting system.  Players can hunt animals and sell their hides for some cash.  Higher level hunters can choose more powerful weapons.&lt;br /&gt;
*A mining system.  Higher level Miners have an easier time mining.  Miners can also purchase better axes.  Draisines make it easier for Miners to travel through the mines.&lt;br /&gt;
*An automated Event Bot.  Elan offers a variety of events.  If an Event Staff is not on, the Event Bot temporarily takes the place of staff.&lt;br /&gt;
*Guild PK Rankings.  Guilds can prove they are the best by reaching the top of the Guild PK Rankings.&lt;br /&gt;
&lt;br /&gt;
* '''March 2nd''' - '''Atrius is back!''' {{News/Playerworlds}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Atrius.gif]]&lt;br /&gt;
&lt;br /&gt;
You can look foward to:&lt;br /&gt;
*Gangs&lt;br /&gt;
*Businesses&lt;br /&gt;
*New Quests with Prizes&lt;br /&gt;
*In-Game Instant Messaging&lt;br /&gt;
*GPS Style Map&lt;br /&gt;
*and much more...&lt;br /&gt;
&lt;br /&gt;
We hope you enjoy the new features and come and play! Enjoy!&lt;br /&gt;
 &lt;br /&gt;
-TheJames (Manager of Atrius)&lt;br /&gt;
&lt;br /&gt;
* '''March 1st''' - '''Utopia is back!''' {{News/Playerworlds}}&lt;br /&gt;
Utopia is currently back from it's &amp;quot;In-Developmental Staff-Only&amp;quot; state. A long&lt;br /&gt;
with the opening, we've introduced the:&lt;br /&gt;
*New Inside OSL&lt;br /&gt;
*Biz System (Still being developed)&lt;br /&gt;
*Ammo System (All guns)&lt;br /&gt;
&lt;br /&gt;
*Also, we are hiring:&lt;br /&gt;
*1-2 NAT's&lt;br /&gt;
*1-2 GAT's&lt;br /&gt;
*Please hop on and talk to Ork for a job.&lt;br /&gt;
&lt;br /&gt;
*All for now!&lt;br /&gt;
&lt;br /&gt;
*Best Regards,&lt;br /&gt;
*Ork&lt;br /&gt;
*Utopia General Manager&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=News/2008/March&amp;diff=10604</id>
		<title>News/2008/March</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=News/2008/March&amp;diff=10604"/>
		<updated>2008-03-05T09:02:00Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: AEON news&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== March ===&lt;br /&gt;
* '''March 4th''' - '''AEON has opened a world to players''' {{News/Playerworlds}}&lt;br /&gt;
[[Image:Server_aeon.png]]&lt;br /&gt;
&lt;br /&gt;
AEON has released it's classic-themed overworld, Elan: The Faded Nation.&lt;br /&gt;
&lt;br /&gt;
The release of the overworld is accompanied by the release of several systems:&lt;br /&gt;
*A Town Takeover System. Guilds are able to capture Elan's Towns, and receive perks for controlling them.&lt;br /&gt;
*A hunting system.  Players can hunt animals and sell their hides for some cash.  Higher level hunters can choose more powerful weapons.&lt;br /&gt;
*A mining system.  Higher level Miners have an easier time mining.  Miners can also purchase better axes.  Draisines make it easier for Miners to travel through the mines.&lt;br /&gt;
*An automated Event Bot.  Elan offers a variety of events.  If an Event Staff is not on, the Event Bot temporarily takes the place of staff.&lt;br /&gt;
*Guild PK Rankings.  Guilds can prove they are the best by reaching the top of the Guild PK Rankings.&lt;br /&gt;
&lt;br /&gt;
* '''March 2nd''' - '''Atrius is back!''' {{News/Playerworlds}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Atrius.gif]]&lt;br /&gt;
&lt;br /&gt;
You can look foward to:&lt;br /&gt;
*Gangs&lt;br /&gt;
*Businesses&lt;br /&gt;
*New Quests with Prizes&lt;br /&gt;
*In-Game Instant Messaging&lt;br /&gt;
*GPS Style Map&lt;br /&gt;
*and much more...&lt;br /&gt;
&lt;br /&gt;
We hope you enjoy the new features and come and play! Enjoy!&lt;br /&gt;
 &lt;br /&gt;
-TheJames (Manager of Atrius)&lt;br /&gt;
&lt;br /&gt;
* '''March 1st''' - '''Utopia is back!''' {{News/Playerworlds}}&lt;br /&gt;
Utopia is currently back from it's &amp;quot;In-Developmental Staff-Only&amp;quot; state. A long&lt;br /&gt;
with the opening, we've introduced the:&lt;br /&gt;
*New Inside OSL&lt;br /&gt;
*Biz System (Still being developed)&lt;br /&gt;
*Ammo System (All guns)&lt;br /&gt;
&lt;br /&gt;
*Also, we are hiring:&lt;br /&gt;
*1-2 NAT's&lt;br /&gt;
*1-2 GAT's&lt;br /&gt;
*Please hop on and talk to Ork for a job.&lt;br /&gt;
&lt;br /&gt;
*All for now!&lt;br /&gt;
&lt;br /&gt;
*Best Regards,&lt;br /&gt;
*Ork&lt;br /&gt;
*Utopia General Manager&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=File:Server_aeon.png&amp;diff=10603</id>
		<title>File:Server aeon.png</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=File:Server_aeon.png&amp;diff=10603"/>
		<updated>2008-03-05T08:44:02Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/GuiControl&amp;diff=10492</id>
		<title>Creation/Dev/Script/Client/GuiControl</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/GuiControl&amp;diff=10492"/>
		<updated>2008-01-14T06:55:15Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: added clearControls()&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Script_Object}}&lt;br /&gt;
&lt;br /&gt;
Inherits from [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]].&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
&lt;br /&gt;
[[Image:Guicontrol_panel.png]]&lt;br /&gt;
&lt;br /&gt;
GuiControl is the base control, therefore general functions listed here are available to all GUI controls. Most of the time it is used as container for positioning groups of other controls. It can either have a border (border=1..5) or just be plain transparent, and just display its child controls.&lt;br /&gt;
&lt;br /&gt;
=Variables=&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| active&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| awake&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| canmove&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| canresize&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| controls&lt;br /&gt;
| object&lt;br /&gt;
| array of [[Creation/Dev/Script/Client/GuiControl|GuiControl]] (subcontrols)&lt;br /&gt;
|-&lt;br /&gt;
| editing&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| extent&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| height&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hint&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| horizsizing&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| layer&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| minextent&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| minsize&lt;br /&gt;
| string&lt;br /&gt;
| the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| parent&lt;br /&gt;
| object (read only)&lt;br /&gt;
| a [[Creation/Dev/Script/Client/GuiControl|GuiControl]]&lt;br /&gt;
|-&lt;br /&gt;
| position&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| profile&lt;br /&gt;
| object&lt;br /&gt;
| see [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]&lt;br /&gt;
|-&lt;br /&gt;
| resizeheight&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| resizewidth&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scrolllinex&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scrollliney&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showhint&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| useownprofile&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| vertsizing&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| visible&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| width&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| y&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Functions=&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Name'''&lt;br /&gt;
| '''Return Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| addcontrol(obj)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| bringtofront()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| clearControls()&lt;br /&gt;
|&lt;br /&gt;
| Removes all controls at once&lt;br /&gt;
|-&lt;br /&gt;
| destroy()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getparent()&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| globaltolocalcoord({x,y})&lt;br /&gt;
| {x,y}&lt;br /&gt;
| converts global screen coordinates to a position relative to the controls origin (0,0), can be used to know where exactly the user has clicked inside a control&lt;br /&gt;
|-&lt;br /&gt;
| hide()&lt;br /&gt;
|&lt;br /&gt;
| Hide the control&lt;br /&gt;
|-&lt;br /&gt;
| isfirstresponder()&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns whether or not this control is the first responder&lt;br /&gt;
|-&lt;br /&gt;
| localtoglobalcoord({x,y})&lt;br /&gt;
| {x,y}&lt;br /&gt;
| converts a position relative to the controls origin (0,0) to global screen coordinates, can be used to know where on the screen a control is displayed in case it is a child of another control (e.g. GuiWindowCtrl or GuiScrollCtrl)&lt;br /&gt;
|-&lt;br /&gt;
| makefirstresponder(bool)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| pushtoback()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| resize(int x, int y, int width, int height)&lt;br /&gt;
|&lt;br /&gt;
| Resize the control&lt;br /&gt;
|-&lt;br /&gt;
| show()&lt;br /&gt;
|&lt;br /&gt;
| Show the control&lt;br /&gt;
|-&lt;br /&gt;
| showtop()&lt;br /&gt;
|&lt;br /&gt;
| calls show(), tabfirst() and bringtofront()&lt;br /&gt;
|-&lt;br /&gt;
| tabfirst()&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Events=&lt;br /&gt;
&lt;br /&gt;
onAdd() - is invoked when the control is added to another control (addcontrol)&lt;br /&gt;
&lt;br /&gt;
onRemove() - is invoked when the control is removed from its parent&lt;br /&gt;
&lt;br /&gt;
onShow() - is invoked when the control is shown or gets awakened while being 'visible'&lt;br /&gt;
&lt;br /&gt;
onHide() - is invoked when the control is made hidden&lt;br /&gt;
&lt;br /&gt;
onWake() - is invoked when the control is awakened and becomes visible on the screen&lt;br /&gt;
&lt;br /&gt;
onSleep() - is invoked for windows when a dialog window is removed from the screen&lt;br /&gt;
&lt;br /&gt;
onMove(newx,newy) - is invoked when the control is moved&lt;br /&gt;
&lt;br /&gt;
onResize(newwidth,newheight) - is invoked when the control is resized&lt;br /&gt;
&lt;br /&gt;
onAction() - is invoked when a button control is pressed, you press the enter-key in a text edit control, or move a slider control, &lt;br /&gt;
&lt;br /&gt;
onDialogPush() - is invoked when a dialog control is placed on the screen (using pushDialog(control))&lt;br /&gt;
&lt;br /&gt;
onDialogPop() - is invoked when a dialog control is removed from the screen again (using popDialog())&lt;br /&gt;
&lt;br /&gt;
onKeyDown(keycode,keystring,scancode) - a key has been pressed while the control had the input focus (makeFirstResponder())&lt;br /&gt;
&lt;br /&gt;
onKeyUp(keycode,keystring,scancode) - the key has been released&lt;br /&gt;
&lt;br /&gt;
onMouseYawPitch(xaxis,yaxis) - mouse event in Graal3D when the mouse has been turned off&lt;br /&gt;
&lt;br /&gt;
onMouseDown(keymodifier,mousescreenx,mousescreeny,clickcount) - the left mouse button has been pressed inside this control&lt;br /&gt;
&lt;br /&gt;
onMouseUp(keymodifier,mousescreenx,mousescreeny) - the left mouse button has been released&lt;br /&gt;
&lt;br /&gt;
onMouseEnter(keymodifier,mousescreenx,mousescreeny) - the mouse moved inside this control&lt;br /&gt;
&lt;br /&gt;
onMouseLeave(keymodifier,mousescreenx,mousescreeny) - the mouse left the control&lt;br /&gt;
&lt;br /&gt;
onMouseDragged(keymodifier,mousescreenx,mousescreeny) - the mouse is moved while the left mouse button is pressed&lt;br /&gt;
&lt;br /&gt;
onMouseMove(keymodifier,mousescreenx,mousescreeny) - the mouse has been moved&lt;br /&gt;
&lt;br /&gt;
onRightMouseDown(keymodifier,mousescreenx,mousescreeny,clickcount) - the right mouse button has been pressed&lt;br /&gt;
&lt;br /&gt;
onRightMouseUp(keymodifier,mousescreenx,mousescreeny) - the right mouse button has been released&lt;br /&gt;
&lt;br /&gt;
onRightMouseDragged(keymodifier,mousescreenx,mousescreeny) - the mouse has been moved while the right mouse button is pressed&lt;br /&gt;
&lt;br /&gt;
onMouseWheelUp(keymodifier) - the mouse wheel has been scrolled up&lt;br /&gt;
&lt;br /&gt;
onMouseWheelDown(keymodifier) - the mouse wheel has been scrolled down&lt;br /&gt;
&lt;br /&gt;
=Example=&lt;br /&gt;
&lt;br /&gt;
  new GuiControl(&amp;quot;Test_Back&amp;quot;) {&lt;br /&gt;
    useownprofile = true;&lt;br /&gt;
    profile.border = 3;&lt;br /&gt;
    x = 10;&lt;br /&gt;
    y = 10;&lt;br /&gt;
    width = 160;&lt;br /&gt;
    height = 80;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
{{:Creation/Dev/Script/Client}}&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Playerworld_Renting&amp;diff=10491</id>
		<title>Creation/Playerworld Renting</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Playerworld_Renting&amp;diff=10491"/>
		<updated>2008-01-14T01:10:13Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Added RC Link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The steps to rent a GraalOnline server:&lt;br /&gt;
&lt;br /&gt;
* Buy a Developer Gold subscription at http://www.graalonline.com/playerworlds/stores/upgrade. You will receive an e-mail with further instructions. The price is currently $59 for 6 months and $99 for 1 year.&lt;br /&gt;
* Login with your client. You will see a new server on the list carrying your name.&lt;br /&gt;
* Now you can login to the server either with client (press F6 for client-RC) or with the [[Creation/Management/RC|RemoteControl ]] which lets you upload files, add other staff or chat with the other staff.&lt;br /&gt;
* To rename your server open a ticket at http://support.graalonline.com&lt;br /&gt;
&lt;br /&gt;
[http://support.graalonline.com/index.php?action=kb&amp;amp;article=59 Instructions]&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Server_options&amp;diff=10490</id>
		<title>Server options</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Server_options&amp;diff=10490"/>
		<updated>2008-01-13T23:19:12Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: added newnpcstorage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Options are usually set only by high [[Playerworld staff]], preferably only the [[Playerworld owner]], as they are very powerful and can be abused easily.&lt;br /&gt;
&lt;br /&gt;
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are not parsed, and can be used for comments.&lt;br /&gt;
&lt;br /&gt;
== Known Server Options ==&lt;br /&gt;
&lt;br /&gt;
Please add new options if you discover them.&lt;br /&gt;
&lt;br /&gt;
=== Start location ===&lt;br /&gt;
  startlevel=level name&lt;br /&gt;
  startx=number&lt;br /&gt;
  starty=number&lt;br /&gt;
&lt;br /&gt;
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].&lt;br /&gt;
&lt;br /&gt;
=== Unstick me location ===&lt;br /&gt;
  unstickmelevel=level name&lt;br /&gt;
  unstickmex=number&lt;br /&gt;
  unstickmey=number&lt;br /&gt;
&lt;br /&gt;
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.&lt;br /&gt;
&lt;br /&gt;
=== Protected Weapons ===&lt;br /&gt;
  protectedweapons=list of comma seperated weapon names&lt;br /&gt;
&lt;br /&gt;
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.&lt;br /&gt;
&lt;br /&gt;
=== Jail Levels ===&lt;br /&gt;
  jaillevels=level names comma separated&lt;br /&gt;
&lt;br /&gt;
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.&lt;br /&gt;
, ,&lt;br /&gt;
&lt;br /&gt;
=== Explosion Restriction ===&lt;br /&gt;
  noexplosions=true/false&lt;br /&gt;
&lt;br /&gt;
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].&lt;br /&gt;
&lt;br /&gt;
=== Statistic Restriction ===&lt;br /&gt;
  setbodyallowed=true/false&lt;br /&gt;
  setheadallowed=true/false&lt;br /&gt;
  setbomyallowed=true/false&lt;br /&gt;
  setswordallowed=true/false&lt;br /&gt;
  setshieldallowed=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the chat commands to change the player's [[Appearance commands|appearance]] are enabled. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
=== Gralat Loss Options ===&lt;br /&gt;
  mindeathgralats=number&lt;br /&gt;
  maxdeathgralats=number&lt;br /&gt;
&lt;br /&gt;
Defines the amount of [[Gralat]]s that the player drops on death.&lt;br /&gt;
&lt;br /&gt;
=== Staff Gralat Restriction ===&lt;br /&gt;
  normaladminscanchangegralats=true/false&lt;br /&gt;
&lt;br /&gt;
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.&lt;br /&gt;
&lt;br /&gt;
=== Local 'Staff Guilds' ===&lt;br /&gt;
  staffguilds=comma seperated list of guild names&lt;br /&gt;
&lt;br /&gt;
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist.&lt;br /&gt;
&lt;br /&gt;
=== `Bush' Items ===&lt;br /&gt;
  bushitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].&lt;br /&gt;
&lt;br /&gt;
=== `Baddy' Items ===&lt;br /&gt;
  baddyitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.&lt;br /&gt;
&lt;br /&gt;
=== `Healing' Swords ===&lt;br /&gt;
  healswords=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.&lt;br /&gt;
&lt;br /&gt;
=== Non-script timeouts ===&lt;br /&gt;
  respawntime=number&lt;br /&gt;
  horselifetime=number&lt;br /&gt;
  baddyrespawntime=number&lt;br /&gt;
&lt;br /&gt;
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]&lt;br /&gt;
&lt;br /&gt;
=== Server Scripting Flags ===&lt;br /&gt;
  dontaddserverflags=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.&lt;br /&gt;
&lt;br /&gt;
=== Server Maps ===&lt;br /&gt;
  bigmap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
  minimap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
&lt;br /&gt;
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.&lt;br /&gt;
&lt;br /&gt;
=== Warping (All Players) ===&lt;br /&gt;
  warptoforall=true/false&lt;br /&gt;
  warptoforlowadmins=true/false&lt;br /&gt;
&lt;br /&gt;
Whether all [[Player]]s can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.&lt;br /&gt;
&lt;br /&gt;
=== Warping Activation ===&lt;br /&gt;
  warpto=false/true&lt;br /&gt;
  ignorewarpto=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows the default [[Warpto]] command for all [[staff]], including [[Global]]s. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
Note that warpto=false will show a &amp;quot;(warping is disabled)&amp;quot; error message to [[Player]], whereas ignorewarpto=true will treat [[Warpto]] commands as just normal chat text and display no error message. &lt;br /&gt;
&lt;br /&gt;
The latter is good for replacing the default [[Warpto]] command with a scripted version.&lt;br /&gt;
&lt;br /&gt;
=== Ghost Mode ===&lt;br /&gt;
  ghostmodeenabled=true/false&lt;br /&gt;
  ghostmodefornotstaff=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.&lt;br /&gt;
&lt;br /&gt;
=== Playerlist Icons ===&lt;br /&gt;
  playerlisticons=comma seperated list of statusses&lt;br /&gt;
&lt;br /&gt;
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].&lt;br /&gt;
&lt;br /&gt;
=== Profile Variables ===&lt;br /&gt;
  profilevars=comma seperated list of profile variables&lt;br /&gt;
&lt;br /&gt;
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.&lt;br /&gt;
&lt;br /&gt;
=== Trial Account Limits ===&lt;br /&gt;
  limitfreeplayers2=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.&lt;br /&gt;
&lt;br /&gt;
=== AP System Activation ===&lt;br /&gt;
  apsystem=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.&lt;br /&gt;
&lt;br /&gt;
=== Starting AP ===&lt;br /&gt;
  startap=number&lt;br /&gt;
&lt;br /&gt;
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
=== Global Guilds Activation ===&lt;br /&gt;
  globalguilds=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
  allowedglobalguilds=guild,guild,guild&lt;br /&gt;
&lt;br /&gt;
This option limits what guilds can be used from the [[Global Guilds]] database. (Note: globalguilds= needs to be set to false so other guilds besides the allowed can not be used.&lt;br /&gt;
&lt;br /&gt;
=== AP Timeouts ===&lt;br /&gt;
  aptime0=number&lt;br /&gt;
  aptime1=number&lt;br /&gt;
  aptime2=number&lt;br /&gt;
  aptime3=number&lt;br /&gt;
  aptime4=number&lt;br /&gt;
&lt;br /&gt;
Time (in seconds) it takes to recharge one point of [[AP]] when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200.&lt;br /&gt;
&lt;br /&gt;
=== Heart/Sword Limits ===&lt;br /&gt;
  heartlimit=number&lt;br /&gt;
  swordlimit=number&lt;br /&gt;
&lt;br /&gt;
The maximum amount of fullhearts and swordpower that is allowed.&lt;br /&gt;
&lt;br /&gt;
=== 'putnpc' Scripting Command ===&lt;br /&gt;
  putnpcenabled=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Language Selection ===&lt;br /&gt;
  translatedlanguages=comma seperated list of language domains, like de,...&lt;br /&gt;
&lt;br /&gt;
The languages of which a [[Translation system|translation]] file shall be loaded by the server. If a file exists, signs and _() text will be replaced with values from the translation file for this language. See [[Creation/Dev/Releases/Client/5.006#Translation_System|Graal v5 release notes]] for more.&lt;br /&gt;
&lt;br /&gt;
=== Server Language ===&lt;br /&gt;
  serverlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.&lt;br /&gt;
&lt;br /&gt;
=== Default Language ===&lt;br /&gt;
  defaultlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English. Players see text in this language if their language is not in ''translatedlanguages''.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server 'Sleep' ===&lt;br /&gt;
  sleepwhennoplayers=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.&lt;br /&gt;
&lt;br /&gt;
=== Tilesets ===&lt;br /&gt;
  newtilesets=true/false&lt;br /&gt;
  newtilesetlevels=comma seperated list of levels&lt;br /&gt;
&lt;br /&gt;
Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall.&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
  staff=comma separated list of account names or community names&lt;br /&gt;
&lt;br /&gt;
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was &amp;gt; 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin rights]] will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]]. The ip-range will automatically be set to match their current ip / computer id once they login for the first time.&lt;br /&gt;
&lt;br /&gt;
=== GMAP List ===&lt;br /&gt;
  gmaps=comma seperated list of gmap files, without .gmap extension&lt;br /&gt;
&lt;br /&gt;
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.&lt;br /&gt;
&lt;br /&gt;
=== Weapon Order ===&lt;br /&gt;
  weaponorder=comma seperated list of weapon names&lt;br /&gt;
&lt;br /&gt;
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure that the inventory script that disables the [[Q menu]] will be sent first, for example. First, all weapons in this list will be sent in order, then all unlisted weapons.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Control Rights ===&lt;br /&gt;
  npcrights=true/false&lt;br /&gt;
&lt;br /&gt;
Whether [[NC rights]] are active. For security reasons, it is strongly recommended to set this to true.&lt;br /&gt;
&lt;br /&gt;
=== Kill Count ===&lt;br /&gt;
  dontchangekills=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the variables 'playerkills' and 'playerdeaths' can be changed [[serverside]] via [[GScript]].&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server Nickname ===&lt;br /&gt;
  nickname=string&lt;br /&gt;
&lt;br /&gt;
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.&lt;br /&gt;
&lt;br /&gt;
=== Speedhack Tolerance ===&lt;br /&gt;
  speedhacktolerance=number&lt;br /&gt;
&lt;br /&gt;
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.&lt;br /&gt;
&lt;br /&gt;
=== Idle Disconnect ===&lt;br /&gt;
  disconnectifnotmoved=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).&lt;br /&gt;
&lt;br /&gt;
=== Save Levels ===&lt;br /&gt;
  savelevels=true/false&lt;br /&gt;
&lt;br /&gt;
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels.&lt;br /&gt;
&lt;br /&gt;
  savelevelsmessage=true/false&lt;br /&gt;
&lt;br /&gt;
Specifies if saving of levels should be reported on the RC chat (by default enabled).&lt;br /&gt;
&lt;br /&gt;
=== Only Staff ===&lt;br /&gt;
  onlystaff=true&lt;br /&gt;
&lt;br /&gt;
=== Log script function calls ===&lt;br /&gt;
  scriptlogfunctions=write player.nick,write player.guild,call sendtonc,call sendtorc&lt;br /&gt;
&lt;br /&gt;
This lets the npcserver log script activity into logs/scriptfunctionslog.txt. You&lt;br /&gt;
can get a list of available functons / actions by typing ''/listscriptlogfunctions''&lt;br /&gt;
on RC chat. Currently only important or exploitable things can be logged. Keep care&lt;br /&gt;
to delete the logs from time to time.&lt;br /&gt;
&lt;br /&gt;
=== Log script errors to file ===&lt;br /&gt;
  logscripterrorstofile=true/false&lt;br /&gt;
&lt;br /&gt;
When enabled, all script errors (e.g. missing server-side script functions) will be logged into logs/scripterrors.txt instead of RC chat.&lt;br /&gt;
&lt;br /&gt;
=== Level Auto-Save ===&lt;br /&gt;
  levelsautosave=true/false&lt;br /&gt;
Whether or not updateboard2 changes are saved to the level file automatically (by default true). Works only if 'savelevels' is enabled as well.&lt;br /&gt;
&lt;br /&gt;
=== Sending Player Attributes ===&lt;br /&gt;
  sendtoallattr=comma seperated list of attribute numbers&lt;br /&gt;
Specifies which player attributes (#P/player.attr[]) are to be sent to all players on the server (instead of only to people who see you).&lt;br /&gt;
*Set the server options sendtoallattr=1,2,3 for sending attributes 1, 2 and 3 to all players.&lt;br /&gt;
*When #P1/attr[1] is changing then it is also invoking the event onPlayerChanges(player,id) like when the head is changing.&lt;br /&gt;
&lt;br /&gt;
=== Optimized NPC Storage ===&lt;br /&gt;
  newnpcstorage=true/false&lt;br /&gt;
Whether or not to use the optimized storage for NPCs placed via putnpc2.&lt;br /&gt;
If this option is set, NPCs with this.savelocally = true; will use the optimized NPC storage.  This is recommended for NPCs that do not need to be loaded when the server is started up or do not need to be sitting in memory all of the time.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Server_options&amp;diff=10489</id>
		<title>Server options</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Server_options&amp;diff=10489"/>
		<updated>2008-01-13T23:18:32Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Options are usually set only by high [[Playerworld staff]], preferably only the [[Playerworld owner]], as they are very powerful and can be abused easily.&lt;br /&gt;
&lt;br /&gt;
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are not parsed, and can be used for comments.&lt;br /&gt;
&lt;br /&gt;
== Known Server Options ==&lt;br /&gt;
&lt;br /&gt;
Please add new options if you discover them.&lt;br /&gt;
&lt;br /&gt;
=== Start location ===&lt;br /&gt;
  startlevel=level name&lt;br /&gt;
  startx=number&lt;br /&gt;
  starty=number&lt;br /&gt;
&lt;br /&gt;
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].&lt;br /&gt;
&lt;br /&gt;
=== Unstick me location ===&lt;br /&gt;
  unstickmelevel=level name&lt;br /&gt;
  unstickmex=number&lt;br /&gt;
  unstickmey=number&lt;br /&gt;
&lt;br /&gt;
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.&lt;br /&gt;
&lt;br /&gt;
=== Protected Weapons ===&lt;br /&gt;
  protectedweapons=list of comma seperated weapon names&lt;br /&gt;
&lt;br /&gt;
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.&lt;br /&gt;
&lt;br /&gt;
=== Jail Levels ===&lt;br /&gt;
  jaillevels=level names comma separated&lt;br /&gt;
&lt;br /&gt;
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.&lt;br /&gt;
, ,&lt;br /&gt;
&lt;br /&gt;
=== Explosion Restriction ===&lt;br /&gt;
  noexplosions=true/false&lt;br /&gt;
&lt;br /&gt;
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].&lt;br /&gt;
&lt;br /&gt;
=== Statistic Restriction ===&lt;br /&gt;
  setbodyallowed=true/false&lt;br /&gt;
  setheadallowed=true/false&lt;br /&gt;
  setbomyallowed=true/false&lt;br /&gt;
  setswordallowed=true/false&lt;br /&gt;
  setshieldallowed=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the chat commands to change the player's [[Appearance commands|appearance]] are enabled. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
=== Gralat Loss Options ===&lt;br /&gt;
  mindeathgralats=number&lt;br /&gt;
  maxdeathgralats=number&lt;br /&gt;
&lt;br /&gt;
Defines the amount of [[Gralat]]s that the player drops on death.&lt;br /&gt;
&lt;br /&gt;
=== Staff Gralat Restriction ===&lt;br /&gt;
  normaladminscanchangegralats=true/false&lt;br /&gt;
&lt;br /&gt;
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.&lt;br /&gt;
&lt;br /&gt;
=== Local 'Staff Guilds' ===&lt;br /&gt;
  staffguilds=comma seperated list of guild names&lt;br /&gt;
&lt;br /&gt;
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist.&lt;br /&gt;
&lt;br /&gt;
=== `Bush' Items ===&lt;br /&gt;
  bushitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].&lt;br /&gt;
&lt;br /&gt;
=== `Baddy' Items ===&lt;br /&gt;
  baddyitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.&lt;br /&gt;
&lt;br /&gt;
=== `Healing' Swords ===&lt;br /&gt;
  healswords=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.&lt;br /&gt;
&lt;br /&gt;
=== Non-script timeouts ===&lt;br /&gt;
  respawntime=number&lt;br /&gt;
  horselifetime=number&lt;br /&gt;
  baddyrespawntime=number&lt;br /&gt;
&lt;br /&gt;
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]&lt;br /&gt;
&lt;br /&gt;
=== Server Scripting Flags ===&lt;br /&gt;
  dontaddserverflags=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.&lt;br /&gt;
&lt;br /&gt;
=== Server Maps ===&lt;br /&gt;
  bigmap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
  minimap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
&lt;br /&gt;
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.&lt;br /&gt;
&lt;br /&gt;
=== Warping (All Players) ===&lt;br /&gt;
  warptoforall=true/false&lt;br /&gt;
  warptoforlowadmins=true/false&lt;br /&gt;
&lt;br /&gt;
Whether all [[Player]]s can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.&lt;br /&gt;
&lt;br /&gt;
=== Warping Activation ===&lt;br /&gt;
  warpto=false/true&lt;br /&gt;
  ignorewarpto=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows the default [[Warpto]] command for all [[staff]], including [[Global]]s. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
Note that warpto=false will show a &amp;quot;(warping is disabled)&amp;quot; error message to [[Player]], whereas ignorewarpto=true will treat [[Warpto]] commands as just normal chat text and display no error message. &lt;br /&gt;
&lt;br /&gt;
The latter is good for replacing the default [[Warpto]] command with a scripted version.&lt;br /&gt;
&lt;br /&gt;
=== Ghost Mode ===&lt;br /&gt;
  ghostmodeenabled=true/false&lt;br /&gt;
  ghostmodefornotstaff=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.&lt;br /&gt;
&lt;br /&gt;
=== Playerlist Icons ===&lt;br /&gt;
  playerlisticons=comma seperated list of statusses&lt;br /&gt;
&lt;br /&gt;
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].&lt;br /&gt;
&lt;br /&gt;
=== Profile Variables ===&lt;br /&gt;
  profilevars=comma seperated list of profile variables&lt;br /&gt;
&lt;br /&gt;
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.&lt;br /&gt;
&lt;br /&gt;
=== Trial Account Limits ===&lt;br /&gt;
  limitfreeplayers2=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.&lt;br /&gt;
&lt;br /&gt;
=== AP System Activation ===&lt;br /&gt;
  apsystem=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.&lt;br /&gt;
&lt;br /&gt;
=== Starting AP ===&lt;br /&gt;
  startap=number&lt;br /&gt;
&lt;br /&gt;
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
=== Global Guilds Activation ===&lt;br /&gt;
  globalguilds=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
  allowedglobalguilds=guild,guild,guild&lt;br /&gt;
&lt;br /&gt;
This option limits what guilds can be used from the [[Global Guilds]] database. (Note: globalguilds= needs to be set to false so other guilds besides the allowed can not be used.&lt;br /&gt;
&lt;br /&gt;
=== AP Timeouts ===&lt;br /&gt;
  aptime0=number&lt;br /&gt;
  aptime1=number&lt;br /&gt;
  aptime2=number&lt;br /&gt;
  aptime3=number&lt;br /&gt;
  aptime4=number&lt;br /&gt;
&lt;br /&gt;
Time (in seconds) it takes to recharge one point of [[AP]] when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200.&lt;br /&gt;
&lt;br /&gt;
=== Heart/Sword Limits ===&lt;br /&gt;
  heartlimit=number&lt;br /&gt;
  swordlimit=number&lt;br /&gt;
&lt;br /&gt;
The maximum amount of fullhearts and swordpower that is allowed.&lt;br /&gt;
&lt;br /&gt;
=== 'putnpc' Scripting Command ===&lt;br /&gt;
  putnpcenabled=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Language Selection ===&lt;br /&gt;
  translatedlanguages=comma seperated list of language domains, like de,...&lt;br /&gt;
&lt;br /&gt;
The languages of which a [[Translation system|translation]] file shall be loaded by the server. If a file exists, signs and _() text will be replaced with values from the translation file for this language. See [[Creation/Dev/Releases/Client/5.006#Translation_System|Graal v5 release notes]] for more.&lt;br /&gt;
&lt;br /&gt;
=== Server Language ===&lt;br /&gt;
  serverlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.&lt;br /&gt;
&lt;br /&gt;
=== Default Language ===&lt;br /&gt;
  defaultlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English. Players see text in this language if their language is not in ''translatedlanguages''.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server 'Sleep' ===&lt;br /&gt;
  sleepwhennoplayers=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.&lt;br /&gt;
&lt;br /&gt;
=== Tilesets ===&lt;br /&gt;
  newtilesets=true/false&lt;br /&gt;
  newtilesetlevels=comma seperated list of levels&lt;br /&gt;
&lt;br /&gt;
Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall.&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
  staff=comma separated list of account names or community names&lt;br /&gt;
&lt;br /&gt;
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was &amp;gt; 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin rights]] will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]]. The ip-range will automatically be set to match their current ip / computer id once they login for the first time.&lt;br /&gt;
&lt;br /&gt;
=== GMAP List ===&lt;br /&gt;
  gmaps=comma seperated list of gmap files, without .gmap extension&lt;br /&gt;
&lt;br /&gt;
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.&lt;br /&gt;
&lt;br /&gt;
=== Weapon Order ===&lt;br /&gt;
  weaponorder=comma seperated list of weapon names&lt;br /&gt;
&lt;br /&gt;
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure that the inventory script that disables the [[Q menu]] will be sent first, for example. First, all weapons in this list will be sent in order, then all unlisted weapons.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Control Rights ===&lt;br /&gt;
  npcrights=true/false&lt;br /&gt;
&lt;br /&gt;
Whether [[NC rights]] are active. For security reasons, it is strongly recommended to set this to true.&lt;br /&gt;
&lt;br /&gt;
=== Kill Count ===&lt;br /&gt;
  dontchangekills=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the variables 'playerkills' and 'playerdeaths' can be changed [[serverside]] via [[GScript]].&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server Nickname ===&lt;br /&gt;
  nickname=string&lt;br /&gt;
&lt;br /&gt;
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.&lt;br /&gt;
&lt;br /&gt;
=== Speedhack Tolerance ===&lt;br /&gt;
  speedhacktolerance=number&lt;br /&gt;
&lt;br /&gt;
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.&lt;br /&gt;
&lt;br /&gt;
=== Idle Disconnect ===&lt;br /&gt;
  disconnectifnotmoved=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).&lt;br /&gt;
&lt;br /&gt;
=== Save Levels ===&lt;br /&gt;
  savelevels=true/false&lt;br /&gt;
&lt;br /&gt;
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels.&lt;br /&gt;
&lt;br /&gt;
  savelevelsmessage=true/false&lt;br /&gt;
&lt;br /&gt;
Specifies if saving of levels should be reported on the RC chat (by default enabled).&lt;br /&gt;
&lt;br /&gt;
=== Only Staff ===&lt;br /&gt;
  onlystaff=true&lt;br /&gt;
&lt;br /&gt;
=== Log script function calls ===&lt;br /&gt;
  scriptlogfunctions=write player.nick,write player.guild,call sendtonc,call sendtorc&lt;br /&gt;
&lt;br /&gt;
This lets the npcserver log script activity into logs/scriptfunctionslog.txt. You&lt;br /&gt;
can get a list of available functons / actions by typing ''/listscriptlogfunctions''&lt;br /&gt;
on RC chat. Currently only important or exploitable things can be logged. Keep care&lt;br /&gt;
to delete the logs from time to time.&lt;br /&gt;
&lt;br /&gt;
=== Log script errors to file ===&lt;br /&gt;
  logscripterrorstofile=true/false&lt;br /&gt;
&lt;br /&gt;
When enabled, all script errors (e.g. missing server-side script functions) will be logged into logs/scripterrors.txt instead of RC chat.&lt;br /&gt;
&lt;br /&gt;
=== Level Auto-Save ===&lt;br /&gt;
  levelsautosave=true/false&lt;br /&gt;
Whether or not updateboard2 changes are saved to the level file automatically (by default true). Works only if 'savelevels' is enabled as well.&lt;br /&gt;
&lt;br /&gt;
=== Sending Player Attributes ===&lt;br /&gt;
  sendtoallattr=comma seperated list of attribute numbers&lt;br /&gt;
Specifies which player attributes (#P/player.attr[]) are to be sent to all players on the server (instead of only to people who see you).&lt;br /&gt;
*Set the server options sendtoallattr=1,2,3 for sending attributes 1, 2 and 3 to all players.&lt;br /&gt;
*When #P1/attr[1] is changing then it is also invoking the event onPlayerChanges(player,id) like when the head is changing.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Server_options&amp;diff=10488</id>
		<title>Server options</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Server_options&amp;diff=10488"/>
		<updated>2008-01-13T23:16:53Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: added newnpcstorage&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Options are usually set only by high [[Playerworld staff]], preferably only the [[Playerworld owner]], as they are very powerful and can be abused easily.&lt;br /&gt;
&lt;br /&gt;
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are not parsed, and can be used for comments.&lt;br /&gt;
&lt;br /&gt;
== Known Server Options ==&lt;br /&gt;
&lt;br /&gt;
Please add new options if you discover them.&lt;br /&gt;
&lt;br /&gt;
=== Start location ===&lt;br /&gt;
  startlevel=level name&lt;br /&gt;
  startx=number&lt;br /&gt;
  starty=number&lt;br /&gt;
&lt;br /&gt;
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].&lt;br /&gt;
&lt;br /&gt;
=== Unstick me location ===&lt;br /&gt;
  unstickmelevel=level name&lt;br /&gt;
  unstickmex=number&lt;br /&gt;
  unstickmey=number&lt;br /&gt;
&lt;br /&gt;
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.&lt;br /&gt;
&lt;br /&gt;
=== Protected Weapons ===&lt;br /&gt;
  protectedweapons=list of comma seperated weapon names&lt;br /&gt;
&lt;br /&gt;
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.&lt;br /&gt;
&lt;br /&gt;
=== Jail Levels ===&lt;br /&gt;
  jaillevels=level names comma separated&lt;br /&gt;
&lt;br /&gt;
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.&lt;br /&gt;
, ,&lt;br /&gt;
&lt;br /&gt;
=== Explosion Restriction ===&lt;br /&gt;
  noexplosions=true/false&lt;br /&gt;
&lt;br /&gt;
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].&lt;br /&gt;
&lt;br /&gt;
=== Statistic Restriction ===&lt;br /&gt;
  setbodyallowed=true/false&lt;br /&gt;
  setheadallowed=true/false&lt;br /&gt;
  setbomyallowed=true/false&lt;br /&gt;
  setswordallowed=true/false&lt;br /&gt;
  setshieldallowed=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the chat commands to change the player's [[Appearance commands|appearance]] are enabled. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
=== Gralat Loss Options ===&lt;br /&gt;
  mindeathgralats=number&lt;br /&gt;
  maxdeathgralats=number&lt;br /&gt;
&lt;br /&gt;
Defines the amount of [[Gralat]]s that the player drops on death.&lt;br /&gt;
&lt;br /&gt;
=== Staff Gralat Restriction ===&lt;br /&gt;
  normaladminscanchangegralats=true/false&lt;br /&gt;
&lt;br /&gt;
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.&lt;br /&gt;
&lt;br /&gt;
=== Local 'Staff Guilds' ===&lt;br /&gt;
  staffguilds=comma seperated list of guild names&lt;br /&gt;
&lt;br /&gt;
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist.&lt;br /&gt;
&lt;br /&gt;
=== `Bush' Items ===&lt;br /&gt;
  bushitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].&lt;br /&gt;
&lt;br /&gt;
=== `Baddy' Items ===&lt;br /&gt;
  baddyitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.&lt;br /&gt;
&lt;br /&gt;
=== `Healing' Swords ===&lt;br /&gt;
  healswords=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.&lt;br /&gt;
&lt;br /&gt;
=== Non-script timeouts ===&lt;br /&gt;
  respawntime=number&lt;br /&gt;
  horselifetime=number&lt;br /&gt;
  baddyrespawntime=number&lt;br /&gt;
&lt;br /&gt;
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]&lt;br /&gt;
&lt;br /&gt;
=== Server Scripting Flags ===&lt;br /&gt;
  dontaddserverflags=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.&lt;br /&gt;
&lt;br /&gt;
=== Server Maps ===&lt;br /&gt;
  bigmap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
  minimap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
&lt;br /&gt;
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.&lt;br /&gt;
&lt;br /&gt;
=== Warping (All Players) ===&lt;br /&gt;
  warptoforall=true/false&lt;br /&gt;
  warptoforlowadmins=true/false&lt;br /&gt;
&lt;br /&gt;
Whether all [[Player]]s can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.&lt;br /&gt;
&lt;br /&gt;
=== Warping Activation ===&lt;br /&gt;
  warpto=false/true&lt;br /&gt;
  ignorewarpto=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows the default [[Warpto]] command for all [[staff]], including [[Global]]s. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
Note that warpto=false will show a &amp;quot;(warping is disabled)&amp;quot; error message to [[Player]], whereas ignorewarpto=true will treat [[Warpto]] commands as just normal chat text and display no error message. &lt;br /&gt;
&lt;br /&gt;
The latter is good for replacing the default [[Warpto]] command with a scripted version.&lt;br /&gt;
&lt;br /&gt;
=== Ghost Mode ===&lt;br /&gt;
  ghostmodeenabled=true/false&lt;br /&gt;
  ghostmodefornotstaff=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.&lt;br /&gt;
&lt;br /&gt;
=== Playerlist Icons ===&lt;br /&gt;
  playerlisticons=comma seperated list of statusses&lt;br /&gt;
&lt;br /&gt;
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].&lt;br /&gt;
&lt;br /&gt;
=== Profile Variables ===&lt;br /&gt;
  profilevars=comma seperated list of profile variables&lt;br /&gt;
&lt;br /&gt;
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.&lt;br /&gt;
&lt;br /&gt;
=== Trial Account Limits ===&lt;br /&gt;
  limitfreeplayers2=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.&lt;br /&gt;
&lt;br /&gt;
=== AP System Activation ===&lt;br /&gt;
  apsystem=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.&lt;br /&gt;
&lt;br /&gt;
=== Starting AP ===&lt;br /&gt;
  startap=number&lt;br /&gt;
&lt;br /&gt;
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
=== Global Guilds Activation ===&lt;br /&gt;
  globalguilds=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
  allowedglobalguilds=guild,guild,guild&lt;br /&gt;
&lt;br /&gt;
This option limits what guilds can be used from the [[Global Guilds]] database. (Note: globalguilds= needs to be set to false so other guilds besides the allowed can not be used.&lt;br /&gt;
&lt;br /&gt;
=== AP Timeouts ===&lt;br /&gt;
  aptime0=number&lt;br /&gt;
  aptime1=number&lt;br /&gt;
  aptime2=number&lt;br /&gt;
  aptime3=number&lt;br /&gt;
  aptime4=number&lt;br /&gt;
&lt;br /&gt;
Time (in seconds) it takes to recharge one point of [[AP]] when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200.&lt;br /&gt;
&lt;br /&gt;
=== Heart/Sword Limits ===&lt;br /&gt;
  heartlimit=number&lt;br /&gt;
  swordlimit=number&lt;br /&gt;
&lt;br /&gt;
The maximum amount of fullhearts and swordpower that is allowed.&lt;br /&gt;
&lt;br /&gt;
=== 'putnpc' Scripting Command ===&lt;br /&gt;
  putnpcenabled=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Language Selection ===&lt;br /&gt;
  translatedlanguages=comma seperated list of language domains, like de,...&lt;br /&gt;
&lt;br /&gt;
The languages of which a [[Translation system|translation]] file shall be loaded by the server. If a file exists, signs and _() text will be replaced with values from the translation file for this language. See [[Creation/Dev/Releases/Client/5.006#Translation_System|Graal v5 release notes]] for more.&lt;br /&gt;
&lt;br /&gt;
=== Server Language ===&lt;br /&gt;
  serverlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.&lt;br /&gt;
&lt;br /&gt;
=== Default Language ===&lt;br /&gt;
  defaultlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English. Players see text in this language if their language is not in ''translatedlanguages''.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server 'Sleep' ===&lt;br /&gt;
  sleepwhennoplayers=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.&lt;br /&gt;
&lt;br /&gt;
=== Tilesets ===&lt;br /&gt;
  newtilesets=true/false&lt;br /&gt;
  newtilesetlevels=comma seperated list of levels&lt;br /&gt;
&lt;br /&gt;
Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall.&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
  staff=comma separated list of account names or community names&lt;br /&gt;
&lt;br /&gt;
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was &amp;gt; 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin rights]] will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]]. The ip-range will automatically be set to match their current ip / computer id once they login for the first time.&lt;br /&gt;
&lt;br /&gt;
=== GMAP List ===&lt;br /&gt;
  gmaps=comma seperated list of gmap files, without .gmap extension&lt;br /&gt;
&lt;br /&gt;
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.&lt;br /&gt;
&lt;br /&gt;
=== Weapon Order ===&lt;br /&gt;
  weaponorder=comma seperated list of weapon names&lt;br /&gt;
&lt;br /&gt;
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure that the inventory script that disables the [[Q menu]] will be sent first, for example. First, all weapons in this list will be sent in order, then all unlisted weapons.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Control Rights ===&lt;br /&gt;
  npcrights=true/false&lt;br /&gt;
&lt;br /&gt;
Whether [[NC rights]] are active. For security reasons, it is strongly recommended to set this to true.&lt;br /&gt;
&lt;br /&gt;
=== Kill Count ===&lt;br /&gt;
  dontchangekills=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the variables 'playerkills' and 'playerdeaths' can be changed [[serverside]] via [[GScript]].&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server Nickname ===&lt;br /&gt;
  nickname=string&lt;br /&gt;
&lt;br /&gt;
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.&lt;br /&gt;
&lt;br /&gt;
=== Speedhack Tolerance ===&lt;br /&gt;
  speedhacktolerance=number&lt;br /&gt;
&lt;br /&gt;
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.&lt;br /&gt;
&lt;br /&gt;
=== Idle Disconnect ===&lt;br /&gt;
  disconnectifnotmoved=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).&lt;br /&gt;
&lt;br /&gt;
=== Save Levels ===&lt;br /&gt;
  savelevels=true/false&lt;br /&gt;
&lt;br /&gt;
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels.&lt;br /&gt;
&lt;br /&gt;
  savelevelsmessage=true/false&lt;br /&gt;
&lt;br /&gt;
Specifies if saving of levels should be reported on the RC chat (by default enabled).&lt;br /&gt;
&lt;br /&gt;
=== Only Staff ===&lt;br /&gt;
  onlystaff=true&lt;br /&gt;
&lt;br /&gt;
=== Log script function calls ===&lt;br /&gt;
  scriptlogfunctions=write player.nick,write player.guild,call sendtonc,call sendtorc&lt;br /&gt;
&lt;br /&gt;
This lets the npcserver log script activity into logs/scriptfunctionslog.txt. You&lt;br /&gt;
can get a list of available functons / actions by typing ''/listscriptlogfunctions''&lt;br /&gt;
on RC chat. Currently only important or exploitable things can be logged. Keep care&lt;br /&gt;
to delete the logs from time to time.&lt;br /&gt;
&lt;br /&gt;
=== Log script errors to file ===&lt;br /&gt;
  logscripterrorstofile=true/false&lt;br /&gt;
&lt;br /&gt;
When enabled, all script errors (e.g. missing server-side script functions) will be logged into logs/scripterrors.txt instead of RC chat.&lt;br /&gt;
&lt;br /&gt;
=== Level Auto-Save ===&lt;br /&gt;
  levelsautosave=true/false&lt;br /&gt;
Whether or not updateboard2 changes are saved to the level file automatically (by default true). Works only if 'savelevels' is enabled as well.&lt;br /&gt;
&lt;br /&gt;
=== Sending Player Attributes ===&lt;br /&gt;
  sendtoallattr=comma seperated list of attribute numbers&lt;br /&gt;
Specifies which player attributes (#P/player.attr[]) are to be sent to all players on the server (instead of only to people who see you).&lt;br /&gt;
*Set the server options sendtoallattr=1,2,3 for sending attributes 1, 2 and 3 to all players.&lt;br /&gt;
*When #P1/attr[1] is changing then it is also invoking the event onPlayerChanges(player,id) like when the head is changing.&lt;br /&gt;
&lt;br /&gt;
== Optimized NPC Storage ==&lt;br /&gt;
  newnpcstorage=true/false&lt;br /&gt;
Whether or not to use the optimized storage for NPCs placed via putnpc2.&lt;br /&gt;
If this option is set, NPCs with this.savelocally = true; will use the optimized NPC storage.  This is recommended for NPCs that do not need to be loaded when the server is started up or do not need to be sitting in memory all of the time.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Server_options&amp;diff=10487</id>
		<title>Server options</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Server_options&amp;diff=10487"/>
		<updated>2008-01-13T23:04:29Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Removed  restrictclientrctoweapons (obsolete)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Options are usually set only by high [[Playerworld staff]], preferably only the [[Playerworld owner]], as they are very powerful and can be abused easily.&lt;br /&gt;
&lt;br /&gt;
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are not parsed, and can be used for comments.&lt;br /&gt;
&lt;br /&gt;
== Known Server Options ==&lt;br /&gt;
&lt;br /&gt;
Please add new options if you discover them.&lt;br /&gt;
&lt;br /&gt;
=== Start location ===&lt;br /&gt;
  startlevel=level name&lt;br /&gt;
  startx=number&lt;br /&gt;
  starty=number&lt;br /&gt;
&lt;br /&gt;
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].&lt;br /&gt;
&lt;br /&gt;
=== Unstick me location ===&lt;br /&gt;
  unstickmelevel=level name&lt;br /&gt;
  unstickmex=number&lt;br /&gt;
  unstickmey=number&lt;br /&gt;
&lt;br /&gt;
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.&lt;br /&gt;
&lt;br /&gt;
=== Protected Weapons ===&lt;br /&gt;
  protectedweapons=list of comma seperated weapon names&lt;br /&gt;
&lt;br /&gt;
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.&lt;br /&gt;
&lt;br /&gt;
=== Jail Levels ===&lt;br /&gt;
  jaillevels=level names comma separated&lt;br /&gt;
&lt;br /&gt;
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.&lt;br /&gt;
, ,&lt;br /&gt;
&lt;br /&gt;
=== Explosion Restriction ===&lt;br /&gt;
  noexplosions=true/false&lt;br /&gt;
&lt;br /&gt;
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].&lt;br /&gt;
&lt;br /&gt;
=== Statistic Restriction ===&lt;br /&gt;
  setbodyallowed=true/false&lt;br /&gt;
  setheadallowed=true/false&lt;br /&gt;
  setbomyallowed=true/false&lt;br /&gt;
  setswordallowed=true/false&lt;br /&gt;
  setshieldallowed=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the chat commands to change the player's [[Appearance commands|appearance]] are enabled. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
=== Gralat Loss Options ===&lt;br /&gt;
  mindeathgralats=number&lt;br /&gt;
  maxdeathgralats=number&lt;br /&gt;
&lt;br /&gt;
Defines the amount of [[Gralat]]s that the player drops on death.&lt;br /&gt;
&lt;br /&gt;
=== Staff Gralat Restriction ===&lt;br /&gt;
  normaladminscanchangegralats=true/false&lt;br /&gt;
&lt;br /&gt;
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.&lt;br /&gt;
&lt;br /&gt;
=== Local 'Staff Guilds' ===&lt;br /&gt;
  staffguilds=comma seperated list of guild names&lt;br /&gt;
&lt;br /&gt;
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist.&lt;br /&gt;
&lt;br /&gt;
=== `Bush' Items ===&lt;br /&gt;
  bushitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].&lt;br /&gt;
&lt;br /&gt;
=== `Baddy' Items ===&lt;br /&gt;
  baddyitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.&lt;br /&gt;
&lt;br /&gt;
=== `Healing' Swords ===&lt;br /&gt;
  healswords=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.&lt;br /&gt;
&lt;br /&gt;
=== Non-script timeouts ===&lt;br /&gt;
  respawntime=number&lt;br /&gt;
  horselifetime=number&lt;br /&gt;
  baddyrespawntime=number&lt;br /&gt;
&lt;br /&gt;
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]&lt;br /&gt;
&lt;br /&gt;
=== Server Scripting Flags ===&lt;br /&gt;
  dontaddserverflags=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.&lt;br /&gt;
&lt;br /&gt;
=== Server Maps ===&lt;br /&gt;
  bigmap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
  minimap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
&lt;br /&gt;
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.&lt;br /&gt;
&lt;br /&gt;
=== Warping (All Players) ===&lt;br /&gt;
  warptoforall=true/false&lt;br /&gt;
  warptoforlowadmins=true/false&lt;br /&gt;
&lt;br /&gt;
Whether all [[Player]]s can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.&lt;br /&gt;
&lt;br /&gt;
=== Warping Activation ===&lt;br /&gt;
  warpto=false/true&lt;br /&gt;
  ignorewarpto=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows the default [[Warpto]] command for all [[staff]], including [[Global]]s. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
Note that warpto=false will show a &amp;quot;(warping is disabled)&amp;quot; error message to [[Player]], whereas ignorewarpto=true will treat [[Warpto]] commands as just normal chat text and display no error message. &lt;br /&gt;
&lt;br /&gt;
The latter is good for replacing the default [[Warpto]] command with a scripted version.&lt;br /&gt;
&lt;br /&gt;
=== Ghost Mode ===&lt;br /&gt;
  ghostmodeenabled=true/false&lt;br /&gt;
  ghostmodefornotstaff=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.&lt;br /&gt;
&lt;br /&gt;
=== Playerlist Icons ===&lt;br /&gt;
  playerlisticons=comma seperated list of statusses&lt;br /&gt;
&lt;br /&gt;
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].&lt;br /&gt;
&lt;br /&gt;
=== Profile Variables ===&lt;br /&gt;
  profilevars=comma seperated list of profile variables&lt;br /&gt;
&lt;br /&gt;
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.&lt;br /&gt;
&lt;br /&gt;
=== Trial Account Limits ===&lt;br /&gt;
  limitfreeplayers2=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.&lt;br /&gt;
&lt;br /&gt;
=== AP System Activation ===&lt;br /&gt;
  apsystem=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.&lt;br /&gt;
&lt;br /&gt;
=== Starting AP ===&lt;br /&gt;
  startap=number&lt;br /&gt;
&lt;br /&gt;
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
=== Global Guilds Activation ===&lt;br /&gt;
  globalguilds=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
  allowedglobalguilds=guild,guild,guild&lt;br /&gt;
&lt;br /&gt;
This option limits what guilds can be used from the [[Global Guilds]] database. (Note: globalguilds= needs to be set to false so other guilds besides the allowed can not be used.&lt;br /&gt;
&lt;br /&gt;
=== AP Timeouts ===&lt;br /&gt;
  aptime0=number&lt;br /&gt;
  aptime1=number&lt;br /&gt;
  aptime2=number&lt;br /&gt;
  aptime3=number&lt;br /&gt;
  aptime4=number&lt;br /&gt;
&lt;br /&gt;
Time (in seconds) it takes to recharge one point of [[AP]] when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200.&lt;br /&gt;
&lt;br /&gt;
=== Heart/Sword Limits ===&lt;br /&gt;
  heartlimit=number&lt;br /&gt;
  swordlimit=number&lt;br /&gt;
&lt;br /&gt;
The maximum amount of fullhearts and swordpower that is allowed.&lt;br /&gt;
&lt;br /&gt;
=== 'putnpc' Scripting Command ===&lt;br /&gt;
  putnpcenabled=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Language Selection ===&lt;br /&gt;
  translatedlanguages=comma seperated list of language domains, like de,...&lt;br /&gt;
&lt;br /&gt;
The languages of which a [[Translation system|translation]] file shall be loaded by the server. If a file exists, signs and _() text will be replaced with values from the translation file for this language. See [[Creation/Dev/Releases/Client/5.006#Translation_System|Graal v5 release notes]] for more.&lt;br /&gt;
&lt;br /&gt;
=== Server Language ===&lt;br /&gt;
  serverlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.&lt;br /&gt;
&lt;br /&gt;
=== Default Language ===&lt;br /&gt;
  defaultlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English. Players see text in this language if their language is not in ''translatedlanguages''.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server 'Sleep' ===&lt;br /&gt;
  sleepwhennoplayers=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.&lt;br /&gt;
&lt;br /&gt;
=== Tilesets ===&lt;br /&gt;
  newtilesets=true/false&lt;br /&gt;
  newtilesetlevels=comma seperated list of levels&lt;br /&gt;
&lt;br /&gt;
Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall.&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
  staff=comma separated list of account names or community names&lt;br /&gt;
&lt;br /&gt;
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was &amp;gt; 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin rights]] will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]]. The ip-range will automatically be set to match their current ip / computer id once they login for the first time.&lt;br /&gt;
&lt;br /&gt;
=== GMAP List ===&lt;br /&gt;
  gmaps=comma seperated list of gmap files, without .gmap extension&lt;br /&gt;
&lt;br /&gt;
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.&lt;br /&gt;
&lt;br /&gt;
=== Weapon Order ===&lt;br /&gt;
  weaponorder=comma seperated list of weapon names&lt;br /&gt;
&lt;br /&gt;
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure that the inventory script that disables the [[Q menu]] will be sent first, for example. First, all weapons in this list will be sent in order, then all unlisted weapons.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Control Rights ===&lt;br /&gt;
  npcrights=true/false&lt;br /&gt;
&lt;br /&gt;
Whether [[NC rights]] are active. For security reasons, it is strongly recommended to set this to true.&lt;br /&gt;
&lt;br /&gt;
=== Kill Count ===&lt;br /&gt;
  dontchangekills=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the variables 'playerkills' and 'playerdeaths' can be changed [[serverside]] via [[GScript]].&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server Nickname ===&lt;br /&gt;
  nickname=string&lt;br /&gt;
&lt;br /&gt;
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.&lt;br /&gt;
&lt;br /&gt;
=== Speedhack Tolerance ===&lt;br /&gt;
  speedhacktolerance=number&lt;br /&gt;
&lt;br /&gt;
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.&lt;br /&gt;
&lt;br /&gt;
=== Idle Disconnect ===&lt;br /&gt;
  disconnectifnotmoved=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).&lt;br /&gt;
&lt;br /&gt;
=== Save Levels ===&lt;br /&gt;
  savelevels=true/false&lt;br /&gt;
&lt;br /&gt;
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels.&lt;br /&gt;
&lt;br /&gt;
  savelevelsmessage=true/false&lt;br /&gt;
&lt;br /&gt;
Specifies if saving of levels should be reported on the RC chat (by default enabled).&lt;br /&gt;
&lt;br /&gt;
=== Only Staff ===&lt;br /&gt;
  onlystaff=true&lt;br /&gt;
&lt;br /&gt;
=== Log script function calls ===&lt;br /&gt;
  scriptlogfunctions=write player.nick,write player.guild,call sendtonc,call sendtorc&lt;br /&gt;
&lt;br /&gt;
This lets the npcserver log script activity into logs/scriptfunctionslog.txt. You&lt;br /&gt;
can get a list of available functons / actions by typing ''/listscriptlogfunctions''&lt;br /&gt;
on RC chat. Currently only important or exploitable things can be logged. Keep care&lt;br /&gt;
to delete the logs from time to time.&lt;br /&gt;
&lt;br /&gt;
=== Log script errors to file ===&lt;br /&gt;
  logscripterrorstofile=true/false&lt;br /&gt;
&lt;br /&gt;
When enabled, all script errors (e.g. missing server-side script functions) will be logged into logs/scripterrors.txt instead of RC chat.&lt;br /&gt;
&lt;br /&gt;
=== Level Auto-Save ===&lt;br /&gt;
  levelsautosave=true/false&lt;br /&gt;
Whether or not updateboard2 changes are saved to the level file automatically (by default true). Works only if 'savelevels' is enabled as well.&lt;br /&gt;
&lt;br /&gt;
=== Sending Player Attributes ===&lt;br /&gt;
  sendtoallattr=comma seperated list of attribute numbers&lt;br /&gt;
Specifies which player attributes (#P/player.attr[]) are to be sent to all players on the server (instead of only to people who see you).&lt;br /&gt;
*Set the server options sendtoallattr=1,2,3 for sending attributes 1, 2 and 3 to all players.&lt;br /&gt;
*When #P1/attr[1] is changing then it is also invoking the event onPlayerChanges(player,id) like when the head is changing.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TShowImg&amp;diff=10486</id>
		<title>Creation/Dev/Script/Client/TShowImg</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TShowImg&amp;diff=10486"/>
		<updated>2008-01-13T22:59:09Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inherits [[Creation/Dev/Script/Client/TLevelObject|TLevelObject]].&lt;br /&gt;
&lt;br /&gt;
=Variables=&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| actor&lt;br /&gt;
| object&lt;br /&gt;
| If playerlook is false, this object is what inherits the appearance aspect of the animations ( if applied )&lt;br /&gt;
|-&lt;br /&gt;
| alpha&lt;br /&gt;
| float&lt;br /&gt;
| setting to a value below 1 will make the image transparent, set mode to 1 to get normal alpha transparency instead of a light effect&lt;br /&gt;
|-&lt;br /&gt;
| ani&lt;br /&gt;
| string&lt;br /&gt;
| animation file (gani, without the extension)&lt;br /&gt;
|-&lt;br /&gt;
| attachoffset&lt;br /&gt;
| {dx,dy,dz}&lt;br /&gt;
| if attachtoowner is enabled, then the showimg will be displayed with this offset relative to the owner &lt;br /&gt;
|-&lt;br /&gt;
| attachtoowner&lt;br /&gt;
| boolean&lt;br /&gt;
| if set to true, the showimg will automatically follow the owner &lt;br /&gt;
|-&lt;br /&gt;
| blue&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| code&lt;br /&gt;
| string&lt;br /&gt;
| the old representation as 'font@style@text'&lt;br /&gt;
|-&lt;br /&gt;
| dimension&lt;br /&gt;
| integer&lt;br /&gt;
| dimension of the &amp;quot;polygon&amp;quot; (either 2 or 3), specifies how many coordinates are given for each point&lt;br /&gt;
|-&lt;br /&gt;
| dir&lt;br /&gt;
| integer&lt;br /&gt;
| viewing direction of the animation (0..3)&lt;br /&gt;
|-&lt;br /&gt;
| emitter&lt;br /&gt;
| object (read only)&lt;br /&gt;
| a [[Creation/Dev/Script/Client/TParticleEmitter|TParticleEmitter]]&lt;br /&gt;
|-&lt;br /&gt;
| eulerrotation&lt;br /&gt;
| {rotx,roty,rotz}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| font&lt;br /&gt;
| string&lt;br /&gt;
| font type&lt;br /&gt;
|-&lt;br /&gt;
| green&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| image&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| imageindex&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| is3dlight&lt;br /&gt;
| boolean&lt;br /&gt;
| if set to true, this affects the brightness of near 3d objects (Graal3D)&lt;br /&gt;
|-&lt;br /&gt;
| layer&lt;br /&gt;
| integer&lt;br /&gt;
| 0 - draw under player, 2 - draw over player, 3 - draw as light, 4+ - stats layer&lt;br /&gt;
|-&lt;br /&gt;
| mode&lt;br /&gt;
| integer&lt;br /&gt;
| the image drawing mode (0 - add, 1 - transparent, 2 - subtract, 3 - daynight)&lt;br /&gt;
|-&lt;br /&gt;
| parth&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| partw&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| partx&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| party&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| playerlook&lt;br /&gt;
| boolean&lt;br /&gt;
| if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing actor.head etc.&lt;br /&gt;
|-&lt;br /&gt;
| polygon&lt;br /&gt;
| object&lt;br /&gt;
| array of coordinates&lt;br /&gt;
|-&lt;br /&gt;
| red&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rotation&lt;br /&gt;
| float&lt;br /&gt;
| rotation angle in radians&lt;br /&gt;
|-&lt;br /&gt;
| shadowcolor&lt;br /&gt;
| {red,green,blue}&lt;br /&gt;
| used in combination with textshadow=true&lt;br /&gt;
|-&lt;br /&gt;
| shadowoffset&lt;br /&gt;
| {offsetx,offsety}&lt;br /&gt;
| used in combination with textshadow=true&lt;br /&gt;
|-&lt;br /&gt;
| shape&lt;br /&gt;
| string&lt;br /&gt;
| 3D object file (dts, 3ds, ft, dif)&lt;br /&gt;
|-&lt;br /&gt;
| shapeobject&lt;br /&gt;
| object&lt;br /&gt;
| the actual 3D object once you have set &amp;quot;shape&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| stretchx&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stretchy&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| style&lt;br /&gt;
| string&lt;br /&gt;
| font style, combination of c (centered), r (right-aligned), b (bold), i (italic), u (underline) and s (strikeout)&lt;br /&gt;
|-&lt;br /&gt;
| text&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| textshadow&lt;br /&gt;
| boolean&lt;br /&gt;
| enables shadow&lt;br /&gt;
|-&lt;br /&gt;
| x&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| y&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| z&lt;br /&gt;
| float&lt;br /&gt;
| only used when the layer is below 4 &lt;br /&gt;
|-&lt;br /&gt;
| zoom&lt;br /&gt;
| float&lt;br /&gt;
| specifies the zoom factor of images, text or animations, or the radius of a 3d-light&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Player_attributes&amp;diff=10458</id>
		<title>Player attributes</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Player_attributes&amp;diff=10458"/>
		<updated>2008-01-07T22:15:52Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The properties of any given player. The client is usually afforded the ability to change the visual aspects of their player, whilst more important modifications - money, health and so on - can only be set from the [[RC]] or by using scripts designed to do so.&lt;br /&gt;
&lt;br /&gt;
The full list of attributes editable by the RC is listed below.&lt;br /&gt;
&lt;br /&gt;
'''Player look''': head, body, animation, skin colour, coat colour, sleeve colour, shoe colour and belt colour. ''These can usually be changed by the client using simple chat commands: see [[appearance commands]].''&lt;br /&gt;
&lt;br /&gt;
'''Player properties''': Level, x co-ordinate, y co-ordinate, [[hearts]], [[fullhearts]], [[AP]], [[MP]], [[gralats]], glove power, bomb count, arrow count, sword power, sword image, shield power, shield image, gender, weapon status, spin attack status, opened chests, weapons, and script flags.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Scripting items designed for editting player attributes include:&amp;lt;br /&amp;gt;&lt;br /&gt;
(''OBJ'': GScript1 -&amp;gt; GScript2)&amp;lt;br /&amp;gt;&lt;br /&gt;
''sword'': #1 -&amp;gt; player.swordimg&amp;lt;br /&amp;gt;&lt;br /&gt;
''shield'': #2 -&amp;gt; player.shieldimg&amp;lt;br /&amp;gt;&lt;br /&gt;
''head'': #3 -&amp;gt; player.headimg&amp;lt;br /&amp;gt;&lt;br /&gt;
''Body'': #8 -&amp;gt; player.bodyimg&amp;lt;br /&amp;gt;&lt;br /&gt;
''Skin'': #C0 -&amp;gt; player.colors[0]&amp;lt;br /&amp;gt;&lt;br /&gt;
''Shoes'': #C1 -&amp;gt; player.colors[1]&amp;lt;br /&amp;gt;&lt;br /&gt;
''Sleeves'': #C2 -&amp;gt; player.colors[2]&amp;lt;br /&amp;gt;&lt;br /&gt;
''Coat'': #C3 -&amp;gt; player.colors[3]&amp;lt;br /&amp;gt;&lt;br /&gt;
''Belt'': #C4 -&amp;gt; player.colors[4]&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Here's a simple list of player Variables.&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
players[index] -- gets player from level (for gmaps, this includes players in the 3x3 levels around you)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].x -- a player’s horizontal position&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].y -- a player’s vertical position&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].z -- a player’s z  position&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].rupees -- a player’s rupees count&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].bombs -- a player’s bombs count&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].darts -- a player’s darts count&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].mp -- a player’s magic points (0..100)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].ap -- a player’s alignment points (0..100)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].hearts -- a player’s hearts count&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].fullhearts -- a player’s max hearts count&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].dir -- a player’s (0-up,1-left,2-down,3-right)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].glovepower -- a player’s glove power (2-glove1,3-glove2)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].swordpower -- a player’s sword power (1-normal sword,2-axe,3-lizardsword,4-golden sword)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].shieldpower -- a player’s sield power (1-normal sword,2-mirror shield,3-lizard shield)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].headset -- a player’s head sprites set (”head”+playerheadset+”.gif”)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].sprite -- a player’s sprites set (0..40)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].anistep -- the anistep of the player)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].id -- a player’s id (=-1 for npc characters)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].saysnumber -- the (index+1)th  player says that number&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].id -- a player’s id (=-1 for npc characters)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].attachid -- the player is attached to the npc with that id (&amp;lt;=0-&amp;gt; not attached)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].attachtype -- the type of object the player is attached to&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].logintime -- when the player logged in (in timevar)&amp;lt;br&amp;gt;&lt;br /&gt;
players[index].lastdead -- when the player last died (in timevar)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
*[[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]]&lt;br /&gt;
**[[Creation/Dev/Script/Client/TPlayer|TPlayer]]&lt;br /&gt;
*[[Creation/Dev/Script Functions:_NPC_Server|Script Functions: NPC Server]]&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Server_options&amp;diff=10457</id>
		<title>Server options</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Server_options&amp;diff=10457"/>
		<updated>2008-01-07T22:11:57Z</updated>

		<summary type="html">&lt;p&gt;Napo p2p: Added sendtoallattr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Options are usually set only by high [[Playerworld staff]], preferably only the [[Playerworld owner]], as they are very powerful and can be abused easily.&lt;br /&gt;
&lt;br /&gt;
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are not parsed, and can be used for comments.&lt;br /&gt;
&lt;br /&gt;
== Known Server Options ==&lt;br /&gt;
&lt;br /&gt;
Please add new options if you discover them.&lt;br /&gt;
&lt;br /&gt;
=== Start location ===&lt;br /&gt;
  startlevel=level name&lt;br /&gt;
  startx=number&lt;br /&gt;
  starty=number&lt;br /&gt;
&lt;br /&gt;
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].&lt;br /&gt;
&lt;br /&gt;
=== Unstick me location ===&lt;br /&gt;
  unstickmelevel=level name&lt;br /&gt;
  unstickmex=number&lt;br /&gt;
  unstickmey=number&lt;br /&gt;
&lt;br /&gt;
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.&lt;br /&gt;
&lt;br /&gt;
=== Protected Weapons ===&lt;br /&gt;
  protectedweapons=list of comma seperated weapon names&lt;br /&gt;
&lt;br /&gt;
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.&lt;br /&gt;
&lt;br /&gt;
=== Jail Levels ===&lt;br /&gt;
  jaillevels=level names comma separated&lt;br /&gt;
&lt;br /&gt;
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.&lt;br /&gt;
, ,&lt;br /&gt;
&lt;br /&gt;
=== Explosion Restriction ===&lt;br /&gt;
  noexplosions=true/false&lt;br /&gt;
&lt;br /&gt;
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].&lt;br /&gt;
&lt;br /&gt;
=== Statistic Restriction ===&lt;br /&gt;
  setbodyallowed=true/false&lt;br /&gt;
  setheadallowed=true/false&lt;br /&gt;
  setbomyallowed=true/false&lt;br /&gt;
  setswordallowed=true/false&lt;br /&gt;
  setshieldallowed=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the chat commands to change the player's [[Appearance commands|appearance]] are enabled. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
=== Gralat Loss Options ===&lt;br /&gt;
  mindeathgralats=number&lt;br /&gt;
  maxdeathgralats=number&lt;br /&gt;
&lt;br /&gt;
Defines the amount of [[Gralat]]s that the player drops on death.&lt;br /&gt;
&lt;br /&gt;
=== Staff Gralat Restriction ===&lt;br /&gt;
  normaladminscanchangegralats=true/false&lt;br /&gt;
&lt;br /&gt;
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.&lt;br /&gt;
&lt;br /&gt;
=== Local 'Staff Guilds' ===&lt;br /&gt;
  staffguilds=comma seperated list of guild names&lt;br /&gt;
&lt;br /&gt;
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist.&lt;br /&gt;
&lt;br /&gt;
=== `Bush' Items ===&lt;br /&gt;
  bushitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].&lt;br /&gt;
&lt;br /&gt;
=== `Baddy' Items ===&lt;br /&gt;
  baddyitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.&lt;br /&gt;
&lt;br /&gt;
=== `Healing' Swords ===&lt;br /&gt;
  healswords=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.&lt;br /&gt;
&lt;br /&gt;
=== Non-script timeouts ===&lt;br /&gt;
  respawntime=number&lt;br /&gt;
  horselifetime=number&lt;br /&gt;
  baddyrespawntime=number&lt;br /&gt;
&lt;br /&gt;
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]&lt;br /&gt;
&lt;br /&gt;
=== Server Scripting Flags ===&lt;br /&gt;
  dontaddserverflags=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.&lt;br /&gt;
&lt;br /&gt;
=== Server Maps ===&lt;br /&gt;
  bigmap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
  minimap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
&lt;br /&gt;
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.&lt;br /&gt;
&lt;br /&gt;
=== Warping (All Players) ===&lt;br /&gt;
  warptoforall=true/false&lt;br /&gt;
  warptoforlowadmins=true/false&lt;br /&gt;
&lt;br /&gt;
Whether all [[Player]]s can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.&lt;br /&gt;
&lt;br /&gt;
=== Warping Activation ===&lt;br /&gt;
  warpto=false/true&lt;br /&gt;
  ignorewarpto=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows the default [[Warpto]] command for all [[staff]], including [[Global]]s. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
Note that warpto=false will show a &amp;quot;(warping is disabled)&amp;quot; error message to [[Player]], whereas ignorewarpto=true will treat [[Warpto]] commands as just normal chat text and display no error message. &lt;br /&gt;
&lt;br /&gt;
The latter is good for replacing the default [[Warpto]] command with a scripted version.&lt;br /&gt;
&lt;br /&gt;
=== Ghost Mode ===&lt;br /&gt;
  ghostmodeenabled=true/false&lt;br /&gt;
  ghostmodefornotstaff=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.&lt;br /&gt;
&lt;br /&gt;
=== Playerlist Icons ===&lt;br /&gt;
  playerlisticons=comma seperated list of statusses&lt;br /&gt;
&lt;br /&gt;
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].&lt;br /&gt;
&lt;br /&gt;
=== Profile Variables ===&lt;br /&gt;
  profilevars=comma seperated list of profile variables&lt;br /&gt;
&lt;br /&gt;
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.&lt;br /&gt;
&lt;br /&gt;
=== Trial Account Limits ===&lt;br /&gt;
  limitfreeplayers2=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.&lt;br /&gt;
&lt;br /&gt;
=== AP System Activation ===&lt;br /&gt;
  apsystem=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.&lt;br /&gt;
&lt;br /&gt;
=== Starting AP ===&lt;br /&gt;
  startap=number&lt;br /&gt;
&lt;br /&gt;
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
=== Global Guilds Activation ===&lt;br /&gt;
  globalguilds=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
  allowedglobalguilds=guild,guild,guild&lt;br /&gt;
&lt;br /&gt;
This option limits what guilds can be used from the [[Global Guilds]] database. (Note: globalguilds= needs to be set to false so other guilds besides the allowed can not be used.&lt;br /&gt;
&lt;br /&gt;
=== AP Timeouts ===&lt;br /&gt;
  aptime0=number&lt;br /&gt;
  aptime1=number&lt;br /&gt;
  aptime2=number&lt;br /&gt;
  aptime3=number&lt;br /&gt;
  aptime4=number&lt;br /&gt;
&lt;br /&gt;
Time (in seconds) it takes to recharge one point of [[AP]] when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200.&lt;br /&gt;
&lt;br /&gt;
=== Heart/Sword Limits ===&lt;br /&gt;
  heartlimit=number&lt;br /&gt;
  swordlimit=number&lt;br /&gt;
&lt;br /&gt;
The maximum amount of fullhearts and swordpower that is allowed.&lt;br /&gt;
&lt;br /&gt;
=== 'putnpc' Scripting Command ===&lt;br /&gt;
  putnpcenabled=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Language Selection ===&lt;br /&gt;
  translatedlanguages=comma seperated list of language domains, like de,...&lt;br /&gt;
&lt;br /&gt;
The languages of which a [[Translation system|translation]] file shall be loaded by the server. If a file exists, signs and _() text will be replaced with values from the translation file for this language. See [[Creation/Dev/Releases/Client/5.006#Translation_System|Graal v5 release notes]] for more.&lt;br /&gt;
&lt;br /&gt;
=== Server Language ===&lt;br /&gt;
  serverlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.&lt;br /&gt;
&lt;br /&gt;
=== Default Language ===&lt;br /&gt;
  defaultlanguage=language domain&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English. Players see text in this language if their language is not in ''translatedlanguages''.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server 'Sleep' ===&lt;br /&gt;
  sleepwhennoplayers=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.&lt;br /&gt;
&lt;br /&gt;
=== Tilesets ===&lt;br /&gt;
  newtilesets=true/false&lt;br /&gt;
  newtilesetlevels=comma seperated list of levels&lt;br /&gt;
&lt;br /&gt;
Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall.&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
  staff=comma separated list of account names or community names&lt;br /&gt;
&lt;br /&gt;
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was &amp;gt; 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin rights]] will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]]. The ip-range will automatically be set to match their current ip / computer id once they login for the first time.&lt;br /&gt;
&lt;br /&gt;
=== GMAP List ===&lt;br /&gt;
  gmaps=comma seperated list of gmap files, without .gmap extension&lt;br /&gt;
&lt;br /&gt;
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.&lt;br /&gt;
&lt;br /&gt;
=== Weapon Order ===&lt;br /&gt;
  weaponorder=comma seperated list of weapon names&lt;br /&gt;
&lt;br /&gt;
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure that the inventory script that disables the [[Q menu]] will be sent first, for example. First, all weapons in this list will be sent in order, then all unlisted weapons.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Control Rights ===&lt;br /&gt;
  npcrights=true/false&lt;br /&gt;
&lt;br /&gt;
Whether [[NC rights]] are active. For security reasons, it is strongly recommended to set this to true.&lt;br /&gt;
&lt;br /&gt;
=== Kill Count ===&lt;br /&gt;
  dontchangekills=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the variables 'playerkills' and 'playerdeaths' can be changed [[serverside]] via [[GScript]].&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server Nickname ===&lt;br /&gt;
  nickname=string&lt;br /&gt;
&lt;br /&gt;
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.&lt;br /&gt;
&lt;br /&gt;
=== Speedhack Tolerance ===&lt;br /&gt;
  speedhacktolerance=number&lt;br /&gt;
&lt;br /&gt;
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.&lt;br /&gt;
&lt;br /&gt;
=== Idle Disconnect ===&lt;br /&gt;
  disconnectifnotmoved=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).&lt;br /&gt;
&lt;br /&gt;
=== Save Levels ===&lt;br /&gt;
  savelevels=true/false&lt;br /&gt;
&lt;br /&gt;
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels.&lt;br /&gt;
&lt;br /&gt;
  savelevelsmessage=true/false&lt;br /&gt;
&lt;br /&gt;
Specifies if saving of levels should be reported on the RC chat (by default enabled).&lt;br /&gt;
&lt;br /&gt;
=== Only Staff ===&lt;br /&gt;
  onlystaff=true&lt;br /&gt;
&lt;br /&gt;
=== Log script function calls ===&lt;br /&gt;
  scriptlogfunctions=write player.nick,write player.guild,call sendtonc,call sendtorc&lt;br /&gt;
&lt;br /&gt;
This lets the npcserver log script activity into logs/scriptfunctionslog.txt. You&lt;br /&gt;
can get a list of available functons / actions by typing ''/listscriptlogfunctions''&lt;br /&gt;
on RC chat. Currently only important or exploitable things can be logged. Keep care&lt;br /&gt;
to delete the logs from time to time.&lt;br /&gt;
&lt;br /&gt;
=== Log script errors to file ===&lt;br /&gt;
  logscripterrorstofile=true/false&lt;br /&gt;
&lt;br /&gt;
When enabled, all script errors (e.g. missing server-side script functions) will be logged into logs/scripterrors.txt instead of RC chat.&lt;br /&gt;
&lt;br /&gt;
=== Level Auto-Save ===&lt;br /&gt;
  levelsautosave=true/false&lt;br /&gt;
Whether or not updateboard2 changes are saved to the level file automatically (by default true). Works only if 'savelevels' is enabled as well.&lt;br /&gt;
&lt;br /&gt;
=== Client RC Restriction ===&lt;br /&gt;
  restrictclientrctoweapons=comma seperated list of weapon names&lt;br /&gt;
Specifies [[NPC weapon]] [[GScript|scripts]] that can use client [[RC]].&lt;br /&gt;
&lt;br /&gt;
=== Sending Player Attributes ===&lt;br /&gt;
  sendtoallattr=comma seperated list of attribute numbers&lt;br /&gt;
Specifies which player attributes (#P/player.attr[]) are to be sent to all players on the server (instead of only to people who see you).&lt;br /&gt;
*Set the server options sendtoallattr=1,2,3 for sending attributes 1, 2 and 3 to all players.&lt;br /&gt;
*When #P1/attr[1] is changing then it is also invoking the event onPlayerChanges(player,id) like when the head is changing.&lt;/div&gt;</summary>
		<author><name>Napo p2p</name></author>
	</entry>
</feed>