<?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=Riot</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=Riot"/>
	<link rel="alternate" type="text/html" href="https://graalonline.net/Special:Contributions/Riot"/>
	<updated>2026-04-09T22:34:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=8160</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=8160"/>
		<updated>2007-02-21T05:02:58Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Tournaments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Tournaments==&lt;br /&gt;
Delteria has several weekly event tournaments. They are hosted depending on the turn-out, if there are not enough people online the tournaments will not be hosted.&lt;br /&gt;
&lt;br /&gt;
''All times are EST''&lt;br /&gt;
&lt;br /&gt;
'''Delteria Spar Tournament'''&lt;br /&gt;
* Singles&lt;br /&gt;
** ''When:'' 8:45 PM Saturday&lt;br /&gt;
** ''Objective:'' Simple spar tournament. Single elimination. The winner of the tournament then faces the former week's winner in a best of 3 match.&lt;br /&gt;
* Tag Team&lt;br /&gt;
** ''When:'' 7:45 PM Monday&lt;br /&gt;
** ''Objective:'' 2v2 spar tournament. Single elimination. The winners of the tournament face the former week's winners in a best of 3 match. If only one of the former week's winners is present, he/she may pick a replacement.&lt;br /&gt;
&lt;br /&gt;
'''Tag Team Charge'''&lt;br /&gt;
* ''When:'' 7:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' It is a one-hit kill match with teams of two. The team with one or both members still alive wins. Any and all ties are dismissed and replayed until there is a winner. All matches are a best-of-three series. The winners face the former week's winner in a best of 5 match.&lt;br /&gt;
&lt;br /&gt;
'''King of the Ring'''&lt;br /&gt;
* Singles&lt;br /&gt;
** ''When:'' 7:45 PM Wednesday&lt;br /&gt;
** ''Objective:'' Knock the other person out of the ring to win your round. Single elimination. The winner of the tournament faces the former week's winner in a best of three match.&lt;br /&gt;
* Tag Team&lt;br /&gt;
** ''When:'' 7:45 PM Thursday&lt;br /&gt;
** ''Objective:'' Knock the other team out of the ring to win your round. Team with one or both players in the ring wins. The winners of the tournament face the former week's winners in a best of three match.&lt;br /&gt;
&lt;br /&gt;
'''Contra'''&lt;br /&gt;
* ''When:'' 7:45 PM Friday&lt;br /&gt;
* ''Objective:'' One on one shoot out between 2 players. Hearts and sword level will be considered to make things even. (Minimum of 10 hearts and level 2 sword however) Any and all ties are dismissed and replayed until there is a winner.&lt;br /&gt;
&lt;br /&gt;
You can find more information [http://forums.delteria.com/index.php?showtopic=2792 on our forums].&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:MisconceptioN|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Bitterchaos|Sandz]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:FROboy|Suoirafen]] || Events Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Clientside&amp;diff=8159</id>
		<title>Clientside</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Clientside&amp;diff=8159"/>
		<updated>2007-02-21T04:55:25Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Scripting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Intro==&lt;br /&gt;
Clientside scripts are done on your '''client'''. This means that clientside scripts do not cause server lag, but are also easily hackable. [[Serverside]] is the opposite, and is done on the [[NPC-Server]].&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
Variables that can be set clientside (for the player) are variables that start with player.client. When scripting, the '''player.''' is not usually included. '''client.''' variables can be edited either [[Serverside]] or Clientside. Since these variables can be edited on Clientside, they can be changed using almost any memory editor.&lt;br /&gt;
&lt;br /&gt;
==Scripting==&lt;br /&gt;
Scripts run on Clientside happen '''only to the player'''. If you were to show an image on Clientside, it would not show up to other players (unless the index is below 200). The advantages of Clientside scripting are that there is no server lag, GUIs are possible ([[Creation/Dev/Script/Client/GuiControls_List|Gui Controls]] and showimg), and it applies to only one player (try writing a serverside system script).&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
An example of a clientside script would start with '''//#CLIENTSIDE'''. The code follows this.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//#CLIENTSIDE&lt;br /&gt;
function onCreated()&lt;br /&gt;
{&lt;br /&gt;
  player.chat = &amp;quot;This is a Clientside script!&amp;quot;;&lt;br /&gt;
  callFunction();&lt;br /&gt;
}&lt;br /&gt;
function callFunction()&lt;br /&gt;
{&lt;br /&gt;
  say2( &amp;quot;Congratulations, you just called a function!&amp;quot; );&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerLevel&amp;diff=8158</id>
		<title>Creation/Dev/Script/Client/TServerLevel</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerLevel&amp;diff=8158"/>
		<updated>2007-02-21T04:49:08Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Functions */ missing comma for findareanpcs()&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inherits [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| compsdead&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| Returns true if there is no living baddy in the level.&lt;br /&gt;
|-&lt;br /&gt;
| height&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isnopkzone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| Whether players may kill each other in this level. (noplayerkilling() function used)&lt;br /&gt;
|-&lt;br /&gt;
| issparringzone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| nopkzone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| See ''isnopkzone''&lt;br /&gt;
|-&lt;br /&gt;
| tilelayercount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Functions=&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;
| '''Return Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| findareanpcs(float x, float y, float width, float height)&lt;br /&gt;
| object&lt;br /&gt;
| Returns an array of all npcs within the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| hitcompu(int id, int power, float fromx, float fromy)&lt;br /&gt;
|&lt;br /&gt;
| Hurts a baddy.&lt;br /&gt;
|-&lt;br /&gt;
| putbomb(int power, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Places a bomb on the level. (power of 0 - bomb, 1 - superbomb, 2 - joltbomb)&lt;br /&gt;
|-&lt;br /&gt;
| putcomp(str baddyname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Places a baddy on the level.&lt;br /&gt;
Baddy Names:&lt;br /&gt;
* graysoldier&lt;br /&gt;
* bluesoldier&lt;br /&gt;
* redsoldier&lt;br /&gt;
* shootingsoldier&lt;br /&gt;
* swampsoldier&lt;br /&gt;
* frog&lt;br /&gt;
* octopus (spider)&lt;br /&gt;
* goldenwarrior&lt;br /&gt;
* lizardon&lt;br /&gt;
* dragon&lt;br /&gt;
|-&lt;br /&gt;
| putexplosion(int power, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| putexplosion2(int power, int radius, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| puthorse(str image, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| putnewcomp(str baddyname, float x, float y, str imgname, int power)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| reflectarrow(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removebomb(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removecompus()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removeexplo(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removehorse(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removeitem(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shoot(float x, float y, float z, float angle, float zangle, float strength, str ani, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| shoots a projectile&lt;br /&gt;
|-&lt;br /&gt;
| testbomb(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testexplo(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testhorse(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testitem(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testnpc(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testsign(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| tiletype(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Projects/Global/GlobalConnect&amp;diff=8084</id>
		<title>Projects/Global/GlobalConnect</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Projects/Global/GlobalConnect&amp;diff=8084"/>
		<updated>2007-02-03T17:38:07Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Members */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General Information==&lt;br /&gt;
GlobalConnect is a group on the [http://forums.graalonline.com/ Graal Communication Center] that has access to a special forum.  This forum is a place for members to establish a connection between the playerworld population and the global population.  This forum also is a great place for playerworlds to discuss general ideas including projects by [[Projects/Global/The Graal Reform|The Graal Reform]].&lt;br /&gt;
&lt;br /&gt;
==How to Join==&lt;br /&gt;
Currently the only way to gain access to this group is to be on the list of five selected people for any specific playerworld or to join [[Projects/Global/The Graal Reform|The Graal Reform]].  There are sometimes a few exceptions given to special individuals.&lt;br /&gt;
&lt;br /&gt;
==Members==&lt;br /&gt;
All members currently have subgroup associated with them which shall be displayed.  Here are all the members don't associated with a playerworld per-say (names in ''italics'' are awaiting approval and names in '''bold''' are awaiting removal).&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;
| '''Group'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Banana_Lee|Banana_Lee]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:centauriongod|centauriongod]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Hoyt1134|Hoyt1334]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:hrr4|hrr4]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Ibonic|Ibonic]]&lt;br /&gt;
| Account Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:James205|James205]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:kungfujoe|kungfujoe]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:MEisGQ|MEisGQ]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Nitkizi|Nitkizi]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Sanastro|Sanastro]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Skyld|Skyld]]&lt;br /&gt;
| Global Scripting Team Member&lt;br /&gt;
|-&lt;br /&gt;
| [[User:SmallLars|SmallLars]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| [[User:ZazenP2P|ZazenP2p]]&lt;br /&gt;
| Unknown&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:zokemon|zokemon]]''&lt;br /&gt;
| [[Projects/Global/The Graal Reform|The Graal Reform]] Head&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Here is the list of all members associated with a playerworld (names in ''italics'' are awaiting approval and names in '''bold''' are awaiting removal).&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;
| '''Playerworld'''&lt;br /&gt;
| '''Member 1'''&lt;br /&gt;
| '''Member 2'''&lt;br /&gt;
| '''Member 3'''&lt;br /&gt;
| '''Member 4'''&lt;br /&gt;
| '''Member 5'''&lt;br /&gt;
|-&lt;br /&gt;
| Atlantis&lt;br /&gt;
| [[User:zwr|zwr]]&lt;br /&gt;
| [[User:Enton|Enton]]&lt;br /&gt;
| [[User:khnwffm|khnwffm]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| Classic&lt;br /&gt;
| [[User:Polo|Polo]]&lt;br /&gt;
| [[User:StrykerTFFD|StrykerTFFD]]&lt;br /&gt;
| [[User:Nightmareangel|Nightmareangel]]&lt;br /&gt;
| [[User:EvilOmniscience|EvilOmniscience]]&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| Delteria&lt;br /&gt;
| [[User:MisconceptioN|MisconceptioN]]&lt;br /&gt;
| [[User:Riot|Riot]]&lt;br /&gt;
| [[User:LilNiglet|LilNiglet]]&lt;br /&gt;
| [[User:dysangelium|dysangelium]]&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| Era&lt;br /&gt;
| [[User:Cassy|Cassy]]&lt;br /&gt;
| [[User:Chris|Chris]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| N-Pulse&lt;br /&gt;
| [[User:Andy182|Andy182]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| Maloria&lt;br /&gt;
| [[User:Maniaman|Maniaman]]&lt;br /&gt;
| [[User:xManiamaNx|xManiamaNx]]&lt;br /&gt;
| [[User:TB3|TB3]]&lt;br /&gt;
| [[User:DarkPhantom316|DarkPhantom316]]&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| Unholy Nation&lt;br /&gt;
| [[User:WiKKiD|WiKKid]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| Valikorlia&lt;br /&gt;
| [[User:Clash|Clash]]&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
|-&lt;br /&gt;
| Zodiac&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
| ---&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{template:stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Riot&amp;diff=8075</id>
		<title>User:Riot</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Riot&amp;diff=8075"/>
		<updated>2007-01-31T23:09:23Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Contact Information */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Player}}&lt;br /&gt;
Riot has been playing [[Graal]] on and off since late-1999.&lt;br /&gt;
=Staff Positions=&lt;br /&gt;
Current Co Manager of [[Worlds/Delteria|Delteria]]&lt;br /&gt;
=Contact Information=&lt;br /&gt;
Riot can be contacted by:&lt;br /&gt;
* E-mail: [mailto:riot@delteria.com riot@delteria.com]&lt;br /&gt;
* Forum PM: Riot at the [http://forums.graalonline.com/forums/private.php?do=newpm&amp;amp;u=3179 GCC] or Riot at the [http://forums.delteria.com/index.php?act=Msg&amp;amp;CODE=4&amp;amp;MID=1 Delteria Forums]&lt;br /&gt;
* Jabber: riot@delteria.com&lt;br /&gt;
* In-Game: Usually on [[Worlds/Delteria|Delteria]] or Delteria Dev&lt;br /&gt;
&lt;br /&gt;
=Accounts=&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;
| '''Email address'''&lt;br /&gt;
| '''Admin level'''&lt;br /&gt;
| '''Free upgrades'''&lt;br /&gt;
| '''Banned?'''&lt;br /&gt;
| '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| Riot&lt;br /&gt;
| justinharper@cfl.rr.com&lt;br /&gt;
| 0/all&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Primary account&lt;br /&gt;
|-&lt;br /&gt;
| Riot-Starter&lt;br /&gt;
| -&lt;br /&gt;
| 0/all&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Testing account.&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Playerworld4&lt;br /&gt;
| -&lt;br /&gt;
| 1/playerworld4&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Delteria Dev administrator account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=8048</id>
		<title>Creation/Dev/Script/Client</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=8048"/>
		<updated>2007-01-20T23:05:48Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Client Supported Script Features=&lt;br /&gt;
&lt;br /&gt;
==Settings==&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;
| $camera::movementspeed&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::choosenvoicecodec&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivatebyvolume&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivationlevel&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microinputdevice&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microon&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microvolumefactor&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::midivolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::mp3volume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::radiovolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::reversestereo&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::sfxvolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::voicevolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::allowglobalpms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::automapping&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::defaultfontsize&lt;br /&gt;
| integer&lt;br /&gt;
| Change showtext zoom: $pref::graal::defaultfontsize/24&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontconnectlevels&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontloadlistheads&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepasswords&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedport&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedudpport&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::language&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::limitnicknames&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::loadbuddylistfromserver&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nicknamelimit&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nomassmessages&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::notoalls&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::noudp&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::showyourselfonbuddylists&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::input::mousesensitivity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::interior::lockarrays&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::terrain::enabledetails&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::detailfactor&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fogdistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fullscreenmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::screenshotformat&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::visibledistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::windowmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $scenelighting::lightingprogress&lt;br /&gt;
| float (read only)&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| for use with enablefeatures(), it's the default unless it is changed.&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The size of the allplayers array.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all stats currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player has spin attack&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a black stone&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a bush&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying an NPC.&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the file currently being downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Amount of download file already downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Size of the file being downloaded&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 (read only)&lt;br /&gt;
| The letter of the emoticon being displayed by the player&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| float (read only)&lt;br /&gt;
| X coordinate of the center of playing screen in the level, offset -1.5&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Y coordinate of the center of playing screen in the level, offset -2&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Graal version&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| float&lt;br /&gt;
| Downward acceleration for projectiles ejected with the shoot() function.&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying anything&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if you are running graal 3D&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is the first person in the level&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is on a map&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the left mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| float (read only)&lt;br /&gt;
| The x-value of the levels' origin (may deviate with attachplayertoobj)&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| float (read only)&lt;br /&gt;
| The y-value of the levels' origin (may deviate with attachplayertoobj)&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled light effects&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled weather effects&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled particle effects&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the middle mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Counts the amount of mousebuttons pressed&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Amount that the mouse scroll wheel was scrolled [(-) is up, (+) is down]&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| float&lt;br /&gt;
| X coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| float&lt;br /&gt;
| Y coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| musiclen&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The duration of the playing sound file&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The position in the file at which the sound file is&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the right mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Height of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Width of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| object&lt;br /&gt;
| an array of players highlighted 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 player.weapons that references the player's current weapon&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the current 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 (read only)&lt;br /&gt;
| True if the player was shot by a baddy&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player was shot by another player&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A timer which is increased each 5 seconds and is snychronized between server and clients; The timer started exactly on 2001-02-01 at 18:33:34 Paris time (opening of Graal2001); on serverside the unixtime (timevar2) is around 981048814 + timevar*5&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Unix-time with a very high precision, not synchronized between server and client&lt;br /&gt;
|-&lt;br /&gt;
| timevar3 &lt;br /&gt;
| float (read only)&lt;br /&gt;
| synchronized time which works on both server- and client-side, precision is milliseconds, only available for Graal3D right now&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| float&lt;br /&gt;
| The height of water at the player's (x,y) on a terrain&lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| object (read only)&lt;br /&gt;
| An array of weapon objects&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Are weapons enabled? (Player can trigger onWeaponFired...)&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;
==Variable Prefixes==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Prefix'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| object.var&lt;br /&gt;
| accesses the variables of the object. The object can be retrieved by using the case-sensitive name of the object or a variable pointing to the object.&lt;br /&gt;
|-&lt;br /&gt;
| this.var&lt;br /&gt;
| variables that belong to the current script object, on the server-side they are saved to file when the object is a database npc&lt;br /&gt;
|-&lt;br /&gt;
| thiso.var&lt;br /&gt;
| refer to the this. variables of the executing npc ('o' stands for original) when you use the with () command: with (findnpc(&amp;quot;npc2&amp;quot;)) thiso.temp = this.temp; will copy 'this.temp' from npc2 to the current npc&lt;br /&gt;
|-&lt;br /&gt;
| player.var&lt;br /&gt;
| variables of the current player object, when the event was invoked by a player (e.g. playertouchsme), or you do with (findplayer(accountname))&lt;br /&gt;
|-&lt;br /&gt;
| playero.var&lt;br /&gt;
| variables of the original player object, in generally the player who has invoked the event (e.g. playertouchsme)&lt;br /&gt;
|-&lt;br /&gt;
| client.var&lt;br /&gt;
| short for player.client.var, variables that can be changed on server-side and client-side&lt;br /&gt;
|-&lt;br /&gt;
| clientr.var&lt;br /&gt;
| short for player.clientr.var, variables that can only be changed on server-side but can be read on client-side&lt;br /&gt;
|-&lt;br /&gt;
| server.var&lt;br /&gt;
| variables that only exists on server-side and can be accessed by all npcs&lt;br /&gt;
|-&lt;br /&gt;
| serverr.var&lt;br /&gt;
| variables that can only be changed on server-side and is server wide, but can also be read by all clients, so it can be used for storing the state of global activities that need client-side actions like displaying weather; like server. vars they can also be changed with remotecontrol.exe by administrators that have the right to change server. variables&lt;br /&gt;
|-&lt;br /&gt;
| level.var&lt;br /&gt;
| variables of the current level, which is the level the executing npc stands in (on server-side) or the player is in (on client-side)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
''Note: Currently this doesn't list the functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_functions|Starting Guide: Standard functions]] for those.''&lt;br /&gt;
&lt;br /&gt;
===Common===&lt;br /&gt;
* aindexof(float, array) - returns integer, better use array.index(float) instead&lt;br /&gt;
* echo(str text) - prints text in the F2 window (clientside) or RC chat (serverside)&lt;br /&gt;
* getbasepackage() - returns [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]] object&lt;br /&gt;
* getdownloadedupdatepackagesize() - returns integer&lt;br /&gt;
* getdownloadingpackage() - returns [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]] object&lt;br /&gt;
* getdownloadingpackagescount() - returns integer&lt;br /&gt;
* gethttprequest(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* getkeycode(str keyname) - returns integer&lt;br /&gt;
* getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
* getpackagesdownloaded() - returns boolean&lt;br /&gt;
* getplatform() - returns string&lt;br /&gt;
* getservername() - returns string&lt;br /&gt;
* gettotalupdatepackagesize() - returns integer&lt;br /&gt;
* getupdatepackage(str) - returns object&lt;br /&gt;
* isadminguild(str guildname) - returns boolean&lt;br /&gt;
* isobject(str objectname) - returns boolean, checks if an object is existing&lt;br /&gt;
* keydown(int keynumber) - returns if the specified key is pressed (0..10: up, left, down, right, S, A, D, M, tab, Q, P)&lt;br /&gt;
* keydown2(int keycode, bool ignorecase) - returns boolean&lt;br /&gt;
* keyname(int keycode) - returns string&lt;br /&gt;
* opengraalurl(str url) - opens a website of www.graalonline.com and automatically lets the player login to it (e.g. for the upgrade page or screenshot section)&lt;br /&gt;
* openurl(str url)&lt;br /&gt;
* openurl2(str url, int width, int height) - deprecated, width and height are ignored&lt;br /&gt;
* requesthttp(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* requesttext(str type, str option)&lt;br /&gt;
* requesturl(str url) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* savelog(str text)&lt;br /&gt;
* savelog2(str filename, str text) - adds a log entry to &amp;quot;logs/filename&amp;quot;&lt;br /&gt;
* sendrpgmessage(str text) - adds text to the F2 window&lt;br /&gt;
* sendtext(str type, str option, params...)&lt;br /&gt;
* sendtorc(str text) - serverside only, displays text on the RC chat&lt;br /&gt;
* serverwarp(str servername) - the name can either be the internal name (graal2002) or part of the server name on the serverlist&lt;br /&gt;
&lt;br /&gt;
====Files====&lt;br /&gt;
* extractfilebase(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* extractfileext(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* extractfilename(str filepath) - returns string, '/an/example/path/and/file' would return 'file'&lt;br /&gt;
* extractfilepath(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* fileexists(str filepath) - returns boolean, checks if a file exists&lt;br /&gt;
* filesize(str filepath) - returns integer, returns the size of a file&lt;br /&gt;
* fileupdate(str filepath) - returns boolean, checks if a file is existing and requests an update from the server if it has not been checked yet&lt;br /&gt;
* findfiles(str filenamepattern, flags) - returns array of strings, flags can be either 1 for recursive search or 0 for non-recursive&lt;br /&gt;
* freefileresources(str)&lt;br /&gt;
* getextension(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* reloadfile(str filepath)&lt;br /&gt;
* requestfiledeletion(str filepath), requests a file to be deleted on the server&lt;br /&gt;
* requestfilerename(str filepath, str newfilepath), requests a file to be renamed on the server&lt;br /&gt;
* requestfilesmove(str filepath, str newfilepath), requests a file to be moved on the server&lt;br /&gt;
* selectfilefordownload(str filter)&lt;br /&gt;
* selectfileforupload()&lt;br /&gt;
&lt;br /&gt;
''Watch the [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]] object for loading and saving of files (loadlines etc.)''&lt;br /&gt;
&lt;br /&gt;
''See more information about input/output at [[Creation/Dev/Output Methods|Output methods]]''&lt;br /&gt;
&lt;br /&gt;
====Math====&lt;br /&gt;
* degtorad(float value) - returns float&lt;br /&gt;
* radtodeg(float value) - returns float&lt;br /&gt;
&lt;br /&gt;
=====Matrices=====&lt;br /&gt;
GraalScript [[Matrix|matricies]] are arrays of seven elements: three describing translation, three describing rotation, and one describing angle.&lt;br /&gt;
* [[Matrix#matrixcreate()|matrixcreate]](str vector, str rotation) - returns matrix string&lt;br /&gt;
* matrixcreatefromeuler(str eulerrotation) - returns matrix string&lt;br /&gt;
* matrixmulpoint(str, str) - returns string&lt;br /&gt;
* matrixmultiply(str matrix, str matrix) - returns matrix string&lt;br /&gt;
* matrixmulvector(str matrix, str vector) - returns vector string&lt;br /&gt;
&lt;br /&gt;
=====Vectors=====&lt;br /&gt;
Each [[Vectors|vector]] is basicly an array of format {x,y,z} but is passed as string for simplicity. Click on the function names to see more information about the vector operations.&lt;br /&gt;
* [[Vectors#Vector_Addition|vectoradd]](vector, vector) - returns vector&lt;br /&gt;
* [[Cross Product|vectorcross]](vector, vector) - returns vector&lt;br /&gt;
* [[Vectors#Distance_Between_Terminal_Points|vectordist]](vector, vector) - returns float&lt;br /&gt;
* [[Dot Product|vectordot]](vector, vector) - returns float&lt;br /&gt;
* [[Vectors#Vector_Length_.28Magnitude.29|vectorlen]](vector) - returns float&lt;br /&gt;
* [[Vectors#Unit_Length|vectornormalize]](vector) - returns vector, scales the vector to length 1&lt;br /&gt;
* vectororthobasis(vector) - returns vector&lt;br /&gt;
* [[Vectors#Vector-Scalar_Multiplication|vectorscale]](vector, float) - returns vector&lt;br /&gt;
* [[Vectors#Vector_Subtraction|vectorsub]](vector, vector) - returns vector&lt;br /&gt;
&lt;br /&gt;
====Strings====&lt;br /&gt;
* base64decode(str text) - returns decoded string&lt;br /&gt;
* base64encode(str text) - returns encoded string&lt;br /&gt;
* checksum(str text) - returns checksum float&lt;br /&gt;
* contains(str haystack, str needle) - returns boolean, you should probably do haystack.contains(needle) instead&lt;br /&gt;
* getascii(str character) - returns ascii value integer&lt;br /&gt;
* getstringkeys(str leading) - searchs for variables which start with the specified string and returns and array of their ending&lt;br /&gt;
* lowercase(str text) - returns lowercased string, it is recommended to use string.lower() though&lt;br /&gt;
* md5(str text) - returns md5 hash string&lt;br /&gt;
* randomstring(array of strings) - returns string&lt;br /&gt;
* strcmp(str text1, str text2) - returns integer&lt;br /&gt;
* strequals(str text1, str text2) - returns boolean, you probably should do text1.equals(text2) instead&lt;br /&gt;
* uppercase(str text) - returns uppercased string, it is recommended to use string.upper() though&lt;br /&gt;
&lt;br /&gt;
===GUI===&lt;br /&gt;
* addcontrol(obj) - adds a GUI control or a 3D-object to the scene&lt;br /&gt;
* cursoroff()&lt;br /&gt;
* cursoron()&lt;br /&gt;
* iscursoron() - returns boolean&lt;br /&gt;
* popdialog() - removes the top dialog control&lt;br /&gt;
* pushdialog(obj) - displays a control on top of all other controls, this control gains all focus until it is removed again&lt;br /&gt;
* setcontentcontrol(obj) - replaces the current content control (usually named GUIContainer) with another one&lt;br /&gt;
&lt;br /&gt;
===Graal 2D===&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;
| addtiledef(str tilesetimage, str prefix, int tilesettype)&lt;br /&gt;
|&lt;br /&gt;
| Sets the tileset image for levels beginning with the specified prefix.&lt;br /&gt;
Tileset type 0 is for pics1.png style tilesets.&lt;br /&gt;
Tileset type 1 is for the new tileset format (Era's tiles for example)&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(str tilesetimage, str prefix, int x, int y)&lt;br /&gt;
|&lt;br /&gt;
| Replaces a section of the tileset (x, y) image for levels beginning with the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(int objtype, int id)&lt;br /&gt;
|&lt;br /&gt;
| Attaches a player to the specified object. Using attachpayertoobj(0, id); the player will be attached to the current NPC.&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int npcindex, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an event on an npc, better use npcs[npcindex].trigger(event, params) instead; you can only trigger objects this way that are on your side of clientside/serverside&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int weaponindex, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes a trigger on a weapon, better use weapons[weaponindex].trigger(event, params) instead&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
|&lt;br /&gt;
| Puts the player back on the level (after using attachplayertoobj).&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default movement.&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default map&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
|&lt;br /&gt;
| Disables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Enables default movement&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int flags)&lt;br /&gt;
| &lt;br /&gt;
| Enable/disable client features&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | M key (map)&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | P key (pause)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Q key (weapon select)&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | R key (show ratings)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | S+A key combination for dropping items&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | S+D key combination for switching weapons&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | TAB key (if disabled then you cannot switch to the chat field with TAB)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Display of chat text&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Display of the hearts over player heads&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Display of nicknames&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Toall/PM-icons on the minimap&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x1000&lt;br /&gt;
  | Emoticons (disable it if you want to do other stuff with control+keys)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x2000&lt;br /&gt;
  | Alt+5 for making snapshots  ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x4000&lt;br /&gt;
  | Alt+8/9 for zooming ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x8000&lt;br /&gt;
  | The logframe where savelog stuff is added&lt;br /&gt;
  |-&lt;br /&gt;
  | allfeatures&lt;br /&gt;
  | All of the previously stated feature flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
|&lt;br /&gt;
| Enables default map.&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
|&lt;br /&gt;
| Enables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(int bombindex)&lt;br /&gt;
|&lt;br /&gt;
| Explodes a bomb with the specified index.&lt;br /&gt;
|-&lt;br /&gt;
| findani(str)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]] object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(str levelfilename)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]] object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(str accountname)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]] object&lt;br /&gt;
| Returns player object of Account specified. Player must be online.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(int playerid)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]] object&lt;br /&gt;
| Returns player object of id specified. If id isn't available, returns false.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(str weaponname)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]] object&lt;br /&gt;
| Returns weapon object of name specified. Returns false if weapon doesn't exist.&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Freezes player for a specific amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height of the font. Format:&lt;br /&gt;
  gettextheight(zoom, font, style)&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float, str, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width of a specified text in a certain font. Format:&lt;br /&gt;
  gettextwidth(zoom, font, style, text)&lt;br /&gt;
|-&lt;br /&gt;
| getz(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| Returns the z value of a terrain at (x,y).&lt;br /&gt;
|-&lt;br /&gt;
| graalcontrolhasfocus(bool) &lt;br /&gt;
| boolean &lt;br /&gt;
| parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player for ''seconds'' seconds.&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player's sword for ''seconds'' seconds.&lt;br /&gt;
|-&lt;br /&gt;
| hitnpc(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitobjects(float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitplayer(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lay2(str extraname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| loadmap(str mapfilename)&lt;br /&gt;
|&lt;br /&gt;
| Preloads a gmap on clientside, speeds up entering of new maps but is not required.&lt;br /&gt;
|-&lt;br /&gt;
| noplayerkilling()&lt;br /&gt;
|&lt;br /&gt;
| Disables killing of other players. This also lets players walk through other players (players are not blocking anymore).&lt;br /&gt;
|-&lt;br /&gt;
| onwall(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is a blocking tile.&lt;br /&gt;
|-&lt;br /&gt;
| onwall2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if a blocking tile exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| onwater(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is water.&lt;br /&gt;
|-&lt;br /&gt;
| onwater2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if water exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| play(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file.&lt;br /&gt;
|-&lt;br /&gt;
| play2(str soundfilename, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| playlooped(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file in a loop until stopsound() is called.&lt;br /&gt;
|-&lt;br /&gt;
| playlooped2(str soundfile, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume in a loop until stopsound() is called. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| putleaps(int leapstype, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removetiledefs(str prefix)&lt;br /&gt;
|&lt;br /&gt;
| Remove tile definitions set by addtiledef and addtiledef2 for the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| replaceani(str defaultaniname, str newaniname)&lt;br /&gt;
|&lt;br /&gt;
| replaces the player's default ani with the new ani.&lt;br /&gt;
|-&lt;br /&gt;
| resetfocus()&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the player.&lt;br /&gt;
|-&lt;br /&gt;
| say(int signindex)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| say2(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenx(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the x of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| screeny(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the y of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldx(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the x of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldy(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the y of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| setani(str aniname, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gani of a player.&lt;br /&gt;
|-&lt;br /&gt;
| setbeltcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcoatcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| seteffect(float red, float green, float blue, float alpha)&lt;br /&gt;
|&lt;br /&gt;
| Displays a 'day-night' effect on top of the game. Default value is (0,0,0,0). Change alpha to make the screen darker. You can reach the same effect if you use a polygon (showpoly()) and set the mode to 3. To manipulate the color of a single npc, see setcoloreffect() for [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]].&lt;br /&gt;
|-&lt;br /&gt;
| setfocus(float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the specified x and y.&lt;br /&gt;
|-&lt;br /&gt;
| setgender(str gendername)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gender of a player.&lt;br /&gt;
|-&lt;br /&gt;
| sethead(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the head of a player&lt;br /&gt;
|-&lt;br /&gt;
| setletters(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the image to use for sign background and text.&lt;br /&gt;
|-&lt;br /&gt;
| setmap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setminimap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setmusicvolume(float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setplayerdir(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshield(str imagefilename, int shieldpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshoecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshootparams(str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setskincolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsleevecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsword(str imagefilename, int swordpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showstats(int statsflag)&lt;br /&gt;
|&lt;br /&gt;
| With this you can show/hide parts of the status bar / game&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Shows all&lt;br /&gt;
showstats(allstats);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except minimap&lt;br /&gt;
showstats(allstats &amp;amp; ~0x100);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except AP and MP bars&lt;br /&gt;
showstats(allstats &amp;amp; ~(0x40 | 0x80));&lt;br /&gt;
&lt;br /&gt;
// Enable only players and right-click profile&lt;br /&gt;
showstats(0x400 | 0x800);&lt;br /&gt;
&lt;br /&gt;
// Hides all&lt;br /&gt;
showstats(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | ASD&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | Icons (for rupees, bombs, arrows)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Rupees count&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | Bombs count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | Arrows count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | Hearts&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | Alignment (ap) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Magic points (mp) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Minimap (you can only hide it, you can't show it when the player pressed Alt+3)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Inventory NPCs&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Players&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | allstats&lt;br /&gt;
  | All of the previously stated stats flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| spyfire(int length, int power)&lt;br /&gt;
|&lt;br /&gt;
| Shoots a line of fire in the direction of the player with the specified tile length, and fire power (1 - bomb, 2 - super bomb, 3 - jolt bomb).&lt;br /&gt;
|-&lt;br /&gt;
| stopmidi()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stopsound(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Stop playing a sound started by playlooped&lt;br /&gt;
|-&lt;br /&gt;
| takeplayercarry()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takeplayerhorse()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testplayer(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| checks if there is a player on that position and returns the index of the player in players[], or -1 if there is none&lt;br /&gt;
|-&lt;br /&gt;
| triggeraction(float x, float y, str eventname, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an &amp;quot;onActionEventname&amp;quot; event on objects at the specified position, can be used to invoke events on objects from clientside to serverside and vice versa. &lt;br /&gt;
Special eventnames are &amp;quot;serverEventname&amp;quot; which will invoke an event on the Control-NPC (onActionEventname), or &amp;quot;serverside&amp;quot; which will invoke an onActionServerSide event on the weapon script specified by the first following parameter (the fourth parameter). It is recommended to use triggerserver() for that though.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
triggeraction(30, 30, &amp;quot;explode&amp;quot;, 5);&lt;br /&gt;
triggeraction(0, 0, &amp;quot;serverchat&amp;quot;, player.chat);&lt;br /&gt;
triggeraction(0, 0, &amp;quot;serverside&amp;quot;, &amp;quot;PlasmaGun&amp;quot;, &amp;quot;activate&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| triggerserver(str objecttype, str objectname, str params)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an event on a serverside object, currently objecttype can only be &amp;quot;gui&amp;quot; or &amp;quot;weapon&amp;quot; (which is the same), objectname is the name of the weapon script, the invoked event will be &amp;quot;onActionServerSide&amp;quot;.&lt;br /&gt;
On Graal3D the event will be &amp;quot;onActionParam0&amp;quot; instead.&lt;br /&gt;
For invoking events on the clientside use player.triggerclient(objecttype,objectname,params) instead.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
triggerserver(&amp;quot;weapon&amp;quot;, &amp;quot;PlasmaGun&amp;quot;, &amp;quot;activate&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| updateboard(int x, int y, int width, int height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateratings(obj)&lt;br /&gt;
| object&lt;br /&gt;
| Updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
newratings = updateratings({winner.rating,winner.ratingd,loser.rating,loser.ratingd});&lt;br /&gt;
winner.rating = newratings[0];&lt;br /&gt;
winner.ratingd = newratings[1];&lt;br /&gt;
loser.rating = newratings[2];&lt;br /&gt;
loser.ratingd = newratings[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| wraptext(int fontsize, str format, str text)&lt;br /&gt;
| array of strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext2(int pixelwidth, float zoom, str delimiters, str text)&lt;br /&gt;
| array of strings&lt;br /&gt;
| wraps the text so that it fits in the specified number of pixels and returns an array of text lines &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graal 3D===&lt;br /&gt;
* getboxcenter(str box) - returns string&lt;br /&gt;
* get3dobjectat(float x, float y, bool doboxcollision) - returns object - gets the 3d object at the specified screen position, third parameter says if it should do box collision&lt;br /&gt;
* get3dobjectatmouse(bool doboxcollision) - returns object - gets the 3d object at the mouse, specify if it should do box collision (true)&lt;br /&gt;
* get3dobjectbyray(str vector, str vector) - returns object&lt;br /&gt;
* lightscene() - returns boolean&lt;br /&gt;
* setfogcolors(array)&lt;br /&gt;
* setinteriorrendermode(int)&lt;br /&gt;
* setskybandcolors(array)&lt;br /&gt;
* setskybandsizes(array)&lt;br /&gt;
* setsuncolors(array)&lt;br /&gt;
* setterrainrendermode(int)&lt;br /&gt;
* synctimeofday(float hour, float minute)&lt;br /&gt;
* updateterrain()&lt;br /&gt;
* updatevisibledistance()&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* adventure_installgraal(str, bool, bool)&lt;br /&gt;
* adventure_openexternaloptions() - returns boolean&lt;br /&gt;
* adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
* adventure_openserverlist()&lt;br /&gt;
* adventure_quit()&lt;br /&gt;
* adventure_reconnect()&lt;br /&gt;
* adventure_savegraaloptions()&lt;br /&gt;
* adventure_selectpath(str) - returns object&lt;br /&gt;
* adventure_setaccountname(str)&lt;br /&gt;
* adventure_setchat(str)&lt;br /&gt;
* adventure_setnickname(str)&lt;br /&gt;
* adventure_setpassword(str)&lt;br /&gt;
* adventure_startofflinemode()&lt;br /&gt;
* adventure_updateaccountfield()&lt;br /&gt;
* adventure_updatemicroactivationlevel()&lt;br /&gt;
* adventure_updatemidivolume()&lt;br /&gt;
* adventure_updatemp3volume()&lt;br /&gt;
* adventure_updateplayermuted()&lt;br /&gt;
* adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
* adventure_updateradiovolume()&lt;br /&gt;
&lt;br /&gt;
''(these functions are only available to privileged scripts from the Login server)''&lt;br /&gt;
&lt;br /&gt;
==Classes / Object Types==&lt;br /&gt;
* [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ActionMap|ActionMap]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/DTSAniThread|DTSAniThread]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameMovementInterpolate|GameMovementInterpolate]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameMovementRigid|GameMovementRigid]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameMovementList|GameMovementList]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameShape|GameShape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShape3DS|GameShape3DS]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeDIF|GameShapeDIF]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeDTS|GameShapeDTS]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeFT|GameShapeFT]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControl|GuiControl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiArrayCtrl|GuiArrayCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextListCtrl|GuiTextListCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTreeViewCtrl|GuiTreeViewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapButtonCtrl|GuiBitmapButtonCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapCtrl|GuiBitmapCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMapOverviewCtrl|GuiMapOverviewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiButtonBaseCtrl|GuiButtonBaseCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiButtonCtrl|GuiButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCheckBoxCtrl|GuiCheckBoxCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiRadioCtrl|GuiRadioCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiChunkedBitmapCtrl|GuiChunkedBitmapCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiContextMenuCtrl|GuiContextMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiDrawingPanel|GuiDrawingPanel]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFlash|GuiFlash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFrameSetCtrl|GuiFrameSetCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraal3DCtrl|GuiGraal3DCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraalCtrl|GuiGraalCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMenuCtrl|GuiMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMLTextCtrl|GuiMLTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMLTextEditCtrl|GuiMLTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiPMEditCtrl|GuiPMEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMCtrl|GuiPMCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMHistoryCtrl|GuiPMHistoryCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiPlayerView|GuiPlayerView]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiProgressCtrl|GuiProgressCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiScrollCtrl|GuiScrollCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShapeNameHud|GuiShapeNameHud]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShowImgCtrl|GuiShowImgCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiSliderCtrl|GuiSliderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiStretchCtrl|GuiStretchCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTabCtrl|GuiTabCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTextCtrl|GuiTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpEditCtrl|GuiPopUpEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpMenuCtrl|GuiPopUpMenuCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextEditCtrl|GuiTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiTextEditSliderCtrl|GuiTextEditSliderCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiWindowCtrl|GuiWindowCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TerrainEditor|TerrainEditor]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/WorldEditor|WorldEditor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiCursor|GuiCursor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTabCtrlEntry|GuiTabCtrlEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTextListEntry|GuiTextListEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTreeViewNode|GuiTreeViewNode]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/MRandomGenerator|MRandomGenerator]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/MRandomLCG|MRandomLCG]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/MRandomR250|MRandomR250]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/SimObject|SimObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SceneObject|SceneObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxSunLight|fxSunLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameObject|GameObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Camera|Camera]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DynamicShapeReplicator|DynamicShapeReplicator]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrass|DynamicGrass]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrassReplicator|DynamicGrassReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Sky|Sky]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TerrainBlock|TerrainBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/twSurfaceReference|twSurfaceReference]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WaterBlock|WaterBlock]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimGroup|SimGroup]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameConnection|GameConnection]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/Sun|Sun]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawableObject|TDrawableObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TBaddy|TBaddy]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TLevelObject|TLevelObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TExplosion|TExplosion]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TGaniObject|TGaniObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TProjectile|TProjectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerHorse|TServerHorse]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TPlayer|TPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerBomb|TServerBomb]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerCarry|TServerCarry]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerChest|TServerChest]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerExtra|TServerExtra]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerFlying|TServerFlying]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerLeap|TServerLeap]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerSign|TServerSign]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TShowImg|TShowImg]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawingPanel|TDrawingPanel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/Terraformer|Terraformer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TFrameDetail|TFrameDetail]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGaniParam|TGaniParam]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniPart|TGraalAniPart]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSound|TGraalAniSound]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSprite|TGraalAniSprite]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniStep|TGraalAniStep]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalSpriteAttachment|TGraalSpriteAttachment]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TMovementRigid|TMovementRigid]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticle|TParticle]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleEmitter|TParticleEmitter]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleModifier|TParticleModifier]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevelLink|TServerLevelLink]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShapeMaterial|TShapeMaterial]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImg_Values|TShowImg_Values]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Flash|TShowImg_Flash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Gani|TShowImg_Gani]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Image|TShowImg_Image]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Shape|TShowImg_Shape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Poly|TShowImg_Poly]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Text|TShowImg_Text]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TStaticVar|TStaticVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TTilesLayer|TTilesLayer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Output_Methods&amp;diff=8036</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=8036"/>
		<updated>2007-01-12T19:36:22Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* format() function */ format2 (still need to add info about improvements)&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;
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, 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;
==== 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.&lt;br /&gt;
&lt;br /&gt;
==== sendrpgmessage() ====&lt;br /&gt;
The sendrpgmessage() works much the same as echo() does clientside. It will result in a message appearing in the player's F2 log window. 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;
&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>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=8035</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=8035"/>
		<updated>2007-01-12T19:25:32Z</updated>

		<summary type="html">&lt;p&gt;Riot: Update to v4.208&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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::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::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::truetypefonts - boolean&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
  $scenelighting::lightingprogress - float (read only)&lt;br /&gt;
  allfeatures - integer (read only)&lt;br /&gt;
  allplayerscount - integer (read only)&lt;br /&gt;
  allrenderobjecttypes - integer (read only)&lt;br /&gt;
  allstats - 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;
  downloadfile - string (read only)&lt;br /&gt;
  downloadpos - integer (read only)&lt;br /&gt;
  downloadsize - integer (read only)&lt;br /&gt;
  editingmission - boolean&lt;br /&gt;
  emoticonchar - string (read only)&lt;br /&gt;
  focusx - float (read only)&lt;br /&gt;
  focusy - float (read only)&lt;br /&gt;
  ghostsnear - boolean (read only)&lt;br /&gt;
  graalversion - float (read only)&lt;br /&gt;
  gravity - float&lt;br /&gt;
  isapplicationactive - boolean (read only)&lt;br /&gt;
  iscarrying - boolean (read only)&lt;br /&gt;
  isfocused - boolean (read only)&lt;br /&gt;
  isgraal3d - boolean (read only)&lt;br /&gt;
  isleader - boolean (read only)&lt;br /&gt;
  isonmap - boolean (read only)&lt;br /&gt;
  jpegquality - integer&lt;br /&gt;
  lastdownloadfile - string (read only)&lt;br /&gt;
  leftmousebutton - boolean (read only)&lt;br /&gt;
  leftmousebuttonglobal - boolean (read only)&lt;br /&gt;
  levelorgx - float (read only)&lt;br /&gt;
  levelorgy - float (read only)&lt;br /&gt;
  lighteffectsenabled - boolean&lt;br /&gt;
  middlemousebutton - boolean (read only)&lt;br /&gt;
  middlemousebuttonglobal - boolean (read only)&lt;br /&gt;
  mousebuttons - integer (read only)&lt;br /&gt;
  mousebuttonsglobal - integer (read only)&lt;br /&gt;
  mousepitch - float (read only)&lt;br /&gt;
  mousescreenx - integer&lt;br /&gt;
  mousescreeny - integer&lt;br /&gt;
  mousewheeldelta - integer (read only)&lt;br /&gt;
  mousex - float&lt;br /&gt;
  mousey - float&lt;br /&gt;
  mouseyaw - float (read only)&lt;br /&gt;
  musiclen - integer (read only)&lt;br /&gt;
  musicpos - integer (read only)&lt;br /&gt;
  particleeffectsenabled - boolean&lt;br /&gt;
  rightmousebutton - boolean (read only)&lt;br /&gt;
  rightmousebuttonglobal - boolean (read only)&lt;br /&gt;
  screenheight - integer (read only)&lt;br /&gt;
  screenwidth - integer (read only)&lt;br /&gt;
  scriptedcontrols - boolean (read only)&lt;br /&gt;
  scriptedplayerlist - boolean (read only)&lt;br /&gt;
  scriptlogwritetoreadonly - boolean&lt;br /&gt;
  selectedlistplayers - object&lt;br /&gt;
  selectedsword - integer&lt;br /&gt;
  selectedweapon - integer&lt;br /&gt;
  servername - string (read only)&lt;br /&gt;
  serverstartconnect - string&lt;br /&gt;
  serverstartparams - string&lt;br /&gt;
  shotbybaddy - boolean (read only)&lt;br /&gt;
  shotbyplayer - boolean (read only)&lt;br /&gt;
  showterraingrid - boolean&lt;br /&gt;
  timevar - integer (read only)&lt;br /&gt;
  timevar2 - float (read only)&lt;br /&gt;
  timevar3 - float (read only) - synchronized time which works on both server- and client-side, precision is milliseconds, only available for Graal3D right now&lt;br /&gt;
  wasshooted - boolean (read only)&lt;br /&gt;
  waterheight - float&lt;br /&gt;
  weapons - object (read only)&lt;br /&gt;
  weaponsenabled - boolean&lt;br /&gt;
  weathereffectsenabled - boolean&lt;br /&gt;
  worldclockstopped - boolean&lt;br /&gt;
  worldhour - integer&lt;br /&gt;
  worldminute - float&lt;br /&gt;
  worldminutesofday - float&lt;br /&gt;
  worldrealsecondsperday - float&lt;br /&gt;
  addcontrol(obj)&lt;br /&gt;
  addmaterialmapping(str, str) - returns boolean&lt;br /&gt;
  addtiledef(str, str, int)&lt;br /&gt;
  addtiledef2(str, str, int, int)&lt;br /&gt;
  adventure_installgraal(str, bool, bool)&lt;br /&gt;
  adventure_openexternaloptions() - returns boolean&lt;br /&gt;
  adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
  adventure_openserverlist()&lt;br /&gt;
  adventure_quit()&lt;br /&gt;
  adventure_reconnect()&lt;br /&gt;
  adventure_savegraaloptions()&lt;br /&gt;
  adventure_selectfileselect(str) - lets the select-file-dialog select the specified filename in the current folder&lt;br /&gt;
  adventure_selectfilesetfolder(int) - switches the select-file-dialog to the specified folder index&lt;br /&gt;
  adventure_selectfilesetfolderbytext(str) - switches the select-file-dialog to the specified folder name&lt;br /&gt;
  adventure_selectfileshowhiddenfiles(bool) - enables or disables the display of hidden files in the select-file-dialog&lt;br /&gt;
  adventure_selectpath(str) - returns object&lt;br /&gt;
  adventure_setaccountname(str)&lt;br /&gt;
  adventure_setchat(str)&lt;br /&gt;
  adventure_setcheatwindows(str)&lt;br /&gt;
  adventure_setnickname(str)&lt;br /&gt;
  adventure_setpassword(str)&lt;br /&gt;
  adventure_startofflinemode()&lt;br /&gt;
  adventure_updateaccountfield()&lt;br /&gt;
  adventure_updatemicroactivationlevel()&lt;br /&gt;
  adventure_updatemidivolume()&lt;br /&gt;
  adventure_updatemp3volume()&lt;br /&gt;
  adventure_updateplayermuted()&lt;br /&gt;
  adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
  adventure_updateradiovolume()&lt;br /&gt;
  aindexof(float, obj) - returns integer&lt;br /&gt;
  arccos(float) - returns float&lt;br /&gt;
  arcsin(float) - returns float&lt;br /&gt;
  attachplayertoobj(int, int)&lt;br /&gt;
  base64decode(str) - returns string&lt;br /&gt;
  base64encode(str) - returns string&lt;br /&gt;
  boxcontains(str, str) - returns boolean&lt;br /&gt;
  boxcontainsvector(str, str) - returns boolean&lt;br /&gt;
  boxintersect(str, str) - returns string&lt;br /&gt;
  boxoverlaps(str, str) - returns boolean&lt;br /&gt;
  boxscale(str, str) - returns string&lt;br /&gt;
  callnpc(int, params...)&lt;br /&gt;
  callweapon(int, params...)&lt;br /&gt;
  castray(str, str, str) - 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;
  checksum(str) - returns float&lt;br /&gt;
  contains(str, str) - returns boolean&lt;br /&gt;
  cursoroff()&lt;br /&gt;
  cursoron()&lt;br /&gt;
  degtorad(float) - returns float&lt;br /&gt;
  detachplayer()&lt;br /&gt;
  disabledefmovement()&lt;br /&gt;
  disablemap()&lt;br /&gt;
  disablepause()&lt;br /&gt;
  disableselectweapons()&lt;br /&gt;
  disableweapons()&lt;br /&gt;
  echo(str)&lt;br /&gt;
  enabledefmovement()&lt;br /&gt;
  enablefeatures(int)&lt;br /&gt;
  enablemap()&lt;br /&gt;
  enablepause()&lt;br /&gt;
  enableselectweapons()&lt;br /&gt;
  enableweapons()&lt;br /&gt;
  explodebomb(int)&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;
  fileupdate(str) - returns boolean&lt;br /&gt;
  findani(str) - returns object&lt;br /&gt;
  findfiles(str, int) - returns object&lt;br /&gt;
  findlevel(str) - returns object&lt;br /&gt;
  findnpcbyid(int) - 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;
  format2(str, obj) - returns string - 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;
  freefileresources(str)&lt;br /&gt;
  freezeplayer(float)&lt;br /&gt;
  get3dobjectat(float, float, bool) - returns object - gets the 3d object at the specified screen position, third parameter says if it should do box collision&lt;br /&gt;
  get3dobjectatmouse(bool) - returns object - gets the 3d object at the mouse, specify if it should do box collision (true)&lt;br /&gt;
  get3dobjectbyray(str, str) - returns object&lt;br /&gt;
  get3dobjectsbybox(str, str) - returns object - specify the box {minx,miny,minz,maxx,maxy,maxz} and the object types to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
  get3dobjectsbyradius(str, float, str) - returns object - specify the position, radius and the object types to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
  get3dscreenposition(str, bool) - returns string&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;
  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&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;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - 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;
  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;
  invokehtmlobjectmouseclick(float, float, bool)&lt;br /&gt;
  isadminguild(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;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  isobject(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;
  loadmap(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;
  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)&lt;br /&gt;
  setminimap(str, str, float, float)&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;
  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;
  stopmidi()&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&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;
  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;
  updateratings(obj) - returns object - updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&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 (read only)&lt;br /&gt;
  ispaused - boolean&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  name - string (read only)&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&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;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  escape() - returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&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;
  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 float - 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;
  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 the array by the specified variable name, you must also say what variable type it is (e.g. string) and if it should be sorted ascending&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 the npc show the 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 (read only)&lt;br /&gt;
    atend - boolean (read only)&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 (read only)&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 (read only)&lt;br /&gt;
      materials - object (read only)&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;
    active - boolean&lt;br /&gt;
    awake - boolean (read only)&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&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;
    editing - boolean&lt;br /&gt;
    extent - string&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string&lt;br /&gt;
    horizsizing - string&lt;br /&gt;
    layer - integer (read only)&lt;br /&gt;
    minextent - string&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer&lt;br /&gt;
    scrollliney - integer&lt;br /&gt;
    showhint - boolean&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string&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;
    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 (read only)&lt;br /&gt;
        iconwidth - integer (read only)&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object (read only)&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 (read only)&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer (read only)&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer (read only)&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object (read only)&lt;br /&gt;
        parent - object (read only)&lt;br /&gt;
        position - string (read only)&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 (read only)&lt;br /&gt;
        x - integer (read only)&lt;br /&gt;
        y - integer (read only)&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;
        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 (read only)&lt;br /&gt;
      iconwidth - integer (read only)&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object (read only)&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object (read only)&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)&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;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer (read only)&lt;br /&gt;
      partw - integer (read only)&lt;br /&gt;
      partx - integer (read only)&lt;br /&gt;
      party - integer (read only)&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;
      loopmovie - boolean&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean&lt;br /&gt;
      tryactivex - boolean&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;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer (read only)&lt;br /&gt;
      iconwidth - integer (read only)&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;
      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;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showpm(obj)&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 (read only)&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;
      scrollto(int, int)&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 (read only)&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 (read only)&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)&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 (read only)&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 (read only)&lt;br /&gt;
      iconwidth - integer (read only)&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer (read only)&lt;br /&gt;
      selected - object (read only)&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;
    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 (read only)&lt;br /&gt;
        iconwidth - integer (read only)&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object (read only)&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object (read only)&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)&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 (read only)&lt;br /&gt;
        iconwidth - integer (read only)&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object (read only)&lt;br /&gt;
        rows - object (read only)&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object (read only)&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)&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;
        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;
        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;
&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;
    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;
&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 (read only)&lt;br /&gt;
    flickering - boolean&lt;br /&gt;
    height - integer (read only)&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string (read only)&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 (read only)&lt;br /&gt;
    x - integer (read only)&lt;br /&gt;
    y - integer (read only)&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 (read only)&lt;br /&gt;
    height - integer (read only)&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer (read only)&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    position - string (read only)&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 (read only)&lt;br /&gt;
    x - integer (read only)&lt;br /&gt;
    y - integer (read only)&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;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float&lt;br /&gt;
    randint() - returns integer&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 (read only)&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 (read only)&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string (read only)&lt;br /&gt;
      worldboxcenter - string (read only)&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;
        attr - object&lt;br /&gt;
        attrobjects - object (read only)&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float (read only)&lt;br /&gt;
        liquidtype - string (read only)&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string (read only)&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string (read only)&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 (read only)&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;
        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 (read only)&lt;br /&gt;
        camera - object (read only)&lt;br /&gt;
        nick - string (read only)&lt;br /&gt;
        objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&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 (read only)&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 (read only)&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 (read only)&lt;br /&gt;
        power - integer (read only)&lt;br /&gt;
        time - float (read only)&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        ani - object (read only)&lt;br /&gt;
        aniparams - string (read only)&lt;br /&gt;
        anistep - integer (read only)&lt;br /&gt;
        attachedtoobject - object (read only)&lt;br /&gt;
        attachid - integer (read only)&lt;br /&gt;
        attachtype - integer (read only)&lt;br /&gt;
        attr - object (read only)&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object (read only)&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object (read only)&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&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;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float (read only)&lt;br /&gt;
          fromplayer - object (read only)&lt;br /&gt;
          horiz - boolean (read only)&lt;br /&gt;
          params - object (read only)&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;
&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 (read only)&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean (read only)&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer (read only)&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string (read only)&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float (read only)&lt;br /&gt;
          horseimg - string (read only)&lt;br /&gt;
          hp - float (read only)&lt;br /&gt;
          id - integer (read only)&lt;br /&gt;
          isadmin - boolean (read only)&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean (read only)&lt;br /&gt;
          ischannelopen - boolean (read only)&lt;br /&gt;
          ischanneluser - boolean (read only)&lt;br /&gt;
          isexternal - boolean (read only)&lt;br /&gt;
          isfemale - boolean (read only)&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean (read only)&lt;br /&gt;
          isloggedin - boolean (read only)&lt;br /&gt;
          ismale - boolean (read only)&lt;br /&gt;
          ismuted - boolean (read only)&lt;br /&gt;
          ismuting - boolean (read only)&lt;br /&gt;
          language - string (read only)&lt;br /&gt;
          languagedomain - string (read only)&lt;br /&gt;
          maxhp - integer (read only)&lt;br /&gt;
          messagebubble - integer (read only)&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string (read only)&lt;br /&gt;
          playersindex - integer (read only)&lt;br /&gt;
          rating - float (read only)&lt;br /&gt;
          ratingd - float (read only)&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string&lt;br /&gt;
          shieldpower - integer (read only)&lt;br /&gt;
          swordimg - string&lt;br /&gt;
          swordpower - integer (read only)&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&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 (read only)&lt;br /&gt;
            hurtdx - float (read only)&lt;br /&gt;
            hurtdy - float (read only)&lt;br /&gt;
            hurted - boolean (read only)&lt;br /&gt;
            hurtpower - float (read only)&lt;br /&gt;
            isfemale - boolean (read only)&lt;br /&gt;
            ismale - boolean (read only)&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean (read only)&lt;br /&gt;
            nick - string (read only)&lt;br /&gt;
            onhorse - boolean (read only)&lt;br /&gt;
            online - boolean (read only)&lt;br /&gt;
            paused - boolean (read only)&lt;br /&gt;
            reading - boolean (read only)&lt;br /&gt;
            shieldimg - string&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean (read only)&lt;br /&gt;
            swordimg - string&lt;br /&gt;
            transform - string&lt;br /&gt;
            weapon - object (read only)&lt;br /&gt;
            weapons - object (read only)&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer (read only)&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float (read only)&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 (read only)&lt;br /&gt;
            peltwithblackstone - boolean (read only)&lt;br /&gt;
            peltwithbush - boolean (read only)&lt;br /&gt;
            peltwithnpc - boolean (read only)&lt;br /&gt;
            peltwithsign - boolean (read only)&lt;br /&gt;
            peltwithstone - boolean (read only)&lt;br /&gt;
            peltwithvase - boolean (read only)&lt;br /&gt;
            save - object (read only)&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 (read only)&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;
            setcoloreffect(float, float, float, float)&lt;br /&gt;
            seteffectmode(int)&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;
            toweapons(str)&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean (read only)&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 (read only)&lt;br /&gt;
        item - string (read only)&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float (read only)&lt;br /&gt;
        type - integer (read only)&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer (read only)&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer (read only)&lt;br /&gt;
        type - integer (read only)&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 (read only)&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 (read only)&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)&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 (read only)&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 (read only)&lt;br /&gt;
    parth - integer (read only)&lt;br /&gt;
    partw - integer (read only)&lt;br /&gt;
    partx - integer (read only)&lt;br /&gt;
    party - integer (read only)&lt;br /&gt;
    width - integer (read only)&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;
  TFlashInstance (TGraalVar):&lt;br /&gt;
    frame - integer&lt;br /&gt;
    height - float (read only)&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    object - string&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    width - float (read only)&lt;br /&gt;
    play()&lt;br /&gt;
    stop()&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 (read only)&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 (read only)&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 (read only)&lt;br /&gt;
    contentlanguage - string (read only)&lt;br /&gt;
    contentlength - integer (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;
    url - string (read only)&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 (read only)&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object (read only)&lt;br /&gt;
    dropwateremitter - object (read only)&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer (read only)&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 (read only)&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;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean (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;
    nopkzone - boolean (read only) - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer (read only)&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 (read only)&lt;br /&gt;
    destx - float (read only)&lt;br /&gt;
    desty - float (read only)&lt;br /&gt;
    height - float (read only)&lt;br /&gt;
    width - float (read only)&lt;br /&gt;
    x - float (read only)&lt;br /&gt;
    y - float (read only)&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)&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 (read only)&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object (read only)&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;
&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;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer (read only)&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 (read only)&lt;br /&gt;
    description - string (read only)&lt;br /&gt;
    downloadcomplete - boolean (read only)&lt;br /&gt;
    downloadedsize - integer (read only)&lt;br /&gt;
    filecount - integer (read only)&lt;br /&gt;
    filedownloadedsize - integer (read only)&lt;br /&gt;
    filename - string (read only)&lt;br /&gt;
    filetotalsize - integer (read only)&lt;br /&gt;
    isuninstalled - boolean (read only)&lt;br /&gt;
    lastdownloadfile - string (read only)&lt;br /&gt;
    localversion - float (read only)&lt;br /&gt;
    mode - string (read only)&lt;br /&gt;
    name - string (read only)&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    platform - string (read only)&lt;br /&gt;
    protectoverwrite - boolean (read only)&lt;br /&gt;
    totalsize - integer (read only)&lt;br /&gt;
    usechecksum - boolean (read only)&lt;br /&gt;
    version - float (read only)&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;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TShowImg_Poly&amp;diff=7802</id>
		<title>Creation/Dev/Script/Client/TShowImg Poly</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TShowImg_Poly&amp;diff=7802"/>
		<updated>2006-12-22T03:14:25Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&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;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=7801</id>
		<title>Creation/Dev/Script/Client</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=7801"/>
		<updated>2006-12-22T03:11:39Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Classes / Object Types */ updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Client Supported Script Features=&lt;br /&gt;
&lt;br /&gt;
==Settings==&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;
| $camera::movementspeed&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::choosenvoicecodec&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivatebyvolume&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivationlevel&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microinputdevice&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microon&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microvolumefactor&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::midivolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::mp3volume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::radiovolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::reversestereo&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::sfxvolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::voicevolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::allowglobalpms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::automapping&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::defaultfontsize&lt;br /&gt;
| integer&lt;br /&gt;
| Change showtext zoom: $pref::graal::defaultfontsize/24&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontconnectlevels&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontloadlistheads&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepasswords&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedport&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedudpport&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::language&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::limitnicknames&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::loadbuddylistfromserver&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nicknamelimit&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nomassmessages&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::notoalls&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::noudp&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::showyourselfonbuddylists&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::input::mousesensitivity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::interior::lockarrays&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::terrain::enabledetails&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::detailfactor&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fogdistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fullscreenmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::screenshotformat&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::visibledistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::windowmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $scenelighting::lightingprogress&lt;br /&gt;
| float (read only)&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| for use with enablefeatures(), it's the default unless it is changed.&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The size of the allplayers array.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all stats currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player has spin attack&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a black stone&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a bush&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying an NPC.&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the file currently being downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Amount of download file already downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Size of the file being downloaded&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 (read only)&lt;br /&gt;
| The letter of the emoticon being displayed by the player&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| float (read only)&lt;br /&gt;
| X coordinate of the center of playing screen in the level, offset -1.5&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Y coordinate of the center of playing screen in the level, offset -2&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Graal version&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| float&lt;br /&gt;
| Downward acceleration for projectiles ejected with the shoot() function.&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying anything&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if you are running graal 3D&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is the first person in the level&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is on a map&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the left mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| float (read only)&lt;br /&gt;
| The x-value of the levels' origin (may deviate with attachplayertoobj)&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| float (read only)&lt;br /&gt;
| The x-value of the levels' origin (may deviate with attachplayertoobj)&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled light effects&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled weather effects&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled particle effects&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the middle mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Counts the amount of mousebuttons pressed&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Amount that the mouse scroll wheel was scrolled [(-) is up, (+) is down]&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| float&lt;br /&gt;
| X coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| float&lt;br /&gt;
| Y coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| musiclen&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The duration of the playing sound file&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The position in the file at which the sound file is&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the right mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Height of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Width of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| object&lt;br /&gt;
| an array of players highlighted 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 player.weapons that references the player's current weapon&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the current 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 (read only)&lt;br /&gt;
| True if the player was shot by a baddy&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player was shot by another player&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A timer which is increased each 5 seconds and is snychronized between server and clients; The timer started exactly on 2001-02-01 at 18:33:34 Paris time (opening of Graal2001); on serverside the unixtime (timevar2) is around 981048814 + timevar*5&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Unix-time with a very high precision, not synchronized between server and client&lt;br /&gt;
|-&lt;br /&gt;
| timevar3 &lt;br /&gt;
| float (read only)&lt;br /&gt;
| synchronized time which works on both server- and client-side, precision is milliseconds, only available for Graal3D right now&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| float&lt;br /&gt;
| The height of water at the player's (x,y) on a terrain&lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| object (read only)&lt;br /&gt;
| An array of weapon objects&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Are weapons enabled? (Player can trigger onWeaponFired...)&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;
==Variable Prefixes==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Prefix'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| object.var&lt;br /&gt;
| accesses the variables of the object. The object can be retrieved by using the case-sensitive name of the object or a variable pointing to the object.&lt;br /&gt;
|-&lt;br /&gt;
| this.var&lt;br /&gt;
| variables that belong to the current script object, on the server-side they are saved to file when the object is a database npc&lt;br /&gt;
|-&lt;br /&gt;
| thiso.var&lt;br /&gt;
| refer to the this. variables of the executing npc ('o' stands for original) when you use the with () command: with (findnpc(&amp;quot;npc2&amp;quot;)) thiso.temp = this.temp; will copy 'this.temp' from npc2 to the current npc&lt;br /&gt;
|-&lt;br /&gt;
| player.var&lt;br /&gt;
| variables of the current player object, when the event was invoked by a player (e.g. playertouchsme), or you do with (findplayer(accountname))&lt;br /&gt;
|-&lt;br /&gt;
| playero.var&lt;br /&gt;
| variables of the original player object, in generally the player who has invoked the event (e.g. playertouchsme)&lt;br /&gt;
|-&lt;br /&gt;
| client.var&lt;br /&gt;
| short for player.client.var, variables that can be changed on server-side and client-side&lt;br /&gt;
|-&lt;br /&gt;
| clientr.var&lt;br /&gt;
| short for player.clientr.var, variables that can only be changed on server-side but can be read on client-side&lt;br /&gt;
|-&lt;br /&gt;
| server.var&lt;br /&gt;
| variables that only exists on server-side and can be accessed by all npcs&lt;br /&gt;
|-&lt;br /&gt;
| serverr.var&lt;br /&gt;
| variables that can only be changed on server-side and is server wide, but can also be read by all clients, so it can be used for storing the state of global activities that need client-side actions like displaying weather; like server. vars they can also be changed with remotecontrol.exe by administrators that have the right to change server. variables&lt;br /&gt;
|-&lt;br /&gt;
| level.var&lt;br /&gt;
| variables of the current level, which is the level the executing npc stands in (on server-side) or the player is in (on client-side)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
''Note: Currently this doesn't list the functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_functions|Starting Guide: Standard functions]] for those.''&lt;br /&gt;
&lt;br /&gt;
===Common===&lt;br /&gt;
* aindexof(float, array) - returns integer, better use array.index(float) instead&lt;br /&gt;
* echo(str text) - prints text in the F2 window (clientside) or RC chat (serverside)&lt;br /&gt;
* getbasepackage() - returns [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]] object&lt;br /&gt;
* getdownloadedupdatepackagesize() - returns integer&lt;br /&gt;
* getdownloadingpackage() - returns [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]] object&lt;br /&gt;
* getdownloadingpackagescount() - returns integer&lt;br /&gt;
* gethttprequest(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* getkeycode(str keyname) - returns integer&lt;br /&gt;
* getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
* getpackagesdownloaded() - returns boolean&lt;br /&gt;
* getplatform() - returns string&lt;br /&gt;
* getservername() - returns string&lt;br /&gt;
* gettotalupdatepackagesize() - returns integer&lt;br /&gt;
* getupdatepackage(str) - returns object&lt;br /&gt;
* isadminguild(str guildname) - returns boolean&lt;br /&gt;
* isobject(str objectname) - returns boolean, checks if an object is existing&lt;br /&gt;
* keydown(int keynumber) - returns if the specified key is pressed (0..10: up, left, down, right, S, A, D, M, tab, Q, P)&lt;br /&gt;
* keydown2(int keycode, bool ignorecase) - returns boolean&lt;br /&gt;
* keyname(int keycode) - returns string&lt;br /&gt;
* opengraalurl(str url) - opens a website of www.graalonline.com and automatically lets the player login to it (e.g. for the upgrade page or screenshot section)&lt;br /&gt;
* openurl(str url)&lt;br /&gt;
* openurl2(str url, int width, int height) - deprecated, width and height are ignored&lt;br /&gt;
* requesthttp(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* requesttext(str type, str option)&lt;br /&gt;
* requesturl(str url) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* savelog(str text)&lt;br /&gt;
* savelog2(str filename, str text) - adds a log entry to &amp;quot;logs/filename&amp;quot;&lt;br /&gt;
* sendrpgmessage(str text) - adds text to the F2 window&lt;br /&gt;
* sendtext(str type, str option, params...)&lt;br /&gt;
* sendtorc(str text) - serverside only, displays text on the RC chat&lt;br /&gt;
* serverwarp(str servername) - the name can either be the internal name (graal2002) or part of the server name on the serverlist&lt;br /&gt;
&lt;br /&gt;
====Files====&lt;br /&gt;
* extractfilebase(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* extractfileext(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* extractfilename(str filepath) - returns string, '/an/example/path/and/file' would return 'file'&lt;br /&gt;
* extractfilepath(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* fileexists(str filepath) - returns boolean, checks if a file exists&lt;br /&gt;
* filesize(str filepath) - returns integer, returns the size of a file&lt;br /&gt;
* fileupdate(str filepath) - returns boolean, checks if a file is existing and requests an update from the server if it has not been checked yet&lt;br /&gt;
* findfiles(str filenamepattern, flags) - returns array of strings, flags can be either 1 for recursive search or 0 for non-recursive&lt;br /&gt;
* freefileresources(str)&lt;br /&gt;
* getextension(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* reloadfile(str filepath)&lt;br /&gt;
* requestfiledeletion(str filepath), requests a file to be deleted on the server&lt;br /&gt;
* requestfilerename(str filepath, str newfilepath), requests a file to be renamed on the server&lt;br /&gt;
* requestfilesmove(str filepath, str newfilepath), requests a file to be moved on the server&lt;br /&gt;
* selectfilefordownload(str filter)&lt;br /&gt;
* selectfileforupload()&lt;br /&gt;
&lt;br /&gt;
''Watch the [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]] object for loading and saving of files (loadlines etc.)''&lt;br /&gt;
&lt;br /&gt;
''See more information about input/output at [[Creation/Dev/Output Methods|Output methods]]''&lt;br /&gt;
&lt;br /&gt;
====Math====&lt;br /&gt;
* degtorad(float value) - returns float&lt;br /&gt;
* radtodeg(float value) - returns float&lt;br /&gt;
&lt;br /&gt;
=====Matrices=====&lt;br /&gt;
* [[Matrix#matrixcreate()|matrixcreate]](str vector, str rotation) - returns matrix string&lt;br /&gt;
* matrixcreatefromeuler(str eulerrotation) - returns matrix string&lt;br /&gt;
* matrixmulpoint(str, str) - returns string&lt;br /&gt;
* matrixmultiply(str matrix, str matrix) - returns matrix string&lt;br /&gt;
* matrixmulvector(str matrix, str vector) - returns vector string&lt;br /&gt;
&lt;br /&gt;
=====Vectors=====&lt;br /&gt;
Each [[Vectors|vector]] is basicly an array of format {x,y,z} but is passed as string for simplicity. Click on the function names to see more information about the vector operations.&lt;br /&gt;
* [[Vectors#Vector_Addition|vectoradd]](vector, vector) - returns vector&lt;br /&gt;
* [[Cross Product|vectorcross]](vector, vector) - returns vector&lt;br /&gt;
* vectordist(vector, vector) - returns float&lt;br /&gt;
* [[Dot Product|vectordot]](vector, vector) - returns float&lt;br /&gt;
* [[Vectors#Vector_Length_.28Magnitude.29|vectorlen]](vector) - returns float&lt;br /&gt;
* [[Vectors#Unit_Length|vectornormalize]](vector) - returns vector, scales the vector to length 1&lt;br /&gt;
* vectororthobasis(vector) - returns vector&lt;br /&gt;
* [[Vectors#Vector-Scalar_Multiplication|vectorscale]](vector, float) - returns vector&lt;br /&gt;
* [[Vectors#Vector_Subtraction|vectorsub]](vector, vector) - returns vector&lt;br /&gt;
&lt;br /&gt;
====Strings====&lt;br /&gt;
* base64decode(str text) - returns decoded string&lt;br /&gt;
* base64encode(str text) - returns encoded string&lt;br /&gt;
* checksum(str text) - returns checksum float&lt;br /&gt;
* contains(str haystack, str needle) - returns boolean, you should probably do haystack.contains(needle) instead&lt;br /&gt;
* getascii(str character) - returns ascii value integer&lt;br /&gt;
* getstringkeys(str leading) - searchs for variables which start with the specified string and returns and array of their ending&lt;br /&gt;
* lowercase(str text) - returns lowercased string, it is recommended to use string.lower() though&lt;br /&gt;
* md5(str text) - returns md5 hash string&lt;br /&gt;
* randomstring(array of strings) - returns string&lt;br /&gt;
* strcmp(str text1, str text2) - returns integer&lt;br /&gt;
* strequals(str text1, str text2) - returns boolean, you probably should do text1.equals(text2) instead&lt;br /&gt;
* uppercase(str text) - returns uppercased string, it is recommended to use string.upper() though&lt;br /&gt;
&lt;br /&gt;
===GUI===&lt;br /&gt;
* addcontrol(obj) - adds a GUI control or a 3D-object to the scene&lt;br /&gt;
* cursoroff()&lt;br /&gt;
* cursoron()&lt;br /&gt;
* iscursoron() - returns boolean&lt;br /&gt;
* popdialog() - removes the top dialog control&lt;br /&gt;
* pushdialog(obj) - displays a control on top of all other controls, this control gains all focus until it is removed again&lt;br /&gt;
* setcontentcontrol(obj) - replaces the current content control (usually named GUIContainer) with another one&lt;br /&gt;
&lt;br /&gt;
===Graal 2D===&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;
| addtiledef(str tilesetimage, str prefix, int tilesettype)&lt;br /&gt;
|&lt;br /&gt;
| Sets the tileset image for levels beginning with the specified prefix.&lt;br /&gt;
Tileset type 0 is for pics1.png style tilesets.&lt;br /&gt;
Tileset type 1 is for the new tileset format (Era's tiles for example)&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(str tilesetimage, str prefix, int x, int y)&lt;br /&gt;
|&lt;br /&gt;
| Replaces a section of the tileset (x, y) image for levels beginning with the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(int objtype, int id)&lt;br /&gt;
|&lt;br /&gt;
| Attaches a player to the specified object. Using attachpayertoobj(0, id); the player will be attached to the current NPC.&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int npcindex, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an event on an npc, better use npcs[npcindex].trigger(event, params) instead; you can only trigger objects this way that are on your side of clientside/serverside&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int weaponindex, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes a trigger on a weapon, better use weapons[weaponindex].trigger(event, params) instead&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
|&lt;br /&gt;
| Puts the player back on the level (after using attachplayertoobj).&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default movement.&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default map&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
|&lt;br /&gt;
| Disables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Enables default movement&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int flags)&lt;br /&gt;
| &lt;br /&gt;
| Enable/disable client features&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | M key (map)&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | P key (pause)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Q key (weapon select)&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | R key (show ratings)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | S+A key combination for dropping items&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | S+D key combination for switching weapons&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | TAB key (if disabled then you cannot switch to the chat field with TAB)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Display of chat text&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Display of the hearts over player heads&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Display of nicknames&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Toall/PM-icons on the minimap&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x1000&lt;br /&gt;
  | Emoticons (disable it if you want to do other stuff with control+keys)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x2000&lt;br /&gt;
  | Alt+5 for making snapshots  ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x4000&lt;br /&gt;
  | Alt+8/9 for zooming ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x8000&lt;br /&gt;
  | The logframe where savelog stuff is added&lt;br /&gt;
  |-&lt;br /&gt;
  | allfeatures&lt;br /&gt;
  | All of the previously stated feature flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
|&lt;br /&gt;
| Enables default map.&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
|&lt;br /&gt;
| Enables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(int bombindex)&lt;br /&gt;
|&lt;br /&gt;
| Explodes a bomb with the specified index.&lt;br /&gt;
|-&lt;br /&gt;
| findani(str)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]] object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(str levelfilename)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]] object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(str accountname)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]] object&lt;br /&gt;
| Returns player object of Account specified. Player must be online.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(int playerid)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]] object&lt;br /&gt;
| Returns player object of id specified. If id isn't available, returns false.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(str weaponname)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]] object&lt;br /&gt;
| Returns weapon object of name specified. Returns false if weapon doesn't exist.&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Freezes player for a specific amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height of the font. Format:&lt;br /&gt;
  gettextheight(zoom, font, style)&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float, str, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width of a specified text in a certain font. Format:&lt;br /&gt;
  gettextwidth(zoom, font, style, text)&lt;br /&gt;
|-&lt;br /&gt;
| getz(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| Returns the z value of a terrain at (x,y).&lt;br /&gt;
|-&lt;br /&gt;
| graalcontrolhasfocus(bool) &lt;br /&gt;
| boolean &lt;br /&gt;
| parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player for ''seconds'' seconds.&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player's sword for ''seconds'' seconds.&lt;br /&gt;
|-&lt;br /&gt;
| hitnpc(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitobjects(float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitplayer(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lay2(str extraname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| loadmap(str mapfilename)&lt;br /&gt;
|&lt;br /&gt;
| Preloads a gmap on clientside, speeds up entering of new maps but is not required.&lt;br /&gt;
|-&lt;br /&gt;
| noplayerkilling()&lt;br /&gt;
|&lt;br /&gt;
| Disables killing of other players.&lt;br /&gt;
|-&lt;br /&gt;
| onwall(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is a blocking tile.&lt;br /&gt;
|-&lt;br /&gt;
| onwall2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if a blocking tile exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| onwater(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is water.&lt;br /&gt;
|-&lt;br /&gt;
| onwater2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if water exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| play(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file.&lt;br /&gt;
|-&lt;br /&gt;
| play2(str soundfilename, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| playlooped(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file in a loop until stopsound() is called.&lt;br /&gt;
|-&lt;br /&gt;
| playlooped2(str soundfile, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume in a loop until stopsound() is called. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| putleaps(int leapstype, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removetiledefs(str prefix)&lt;br /&gt;
|&lt;br /&gt;
| Remove tile definitions set by addtiledef and addtiledef2 for the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| replaceani(str defaultaniname, str newaniname)&lt;br /&gt;
|&lt;br /&gt;
| replaces the player's default ani with the new ani.&lt;br /&gt;
|-&lt;br /&gt;
| resetfocus()&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the player.&lt;br /&gt;
|-&lt;br /&gt;
| say(int signindex)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| say2(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenx(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the x of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| screeny(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the y of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldx(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the x of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldy(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the y of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| setani(str aniname, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gani of a player.&lt;br /&gt;
|-&lt;br /&gt;
| setbeltcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcoatcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| seteffect(float red, float green, float blue, float alpha)&lt;br /&gt;
|&lt;br /&gt;
| Sets the color and alpha transparency of the current npc, use seteffectmode(1) to make the npc alpha-transparent instead of displaying as a light, see [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]] for more.&lt;br /&gt;
|-&lt;br /&gt;
| setfocus(float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the specified x and y.&lt;br /&gt;
|-&lt;br /&gt;
| setgender(str gendername)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gender of a player.&lt;br /&gt;
|-&lt;br /&gt;
| sethead(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the head of a player&lt;br /&gt;
|-&lt;br /&gt;
| setletters(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the image to use for sign background and text.&lt;br /&gt;
|-&lt;br /&gt;
| setmap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setminimap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setmusicvolume(float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setplayerdir(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshield(str imagefilename, int shieldpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshoecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshootparams(str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setskincolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsleevecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsword(str imagefilename, int swordpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showstats(int statsflag)&lt;br /&gt;
|&lt;br /&gt;
| With this you can show/hide parts of the status bar / game&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Shows all&lt;br /&gt;
showstats(allstats);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except minimap&lt;br /&gt;
showstats(allstats &amp;amp; ~0x100);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except AP and MP bars&lt;br /&gt;
showstats(allstats &amp;amp; ~(0x40 | 0x80));&lt;br /&gt;
&lt;br /&gt;
// Enable only players and right-click profile&lt;br /&gt;
showstats(0x400 | 0x800);&lt;br /&gt;
&lt;br /&gt;
// Hides all&lt;br /&gt;
showstats(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | ASD&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | Icons (for rupees, bombs, arrows)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Rupees count&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | Bombs count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | Arrows count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | Hearts&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | Alignment (ap) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Magic points (mp) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Minimap (you can only hide it, you can't show it when the player pressed Alt+3)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Inventory NPCs&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Players&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | allstats&lt;br /&gt;
  | All of the previously stated stats flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| spyfire(int length, int power)&lt;br /&gt;
|&lt;br /&gt;
| Shoots a line of fire in the direction of the player with the specified tile length, and fire power (1 - bomb, 2 - super bomb, 3 - jolt bomb).&lt;br /&gt;
|-&lt;br /&gt;
| stopmidi()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stopsound(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Stop playing a sound started by playlooped&lt;br /&gt;
|-&lt;br /&gt;
| takeplayercarry()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takeplayerhorse()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testplayer(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| checks if there is a player on that position and returns the index of the player in players[], or -1 if there is none&lt;br /&gt;
|-&lt;br /&gt;
| triggeraction(float x, float y, str eventname, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an &amp;quot;onActionEventname&amp;quot; event on objects at the specified position, can be used to invoke events on objects from clientside to serverside and vice versa. &lt;br /&gt;
Special eventnames are &amp;quot;serverEventname&amp;quot; which will invoke an event on the Control-NPC (onActionEventname), or &amp;quot;serverside&amp;quot; which will invoke an onActionServerSide event on the weapon script specified by the first following parameter (the fourth parameter). It is recommended to use triggerserver() for that though.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
triggeraction(30, 30, &amp;quot;explode&amp;quot;, 5);&lt;br /&gt;
triggeraction(0, 0, &amp;quot;serverchat&amp;quot;, player.chat);&lt;br /&gt;
triggeraction(0, 0, &amp;quot;serverside&amp;quot;, &amp;quot;PlasmaGun&amp;quot;, &amp;quot;activate&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| triggerserver(str objecttype, str objectname, str params)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an event on a serverside object, currently objecttype can only be &amp;quot;gui&amp;quot; or &amp;quot;weapon&amp;quot; (which is the same), objectname is the name of the weapon script, the invoked event will be &amp;quot;onActionServerSide&amp;quot;.&lt;br /&gt;
On Graal3D the event will be &amp;quot;onActionParam0&amp;quot; instead.&lt;br /&gt;
For invoking events on the clientside use player.triggerclient(objecttype,objectname,params) instead.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
triggerserver(&amp;quot;weapon&amp;quot;, &amp;quot;PlasmaGun&amp;quot;, &amp;quot;activate&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| updateboard(int x, int y, int width, int height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateratings(obj)&lt;br /&gt;
| object&lt;br /&gt;
| Updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
newratings = updateratings({winner.rating,winner.ratingd,loser.rating,loser.ratingd});&lt;br /&gt;
winner.rating = newratings[0];&lt;br /&gt;
winner.ratingd = newratings[1];&lt;br /&gt;
loser.rating = newratings[2];&lt;br /&gt;
loser.ratingd = newratings[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| wraptext(int fontsize, str format, str text)&lt;br /&gt;
| array of strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext2(int pixelwidth, float zoom, str delimiters, str text)&lt;br /&gt;
| array of strings&lt;br /&gt;
| wraps the text so that it fits in the specified number of pixels and returns an array of text lines &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graal 3D===&lt;br /&gt;
* getboxcenter(str box) - returns string&lt;br /&gt;
* get3dobjectat(float x, float y, bool doboxcollision) - returns object - gets the 3d object at the specified screen position, third parameter says if it should do box collision&lt;br /&gt;
* get3dobjectatmouse(bool doboxcollision) - returns object - gets the 3d object at the mouse, specify if it should do box collision (true)&lt;br /&gt;
* get3dobjectbyray(str vector, str vector) - returns object&lt;br /&gt;
* lightscene() - returns boolean&lt;br /&gt;
* setfogcolors(array)&lt;br /&gt;
* setinteriorrendermode(int)&lt;br /&gt;
* setskybandcolors(array)&lt;br /&gt;
* setskybandsizes(array)&lt;br /&gt;
* setsuncolors(array)&lt;br /&gt;
* setterrainrendermode(int)&lt;br /&gt;
* synctimeofday(float hour, float minute)&lt;br /&gt;
* updateterrain()&lt;br /&gt;
* updatevisibledistance()&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* adventure_installgraal(str, bool, bool)&lt;br /&gt;
* adventure_openexternaloptions() - returns boolean&lt;br /&gt;
* adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
* adventure_openserverlist()&lt;br /&gt;
* adventure_quit()&lt;br /&gt;
* adventure_reconnect()&lt;br /&gt;
* adventure_savegraaloptions()&lt;br /&gt;
* adventure_selectpath(str) - returns object&lt;br /&gt;
* adventure_setaccountname(str)&lt;br /&gt;
* adventure_setchat(str)&lt;br /&gt;
* adventure_setnickname(str)&lt;br /&gt;
* adventure_setpassword(str)&lt;br /&gt;
* adventure_startofflinemode()&lt;br /&gt;
* adventure_updateaccountfield()&lt;br /&gt;
* adventure_updatemicroactivationlevel()&lt;br /&gt;
* adventure_updatemidivolume()&lt;br /&gt;
* adventure_updatemp3volume()&lt;br /&gt;
* adventure_updateplayermuted()&lt;br /&gt;
* adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
* adventure_updateradiovolume()&lt;br /&gt;
&lt;br /&gt;
''(these functions are only available to privileged scripts from the Login server)''&lt;br /&gt;
&lt;br /&gt;
==Classes / Object Types==&lt;br /&gt;
* [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ActionMap|ActionMap]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/DTSAniThread|DTSAniThread]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameMovementInterpolate|GameMovementInterpolate]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameMovementRigid|GameMovementRigid]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameMovementList|GameMovementList]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameShape|GameShape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShape3DS|GameShape3DS]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeDIF|GameShapeDIF]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeDTS|GameShapeDTS]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeFT|GameShapeFT]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControl|GuiControl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiArrayCtrl|GuiArrayCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextListCtrl|GuiTextListCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTreeViewCtrl|GuiTreeViewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapButtonCtrl|GuiBitmapButtonCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapCtrl|GuiBitmapCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMapOverviewCtrl|GuiMapOverviewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiButtonBaseCtrl|GuiButtonBaseCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiButtonCtrl|GuiButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCheckBoxCtrl|GuiCheckBoxCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiRadioCtrl|GuiRadioCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiChunkedBitmapCtrl|GuiChunkedBitmapCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiContextMenuCtrl|GuiContextMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiDrawingPanel|GuiDrawingPanel]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFlash|GuiFlash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFrameSetCtrl|GuiFrameSetCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraal3DCtrl|GuiGraal3DCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraalCtrl|GuiGraalCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMenuCtrl|GuiMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMLTextCtrl|GuiMLTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMLTextEditCtrl|GuiMLTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiPMEditCtrl|GuiPMEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMCtrl|GuiPMCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMHistoryCtrl|GuiPMHistoryCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiPlayerView|GuiPlayerView]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiProgressCtrl|GuiProgressCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiScrollCtrl|GuiScrollCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShapeNameHud|GuiShapeNameHud]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShowImgCtrl|GuiShowImgCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiSliderCtrl|GuiSliderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiStretchCtrl|GuiStretchCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTabCtrl|GuiTabCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTextCtrl|GuiTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpEditCtrl|GuiPopUpEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpMenuCtrl|GuiPopUpMenuCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextEditCtrl|GuiTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiTextEditSliderCtrl|GuiTextEditSliderCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiWindowCtrl|GuiWindowCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TerrainEditor|TerrainEditor]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/WorldEditor|WorldEditor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiCursor|GuiCursor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTabCtrlEntry|GuiTabCtrlEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTextListEntry|GuiTextListEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTreeViewNode|GuiTreeViewNode]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/MRandomGenerator|MRandomGenerator]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/MRandomLCG|MRandomLCG]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/MRandomR250|MRandomR250]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/SimObject|SimObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SceneObject|SceneObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxSunLight|fxSunLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameObject|GameObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Camera|Camera]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DynamicShapeReplicator|DynamicShapeReplicator]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrass|DynamicGrass]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrassReplicator|DynamicGrassReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Sky|Sky]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TerrainBlock|TerrainBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/twSurfaceReference|twSurfaceReference]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WaterBlock|WaterBlock]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimGroup|SimGroup]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameConnection|GameConnection]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/Sun|Sun]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawableObject|TDrawableObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TBaddy|TBaddy]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TLevelObject|TLevelObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TExplosion|TExplosion]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TGaniObject|TGaniObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TProjectile|TProjectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerHorse|TServerHorse]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TPlayer|TPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerBomb|TServerBomb]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerCarry|TServerCarry]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerChest|TServerChest]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerExtra|TServerExtra]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerFlying|TServerFlying]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerLeap|TServerLeap]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerSign|TServerSign]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TShowImg|TShowImg]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawingPanel|TDrawingPanel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/Terraformer|Terraformer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TFrameDetail|TFrameDetail]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGaniParam|TGaniParam]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniPart|TGraalAniPart]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSound|TGraalAniSound]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSprite|TGraalAniSprite]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniStep|TGraalAniStep]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalSpriteAttachment|TGraalSpriteAttachment]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TMovementRigid|TMovementRigid]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticle|TParticle]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleEmitter|TParticleEmitter]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleModifier|TParticleModifier]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevelLink|TServerLevelLink]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShapeMaterial|TShapeMaterial]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImg_Values|TShowImg_Values]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Flash|TShowImg_Flash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Gani|TShowImg_Gani]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Image|TShowImg_Image]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Shape|TShowImg_Shape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Poly|TShowImg_Poly]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Text|TShowImg_Text]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TStaticVar|TStaticVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TTilesLayer|TTilesLayer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TGraalVar&amp;diff=7800</id>
		<title>Creation/Dev/Script/Client/TGraalVar</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TGraalVar&amp;diff=7800"/>
		<updated>2006-12-22T03:07:09Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Functions */  updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Variables=&lt;br /&gt;
''Note: Currently this doesn't include functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_object_functions|Starting Guide: Standard object functions]] for those.''&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;
| initialized&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|-&lt;br /&gt;
| joinedclasses&lt;br /&gt;
| object (read only)&lt;br /&gt;
| List of joined classes&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of object&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogmissingfunctions&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether to log calls to undefined functions&lt;br /&gt;
|-&lt;br /&gt;
| timeout&lt;br /&gt;
| float&lt;br /&gt;
| Time left in the timeout&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;
| addarray(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds another array to this variable&lt;br /&gt;
|-&lt;br /&gt;
| cancelevents(str)&lt;br /&gt;
|&lt;br /&gt;
| removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
|-&lt;br /&gt;
| catchevent(str, str, str)&lt;br /&gt;
|&lt;br /&gt;
| adds an event handler for the specified object name and event, third parameter is the name of the function which receives the event (first parameter of the event will be the object for which the event occured)&lt;br /&gt;
|-&lt;br /&gt;
| copyfrom(obj)&lt;br /&gt;
|&lt;br /&gt;
| copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
|-&lt;br /&gt;
| escape()&lt;br /&gt;
| string &lt;br /&gt;
| adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&lt;br /&gt;
|-&lt;br /&gt;
| getdatablockvars()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all variables which are pointing to datablocks (for Graal3D, will be removed soon)&lt;br /&gt;
|-&lt;br /&gt;
| getdynamicvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
|-&lt;br /&gt;
| geteditvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all dynamic variables which can be modified&lt;br /&gt;
|-&lt;br /&gt;
| getfunctions()&lt;br /&gt;
| object&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| getstaticvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
|-&lt;br /&gt;
| getvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all subvariables of this object&lt;br /&gt;
|-&lt;br /&gt;
| ignoreevent(str, str)&lt;br /&gt;
|&lt;br /&gt;
| lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
|-&lt;br /&gt;
| ignoreevents(str)&lt;br /&gt;
|&lt;br /&gt;
| lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
|-&lt;br /&gt;
| insertarray(int, obj)&lt;br /&gt;
|&lt;br /&gt;
| inserts an array at the specified index&lt;br /&gt;
|-&lt;br /&gt;
| isinclass(str)&lt;br /&gt;
| float&lt;br /&gt;
| checks if the object has joined the specified class&lt;br /&gt;
|-&lt;br /&gt;
| join(str)&lt;br /&gt;
|&lt;br /&gt;
| lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
|-&lt;br /&gt;
| leave(str)&lt;br /&gt;
|&lt;br /&gt;
| leaves a previously joined class&lt;br /&gt;
|-&lt;br /&gt;
| loadfolder(str, int)&lt;br /&gt;
|&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| loadlines(str)&lt;br /&gt;
|&lt;br /&gt;
| loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
|-&lt;br /&gt;
| loadstring(str)&lt;br /&gt;
|&lt;br /&gt;
| loads the content of a file into the variable&lt;br /&gt;
|-&lt;br /&gt;
| loadvars(str)&lt;br /&gt;
|&lt;br /&gt;
| loads the variables from a file where each line has the format varname=value&lt;br /&gt;
|-&lt;br /&gt;
| loadvarsfromarray(obj)&lt;br /&gt;
|&lt;br /&gt;
| loads the variables from a string list of the format varname=value&lt;br /&gt;
|-&lt;br /&gt;
| loadxml(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| loadxmlfromstring(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| objecttype()&lt;br /&gt;
| string&lt;br /&gt;
| returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
|-&lt;br /&gt;
| savelines(str, int)&lt;br /&gt;
|&lt;br /&gt;
| saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
|-&lt;br /&gt;
| savestring(str, int)&lt;br /&gt;
|&lt;br /&gt;
| saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
|-&lt;br /&gt;
| savevars(str, int)&lt;br /&gt;
|&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| savevarstoarray(bool)&lt;br /&gt;
| object&lt;br /&gt;
| saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
|-&lt;br /&gt;
| savexml(str, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| savexmltostring()&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scheduleevent(float, str, params...)&lt;br /&gt;
| object&lt;br /&gt;
| invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
|-&lt;br /&gt;
| settimer(float)&lt;br /&gt;
|&lt;br /&gt;
| invokes an onTimeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
|-&lt;br /&gt;
| sortascending()&lt;br /&gt;
|&lt;br /&gt;
| sorts the array in ascending order (smallest value first)&lt;br /&gt;
|-&lt;br /&gt;
| sortbyvalue(str, str, bool)&lt;br /&gt;
|&lt;br /&gt;
| sorts the array by the specified variable name, you must also say what variable type it is (e.g. string) and if it should be sorted ascending&lt;br /&gt;
|-&lt;br /&gt;
| sortdescending()&lt;br /&gt;
|&lt;br /&gt;
| sorts the array in descending order (highest value first)&lt;br /&gt;
|-&lt;br /&gt;
| subarray2(int, int, int, int)&lt;br /&gt;
| object&lt;br /&gt;
| extracts a two-dimensional array, specify startpos1, length1, startpos2, length2&lt;br /&gt;
|-&lt;br /&gt;
| timershow()&lt;br /&gt;
|&lt;br /&gt;
| lets the npc show the timeout variable, deprecated&lt;br /&gt;
|-&lt;br /&gt;
| trigger(str, params...)&lt;br /&gt;
|&lt;br /&gt;
| invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=7799</id>
		<title>Creation/Dev/Script/Client</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=7799"/>
		<updated>2006-12-22T03:02:36Z</updated>

		<summary type="html">&lt;p&gt;Riot: few updates (still more to do)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Client Supported Script Features=&lt;br /&gt;
&lt;br /&gt;
==Settings==&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;
| $camera::movementspeed&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::choosenvoicecodec&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivatebyvolume&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivationlevel&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microinputdevice&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microon&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microvolumefactor&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::midivolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::mp3volume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::radiovolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::reversestereo&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::sfxvolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::voicevolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::allowglobalpms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::automapping&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::defaultfontsize&lt;br /&gt;
| integer&lt;br /&gt;
| Change showtext zoom: $pref::graal::defaultfontsize/24&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontconnectlevels&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontloadlistheads&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepasswords&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedport&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedudpport&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::language&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::limitnicknames&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::loadbuddylistfromserver&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nicknamelimit&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nomassmessages&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::notoalls&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::noudp&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::showyourselfonbuddylists&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::input::mousesensitivity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::interior::lockarrays&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::terrain::enabledetails&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::detailfactor&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fogdistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fullscreenmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::screenshotformat&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::visibledistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::windowmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $scenelighting::lightingprogress&lt;br /&gt;
| float (read only)&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| for use with enablefeatures(), it's the default unless it is changed.&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The size of the allplayers array.&lt;br /&gt;
|-&lt;br /&gt;
| allrenderobjecttypes&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| allstats&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all stats currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player has spin attack&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a black stone&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a bush&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying an NPC.&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the file currently being downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Amount of download file already downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Size of the file being downloaded&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 (read only)&lt;br /&gt;
| The letter of the emoticon being displayed by the player&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| float (read only)&lt;br /&gt;
| X coordinate of the center of playing screen in the level, offset -1.5&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Y coordinate of the center of playing screen in the level, offset -2&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Graal version&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| float&lt;br /&gt;
| Downward acceleration for projectiles ejected with the shoot() function.&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying anything&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if you are running graal 3D&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is the first person in the level&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is on a map&lt;br /&gt;
|-&lt;br /&gt;
| jpegquality&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the left mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| float (read only)&lt;br /&gt;
| The x-value of the levels' origin (may deviate with attachplayertoobj)&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| float (read only)&lt;br /&gt;
| The x-value of the levels' origin (may deviate with attachplayertoobj)&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled light effects&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled weather effects&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled particle effects&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the middle mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Counts the amount of mousebuttons pressed&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Amount that the mouse scroll wheel was scrolled [(-) is up, (+) is down]&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| float&lt;br /&gt;
| X coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| float&lt;br /&gt;
| Y coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| musiclen&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The duration of the playing sound file&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The position in the file at which the sound file is&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the right mouse button is down&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Height of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Width of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| object&lt;br /&gt;
| an array of players highlighted 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 player.weapons that references the player's current weapon&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the current 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 (read only)&lt;br /&gt;
| True if the player was shot by a baddy&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player was shot by another player&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A timer which is increased each 5 seconds and is snychronized between server and clients; The timer started exactly on 2001-02-01 at 18:33:34 Paris time (opening of Graal2001); on serverside the unixtime (timevar2) is around 981048814 + timevar*5&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Unix-time with a very high precision, not synchronized between server and client&lt;br /&gt;
|-&lt;br /&gt;
| timevar3 &lt;br /&gt;
| float (read only)&lt;br /&gt;
| synchronized time which works on both server- and client-side, precision is milliseconds, only available for Graal3D right now&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| waterheight&lt;br /&gt;
| float&lt;br /&gt;
| The height of water at the player's (x,y) on a terrain&lt;br /&gt;
|-&lt;br /&gt;
| weapons&lt;br /&gt;
| object (read only)&lt;br /&gt;
| An array of weapon objects&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Are weapons enabled? (Player can trigger onWeaponFired...)&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;
==Variable Prefixes==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
| '''Prefix'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| object.var&lt;br /&gt;
| accesses the variables of the object. The object can be retrieved by using the case-sensitive name of the object or a variable pointing to the object.&lt;br /&gt;
|-&lt;br /&gt;
| this.var&lt;br /&gt;
| variables that belong to the current script object, on the server-side they are saved to file when the object is a database npc&lt;br /&gt;
|-&lt;br /&gt;
| thiso.var&lt;br /&gt;
| refer to the this. variables of the executing npc ('o' stands for original) when you use the with () command: with (findnpc(&amp;quot;npc2&amp;quot;)) thiso.temp = this.temp; will copy 'this.temp' from npc2 to the current npc&lt;br /&gt;
|-&lt;br /&gt;
| player.var&lt;br /&gt;
| variables of the current player object, when the event was invoked by a player (e.g. playertouchsme), or you do with (findplayer(accountname))&lt;br /&gt;
|-&lt;br /&gt;
| playero.var&lt;br /&gt;
| variables of the original player object, in generally the player who has invoked the event (e.g. playertouchsme)&lt;br /&gt;
|-&lt;br /&gt;
| client.var&lt;br /&gt;
| short for player.client.var, variables that can be changed on server-side and client-side&lt;br /&gt;
|-&lt;br /&gt;
| clientr.var&lt;br /&gt;
| short for player.clientr.var, variables that can only be changed on server-side but can be read on client-side&lt;br /&gt;
|-&lt;br /&gt;
| server.var&lt;br /&gt;
| variables that only exists on server-side and can be accessed by all npcs&lt;br /&gt;
|-&lt;br /&gt;
| serverr.var&lt;br /&gt;
| variables that can only be changed on server-side and is server wide, but can also be read by all clients, so it can be used for storing the state of global activities that need client-side actions like displaying weather; like server. vars they can also be changed with remotecontrol.exe by administrators that have the right to change server. variables&lt;br /&gt;
|-&lt;br /&gt;
| level.var&lt;br /&gt;
| variables of the current level, which is the level the executing npc stands in (on server-side) or the player is in (on client-side)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
''Note: Currently this doesn't list the functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_functions|Starting Guide: Standard functions]] for those.''&lt;br /&gt;
&lt;br /&gt;
===Common===&lt;br /&gt;
* aindexof(float, array) - returns integer, better use array.index(float) instead&lt;br /&gt;
* echo(str text) - prints text in the F2 window (clientside) or RC chat (serverside)&lt;br /&gt;
* getbasepackage() - returns [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]] object&lt;br /&gt;
* getdownloadedupdatepackagesize() - returns integer&lt;br /&gt;
* getdownloadingpackage() - returns [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]] object&lt;br /&gt;
* getdownloadingpackagescount() - returns integer&lt;br /&gt;
* gethttprequest(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* getkeycode(str keyname) - returns integer&lt;br /&gt;
* getpackagesdownloadcomplete() - returns boolean&lt;br /&gt;
* getpackagesdownloaded() - returns boolean&lt;br /&gt;
* getplatform() - returns string&lt;br /&gt;
* getservername() - returns string&lt;br /&gt;
* gettotalupdatepackagesize() - returns integer&lt;br /&gt;
* getupdatepackage(str) - returns object&lt;br /&gt;
* isadminguild(str guildname) - returns boolean&lt;br /&gt;
* isobject(str objectname) - returns boolean, checks if an object is existing&lt;br /&gt;
* keydown(int keynumber) - returns if the specified key is pressed (0..10: up, left, down, right, S, A, D, M, tab, Q, P)&lt;br /&gt;
* keydown2(int keycode, bool ignorecase) - returns boolean&lt;br /&gt;
* keyname(int keycode) - returns string&lt;br /&gt;
* opengraalurl(str url) - opens a website of www.graalonline.com and automatically lets the player login to it (e.g. for the upgrade page or screenshot section)&lt;br /&gt;
* openurl(str url)&lt;br /&gt;
* openurl2(str url, int width, int height) - deprecated, width and height are ignored&lt;br /&gt;
* requesthttp(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* requesttext(str type, str option)&lt;br /&gt;
* requesturl(str url) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* savelog(str text)&lt;br /&gt;
* savelog2(str filename, str text) - adds a log entry to &amp;quot;logs/filename&amp;quot;&lt;br /&gt;
* sendrpgmessage(str text) - adds text to the F2 window&lt;br /&gt;
* sendtext(str type, str option, params...)&lt;br /&gt;
* sendtorc(str text) - serverside only, displays text on the RC chat&lt;br /&gt;
* serverwarp(str servername) - the name can either be the internal name (graal2002) or part of the server name on the serverlist&lt;br /&gt;
&lt;br /&gt;
====Files====&lt;br /&gt;
* extractfilebase(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* extractfileext(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* extractfilename(str filepath) - returns string, '/an/example/path/and/file' would return 'file'&lt;br /&gt;
* extractfilepath(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* fileexists(str filepath) - returns boolean, checks if a file exists&lt;br /&gt;
* filesize(str filepath) - returns integer, returns the size of a file&lt;br /&gt;
* fileupdate(str filepath) - returns boolean, checks if a file is existing and requests an update from the server if it has not been checked yet&lt;br /&gt;
* findfiles(str filenamepattern, flags) - returns array of strings, flags can be either 1 for recursive search or 0 for non-recursive&lt;br /&gt;
* freefileresources(str)&lt;br /&gt;
* getextension(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* reloadfile(str filepath)&lt;br /&gt;
* requestfiledeletion(str filepath), requests a file to be deleted on the server&lt;br /&gt;
* requestfilerename(str filepath, str newfilepath), requests a file to be renamed on the server&lt;br /&gt;
* requestfilesmove(str filepath, str newfilepath), requests a file to be moved on the server&lt;br /&gt;
* selectfilefordownload(str filter)&lt;br /&gt;
* selectfileforupload()&lt;br /&gt;
&lt;br /&gt;
''Watch the [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]] object for loading and saving of files (loadlines etc.)''&lt;br /&gt;
&lt;br /&gt;
''See more information about input/output at [[Creation/Dev/Output Methods|Output methods]]''&lt;br /&gt;
&lt;br /&gt;
====Math====&lt;br /&gt;
* degtorad(float value) - returns float&lt;br /&gt;
* radtodeg(float value) - returns float&lt;br /&gt;
&lt;br /&gt;
=====Matrices=====&lt;br /&gt;
* [[Matrix#matrixcreate()|matrixcreate]](str vector, str rotation) - returns matrix string&lt;br /&gt;
* matrixcreatefromeuler(str eulerrotation) - returns matrix string&lt;br /&gt;
* matrixmulpoint(str, str) - returns string&lt;br /&gt;
* matrixmultiply(str matrix, str matrix) - returns matrix string&lt;br /&gt;
* matrixmulvector(str matrix, str vector) - returns vector string&lt;br /&gt;
&lt;br /&gt;
=====Vectors=====&lt;br /&gt;
Each [[Vectors|vector]] is basicly an array of format {x,y,z} but is passed as string for simplicity. Click on the function names to see more information about the vector operations.&lt;br /&gt;
* [[Vectors#Vector_Addition|vectoradd]](vector, vector) - returns vector&lt;br /&gt;
* [[Cross Product|vectorcross]](vector, vector) - returns vector&lt;br /&gt;
* vectordist(vector, vector) - returns float&lt;br /&gt;
* [[Dot Product|vectordot]](vector, vector) - returns float&lt;br /&gt;
* [[Vectors#Vector_Length_.28Magnitude.29|vectorlen]](vector) - returns float&lt;br /&gt;
* [[Vectors#Unit_Length|vectornormalize]](vector) - returns vector, scales the vector to length 1&lt;br /&gt;
* vectororthobasis(vector) - returns vector&lt;br /&gt;
* [[Vectors#Vector-Scalar_Multiplication|vectorscale]](vector, float) - returns vector&lt;br /&gt;
* [[Vectors#Vector_Subtraction|vectorsub]](vector, vector) - returns vector&lt;br /&gt;
&lt;br /&gt;
====Strings====&lt;br /&gt;
* base64decode(str text) - returns decoded string&lt;br /&gt;
* base64encode(str text) - returns encoded string&lt;br /&gt;
* checksum(str text) - returns checksum float&lt;br /&gt;
* contains(str haystack, str needle) - returns boolean, you should probably do haystack.contains(needle) instead&lt;br /&gt;
* getascii(str character) - returns ascii value integer&lt;br /&gt;
* getstringkeys(str leading) - searchs for variables which start with the specified string and returns and array of their ending&lt;br /&gt;
* lowercase(str text) - returns lowercased string, it is recommended to use string.lower() though&lt;br /&gt;
* md5(str text) - returns md5 hash string&lt;br /&gt;
* randomstring(array of strings) - returns string&lt;br /&gt;
* strcmp(str text1, str text2) - returns integer&lt;br /&gt;
* strequals(str text1, str text2) - returns boolean, you probably should do text1.equals(text2) instead&lt;br /&gt;
* uppercase(str text) - returns uppercased string, it is recommended to use string.upper() though&lt;br /&gt;
&lt;br /&gt;
===GUI===&lt;br /&gt;
* addcontrol(obj) - adds a GUI control or a 3D-object to the scene&lt;br /&gt;
* cursoroff()&lt;br /&gt;
* cursoron()&lt;br /&gt;
* iscursoron() - returns boolean&lt;br /&gt;
* popdialog() - removes the top dialog control&lt;br /&gt;
* pushdialog(obj) - displays a control on top of all other controls, this control gains all focus until it is removed again&lt;br /&gt;
* setcontentcontrol(obj) - replaces the current content control (usually named GUIContainer) with another one&lt;br /&gt;
&lt;br /&gt;
===Graal 2D===&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;
| addtiledef(str tilesetimage, str prefix, int tilesettype)&lt;br /&gt;
|&lt;br /&gt;
| Sets the tileset image for levels beginning with the specified prefix.&lt;br /&gt;
Tileset type 0 is for pics1.png style tilesets.&lt;br /&gt;
Tileset type 1 is for the new tileset format (Era's tiles for example)&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(str tilesetimage, str prefix, int x, int y)&lt;br /&gt;
|&lt;br /&gt;
| Replaces a section of the tileset (x, y) image for levels beginning with the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(int objtype, int id)&lt;br /&gt;
|&lt;br /&gt;
| Attaches a player to the specified object. Using attachpayertoobj(0, id); the player will be attached to the current NPC.&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int npcindex, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an event on an npc, better use npcs[npcindex].trigger(event, params) instead; you can only trigger objects this way that are on your side of clientside/serverside&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int weaponindex, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes a trigger on a weapon, better use weapons[weaponindex].trigger(event, params) instead&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
|&lt;br /&gt;
| Puts the player back on the level (after using attachplayertoobj).&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default movement.&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default map&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
|&lt;br /&gt;
| Disables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Enables default movement&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int flags)&lt;br /&gt;
| &lt;br /&gt;
| Enable/disable client features&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | M key (map)&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | P key (pause)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Q key (weapon select)&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | R key (show ratings)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | S+A key combination for dropping items&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | S+D key combination for switching weapons&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | TAB key (if disabled then you cannot switch to the chat field with TAB)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Display of chat text&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Display of the hearts over player heads&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Display of nicknames&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Toall/PM-icons on the minimap&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x1000&lt;br /&gt;
  | Emoticons (disable it if you want to do other stuff with control+keys)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x2000&lt;br /&gt;
  | Alt+5 for making snapshots  ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x4000&lt;br /&gt;
  | Alt+8/9 for zooming ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x8000&lt;br /&gt;
  | The logframe where savelog stuff is added&lt;br /&gt;
  |-&lt;br /&gt;
  | allfeatures&lt;br /&gt;
  | All of the previously stated feature flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
|&lt;br /&gt;
| Enables default map.&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
|&lt;br /&gt;
| Enables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(int bombindex)&lt;br /&gt;
|&lt;br /&gt;
| Explodes a bomb with the specified index.&lt;br /&gt;
|-&lt;br /&gt;
| findani(str)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]] object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(str levelfilename)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]] object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(str accountname)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]] object&lt;br /&gt;
| Returns player object of Account specified. Player must be online.&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(int playerid)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]] object&lt;br /&gt;
| Returns player object of id specified. If id isn't available, returns false.&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(str weaponname)&lt;br /&gt;
| [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]] object&lt;br /&gt;
| Returns weapon object of name specified. Returns false if weapon doesn't exist.&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Freezes player for a specific amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height of the font. Format:&lt;br /&gt;
  gettextheight(zoom, font, style)&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float, str, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width of a specified text in a certain font. Format:&lt;br /&gt;
  gettextwidth(zoom, font, style, text)&lt;br /&gt;
|-&lt;br /&gt;
| getz(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| Returns the z value of a terrain at (x,y).&lt;br /&gt;
|-&lt;br /&gt;
| graalcontrolhasfocus(bool) &lt;br /&gt;
| boolean &lt;br /&gt;
| parameter says if it should also check if the chat bar has the focus&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player for ''seconds'' seconds.&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Hides the player's sword for ''seconds'' seconds.&lt;br /&gt;
|-&lt;br /&gt;
| hitnpc(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitobjects(float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitplayer(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lay2(str extraname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| loadmap(str mapfilename)&lt;br /&gt;
|&lt;br /&gt;
| Preloads a gmap on clientside, speeds up entering of new maps but is not required.&lt;br /&gt;
|-&lt;br /&gt;
| noplayerkilling()&lt;br /&gt;
|&lt;br /&gt;
| Disables killing of other players.&lt;br /&gt;
|-&lt;br /&gt;
| onwall(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is a blocking tile.&lt;br /&gt;
|-&lt;br /&gt;
| onwall2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if a blocking tile exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| onwater(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is water.&lt;br /&gt;
|-&lt;br /&gt;
| onwater2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if water exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| play(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file.&lt;br /&gt;
|-&lt;br /&gt;
| play2(str soundfilename, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| playlooped(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file in a loop until stopsound() is called.&lt;br /&gt;
|-&lt;br /&gt;
| playlooped2(str soundfile, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume in a loop until stopsound() is called. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| putleaps(int leapstype, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removetiledefs(str prefix)&lt;br /&gt;
|&lt;br /&gt;
| Remove tile definitions set by addtiledef and addtiledef2 for the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| replaceani(str defaultaniname, str newaniname)&lt;br /&gt;
|&lt;br /&gt;
| replaces the player's default ani with the new ani.&lt;br /&gt;
|-&lt;br /&gt;
| resetfocus()&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the player.&lt;br /&gt;
|-&lt;br /&gt;
| say(int signindex)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| say2(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenx(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the x of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| screeny(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the y of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldx(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the x of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldy(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the y of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| setani(str aniname, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gani of a player.&lt;br /&gt;
|-&lt;br /&gt;
| setbeltcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcoatcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| seteffect(float red, float green, float blue, float alpha)&lt;br /&gt;
|&lt;br /&gt;
| Sets the color and alpha transparency of the current npc, use seteffectmode(1) to make the npc alpha-transparent instead of displaying as a light, see [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]] for more.&lt;br /&gt;
|-&lt;br /&gt;
| setfocus(float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the specified x and y.&lt;br /&gt;
|-&lt;br /&gt;
| setgender(str gendername)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gender of a player.&lt;br /&gt;
|-&lt;br /&gt;
| sethead(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the head of a player&lt;br /&gt;
|-&lt;br /&gt;
| setletters(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the image to use for sign background and text.&lt;br /&gt;
|-&lt;br /&gt;
| setmap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setminimap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setmusicvolume(float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setplayerdir(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshield(str imagefilename, int shieldpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshoecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshootparams(str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setskincolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsleevecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsword(str imagefilename, int swordpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showstats(int statsflag)&lt;br /&gt;
|&lt;br /&gt;
| With this you can show/hide parts of the status bar / game&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Shows all&lt;br /&gt;
showstats(allstats);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except minimap&lt;br /&gt;
showstats(allstats &amp;amp; ~0x100);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except AP and MP bars&lt;br /&gt;
showstats(allstats &amp;amp; ~(0x40 | 0x80));&lt;br /&gt;
&lt;br /&gt;
// Enable only players and right-click profile&lt;br /&gt;
showstats(0x400 | 0x800);&lt;br /&gt;
&lt;br /&gt;
// Hides all&lt;br /&gt;
showstats(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | ASD&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | Icons (for rupees, bombs, arrows)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Rupees count&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | Bombs count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | Arrows count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | Hearts&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | Alignment (ap) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Magic points (mp) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Minimap (you can only hide it, you can't show it when the player pressed Alt+3)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Inventory NPCs&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Players&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | allstats&lt;br /&gt;
  | All of the previously stated stats flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| spyfire(int length, int power)&lt;br /&gt;
|&lt;br /&gt;
| Shoots a line of fire in the direction of the player with the specified tile length, and fire power (1 - bomb, 2 - super bomb, 3 - jolt bomb).&lt;br /&gt;
|-&lt;br /&gt;
| stopmidi()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stopsound(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Stop playing a sound started by playlooped&lt;br /&gt;
|-&lt;br /&gt;
| takeplayercarry()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takeplayerhorse()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testplayer(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| checks if there is a player on that position and returns the index of the player in players[], or -1 if there is none&lt;br /&gt;
|-&lt;br /&gt;
| triggeraction(float x, float y, str eventname, params...)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an &amp;quot;onActionEventname&amp;quot; event on objects at the specified position, can be used to invoke events on objects from clientside to serverside and vice versa. &lt;br /&gt;
Special eventnames are &amp;quot;serverEventname&amp;quot; which will invoke an event on the Control-NPC (onActionEventname), or &amp;quot;serverside&amp;quot; which will invoke an onActionServerSide event on the weapon script specified by the first following parameter (the fourth parameter). It is recommended to use triggerserver() for that though.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
triggeraction(30, 30, &amp;quot;explode&amp;quot;, 5);&lt;br /&gt;
triggeraction(0, 0, &amp;quot;serverchat&amp;quot;, player.chat);&lt;br /&gt;
triggeraction(0, 0, &amp;quot;serverside&amp;quot;, &amp;quot;PlasmaGun&amp;quot;, &amp;quot;activate&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| triggerserver(str objecttype, str objectname, str params)&lt;br /&gt;
|&lt;br /&gt;
| Invokes an event on a serverside object, currently objecttype can only be &amp;quot;gui&amp;quot; or &amp;quot;weapon&amp;quot; (which is the same), objectname is the name of the weapon script, the invoked event will be &amp;quot;onActionServerSide&amp;quot;.&lt;br /&gt;
On Graal3D the event will be &amp;quot;onActionParam0&amp;quot; instead.&lt;br /&gt;
For invoking events on the clientside use player.triggerclient(objecttype,objectname,params) instead.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
triggerserver(&amp;quot;weapon&amp;quot;, &amp;quot;PlasmaGun&amp;quot;, &amp;quot;activate&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| updateboard(int x, int y, int width, int height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateratings(obj)&lt;br /&gt;
| object&lt;br /&gt;
| Updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
newratings = updateratings({winner.rating,winner.ratingd,loser.rating,loser.ratingd});&lt;br /&gt;
winner.rating = newratings[0];&lt;br /&gt;
winner.ratingd = newratings[1];&lt;br /&gt;
loser.rating = newratings[2];&lt;br /&gt;
loser.ratingd = newratings[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| wraptext(int fontsize, str format, str text)&lt;br /&gt;
| array of strings&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext2(int pixelwidth, float zoom, str delimiters, str text)&lt;br /&gt;
| array of strings&lt;br /&gt;
| wraps the text so that it fits in the specified number of pixels and returns an array of text lines &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graal 3D===&lt;br /&gt;
* getboxcenter(str box) - returns string&lt;br /&gt;
* get3dobjectat(float x, float y, bool doboxcollision) - returns object - gets the 3d object at the specified screen position, third parameter says if it should do box collision&lt;br /&gt;
* get3dobjectatmouse(bool doboxcollision) - returns object - gets the 3d object at the mouse, specify if it should do box collision (true)&lt;br /&gt;
* get3dobjectbyray(str vector, str vector) - returns object&lt;br /&gt;
* lightscene() - returns boolean&lt;br /&gt;
* setfogcolors(array)&lt;br /&gt;
* setinteriorrendermode(int)&lt;br /&gt;
* setskybandcolors(array)&lt;br /&gt;
* setskybandsizes(array)&lt;br /&gt;
* setsuncolors(array)&lt;br /&gt;
* setterrainrendermode(int)&lt;br /&gt;
* synctimeofday(float hour, float minute)&lt;br /&gt;
* updateterrain()&lt;br /&gt;
* updatevisibledistance()&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* adventure_installgraal(str, bool, bool)&lt;br /&gt;
* adventure_openexternaloptions() - returns boolean&lt;br /&gt;
* adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
* adventure_openserverlist()&lt;br /&gt;
* adventure_quit()&lt;br /&gt;
* adventure_reconnect()&lt;br /&gt;
* adventure_savegraaloptions()&lt;br /&gt;
* adventure_selectpath(str) - returns object&lt;br /&gt;
* adventure_setaccountname(str)&lt;br /&gt;
* adventure_setchat(str)&lt;br /&gt;
* adventure_setnickname(str)&lt;br /&gt;
* adventure_setpassword(str)&lt;br /&gt;
* adventure_startofflinemode()&lt;br /&gt;
* adventure_updateaccountfield()&lt;br /&gt;
* adventure_updatemicroactivationlevel()&lt;br /&gt;
* adventure_updatemidivolume()&lt;br /&gt;
* adventure_updatemp3volume()&lt;br /&gt;
* adventure_updateplayermuted()&lt;br /&gt;
* adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
* adventure_updateradiovolume()&lt;br /&gt;
&lt;br /&gt;
''(these functions are only available to privileged scripts from the Login server)''&lt;br /&gt;
&lt;br /&gt;
==Classes / Object Types==&lt;br /&gt;
* [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ActionMap|ActionMap]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/DTSAniThread|DTSAniThread]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameMovementInterpolate|GameMovementInterpolate]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameMovementRigid|GameMovementRigid]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameMovementList|GameMovementList]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GameShape|GameShape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShape3DS|GameShape3DS]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeDIF|GameShapeDIF]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeDTS|GameShapeDTS]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GameShapeFT|GameShapeFT]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControl|GuiControl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiArrayCtrl|GuiArrayCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextListCtrl|GuiTextListCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTreeViewCtrl|GuiTreeViewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapButtonCtrl|GuiBitmapButtonCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapCtrl|GuiBitmapCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMapOverviewCtrl|GuiMapOverviewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiButtonBaseCtrl|GuiButtonBaseCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiButtonCtrl|GuiButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCheckBoxCtrl|GuiCheckBoxCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiRadioCtrl|GuiRadioCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiChunkedBitmapCtrl|GuiChunkedBitmapCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiContextMenuCtrl|GuiContextMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiDrawingPanel|GuiDrawingPanel]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFlash|GuiFlash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFrameSetCtrl|GuiFrameSetCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraal3DCtrl|GuiGraal3DCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraalCtrl|GuiGraalCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMenuCtrl|GuiMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMLTextCtrl|GuiMLTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMLTextEditCtrl|GuiMLTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiPMEditCtrl|GuiPMEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMCtrl|GuiPMCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMHistoryCtrl|GuiPMHistoryCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiPlayerView|GuiPlayerView]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiProgressCtrl|GuiProgressCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiScrollCtrl|GuiScrollCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShapeNameHud|GuiShapeNameHud]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShowImgCtrl|GuiShowImgCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiSliderCtrl|GuiSliderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiStretchCtrl|GuiStretchCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTabCtrl|GuiTabCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTextCtrl|GuiTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpEditCtrl|GuiPopUpEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpMenuCtrl|GuiPopUpMenuCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextEditCtrl|GuiTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiTextEditSliderCtrl|GuiTextEditSliderCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiWindowCtrl|GuiWindowCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TerrainEditor|TerrainEditor]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/WorldEditor|WorldEditor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiCursor|GuiCursor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTabCtrlEntry|GuiTabCtrlEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTextListEntry|GuiTextListEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTreeViewNode|GuiTreeViewNode]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/MRandomGenerator|MRandomGenerator]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/MRandomLCG|MRandomLCG]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/MRandomR250|MRandomR250]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/SimObject|SimObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SceneObject|SceneObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxSunLight|fxSunLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameObject|GameObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Camera|Camera]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DynamicShapeReplicator|DynamicShapeReplicator]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrass|DynamicGrass]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrassReplicator|DynamicGrassReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Sky|Sky]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TerrainBlock|TerrainBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/twSurfaceReference|twSurfaceReference]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WaterBlock|WaterBlock]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimGroup|SimGroup]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameConnection|GameConnection]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/Sun|Sun]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawableObject|TDrawableObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TBaddy|TBaddy]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TLevelObject|TLevelObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TExplosion|TExplosion]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TGaniObject|TGaniObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TProjectile|TProjectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerHorse|TServerHorse]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TPlayer|TPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerBomb|TServerBomb]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerCarry|TServerCarry]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerChest|TServerChest]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerExtra|TServerExtra]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerFlying|TServerFlying]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerLeap|TServerLeap]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerSign|TServerSign]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TShowImg|TShowImg]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawingPanel|TDrawingPanel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/Terraformer|Terraformer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TFrameDetail|TFrameDetail]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGaniParam|TGaniParam]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniPart|TGraalAniPart]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSound|TGraalAniSound]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSprite|TGraalAniSprite]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniStep|TGraalAniStep]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalSpriteAttachment|TGraalSpriteAttachment]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticle|TParticle]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleEmitter|TParticleEmitter]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleModifier|TParticleModifier]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevelLink|TServerLevelLink]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImg_Values|TShowImg_Values]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Flash|TShowImg_Flash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Gani|TShowImg_Gani]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Image|TShowImg_Image]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Shape|TShowImg_Shape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Text|TShowImg_Text]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TStaticVar|TStaticVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TTilesLayer|TTilesLayer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Clientside_Functions&amp;diff=7797</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=7797"/>
		<updated>2006-12-21T22:23:31Z</updated>

		<summary type="html">&lt;p&gt;Riot: Update to latest version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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::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::detailfactor - float&lt;br /&gt;
  $pref::video::fogdistance - float&lt;br /&gt;
  $pref::video::fullscreenmode - string&lt;br /&gt;
  $pref::video::screenshotformat - string&lt;br /&gt;
  $pref::video::truetypefonts - boolean&lt;br /&gt;
  $pref::video::visibledistance - float&lt;br /&gt;
  $pref::video::windowmode - string&lt;br /&gt;
  $scenelighting::lightingprogress - float (read only)&lt;br /&gt;
  allfeatures - integer (read only)&lt;br /&gt;
  allplayerscount - integer (read only)&lt;br /&gt;
  allrenderobjecttypes - integer (read only)&lt;br /&gt;
  allstats - 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;
  downloadfile - string (read only)&lt;br /&gt;
  downloadpos - integer (read only)&lt;br /&gt;
  downloadsize - integer (read only)&lt;br /&gt;
  editingmission - boolean&lt;br /&gt;
  emoticonchar - string (read only)&lt;br /&gt;
  focusx - float (read only)&lt;br /&gt;
  focusy - float (read only)&lt;br /&gt;
  ghostsnear - boolean (read only)&lt;br /&gt;
  graalversion - float (read only)&lt;br /&gt;
  gravity - float&lt;br /&gt;
  isapplicationactive - boolean (read only)&lt;br /&gt;
  iscarrying - boolean (read only)&lt;br /&gt;
  isfocused - boolean (read only)&lt;br /&gt;
  isgraal3d - boolean (read only)&lt;br /&gt;
  isleader - boolean (read only)&lt;br /&gt;
  isonmap - boolean (read only)&lt;br /&gt;
  jpegquality - integer&lt;br /&gt;
  lastdownloadfile - string (read only)&lt;br /&gt;
  leftmousebutton - boolean (read only)&lt;br /&gt;
  leftmousebuttonglobal - boolean (read only)&lt;br /&gt;
  levelorgx - float (read only)&lt;br /&gt;
  levelorgy - float (read only)&lt;br /&gt;
  lighteffectsenabled - boolean&lt;br /&gt;
  middlemousebutton - boolean (read only)&lt;br /&gt;
  middlemousebuttonglobal - boolean (read only)&lt;br /&gt;
  mousebuttons - integer (read only)&lt;br /&gt;
  mousebuttonsglobal - integer (read only)&lt;br /&gt;
  mousepitch - float (read only)&lt;br /&gt;
  mousescreenx - integer&lt;br /&gt;
  mousescreeny - integer&lt;br /&gt;
  mousewheeldelta - integer (read only)&lt;br /&gt;
  mousex - float&lt;br /&gt;
  mousey - float&lt;br /&gt;
  mouseyaw - float (read only)&lt;br /&gt;
  musiclen - integer (read only)&lt;br /&gt;
  musicpos - integer (read only)&lt;br /&gt;
  particleeffectsenabled - boolean&lt;br /&gt;
  rightmousebutton - boolean (read only)&lt;br /&gt;
  rightmousebuttonglobal - boolean (read only)&lt;br /&gt;
  screenheight - integer (read only)&lt;br /&gt;
  screenwidth - integer (read only)&lt;br /&gt;
  scriptedcontrols - boolean (read only)&lt;br /&gt;
  scriptedplayerlist - boolean (read only)&lt;br /&gt;
  scriptlogwritetoreadonly - boolean&lt;br /&gt;
  selectedlistplayers - object&lt;br /&gt;
  selectedsword - integer&lt;br /&gt;
  selectedweapon - integer&lt;br /&gt;
  servername - string (read only)&lt;br /&gt;
  serverstartconnect - string&lt;br /&gt;
  serverstartparams - string&lt;br /&gt;
  shotbybaddy - boolean (read only)&lt;br /&gt;
  shotbyplayer - boolean (read only)&lt;br /&gt;
  showterraingrid - boolean&lt;br /&gt;
  timevar - integer (read only)&lt;br /&gt;
  timevar2 - float (read only)&lt;br /&gt;
  timevar3 - float (read only) - synchronized time which works on both server- and client-side, precision is milliseconds, only available for Graal3D right now&lt;br /&gt;
  wasshooted - boolean (read only)&lt;br /&gt;
  waterheight - float&lt;br /&gt;
  weapons - object (read only)&lt;br /&gt;
  weaponsenabled - boolean&lt;br /&gt;
  weathereffectsenabled - boolean&lt;br /&gt;
  worldclockstopped - boolean&lt;br /&gt;
  worldhour - integer&lt;br /&gt;
  worldminute - float&lt;br /&gt;
  worldminutesofday - float&lt;br /&gt;
  worldrealsecondsperday - float&lt;br /&gt;
  addcontrol(obj)&lt;br /&gt;
  addmaterialmapping(str, str) - returns boolean&lt;br /&gt;
  addtiledef(str, str, int)&lt;br /&gt;
  addtiledef2(str, str, int, int)&lt;br /&gt;
  adventure_installgraal(str, bool, bool)&lt;br /&gt;
  adventure_openexternaloptions() - returns boolean&lt;br /&gt;
  adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
  adventure_openserverlist()&lt;br /&gt;
  adventure_quit()&lt;br /&gt;
  adventure_reconnect()&lt;br /&gt;
  adventure_savegraaloptions()&lt;br /&gt;
  adventure_selectfileselect(str) - lets the select-file-dialog select the specified filename in the current folder&lt;br /&gt;
  adventure_selectfilesetfolder(int) - switches the select-file-dialog to the specified folder index&lt;br /&gt;
  adventure_selectfilesetfolderbytext(str) - switches the select-file-dialog to the specified folder name&lt;br /&gt;
  adventure_selectfileshowhiddenfiles(bool) - enables or disables the display of hidden files in the select-file-dialog&lt;br /&gt;
  adventure_selectpath(str) - returns object&lt;br /&gt;
  adventure_setaccountname(str)&lt;br /&gt;
  adventure_setchat(str)&lt;br /&gt;
  adventure_setcheatwindows(str)&lt;br /&gt;
  adventure_setnickname(str)&lt;br /&gt;
  adventure_setpassword(str)&lt;br /&gt;
  adventure_startofflinemode()&lt;br /&gt;
  adventure_updateaccountfield()&lt;br /&gt;
  adventure_updatemicroactivationlevel()&lt;br /&gt;
  adventure_updatemidivolume()&lt;br /&gt;
  adventure_updatemp3volume()&lt;br /&gt;
  adventure_updateplayermuted()&lt;br /&gt;
  adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
  adventure_updateradiovolume()&lt;br /&gt;
  aindexof(float, obj) - returns integer&lt;br /&gt;
  arccos(float) - returns float&lt;br /&gt;
  arcsin(float) - returns float&lt;br /&gt;
  attachplayertoobj(int, int)&lt;br /&gt;
  base64decode(str) - returns string&lt;br /&gt;
  base64encode(str) - returns string&lt;br /&gt;
  boxcontains(str, str) - returns boolean&lt;br /&gt;
  boxcontainsvector(str, str) - returns boolean&lt;br /&gt;
  boxintersect(str, str) - returns string&lt;br /&gt;
  boxoverlaps(str, str) - returns boolean&lt;br /&gt;
  boxscale(str, str) - returns string&lt;br /&gt;
  callnpc(int, params...)&lt;br /&gt;
  callweapon(int, params...)&lt;br /&gt;
  castray(str, str, str) - 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;
  checksum(str) - returns float&lt;br /&gt;
  contains(str, str) - returns boolean&lt;br /&gt;
  cursoroff()&lt;br /&gt;
  cursoron()&lt;br /&gt;
  degtorad(float) - returns float&lt;br /&gt;
  detachplayer()&lt;br /&gt;
  disabledefmovement()&lt;br /&gt;
  disablemap()&lt;br /&gt;
  disablepause()&lt;br /&gt;
  disableselectweapons()&lt;br /&gt;
  disableweapons()&lt;br /&gt;
  echo(str)&lt;br /&gt;
  enabledefmovement()&lt;br /&gt;
  enablefeatures(int)&lt;br /&gt;
  enablemap()&lt;br /&gt;
  enablepause()&lt;br /&gt;
  enableselectweapons()&lt;br /&gt;
  enableweapons()&lt;br /&gt;
  explodebomb(int)&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;
  fileupdate(str) - returns boolean&lt;br /&gt;
  findani(str) - returns object&lt;br /&gt;
  findfiles(str, int) - returns object&lt;br /&gt;
  findlevel(str) - returns object&lt;br /&gt;
  findnpcbyid(int) - 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;
  freefileresources(str)&lt;br /&gt;
  freezeplayer(float)&lt;br /&gt;
  get3dobjectat(float, float, bool) - returns object - gets the 3d object at the specified screen position, third parameter says if it should do box collision&lt;br /&gt;
  get3dobjectatmouse(bool) - returns object - gets the 3d object at the mouse, specify if it should do box collision (true)&lt;br /&gt;
  get3dobjectbyray(str, str) - returns object&lt;br /&gt;
  get3dobjectsbybox(str, str) - returns object - specify the box {minx,miny,minz,maxx,maxy,maxz} and the object types to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
  get3dobjectsbyradius(str, float, str) - returns object - specify the position, radius and the object types to find (e.g. &amp;quot;staticts,terrain,interior&amp;quot;)&lt;br /&gt;
  get3dscreenposition(str, bool) - returns string&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;
  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&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;
  getmapx(str) - returns integer&lt;br /&gt;
  getmapy(str) - returns integer&lt;br /&gt;
  getmusicstatus() - returns string&lt;br /&gt;
  getmusictags() - 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;
  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;
  invokehtmlobjectmouseclick(float, float, bool)&lt;br /&gt;
  isadminguild(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;
  isimgpixeltransparent(str, int, int) - returns boolean&lt;br /&gt;
  isimgrectangletransparent(str, int, int, int, int) - returns boolean&lt;br /&gt;
  isobject(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;
  loadmap(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;
  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)&lt;br /&gt;
  setminimap(str, str, float, float)&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;
  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;
  stopmidi()&lt;br /&gt;
  stopsound(str)&lt;br /&gt;
  strcmp(str, str) - returns integer&lt;br /&gt;
  strequals(str, str) - returns boolean&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;
  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;
  updateratings(obj) - returns object - updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350&lt;br /&gt;
  updateterrain()&lt;br /&gt;
  updatevisibledistance()&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 (read only)&lt;br /&gt;
  ispaused - boolean&lt;br /&gt;
  joinedclasses - object&lt;br /&gt;
  name - string (read only)&lt;br /&gt;
  scriptlogmissingfunctions - boolean&lt;br /&gt;
  timeout - float&lt;br /&gt;
  addarray(obj) - adds another array to this variable&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;
  copyfrom(obj) - copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
  escape() - returns string - adds \\ in front of &amp;quot;, ' and \\, and removes non-printable characters&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;
  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 float - 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;
  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 the array by the specified variable name, you must also say what variable type it is (e.g. string) and if it should be sorted ascending&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 the npc show the 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 (read only)&lt;br /&gt;
    atend - boolean (read only)&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 (read only)&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 (read only)&lt;br /&gt;
      materials - object (read only)&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;
    active - boolean&lt;br /&gt;
    awake - boolean (read only)&lt;br /&gt;
    canmove - boolean&lt;br /&gt;
    canresize - boolean&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;
    editing - boolean&lt;br /&gt;
    extent - string&lt;br /&gt;
    height - integer&lt;br /&gt;
    hint - string&lt;br /&gt;
    horizsizing - string&lt;br /&gt;
    layer - integer (read only)&lt;br /&gt;
    minextent - string&lt;br /&gt;
    minsize - string - the same like &amp;quot;minExtent&amp;quot;&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    position - string&lt;br /&gt;
    profile - object&lt;br /&gt;
    resizeheight - boolean&lt;br /&gt;
    resizewidth - boolean&lt;br /&gt;
    scrolllinex - integer&lt;br /&gt;
    scrollliney - integer&lt;br /&gt;
    showhint - boolean&lt;br /&gt;
    useownprofile - boolean&lt;br /&gt;
    vertsizing - string&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;
    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 (read only)&lt;br /&gt;
        iconwidth - integer (read only)&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        selected - object (read only)&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 (read only)&lt;br /&gt;
        firstlinevisible - boolean&lt;br /&gt;
        fitparentwidth - boolean&lt;br /&gt;
        groupsortorder - string&lt;br /&gt;
        height - integer (read only)&lt;br /&gt;
        hint - string&lt;br /&gt;
        image - integer&lt;br /&gt;
        level - integer (read only)&lt;br /&gt;
        name - string - same as 'text'&lt;br /&gt;
        nodes - object (read only)&lt;br /&gt;
        parent - object (read only)&lt;br /&gt;
        position - string (read only)&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 (read only)&lt;br /&gt;
        x - integer (read only)&lt;br /&gt;
        y - integer (read only)&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;
        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 (read only)&lt;br /&gt;
      iconwidth - integer (read only)&lt;br /&gt;
      profile - object&lt;br /&gt;
      resizecell - boolean&lt;br /&gt;
      rows - object (read only)&lt;br /&gt;
      scrollprofile - object&lt;br /&gt;
      selected - object (read only)&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)&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;
    GuiDrawingPanel (GuiControl):&lt;br /&gt;
      parth - integer (read only)&lt;br /&gt;
      partw - integer (read only)&lt;br /&gt;
      partx - integer (read only)&lt;br /&gt;
      party - integer (read only)&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;
      loopmovie - boolean&lt;br /&gt;
      moviename - string&lt;br /&gt;
      requiresactivex - boolean&lt;br /&gt;
      tryactivex - boolean&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;
    GuiMenuCtrl (GuiControl):&lt;br /&gt;
      iconheight - integer (read only)&lt;br /&gt;
      iconwidth - integer (read only)&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;
      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;
&lt;br /&gt;
        GuiPMEditCtrl (GuiMLTextEditCtrl):&lt;br /&gt;
          sendmasspm(obj)&lt;br /&gt;
          sendpm(obj)&lt;br /&gt;
&lt;br /&gt;
      GuiPMCtrl (GuiMLTextCtrl):&lt;br /&gt;
        showpm(obj)&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 (read only)&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;
      scrollto(int, int)&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 (read only)&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 (read only)&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)&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 (read only)&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 (read only)&lt;br /&gt;
      iconwidth - integer (read only)&lt;br /&gt;
      leveling - integer&lt;br /&gt;
      maxvisibletabs - integer (read only)&lt;br /&gt;
      selected - object (read only)&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;
    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 (read only)&lt;br /&gt;
        iconwidth - integer (read only)&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object (read only)&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object (read only)&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)&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 (read only)&lt;br /&gt;
        iconwidth - integer (read only)&lt;br /&gt;
        maxpopupheight - integer&lt;br /&gt;
        profile - object&lt;br /&gt;
        resizecell - boolean&lt;br /&gt;
        rows - object (read only)&lt;br /&gt;
        rows - object (read only)&lt;br /&gt;
        scrollprofile - object&lt;br /&gt;
        selected - object (read only)&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)&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;
        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;
        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;
&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;
    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;
&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 (read only)&lt;br /&gt;
    flickering - boolean&lt;br /&gt;
    height - integer (read only)&lt;br /&gt;
    hint - string&lt;br /&gt;
    id - integer&lt;br /&gt;
    image - integer&lt;br /&gt;
    position - string (read only)&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 (read only)&lt;br /&gt;
    x - integer (read only)&lt;br /&gt;
    y - integer (read only)&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 (read only)&lt;br /&gt;
    height - integer (read only)&lt;br /&gt;
    hint - string&lt;br /&gt;
    image - integer&lt;br /&gt;
    level - integer (read only)&lt;br /&gt;
    name - string - same as 'text'&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    position - string (read only)&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 (read only)&lt;br /&gt;
    x - integer (read only)&lt;br /&gt;
    y - integer (read only)&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;
  MRandomGenerator (TGraalVar):&lt;br /&gt;
    seed - integer&lt;br /&gt;
    destroy()&lt;br /&gt;
    randfloat() - returns float&lt;br /&gt;
    randint() - returns integer&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 (read only)&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 (read only)&lt;br /&gt;
      transform - string&lt;br /&gt;
      upvector - string&lt;br /&gt;
      worldbox - string (read only)&lt;br /&gt;
      worldboxcenter - string (read only)&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;
        attr - object&lt;br /&gt;
        attrobjects - object (read only)&lt;br /&gt;
        chat - string&lt;br /&gt;
        collision - boolean&lt;br /&gt;
        iseditorobject - boolean&lt;br /&gt;
        liquidheight - float (read only)&lt;br /&gt;
        liquidtype - string (read only)&lt;br /&gt;
        movetype - string&lt;br /&gt;
        nickcolor - string&lt;br /&gt;
        nickname - string&lt;br /&gt;
        position - string&lt;br /&gt;
        scaledshapebox - string (read only)&lt;br /&gt;
        shadow - boolean&lt;br /&gt;
        shape - string&lt;br /&gt;
        shapebox - string (read only)&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 (read only)&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;
        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;
        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 (read only)&lt;br /&gt;
        camera - object (read only)&lt;br /&gt;
        nick - string (read only)&lt;br /&gt;
        objecttype() - returns string - returns the object type, which can be TGraalVar, TProjectile etc.&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 (read only)&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 (read only)&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 (read only)&lt;br /&gt;
        power - integer (read only)&lt;br /&gt;
        time - float (read only)&lt;br /&gt;
&lt;br /&gt;
      TGaniObject (TLevelObject):&lt;br /&gt;
        ani - object (read only)&lt;br /&gt;
        aniparams - string (read only)&lt;br /&gt;
        anistep - integer (read only)&lt;br /&gt;
        attachedtoobject - object (read only)&lt;br /&gt;
        attachid - integer (read only)&lt;br /&gt;
        attachtype - integer (read only)&lt;br /&gt;
        attr - object (read only)&lt;br /&gt;
        body - string&lt;br /&gt;
        bodyimg - string&lt;br /&gt;
        colors - object (read only)&lt;br /&gt;
        dir - integer&lt;br /&gt;
        gmap - object (read only)&lt;br /&gt;
        head - string&lt;br /&gt;
        headimg - string&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;
&lt;br /&gt;
        TProjectile (TGaniObject):&lt;br /&gt;
          angle - float (read only)&lt;br /&gt;
          fromplayer - object (read only)&lt;br /&gt;
          horiz - boolean (read only)&lt;br /&gt;
          params - object (read only)&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;
&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 (read only)&lt;br /&gt;
          ap - integer&lt;br /&gt;
          attached - boolean (read only)&lt;br /&gt;
          attachedtoobject - object&lt;br /&gt;
          bombs - integer&lt;br /&gt;
          chat - string&lt;br /&gt;
          darts - integer&lt;br /&gt;
          fullhearts - integer (read only)&lt;br /&gt;
          glovepower - integer&lt;br /&gt;
          gralats - integer&lt;br /&gt;
          guild - string (read only)&lt;br /&gt;
          headimg - string&lt;br /&gt;
          headset - integer&lt;br /&gt;
          hearts - float (read only)&lt;br /&gt;
          horseimg - string (read only)&lt;br /&gt;
          hp - float (read only)&lt;br /&gt;
          id - integer (read only)&lt;br /&gt;
          isadmin - boolean (read only)&lt;br /&gt;
          isbuddy - boolean&lt;br /&gt;
          ischannel - boolean (read only)&lt;br /&gt;
          ischannelopen - boolean (read only)&lt;br /&gt;
          ischanneluser - boolean (read only)&lt;br /&gt;
          isexternal - boolean (read only)&lt;br /&gt;
          isfemale - boolean (read only)&lt;br /&gt;
          isignored - boolean&lt;br /&gt;
          isignoring - boolean (read only)&lt;br /&gt;
          isloggedin - boolean (read only)&lt;br /&gt;
          ismale - boolean (read only)&lt;br /&gt;
          ismuted - boolean (read only)&lt;br /&gt;
          ismuting - boolean (read only)&lt;br /&gt;
          language - string (read only)&lt;br /&gt;
          languagedomain - string (read only)&lt;br /&gt;
          maxhp - integer (read only)&lt;br /&gt;
          messagebubble - integer (read only)&lt;br /&gt;
          mp - integer&lt;br /&gt;
          nick - string&lt;br /&gt;
          platform - string (read only)&lt;br /&gt;
          playersindex - integer (read only)&lt;br /&gt;
          rating - float (read only)&lt;br /&gt;
          ratingd - float (read only)&lt;br /&gt;
          rupees - integer - better use 'gralats'&lt;br /&gt;
          shieldimg - string&lt;br /&gt;
          shieldpower - integer (read only)&lt;br /&gt;
          swordimg - string&lt;br /&gt;
          swordpower - integer (read only)&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&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 (read only)&lt;br /&gt;
            hurtdx - float (read only)&lt;br /&gt;
            hurtdy - float (read only)&lt;br /&gt;
            hurted - boolean (read only)&lt;br /&gt;
            hurtpower - float (read only)&lt;br /&gt;
            isfemale - boolean (read only)&lt;br /&gt;
            ismale - boolean (read only)&lt;br /&gt;
            letters - string&lt;br /&gt;
            map - boolean (read only)&lt;br /&gt;
            nick - string (read only)&lt;br /&gt;
            onhorse - boolean (read only)&lt;br /&gt;
            online - boolean (read only)&lt;br /&gt;
            paused - boolean (read only)&lt;br /&gt;
            reading - boolean (read only)&lt;br /&gt;
            shieldimg - string&lt;br /&gt;
            sprite - integer&lt;br /&gt;
            swimming - boolean (read only)&lt;br /&gt;
            swordimg - string&lt;br /&gt;
            transform - string&lt;br /&gt;
            weapon - object (read only)&lt;br /&gt;
            weapons - object (read only)&lt;br /&gt;
&lt;br /&gt;
          TServerNPC (TServerPlayer):&lt;br /&gt;
            actionplayer - integer (read only)&lt;br /&gt;
            hearts - float&lt;br /&gt;
            height - float (read only)&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 (read only)&lt;br /&gt;
            peltwithblackstone - boolean (read only)&lt;br /&gt;
            peltwithbush - boolean (read only)&lt;br /&gt;
            peltwithnpc - boolean (read only)&lt;br /&gt;
            peltwithsign - boolean (read only)&lt;br /&gt;
            peltwithstone - boolean (read only)&lt;br /&gt;
            peltwithvase - boolean (read only)&lt;br /&gt;
            save - object (read only)&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 (read only)&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;
            setcoloreffect(float, float, float, float)&lt;br /&gt;
            seteffectmode(int)&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;
            toweapons(str)&lt;br /&gt;
&lt;br /&gt;
            TServerWeapon (TServerNPC):&lt;br /&gt;
              isweapon - boolean (read only)&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 (read only)&lt;br /&gt;
        item - string (read only)&lt;br /&gt;
&lt;br /&gt;
      TServerExtra (TLevelObject):&lt;br /&gt;
        time - float (read only)&lt;br /&gt;
        type - integer (read only)&lt;br /&gt;
&lt;br /&gt;
      TServerFlying (TLevelObject):&lt;br /&gt;
        dir - integer (read only)&lt;br /&gt;
        dx - float&lt;br /&gt;
        dy - float&lt;br /&gt;
        from - integer (read only)&lt;br /&gt;
        type - integer (read only)&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 (read only)&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 (read only)&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)&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 (read only)&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 (read only)&lt;br /&gt;
    parth - integer (read only)&lt;br /&gt;
    partw - integer (read only)&lt;br /&gt;
    partx - integer (read only)&lt;br /&gt;
    party - integer (read only)&lt;br /&gt;
    width - integer (read only)&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;
  TFlashInstance (TGraalVar):&lt;br /&gt;
    frame - integer&lt;br /&gt;
    height - float (read only)&lt;br /&gt;
    looping - boolean&lt;br /&gt;
    object - string&lt;br /&gt;
    playing - boolean&lt;br /&gt;
    width - float (read only)&lt;br /&gt;
    play()&lt;br /&gt;
    stop()&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 (read only)&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 (read only)&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 (read only)&lt;br /&gt;
    contentlanguage - string (read only)&lt;br /&gt;
    contentlength - integer (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;
    url - string (read only)&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 (read only)&lt;br /&gt;
    delaymax - float&lt;br /&gt;
    delaymin - float&lt;br /&gt;
    dropemitter - object (read only)&lt;br /&gt;
    dropwateremitter - object (read only)&lt;br /&gt;
    emissionoffset - string&lt;br /&gt;
    emitatterrainheight - boolean&lt;br /&gt;
    emitautomatically - boolean&lt;br /&gt;
    emittedparticles - integer (read only)&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 (read only)&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;
  TServerLevel (TGraalVar):&lt;br /&gt;
    compsdead - boolean (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;
    nopkzone - boolean (read only) - same like 'isnopkzone'&lt;br /&gt;
    tilelayercount - integer&lt;br /&gt;
    width - integer (read only)&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 (read only)&lt;br /&gt;
    destx - float (read only)&lt;br /&gt;
    desty - float (read only)&lt;br /&gt;
    height - float (read only)&lt;br /&gt;
    width - float (read only)&lt;br /&gt;
    x - float (read only)&lt;br /&gt;
    y - float (read only)&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)&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 (read only)&lt;br /&gt;
&lt;br /&gt;
    TShowImg_Gani (TShowImg_Values):&lt;br /&gt;
      actor - object (read only)&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;
&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;
  TTilesLayer (TGraalVar):&lt;br /&gt;
    alpha - float&lt;br /&gt;
    blue - float&lt;br /&gt;
    green - float&lt;br /&gt;
    layerindex - integer (read only)&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 (read only)&lt;br /&gt;
    description - string (read only)&lt;br /&gt;
    downloadcomplete - boolean (read only)&lt;br /&gt;
    downloadedsize - integer (read only)&lt;br /&gt;
    filecount - integer (read only)&lt;br /&gt;
    filedownloadedsize - integer (read only)&lt;br /&gt;
    filename - string (read only)&lt;br /&gt;
    filetotalsize - integer (read only)&lt;br /&gt;
    isuninstalled - boolean (read only)&lt;br /&gt;
    lastdownloadfile - string (read only)&lt;br /&gt;
    localversion - float (read only)&lt;br /&gt;
    mode - string (read only)&lt;br /&gt;
    name - string (read only)&lt;br /&gt;
    parent - object (read only)&lt;br /&gt;
    platform - string (read only)&lt;br /&gt;
    protectoverwrite - boolean (read only)&lt;br /&gt;
    totalsize - integer (read only)&lt;br /&gt;
    usechecksum - boolean (read only)&lt;br /&gt;
    version - float (read only)&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;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7796</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7796"/>
		<updated>2006-12-21T21:05:09Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Tournaments==&lt;br /&gt;
Delteria has several weekly event tournaments. They are hosted depending on the turn-out, if there are not enough people online the tournaments will not be hosted.&lt;br /&gt;
&lt;br /&gt;
''All times are EST''&lt;br /&gt;
&lt;br /&gt;
'''Delteria Spar Tournament'''&lt;br /&gt;
* Singles&lt;br /&gt;
** ''When:'' 8:45 PM Saturday&lt;br /&gt;
** ''Objective:'' Simple spar tournament. Single elimination. The winner of the tournament then faces the former week's winner in a best of 3 match.&lt;br /&gt;
* Tag Team&lt;br /&gt;
** ''When:'' 7:45 PM Monday&lt;br /&gt;
** ''Objective:'' 2v2 spar tournament. Single elimination. The winners of the tournament face the former week's winners in a best of 3 match. If only one of the former week's winners is present, he/she may pick a replacement.&lt;br /&gt;
&lt;br /&gt;
'''KOTR'''&lt;br /&gt;
* ''When:'' 6:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' Knock the other person out of the ring to win your round. Single elimation. The winner of the tournament faces the former week's winner in a best of three match.&lt;br /&gt;
&lt;br /&gt;
'''Tag Team Charge'''&lt;br /&gt;
* ''When:'' 7:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' It is a one-hit kill match with teams of two. The team with one or both members still alive wins. Any and all ties are dismissed and replayed until there is a winner. All matches are a best-of-three series. The winners face the former week's winner in a best of 5 match.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:FROboy|Suoirafen]] || Events Asst. Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7665</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7665"/>
		<updated>2006-11-25T18:08:06Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Tournaments==&lt;br /&gt;
Delteria has several weekly event tournaments. They are hosted depending on the turn-out, if there are not enough people online the tournaments will not be hosted.&lt;br /&gt;
&lt;br /&gt;
''All times are EST''&lt;br /&gt;
&lt;br /&gt;
'''Delteria Spar Tournament'''&lt;br /&gt;
* Singles&lt;br /&gt;
** ''When:'' 8:45 PM Saturday&lt;br /&gt;
** ''Objective:'' Simple spar tournament. Single elimination. The winner of the tournament then faces the former week's winner in a best of 3 match.&lt;br /&gt;
* Tag Team&lt;br /&gt;
** ''When:'' 7:45 PM Monday&lt;br /&gt;
** ''Objective:'' 2v2 spar tournament. Single elimination. The winners of the tournament face the former week's winners in a best of 3 match. If only one of the former week's winners is present, he/she may pick a replacement.&lt;br /&gt;
&lt;br /&gt;
'''KOTR'''&lt;br /&gt;
* ''When:'' 6:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' Knock the other person out of the ring to win your round. Single elimation. The winner of the tournament faces the former week's winner in a best of three match.&lt;br /&gt;
&lt;br /&gt;
'''Tag Team Charge'''&lt;br /&gt;
* ''When:'' 7:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' It is a one-hit kill match with teams of two. The team with one or both members still alive wins. Any and all ties are dismissed and replayed until there is a winner. All matches are a best-of-three series. The winners face the former week's winner in a best of 5 match.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager'' '''(MIA)'''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:FROboy|Suoirafen]] || Events Asst. Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7439</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7439"/>
		<updated>2006-09-28T22:01:54Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Tournaments==&lt;br /&gt;
Delteria has several weekly event tournaments. They are hosted depending on the turn-out, if there are not enough people online the tournaments will not be hosted.&lt;br /&gt;
&lt;br /&gt;
''All times are EST''&lt;br /&gt;
&lt;br /&gt;
'''Delteria Spar Tournament'''&lt;br /&gt;
* Singles&lt;br /&gt;
** ''When:'' 8:45 PM Saturday&lt;br /&gt;
** ''Objective:'' Simple spar tournament. Single elimination. The winner of the tournament then faces the former week's winner in a best of 3 match.&lt;br /&gt;
* Tag Team&lt;br /&gt;
** ''When:'' 7:45 PM Monday&lt;br /&gt;
** ''Objective:'' 2v2 spar tournament. Single elimination. The winners of the tournament face the former week's winners in a best of 3 match. If only one of the former week's winners is present, he/she may pick a replacement.&lt;br /&gt;
&lt;br /&gt;
'''KOTR'''&lt;br /&gt;
* ''When:'' 6:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' Knock the other person out of the ring to win your round. Single elimation. The winner of the tournament faces the former week's winner in a best of three match.&lt;br /&gt;
&lt;br /&gt;
'''Tag Team Charge'''&lt;br /&gt;
* ''When:'' 7:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' It is a one-hit kill match with teams of two. The team with one or both members still alive wins. Any and all ties are dismissed and replayed until there is a winner. All matches are a best-of-three series. The winners face the former week's winner in a best of 5 match.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:FROboy|Suoirafen]] || Events Asst. Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7438</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=7438"/>
		<updated>2006-09-28T21:58:40Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Sparring Tournaments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Tournaments==&lt;br /&gt;
Delteria has several weekly event tournaments. They are hosted depending on the turn-out, if there are not enough people online the tournaments will not be hosted.&lt;br /&gt;
&lt;br /&gt;
''All times are EST''&lt;br /&gt;
&lt;br /&gt;
'''Delteria Spar Tournament'''&lt;br /&gt;
* Singles&lt;br /&gt;
** ''When:'' 8:45 PM Saturday&lt;br /&gt;
** ''Objective:'' Simple spar tournament. Single elimination. The winner of the tournament then faces the former week's winner in a best of 3 match.&lt;br /&gt;
* Tag Team&lt;br /&gt;
** ''When:'' 7:45 PM Monday&lt;br /&gt;
** ''Objective:'' 2v2 spar tournament. Single elimination. The winners of the tournament face the former week's winners in a best of 3 match. If only one of the former week's winners is present, he/she may pick a replacement.&lt;br /&gt;
&lt;br /&gt;
'''KOTR'''&lt;br /&gt;
* ''When:'' 6:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' Knock the other person out of the ring to win your round. Single elimation. The winner of the tournament faces the former week's winner in a best of three match.&lt;br /&gt;
&lt;br /&gt;
'''Tag Team Charge'''&lt;br /&gt;
* ''When:'' 7:45 PM Tuesday&lt;br /&gt;
* ''Objective:'' It is a one-hit kill match with teams of two. The team with one or both members still alive wins. Any and all ties are dismissed and replayed until there is a winner. All matches are a best-of-three series. The winners face the former week's winner in a best of 5 match.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:FROboy|Suoirafen]] || Events Asst. Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TGraalVar&amp;diff=7023</id>
		<title>Creation/Dev/Script/Client/TGraalVar</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TGraalVar&amp;diff=7023"/>
		<updated>2006-06-10T16:47:04Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Variables=&lt;br /&gt;
''Note: Currently this doesn't include functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_object_functions|Starting Guide: Standard object functions]] for those.''&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;
| initialized&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|-&lt;br /&gt;
| joinedclasses&lt;br /&gt;
| object (read only)&lt;br /&gt;
| List of joined classes&lt;br /&gt;
|-&lt;br /&gt;
| name&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of object&lt;br /&gt;
|-&lt;br /&gt;
| scriptlogmissingfunctions&lt;br /&gt;
| boolean&lt;br /&gt;
| Whether to log calls to undefined functions&lt;br /&gt;
|-&lt;br /&gt;
| timeout&lt;br /&gt;
| float&lt;br /&gt;
| Time left in the timeout&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;
| addarray(obj)&lt;br /&gt;
|&lt;br /&gt;
| adds another array to this variable&lt;br /&gt;
|-&lt;br /&gt;
| cancelevents(str)&lt;br /&gt;
|&lt;br /&gt;
| removes all previously scheduled events (scheduleevent) of the specified event name&lt;br /&gt;
|-&lt;br /&gt;
| catchevent(str, str, str)&lt;br /&gt;
|&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| copyfrom(obj)&lt;br /&gt;
|&lt;br /&gt;
| copies all variables and array values from another object, doesn't work for protected variables like players though&lt;br /&gt;
|-&lt;br /&gt;
| getdatablockvars()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all variables which are pointing to datablocks (for Graal3D, will be removed soon)&lt;br /&gt;
|-&lt;br /&gt;
| getdynamicvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all dynamic (not built-in) subvariables of this object&lt;br /&gt;
|-&lt;br /&gt;
| geteditvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all dynamic variables which can be modified&lt;br /&gt;
|-&lt;br /&gt;
| getfunctions()&lt;br /&gt;
| object&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| getstaticvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all static (built-in) subvariables of this object&lt;br /&gt;
|-&lt;br /&gt;
| getvarnames()&lt;br /&gt;
| object&lt;br /&gt;
| gets the names of all subvariables of this object&lt;br /&gt;
|-&lt;br /&gt;
| ignoreevent(str, str)&lt;br /&gt;
|&lt;br /&gt;
| lets the object ignore an event (second parameter) of the specified object name&lt;br /&gt;
|-&lt;br /&gt;
| ignoreevents(str)&lt;br /&gt;
|&lt;br /&gt;
| lets the object ignore all previously catched events of the specified object name&lt;br /&gt;
|-&lt;br /&gt;
| insertarray(int, obj)&lt;br /&gt;
|&lt;br /&gt;
| inserts an array at the specified index&lt;br /&gt;
|-&lt;br /&gt;
| isinclass(str)&lt;br /&gt;
| float&lt;br /&gt;
| checks if the object has joined the specified class&lt;br /&gt;
|-&lt;br /&gt;
| join(str)&lt;br /&gt;
|&lt;br /&gt;
| lets the object join a class and inherit all functions and event handlers of that class&lt;br /&gt;
|-&lt;br /&gt;
| leave(str)&lt;br /&gt;
|&lt;br /&gt;
| leaves a previously joined class&lt;br /&gt;
|-&lt;br /&gt;
| loadfolder(str, int)&lt;br /&gt;
|&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| loadlines(str)&lt;br /&gt;
|&lt;br /&gt;
| loads a file and adds it line by line to the variable (as array)&lt;br /&gt;
|-&lt;br /&gt;
| loadstring(str)&lt;br /&gt;
|&lt;br /&gt;
| loads the content of a file into the variable&lt;br /&gt;
|-&lt;br /&gt;
| loadvars(str)&lt;br /&gt;
|&lt;br /&gt;
| loads the variables from a file where each line has the format varname=value&lt;br /&gt;
|-&lt;br /&gt;
| loadvarsfromarray(obj)&lt;br /&gt;
|&lt;br /&gt;
| loads the variables from a string list of the format varname=value&lt;br /&gt;
|-&lt;br /&gt;
| objecttype()&lt;br /&gt;
| string&lt;br /&gt;
| returns the object type, which can be TGraalVar, TProjectile etc.&lt;br /&gt;
|-&lt;br /&gt;
| savelines(str, int)&lt;br /&gt;
|&lt;br /&gt;
| saves the array line by line into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
|-&lt;br /&gt;
| savestring(str, int)&lt;br /&gt;
|&lt;br /&gt;
| saves the value as string into a file, the second parameter is the save mode (0 - overwrite, 1 - append)&lt;br /&gt;
|-&lt;br /&gt;
| savevars(str, int)&lt;br /&gt;
|&lt;br /&gt;
| 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;
|-&lt;br /&gt;
| savevarstoarray(bool)&lt;br /&gt;
| object&lt;br /&gt;
| saves the subvars in the format varname=value into an array, you must specify if it should be sorted&lt;br /&gt;
|-&lt;br /&gt;
| scheduleevent(float, str, params...)&lt;br /&gt;
| object&lt;br /&gt;
| invokes an event (onEventname) after the specified delay (in seconds), second parameter is the event name, followed by the parameters&lt;br /&gt;
|-&lt;br /&gt;
| settimer(float)&lt;br /&gt;
|&lt;br /&gt;
| invokes a timeout event after the specified time, similar to 'timeout=value'&lt;br /&gt;
|-&lt;br /&gt;
| sortascending()&lt;br /&gt;
|&lt;br /&gt;
| sorts the array in ascending order (smallest value first)&lt;br /&gt;
|-&lt;br /&gt;
| sortbyvalue(str, str, bool)&lt;br /&gt;
|&lt;br /&gt;
| sorts the array by the specified variable name, you must also say what variable type it is (e.g. string) and if it should be sorted ascending&lt;br /&gt;
|-&lt;br /&gt;
| sortdescending()&lt;br /&gt;
|&lt;br /&gt;
| sorts the array in descending order (highest value first)&lt;br /&gt;
|-&lt;br /&gt;
| timershow()&lt;br /&gt;
|&lt;br /&gt;
| lets the npc show the timeout variable, deprecated&lt;br /&gt;
|-&lt;br /&gt;
| trigger(str, params...)&lt;br /&gt;
|&lt;br /&gt;
| invokes an event on the object (onEventname) with the specified event name and parameters, doesn't interrupt the current script&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6990</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6990"/>
		<updated>2006-06-03T19:54:23Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria has four sparring tournaments a week, two doubles and two tag-team. They are hosted depending on the turn-out, if there are not enough people online the tournaments will not be hosted.&lt;br /&gt;
&lt;br /&gt;
''All times are EST''&lt;br /&gt;
&lt;br /&gt;
'''Delteria Spar Tournament'''&lt;br /&gt;
* Singles - 10 PM every Saturday&lt;br /&gt;
* Tag Team - 8 PM every Monday&lt;br /&gt;
&lt;br /&gt;
'''MV Tournaments'''&lt;br /&gt;
* Singles - Wednesday 8 PM&lt;br /&gt;
* Tag Team - Thursday 8 PM&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:FROboy|Suoirafen]] || Events Asst. Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6989</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6989"/>
		<updated>2006-05-29T23:45:00Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Sparring Tournaments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria has four sparring tournaments a week, two doubles and two tag-team. They are hosted depending on the turn-out, if there are not enough people online the tournaments will not be hosted.&lt;br /&gt;
&lt;br /&gt;
''All times are EST''&lt;br /&gt;
&lt;br /&gt;
'''Delteria Spar Tournament'''&lt;br /&gt;
* Singles - 10 PM every Saturday&lt;br /&gt;
* Tag Team - 8 PM every Monday&lt;br /&gt;
&lt;br /&gt;
'''MV Tournaments'''&lt;br /&gt;
* Singles - Wednesday 8 PM&lt;br /&gt;
* Tag Team - Thursday 8 PM&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6982</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6982"/>
		<updated>2006-05-20T20:11:20Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria hosts two weekly sparring tournaments, singles and tag team. The singles tournament is every Saturday at 10 PM EST while the tag team on Monday at 8 PM EST.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Management/Contacts&amp;diff=6885</id>
		<title>Creation/Management/Contacts</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Management/Contacts&amp;diff=6885"/>
		<updated>2006-04-24T04:45:12Z</updated>

		<summary type="html">&lt;p&gt;Riot: revert DeathDark's edits: Playerworld Revision..?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Generally directors will not reply as they are busy with duties, which is why you should contact admins or the separate divisions related to your problem (e.g: GST for NPC-Server issues)&lt;br /&gt;
&lt;br /&gt;
''All staff listed, except the Kingdoms staff, Zone staff and Super Moderators are Graalonline Global Admins, with a Global RC.''&lt;br /&gt;
&lt;br /&gt;
=Managing Director=&lt;br /&gt;
* [[User:Unixmad|Stéphane Portha]]&lt;br /&gt;
** ''Deals with payment issues only (e.g: Double charges/CC Fraud Bans).''&lt;br /&gt;
** E-Mail: unixmad@graalonline.com&lt;br /&gt;
&lt;br /&gt;
=Technical Director=&lt;br /&gt;
* [[User:Stefan|Stefan]]&lt;br /&gt;
** ''Deals with extreme playerworld issues/in-game bugs/game development.''&lt;br /&gt;
** Forum PM: Stefan&lt;br /&gt;
&lt;br /&gt;
=Account Support=&lt;br /&gt;
* [[User:Spark910|Spark911]]&lt;br /&gt;
* [[User:Ibonic|Ibonic]]&lt;br /&gt;
* [[User:Lyndzey|Lyndzey]]&lt;br /&gt;
&lt;br /&gt;
[http://support.graalonline.com Use the Support Center for help].&lt;br /&gt;
&lt;br /&gt;
=Global Guild Administrator=&lt;br /&gt;
* [[User:VulcanP2P|Vulcan]] (account VulcanP2P)&lt;br /&gt;
** Forum PM: VulcanP2P&lt;br /&gt;
[http://support.graalonline.com Use the Support Center for help].&lt;br /&gt;
&lt;br /&gt;
=Playerworld Administration=&lt;br /&gt;
* [[User:HoudiniMan|HoudiniMan]]&lt;br /&gt;
** Forum PM: HoudiniMan&lt;br /&gt;
** AIM: HoudiniGraal&lt;br /&gt;
** E-mail: houdiniman@graalonline.com&lt;br /&gt;
* [[User:GrowlZ1010|Growlz]]&lt;br /&gt;
** E-mail: growlz@graalonline.com&lt;br /&gt;
* [[User:dNeonb|Björn]]&lt;br /&gt;
** Forum PM: dNeonb&lt;br /&gt;
** AIM: GraalNeoN&lt;br /&gt;
** E-mail: dNeonb@graalonline.com&lt;br /&gt;
* [[User:Malinko|Malinko]]&lt;br /&gt;
** Forum PM: Malinko&lt;br /&gt;
** E-mail: malinko.graalonline@gmail.com&lt;br /&gt;
&lt;br /&gt;
=Global Scripting Team=&lt;br /&gt;
* [[User:Skyld|Skyld]]&lt;br /&gt;
** ''Deals with scripting issues, scripting inspections, scripting advice, and general issues.''&lt;br /&gt;
** Forum PM: Skyld&lt;br /&gt;
* [[User:CheeToS2|CheeToS]]&lt;br /&gt;
** ''Deals with scripting issues, scripting advice, and general issues.''&lt;br /&gt;
** AIM: Cheetah643&lt;br /&gt;
** Forum PM: CheeToS2&lt;br /&gt;
* [[User:Python523|Jagen]]&lt;br /&gt;
** ''Deals with scripting issues and scripting advice.''&lt;br /&gt;
** Forum PM: Python523&lt;br /&gt;
&lt;br /&gt;
=Graal Kingdoms Administration=&lt;br /&gt;
* [[User:Sam|Sam]]&lt;br /&gt;
** Forum PM: Sam&lt;br /&gt;
&lt;br /&gt;
* [[User:Cruchot|Yann]] (Police)&lt;br /&gt;
** Forum PM: Cruchot&lt;br /&gt;
&lt;br /&gt;
=Zone Staff Team=&lt;br /&gt;
* [[User:VulcanP2P|Vulcan]] (account VulcanP2P)&lt;br /&gt;
** Forum PM: VulcanP2P&lt;br /&gt;
[http://support.graalonline.com Use the Support Center for help].&lt;br /&gt;
&lt;br /&gt;
* [[User:Huwajux|Huwajux (Events)]]&lt;br /&gt;
** Forum PM: Huwajux&lt;br /&gt;
** AIM: Dark Xanadu&lt;br /&gt;
** MSN: johnsh9991@aol.com&lt;br /&gt;
** Email: darksabre@blueyonder.co.uk&lt;br /&gt;
&lt;br /&gt;
* [[User:SayianOozaru|Sayian (GFX)]]&lt;br /&gt;
** Forum PM: SayianOozaru&lt;br /&gt;
&lt;br /&gt;
* [[User:Gerami|Crono (Events)]]&lt;br /&gt;
** Forum PM: Gerami&lt;br /&gt;
** AIM: CronoPker&lt;br /&gt;
&lt;br /&gt;
=Forum Super Moderators=&lt;br /&gt;
* [[User:Darlene159|Moonie]]&lt;br /&gt;
** Forum PM: Darlene159&lt;br /&gt;
** AIM/ICQ: 20828121&lt;br /&gt;
** E-mail: moonie@graalonline.com&lt;br /&gt;
* [[User:Spark910|Spark911]]&lt;br /&gt;
** Forum PM: Spark910&lt;br /&gt;
* [[User:ZanderX|Kamuii]]&lt;br /&gt;
** Forum PM: ZanderX&lt;br /&gt;
** AIM: iharuzim&lt;br /&gt;
** ICQ: 307557649&lt;br /&gt;
** Yahoo: misery@pacbell.net&lt;br /&gt;
** MSN: sol@guiltygear.org&lt;br /&gt;
** Jabber: kamuii@jabber.org&lt;br /&gt;
** E-mail: kamuii@toroimerai.net&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Niromia&amp;diff=6876</id>
		<title>Worlds/Niromia</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Niromia&amp;diff=6876"/>
		<updated>2006-04-24T00:08:39Z</updated>

		<summary type="html">&lt;p&gt;Riot: resize large images, playerworld, and stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
Niromia is a new PlayerWorld. We have many good thoughts and idea's just need you too help us create them. More to come.&lt;br /&gt;
[[Image:niromia.png|300px|none|Lost in a Unknown World]]&lt;br /&gt;
&lt;br /&gt;
Niromia Is a Quick developing playerworld with much player envolement. Come and see ;o.&lt;br /&gt;
[[Image:Nirmia_4.png|300px|none|Our Event House]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Management/Playerworld_Guide&amp;diff=6859</id>
		<title>Creation/Management/Playerworld Guide</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Management/Playerworld_Guide&amp;diff=6859"/>
		<updated>2006-04-21T01:45:57Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* IP Ranges */ Using Computer IDs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you decided to buy a Graalonline playerworld?&lt;br /&gt;
&lt;br /&gt;
Welcome to the world of playerworld management. This document will run you through the basics, and vital points to consider now that you have brought a Graalonline playerworld. As it stands right now, all upcoming playerworlds have to pay. However, the previously online playerworlds receive 6months online time. Use the contents table to navigate your way through the document:&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Logging on your playerworld:==&lt;br /&gt;
By now you should have received an e-mail to say that your application for a Graalonline playerworld has been accepted and it should contain information about which playerworld number you have been granted access to, along with a username and password. For now your playerworld will remain with the name it currently has. There are two ways to get access to your playerworld:&lt;br /&gt;
&lt;br /&gt;
RC (Remote Control): Used by staff to perform certain actions [Click connect on your Playerworld, make sure you double click it, or you may attempt to connect to the wrong one]&lt;br /&gt;
&lt;br /&gt;
Graal Client: The Game Program [Under the classic tab, type your playerworld name into the drop-down menu and press connect, e.g: playerworld99]&lt;br /&gt;
&lt;br /&gt;
Each of these are downloadable off the Graalonline.com download page. To get to this, go to:&lt;br /&gt;
http://www.graalonline.com/downloads/index.php&lt;br /&gt;
Once the page has loaded, put your mouse over 'About Graal' and then over 'Download Game Client'.&lt;br /&gt;
&lt;br /&gt;
==Admin-Playerworld## Account==&lt;br /&gt;
This account is given to the purchaser of the matching playerworld number (Playerworld##). The purpose of this account is so that you may log onto your playerworld and get started, without having to wait for someone to setup your rights.&lt;br /&gt;
&lt;br /&gt;
As we do not know you, there is not an IP range set on this account. An IP range makes it so that someone with the same IP/IP Range (Internet Protocol - Your computers online ID) can log on, while people without it can not. For this reason you should NOT share, nor give out this account password to anyone else. &lt;br /&gt;
See Section 5.1 about how to find an IP Range!&lt;br /&gt;
&lt;br /&gt;
When you first log onto your playerworld; it's best to transfer the rights to your normal account. To do this type: /openrights youraccountname in the RC text field. &lt;br /&gt;
&lt;br /&gt;
You will then be presented with an 'Edit Rights' window. Here you will see your account name, a space for an IP/IP Range and various tick boxes. Because you are the manager/payer the chances are you will need a level four RC (The maximum available to you). To do this, either check all of the boxes, or click the '4' in the bottom right. To save the changes click Apply.&lt;br /&gt;
DO NOT do this if you are not ready to add an IP/IP Range to your account as this is a security risk, and could cause a problem later on. Once you have got an IP/IP Range set on your account, you may add the rights.&lt;br /&gt;
&lt;br /&gt;
Please Note: Only Gold &amp;amp; VIP accounts can log on RC on a paid playerworld, if you have not got a Gold/VIP account you can use the Admin account until you wish to upgrade your normal account.&lt;br /&gt;
&lt;br /&gt;
At this point you no longer need to have the Admin-Playerworld## account, unless you are using it as you do not have a VIP/Gold account. So if you no longer need it, you can say: &lt;br /&gt;
/openrights Admin-Playerworld## (Where ## = Playerworld Number)&lt;br /&gt;
Uncheck all boxes, and then in the IP Range put: 0.0.0.0 (This stops people logging on)&lt;br /&gt;
&lt;br /&gt;
==Adding Other People==&lt;br /&gt;
Making a playerworld takes time, and man-hours. Because of this, it's best to form a staff team, with good working people who you can trust and know well. Staff may need RC to help aid them with their job. RC should not be given to every staff member, and rights should be given to people who need them only. Nobody but the manager; should not have a high amount of rights. &lt;br /&gt;
&lt;br /&gt;
To give someone access to your playerworld via RC you first need to tell the server that they are allowed to log on via RC. This is done via a serveroption which is read by the server, and is used to load and keep certain settings. &lt;br /&gt;
&lt;br /&gt;
Here's how to add an account:&lt;br /&gt;
# Click the Icon in the RC window on the right with a picture of the world and a spanner.&lt;br /&gt;
# Now the serveroptions have loaded. Look for the on that says: staff=&lt;br /&gt;
# In here you can add the accounts to be allowed on RC&lt;br /&gt;
# They are separate via a ',' like this: account1,account2,account3,account4,&lt;br /&gt;
# After adding an account into the staff line, click 'Send' to update the serveroptions&lt;br /&gt;
# Finally you need to add an IP Range and Rights using: /openrights accountname&lt;br /&gt;
&lt;br /&gt;
The three things important when adding an account are:&lt;br /&gt;
# Adding to staff= serveroption&lt;br /&gt;
# Setting an IP/IP Range&lt;br /&gt;
# Giving the correct amount of rights, keep them to a minimum for security&lt;br /&gt;
&lt;br /&gt;
The account you have setup is now also ready to be used. The account can log on RC which is downloadable from the Graalonline.com downloads section. Some rights will only work in the graal client, but we will come to that later.&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
===IP Ranges===&lt;br /&gt;
One of the most important security risks with playerworlds today, is no IP Protected Accounts. You should have already protected your account with an IP/IP Range and every account you have made should have IP/IP Ranges. If you stick by this rule it guarantees you a good secure playerworld. Some playerworlds either forget to add them, or choose not to. If you do not add IP ranges to all RC accounts, then you are at risk of someone logging onto that account, and potentially causing damage.&lt;br /&gt;
See Section 5.1 about how to find an IP Range!&lt;br /&gt;
&lt;br /&gt;
When you create an IP/IP Range, make sure that you remember to have a good IP range, and not something like: 64.*.*.*, instead have something like: 64.120.45.*&lt;br /&gt;
The less stars you use, and the more numbers, the more secure the account is.&lt;br /&gt;
&lt;br /&gt;
With a recent change in the server you may now use computer ids instead of IP ranges. In the IP Range field put &amp;quot;pc:&amp;lt;computerid&amp;gt;&amp;quot;, computerid can be found by using &amp;quot;/openaccess account&amp;quot; while the player is online. This is useful for people who have constantly changing IPs, such as AOL users. For more information see [http://forums.graalonline.com/forums/showthread.php?t=65482 this thread].&lt;br /&gt;
&lt;br /&gt;
===Account Rights===&lt;br /&gt;
When you setup an account, think about what this account will be used for. If the account will only be used by someone to upload levels, they do not need any higher than a level one RC. Every right available can be used against the server one way or another, which is why each staff member should only have what they need, and nothing else. Be strict with rights, do not give into people begging for them, do not allow your playerworld to be attacked.&lt;br /&gt;
&lt;br /&gt;
===NPC-Control Rights===&lt;br /&gt;
The most common problem after attacks on playerworlds is the NPC Database. Due to its backup restrictions (no quick way to backup) people dont backup NPCs as often, and so, they are often deleted over levels. To protect yourself against this, NPC-Control has access rights as well as levels. With these you can limit what access people have. You will need to add this serveroption to active NPC Rights.&lt;br /&gt;
&lt;br /&gt;
To do this, open the serveroptions (far right icon with world and spanner on it) then:&lt;br /&gt;
# Start a new line where you want the serveroption to go&lt;br /&gt;
# Input the following: npcrightsenabled=true (if it's not already there)&lt;br /&gt;
# Then click send to update the settings&lt;br /&gt;
&lt;br /&gt;
Now when people access the NPC Server, they need the right to edit or view any NPCs. To edit these, please read section 2.4 to learn about configuration of NPC Control Rights.&lt;br /&gt;
&lt;br /&gt;
===Guest RCs===&lt;br /&gt;
A guest RC is an account allowed onto a playerworld RC, but does not work for the playerworld. Some people allow these people on if they want them to look over something, or help with something else. The best thing is not to have these RCs, as they are a real security risk.&lt;br /&gt;
&lt;br /&gt;
If you still wish to have these RCs then please make sure you do the following:&lt;br /&gt;
# Have a very secure IP range: #.#.*.* (#.#.#.* would be better)&lt;br /&gt;
# Do not let them keep rights, remove them after they are finished&lt;br /&gt;
# Remove them from staff= after they are finished&lt;br /&gt;
&lt;br /&gt;
You can always re-add them, and their rights. Its best to keep doing this, as you may forget about them and they may come back in the future to cause problems or damage to the playerworld.&lt;br /&gt;
&lt;br /&gt;
==Name Change==&lt;br /&gt;
Currently there is no way to change the playerworld name yourself. Somebody, most likely Stefan, will drop by if there is a playercount on your playerworld and you still have a default name: playerworld##, and ask you what you would like the playerworld to be called.&lt;br /&gt;
&lt;br /&gt;
In the future it should be added to your Control-Panel on http://www.graal.net&lt;br /&gt;
&lt;br /&gt;
==Notifying The PWA of the Managers==&lt;br /&gt;
The PWA (Playerworld Administration) is in control of sorting out problems on playerworld, enforcing certain rules and to help you if you have problems. They try to have an updated list of managers and co-managers so that they know who to contact if they have any problems. Please try and e-mail all of your manager information to a PWA member, set out like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Playerworld Name: (PW Number)&lt;br /&gt;
Payer: Nick (Account)&lt;br /&gt;
Manager: Nick (Account)&lt;br /&gt;
Co-Manager: Nick (Account)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e.g:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MyWorld: (99)&lt;br /&gt;
Payer: Payday (Rick_Rich)&lt;br /&gt;
Manager: Ken (Ken2003)&lt;br /&gt;
Manager: SoulChild (SC_UK)&lt;br /&gt;
Co-Manager: Mou (MouKay)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please Note: You do not need to do this until your playerworld has had a name change.''&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
==Ways to configure your playerworld==&lt;br /&gt;
Configuration of a playerworld makes your playerworld more practical for you, and easier to use. The most common configuration methods are:&lt;br /&gt;
&lt;br /&gt;
* Serveroptions&lt;br /&gt;
* Folder configuration&lt;br /&gt;
&lt;br /&gt;
==Server options==&lt;br /&gt;
Serveroptions are just that, options, which the server reads to output certain features, functions and settings. When you log onto your playerworld, some of the following serveroptions should already be in your serveroptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Gameplayoptions&lt;br /&gt;
startlevel=&lt;br /&gt;
startx=&lt;br /&gt;
starty=&lt;br /&gt;
unstickmelevel=&lt;br /&gt;
unstickmex=&lt;br /&gt;
unstickmey=&lt;br /&gt;
staffguilds= &lt;br /&gt;
heartlimit=&lt;br /&gt;
swordlimit=&lt;br /&gt;
putnpcenabled=&lt;br /&gt;
setbodyallowed=&lt;br /&gt;
jaillevels=&lt;br /&gt;
bushitems=&lt;br /&gt;
baddyitems=&lt;br /&gt;
healswords=&lt;br /&gt;
#bigmap=&lt;br /&gt;
#minimap=&lt;br /&gt;
aptime0=75&lt;br /&gt;
aptime1=150&lt;br /&gt;
aptime2=300&lt;br /&gt;
aptime3=600&lt;br /&gt;
aptime4=1200&lt;br /&gt;
aptime5=2400&lt;br /&gt;
staff=&lt;br /&gt;
playerlisticons=Online,Away,DND&lt;br /&gt;
npcrights=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each one of these can be altered, changed and removed. It's best to keep most of these as they are the basic default server options to tell the server where new players should start etc. See [[Server options]] for a full list of them.&lt;br /&gt;
&lt;br /&gt;
==Folder Configuration==&lt;br /&gt;
The folder configuration can be found in the RC window. It is the top right button, with a picture of two folders on it. This is used so that the server knows where to find certain things, such as: Heads, Swords and Shields. The default folder configuration when you log on will be something like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
body    bodies/*.png&lt;br /&gt;
head    heads/*&lt;br /&gt;
sword   swords/*&lt;br /&gt;
shield  shields/*&lt;br /&gt;
level   *.graal&lt;br /&gt;
level   *.nw&lt;br /&gt;
level   *.gmap&lt;br /&gt;
file    *.png&lt;br /&gt;
file    *.mng&lt;br /&gt;
file    *.gif&lt;br /&gt;
file    *.gani&lt;br /&gt;
file    *.wav&lt;br /&gt;
file    *.txt&lt;br /&gt;
file    *.gmap&lt;br /&gt;
file    images/*.png&lt;br /&gt;
file    images/*.gif&lt;br /&gt;
file    images/*.mng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to add a folder you put the following on a new line in folder configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
type location/allowed_filetypes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want a folder for heads, then you would do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
head staffheads/*.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would allow .png images to be read as heads from the location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
levels/staffheads&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you add a folder, the 'levels' is a default thing. &lt;br /&gt;
So you do not do the following&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
head levels/staffheads/*.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead you just put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
head staffheads/*.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Folder configuration should be used at all times when you want a new folder. The idea of this is so that you can limit the file-types that can be put into it, and it is read correctly by the server, so that it knows where the heads are, and which folders contain levels for example.&lt;br /&gt;
&lt;br /&gt;
===Access to the folders===&lt;br /&gt;
To upload into this folder, you need to give yourself or the other staff member's access to it. To do this, say: '''/openrights accountname''' in the RC text field at the bottom.&lt;br /&gt;
&lt;br /&gt;
Once the edit rights window appears, the box below the checkboxes can be used to input which folders you want this person to have access to. There are two main rights for each folder:&lt;br /&gt;
&lt;br /&gt;
R (Read-Only)&lt;br /&gt;
RW (Read and Write)&lt;br /&gt;
&lt;br /&gt;
For an example, the default levels folder is: '''/levels/'''&lt;br /&gt;
To give someone full access to this folder, you would put: '''rw levels/*'''&lt;br /&gt;
&lt;br /&gt;
However, RW is a security risk, as it allows people to delete all of the contents. Some servers may wish to setup a folder, where staff can upload levels into, and someone else can transfer them into the main folder. To do this they would need rw to the upload folder, and r to the main folder, so they could download all of the files, but not edit or delete them.&lt;br /&gt;
&lt;br /&gt;
Please also note that if you want access to the following two folders:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/levels/folder1/&lt;br /&gt;
/levels/folder1/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then this will not give you access to it: /levels/*&lt;br /&gt;
The star is the file type your allowed to see, a star means all, but it could be *.png&lt;br /&gt;
So you would need:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw levels/folder1/*&lt;br /&gt;
rw levels/folder2/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Folders outside of levels/===&lt;br /&gt;
If you want to create a folder that does not begin with levels/ then you do not need to use folder configuration, you can just give the rights to the person, such as:&lt;br /&gt;
&amp;lt;pre&amp;gt;rw newfolder/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which makes:&lt;br /&gt;
&amp;lt;pre&amp;gt;newfolder/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that files in these folders are not available to game clients. Levels, GFX, GANIs, etc for the playerworld should be in the levels/ folder.&lt;br /&gt;
&lt;br /&gt;
==NPC Control Rights==&lt;br /&gt;
The NPC Control rights work exactly the same as folder rights. It may be a good idea to read 2.3.1 if you are still unsure after reading this. Because NPC Server is such a big part of RC, there are three types of rights: Weapons, Classes and NPCs.&lt;br /&gt;
&lt;br /&gt;
To give someone access to everything, you have to grant them access to view and edit everything and give them the NPC Control right. To do this say in RC: /openrights accountname or go through the top left icon in RC into the player list, and then right click an account and click Edit Rights.&lt;br /&gt;
&lt;br /&gt;
The NPC Control checkbox is at the top. And the NPC Control Rights are put into the window below called Folder Rights.&lt;br /&gt;
&lt;br /&gt;
To give them access to everything put in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw WEAPONS/* (Weapons - Icon with sword)&lt;br /&gt;
rw CLASSES/* (Classes)&lt;br /&gt;
rw NPCS/* (database NPCs)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to restrict access, to lets say only NPCs beginning with their name, you could put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw WEAPONS/staffname/*&lt;br /&gt;
rw CLASSES/staffname/*&lt;br /&gt;
rw NPCS/staffname/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want them to access more than one type of NPC starting name you can put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw WEAPONS/staffname/*&lt;br /&gt;
rw WEAPONS/system/*&lt;br /&gt;
rw WEAPONS/player/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will work fine. And don't forget that these rights work in the same way as folder rights, so you do not always need to put '''rw''', you can just put '''r'''.&lt;br /&gt;
&lt;br /&gt;
=Graal.net Control Panel=&lt;br /&gt;
This is the central point for your playerworld. Here you can control certain things, and view stats on your playerworld, to help you manage your playerworld with ease.&lt;br /&gt;
&lt;br /&gt;
==Getting to your control panel==&lt;br /&gt;
In the same e-mail you had the username and password for your account, you can log into the control panel with it. First of all the URL given to you should be put into your web browser. When you have loaded this page you will be asked for the username and password, once you have put this in, you are into your control panel.&lt;br /&gt;
&lt;br /&gt;
==What you can do with your control panel==&lt;br /&gt;
Once inside you will see stats on the NPC Server and the G-Server (graal server). You can click either of these words and be taken to a page where you can perform certain actions such as: Stop, Start, Restart the NPC Server or G-Server. You will also see stats such as how much CPU and memory you are using.&lt;br /&gt;
&lt;br /&gt;
=Guides=&lt;br /&gt;
===Getting RC===&lt;br /&gt;
* To get RC go to the following URL: http://www.graalonline.com/downloads/index.php&lt;br /&gt;
* Click on the setup you want (Windows, Linux, Mac OSX)&lt;br /&gt;
* After setting up the location of the download you are asked to choose a mirror&lt;br /&gt;
* Choose Graalonline.com&lt;br /&gt;
* Then when you have a list of available parts to download, make sure the developer does not say skip and instead is a version number, e.g: 1.0.0-7&lt;br /&gt;
* Click Next and it should start downloading&lt;br /&gt;
&lt;br /&gt;
===RC Icons===&lt;br /&gt;
Please look at the document 'The Insides of Remote Control' for information on how to use Remote Control (RC) and what each icon does.&lt;br /&gt;
&lt;br /&gt;
===RC Rights===&lt;br /&gt;
What can I use?&lt;br /&gt;
Depending on what rights you have, and what your job is, you may only use a few icons, as they will not be useful to your job. Each Icon has been put there for your use, and the best way to find out what they are, is to have a go.&lt;br /&gt;
&lt;br /&gt;
The best way to find out what you can and can not do it to say the following in the RC text field at the bottom:&lt;br /&gt;
&lt;br /&gt;
/openrights myaccountname (e.g: /openrights mark_45)&lt;br /&gt;
&lt;br /&gt;
Depending on what rights you have, you may or may not be able to change them. To change them you will need either: Change Rights or Edit Folder Rights&lt;br /&gt;
&lt;br /&gt;
Every right Explained? [Back to top]&lt;br /&gt;
&lt;br /&gt;
Anyway, when the Edit Rights window opens, look what you have got (checked) and then look below to see what it is, and how it works:&lt;br /&gt;
&lt;br /&gt;
* Warpto x y: When in the Graal Client in a level, say: warpto x y (where x+ y use number positions to warpto) e.g: warpto 10 30 = Warps player to x=10, y=30, of same level&lt;br /&gt;
* Warpto player: When in the Graal client, say: warpto accountname = warpto that person&lt;br /&gt;
* Warp Players: When in RC click the top left button, right click a player, click warp, enter the level name and the X and Y position for the player to be warped to.&lt;br /&gt;
* Update Level: When in Graal Client, say: update level - Updates to original settings - e.g: Removal of things that are not in the level normally such as money, baddies, dbnpcs.&lt;br /&gt;
* Disconnect Players: When in RC click the top left button, right click a player, click disconnect the players connection to the playerworld will be terminated, useful after banning someone, or if they need to reconnect for a change to be made.&lt;br /&gt;
* View Player attributes: When you either say /open accoutname in RC or right click and account from the top left button and go to edit attributes you can see information about this account, such as their colours, flags, open chests, weapons, IP address etc..&lt;br /&gt;
* Set Player Attributes: This allows you to edit/alter player attributes, after opening them, to open them, see above.&lt;br /&gt;
* Set own Attributes: This allows you to open and edit the attributes of your own account using the top left button and the player list, or saying /open myaccountname in RC.&lt;br /&gt;
* Reset Attributes: This clears all of the attributes, and will take away everything so that this account is like when it first logged on. To use this either go through the top left button in RC, onto player list and then right click account and finally click Reset. &lt;br /&gt;
Or simply say in RC: /reset accountname&lt;br /&gt;
* Admin Message: This is a little popup in the graal client, which people must press enter on to clear it. Its often a good way to send very important messages, but can be annoying. To use this, go to the top left icon in RC, into the player list. Then you can either send it to just one person by right clicking the account and going to Admin Message or click the Admin Message to All button at the bottom of the player list window.&lt;br /&gt;
* Set Server Flags: This allows you to edit or add .server scripting flags into the icon with the Flag and the World. This is useful if you have a NPC which is trying to read the server flag and you need to create one yourself first of all.&lt;br /&gt;
* Change Rights: This allows you to change rights of peoples accounts if you have that right too. To do this either say in RC /openrights accountname and save it by clicking Apply. Or use the top left button, and right click and account in the player list and then click Edit Rights.&lt;br /&gt;
* Ban Players: This stops a user logging on. If they have gone against rules or you think their actions need a punishment of a ban you can either say in RC, /openban accountname. Or right click them in the player list using the top left Icon. When you use this window, to ban them you must check the Banned check box. And in the Ban Reason you must put why they are banned, and who they are banned by. Its also a good idea to add it to their comments, for this see the right below.&lt;br /&gt;
* Change Comments: This is used to add comments to an account. It's useful if you wish to log certain jailing, or how often this person does something. Most people use it to add the ban reason too, so everybody with RC and the right can see why that person is banned.&lt;br /&gt;
* Change Staff Accounts: This is used when you want to alter your Admin-Playerworld## account. You can change certain things in here. One of those things is the password. If you do change your password, then please choose a random one such as: Ghu9n42 and not something simple like playerworldname or graal. To do this either use the top left icon and on the player list right click an account and click Edit Account or say: /openacc accountname in RC.&lt;br /&gt;
* Change Server Options: This allows you to change the serveroptions. To do this you click the icon with the world and the spanner on it, you can alter, remove and add server options to change certain settings.&lt;br /&gt;
* Edit Folder Configuration: This allows you to change the folder configuration; information about this was in part 2.3. To change the folder configuration look over that section, and to access it click the top right icon in RC.&lt;br /&gt;
* Edit Folder Rights: This is to change the access rights people have to folders. This is the bottom box in the Edit Rights window. You can alter folder rights for someone by using the top left icon, going into the player list and right clicking and then click Edi Rights, or just say in the RC text field: /openrights accountname. More Information is in 2.3.1&lt;br /&gt;
* NPC-Control: This right allows you access to the thirteen icons instead of just eight. If you have this you have a lot more access to other things. You may need NPC Server rights to perform certain actions. More information can be found in 3.1.1&lt;br /&gt;
&lt;br /&gt;
===RC Shortcuts===&lt;br /&gt;
If you say one of the following in RC, it will allow you to perform certain actions, but quicker. Here is a list of all of the shortcuts from the /help action.&lt;br /&gt;
&lt;br /&gt;
* '''/help:''' displays the following below&lt;br /&gt;
* '''/stats:''' displays server info&lt;br /&gt;
* '''/loadlang:''' reloads the translations into memory&lt;br /&gt;
* '''/loadlevellist:''' reloads the level list&lt;br /&gt;
* '''/loadmap:''' reloads the map (for onmapx()/onmapy())&lt;br /&gt;
* '''/savenpcs:''' saves all database npcs&lt;br /&gt;
* '''/clearnpcs levelname:''' deletes local db npcs from a level (including gralats)&lt;br /&gt;
* '''/npc&amp;lt;command param&amp;gt;:''' commands to the control-npc&lt;br /&gt;
* '''/npcshutdown:''' closes the server&lt;br /&gt;
Available commands for GServer:&lt;br /&gt;
* '''/stats:''' displays server info&lt;br /&gt;
* '''/open accountname:''' opens the player attributes window&lt;br /&gt;
* '''/openrights accountname:''' opens the rights&lt;br /&gt;
* '''/opencomments accountname:''' opens the comments&lt;br /&gt;
* '''/openaccess accountname:''' opens the ban info&lt;br /&gt;
* '''/openacc accountname:''' opens the account&lt;br /&gt;
* '''/reset accountname:''' resets the account&lt;br /&gt;
* '''/find filename:''' searches for a game file&lt;br /&gt;
* '''/allservers text:''' global RC chat (only for high admins) [High levelled Globals Only]&lt;br /&gt;
* '''/updatelevel level[,level]:''' reloads levels form hard disk&lt;br /&gt;
* '''/npcstart:''' starts the npcserver&lt;br /&gt;
* '''/shutdown:''' closes the server&lt;br /&gt;
&lt;br /&gt;
==Serveroptions==&lt;br /&gt;
See [[Server options]].&lt;br /&gt;
&lt;br /&gt;
==How to use the file manager==&lt;br /&gt;
This guide will teach you how to use the file manager. Most people will use file manager if they are staff on a playerworld at least once, so its important that everybody knows what it is, and how to use it.&lt;br /&gt;
&lt;br /&gt;
===What is file manager===&lt;br /&gt;
File manager is the built in section within RC which acts as a FTP Client. It is used to send files from the client to the server, and vice versa. This can be found using the top left icon, the one with the two folders on it.&lt;br /&gt;
&lt;br /&gt;
===How to create folders within the file manager===&lt;br /&gt;
This was explained before in the document. To create folders you use folder configuration to tell the server where the folder is, and what its used for. If you cant remember, or didn't read it, please look at section 2.3 and section 2.3.1.&lt;br /&gt;
&lt;br /&gt;
===How to access the folders in file manager===&lt;br /&gt;
To access a folder, you need the rights to do so. This is inputted into the Edit Rights window. Either use the player list and right click the player then click Edit Rights or say in RC: /openrights accoutname. The bottom window is where the rights go; please note you will need Edit Folder Rights to edit anything in the bottom window.&lt;br /&gt;
&lt;br /&gt;
There are two main rights for each playerworld:&lt;br /&gt;
&lt;br /&gt;
R (Read-Only)&lt;br /&gt;
RW (Read and Write)&lt;br /&gt;
&lt;br /&gt;
For an example, the default levels folder is: /levels/&lt;br /&gt;
To give someone full access to this folder, you would put: rw levels/*&lt;br /&gt;
&lt;br /&gt;
However, RW is a security risk, as it allows people to delete all of the contents. Some server may wish to setup a folder, where staff can upload levels into, and someone else can transfer them into the main folder. To do this they would need rw to the upload folder, and r to the main folder, so they could download all of the files, but not edit or delete them.&lt;br /&gt;
&lt;br /&gt;
So if your folder is: /levels/upload/&lt;br /&gt;
The folder configuration will be: level     upload/* (Where star is, put available file types e.g: *.png)&lt;br /&gt;
While the rights for access to it will be: rw levels/upload/* (Could be just r)&lt;br /&gt;
&lt;br /&gt;
===How to upload files into the file manager===&lt;br /&gt;
To upload files into a folder you have rights and access to, you first need to find the files. Lets say the files are in: /graal2001/my_uploads&lt;br /&gt;
&lt;br /&gt;
1)First of all go to this folder in a new window (/graal2001/my_uploads)&lt;br /&gt;
2)Second highlight the files you wish to upload&lt;br /&gt;
3)Then go back to RC, Click on the file manager Icon&lt;br /&gt;
4)You then go back to the folder where the files are and drag the files into the file managers' right window.&lt;br /&gt;
&lt;br /&gt;
There are many ways to do this, you can drag the files down to the open windows bar, and then into file manager. You can alternate through the open windows (Alt+Tab for Windows) and then into the file manager. Or you can make is so both windows are visible, by re-sizing them. Sometimes it is a good idea if you drag the file manager away from the RC, as sometimes the RC goes over the top of the File Manager, and you cant drag the files in.&lt;br /&gt;
 &lt;br /&gt;
===How to download files from the file manager===&lt;br /&gt;
Downloading is basically as easy as uploading. Once you have the file you want to download, go to it in file manager, and then simply drag it out of file manager to a folder to the desktop. Another way is to right click and click Edit and then you can save it somewhere when it opens.&lt;br /&gt;
 &lt;br /&gt;
===How to delete files from the file manager===&lt;br /&gt;
Sometimes you may have to delete the file before you can upload; this is sometimes a problem that rarely occurs. Or maybe you just want to delete the file. Once you have made sure you do not need the file, or have got a backup in case you need it again, simple right click the file in file manager, and then click delete.&lt;br /&gt;
&lt;br /&gt;
===Sub-Folders===&lt;br /&gt;
Sub folders are easy to create and easy to access. Here is an example of a few sub folders:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/levels/staff/&lt;br /&gt;
/levels/staff/staffmember1/&lt;br /&gt;
/levels/staff/staffmember2/&lt;br /&gt;
/levels/staff/staffmember3/&lt;br /&gt;
/levels/staff/staffmember4/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is exactly the same as creating a normal folder. But for the folders above, you would put the following into folder configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
level staff/staffmember4/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''Where the star is, put available file types e.g: *.png''&lt;br /&gt;
&lt;br /&gt;
And in Folder Rights you would put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw levels/staff/staffmember4/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''Where star is, put available file types e.g: *.png''&lt;br /&gt;
&lt;br /&gt;
And to navigate through sub-folders you will see either a + or a - sign. The + sign means that there are sub-folder within this folder, and you can click it to expand them. And the - sign means you can see the sub folders, and you can press it to hide them.&lt;br /&gt;
&lt;br /&gt;
==How to make guilds==&lt;br /&gt;
Guilds are very easy and simple to make. First of all the guilds should be placed in the correct folder. This has changed recently, the new folder is: /levels/guilds/&lt;br /&gt;
&lt;br /&gt;
===Making filename===&lt;br /&gt;
To make a guild you use something such as notepad, to save as a .txt file. You then have to call it what you want to call it, like this: guild&amp;lt;guildname&amp;gt;.txt (e.g: guildGP.txt)&lt;br /&gt;
&lt;br /&gt;
===Inside File===&lt;br /&gt;
Inside you need to use the following format for everyone who you want to have the guild tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
account:nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So lets say someone with the account bob and the nickname ralf needs a tag (GP) you would make the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Filename: guildGP.txt&lt;br /&gt;
Inside: bob:ralf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which gives us: ralf (GP) ''(for account bob)''&lt;br /&gt;
&lt;br /&gt;
===More accounts inside===&lt;br /&gt;
If you want more people inside, you simply just put them on a new line inside:&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
&lt;br /&gt;
===Making it a staff guild===&lt;br /&gt;
If you want this guild to be a staff guild, simply put the tag name into the staffguilds=serveroption like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
staffguilds=GP,FAQ,Manager,LAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frequently Asked Questions=&lt;br /&gt;
&lt;br /&gt;
==How to find an IP/IP Range==&lt;br /&gt;
First of all you need to know the difference. An IP is a number with 4 parts, while an IP Range is a number with open parts where different numbers can go, and open have more than one set of IPs in them.&lt;br /&gt;
&lt;br /&gt;
===Finding your IP===&lt;br /&gt;
First of all you need to find out your IP, to do this go to a website such as:&lt;br /&gt;
http://whatismyip.com/ &lt;br /&gt;
&lt;br /&gt;
For dial-up users your IP endings will change, but the start may stay the same. You will then need to vist this site a few times to write down your IPs. Always on connections can just put in the IP, and alter it later, as it should stay like this for a long enough period of time. Dial-Up users will need to write down about 15-20IPs.&lt;br /&gt;
 &lt;br /&gt;
===Sorting my IPs===&lt;br /&gt;
Lets say you have the following IPs&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
64.124.42.44 &lt;br /&gt;
64.124.88.52 &lt;br /&gt;
64.74.963.25 &lt;br /&gt;
64.123.67.32 &lt;br /&gt;
78.225.96.34 &lt;br /&gt;
78.125.46.34 &lt;br /&gt;
78.62.45.32 &lt;br /&gt;
64.124.85.32 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first thing to do is put them in numerical order, so 64.*.*.* &amp;gt; 78.*.*.*&lt;br /&gt;
&lt;br /&gt;
Once you have put them in order, you need to look at what changes and what doesn't. In this case it's the first and some of the second parts of the IP address.&lt;br /&gt;
&lt;br /&gt;
Which means this IP range for someone with those IPs would be: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
64.124.*.* &lt;br /&gt;
64.74.*.* &lt;br /&gt;
64.123.*.* &lt;br /&gt;
78.642.*.* &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in order they are separated via a comma to produce the following: 64.124.*.*,64.74.*.*,64.123.*.*,78.642.*.* &lt;br /&gt;
&lt;br /&gt;
Now many people will just do the following: 64.*.*.* (if the other numbers seem to change a lot) Ideally if you can have a tighter IP range such as: 64.124.*.* then it will be more secure. &lt;br /&gt;
&lt;br /&gt;
Ideally you should take IPs over 2-3days so that it is a greater IP range. &lt;br /&gt;
&lt;br /&gt;
'''Remember: You can always edit or change the IP range, but you can't always get back the Levels and NPCs deleted by an intruder.'''&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6840</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6840"/>
		<updated>2006-04-16T22:39:51Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=New Developments=&lt;br /&gt;
Delteria is currently in the process of developing a new overworld and rescripting the majority of the server. All of the server's systems are being redone, and events rescripted to [[Creation/Dev/GScript2|GScript2]]. Details about the new world will come at a later time.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria hosts two weekly sparring tournaments, singles and tag team. The singles tournament is every Saturday at 10 PM EST while the tag team on Monday at 8 PM EST.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator '''(inactive)'''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerPlayer&amp;diff=6823</id>
		<title>Creation/Dev/Script/Client/TServerPlayer</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerPlayer&amp;diff=6823"/>
		<updated>2006-04-15T15:35:19Z</updated>

		<summary type="html">&lt;p&gt;Riot: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inherits [[Creation/Dev/Script/Client/TGaniObject|TGaniObject]].&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| account&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ap&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| attached&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| bombs&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| chat&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| darts&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| fullhearts&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| glovepower&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| gralats&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| guild&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| headimg&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| headset&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hearts&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| horseimg&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hp&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| id&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isadmin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ischannel&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ischannelopen&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ischanneluser&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isexternal&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isfemale&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isignoring&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isloggedin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ismale&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ismuted&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ismuting&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| language&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| languagedomain&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| maxhp&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| messagebubble&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mp&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| nick&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| platform&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rupees&lt;br /&gt;
| integer&lt;br /&gt;
| Use ''gralats'' instead&lt;br /&gt;
|-&lt;br /&gt;
| shieldimg&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shieldpower&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| swordimg&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| swordpower&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&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;
&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;
| isguildpm()&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ismasspm()&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| pmswaiting()&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showprofile()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Player_attributes&amp;diff=6822</id>
		<title>Player attributes</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Player_attributes&amp;diff=6822"/>
		<updated>2006-04-15T15:27:51Z</updated>

		<summary type="html">&lt;p&gt;Riot: &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&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>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Player_attributes&amp;diff=6821</id>
		<title>Player attributes</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Player_attributes&amp;diff=6821"/>
		<updated>2006-04-15T15:11:20Z</updated>

		<summary type="html">&lt;p&gt;Riot: &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&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 Functions:_NPC_Server|Script Functions: NPC Server]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Riot&amp;diff=6755</id>
		<title>User:Riot</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Riot&amp;diff=6755"/>
		<updated>2006-04-06T00:03:28Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Player}}&lt;br /&gt;
Riot has been playing [[Graal]] on and off since late-1999.&lt;br /&gt;
=Staff Positions=&lt;br /&gt;
Current Co Manager of [[Worlds/Delteria|Delteria]]&lt;br /&gt;
=Contact Information=&lt;br /&gt;
Riot can be contacted by:&lt;br /&gt;
* E-mail: [mailto:riot@delteria.com riot@delteria.com]&lt;br /&gt;
* Forum PM: Riot at the [http://forums.graalonline.com/forums/private.php?do=newpm&amp;amp;u=3179 GCC] or Riot at the [http://forums.delteria.com/index.php?act=Msg&amp;amp;CODE=4&amp;amp;MID=1 Delteria Forums]&lt;br /&gt;
* Via AIM: Riotnpc2k2&lt;br /&gt;
* In-Game: Usually on [[Worlds/Delteria|Delteria]] or Delteria Dev&lt;br /&gt;
=Accounts=&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;
| '''Email address'''&lt;br /&gt;
| '''Admin level'''&lt;br /&gt;
| '''Free upgrades'''&lt;br /&gt;
| '''Banned?'''&lt;br /&gt;
| '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| Riot&lt;br /&gt;
| justinharper@cfl.rr.com&lt;br /&gt;
| 0/all&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Primary account&lt;br /&gt;
|-&lt;br /&gt;
| Riot-Starter&lt;br /&gt;
| -&lt;br /&gt;
| 0/all&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Testing account.&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Playerworld4&lt;br /&gt;
| -&lt;br /&gt;
| 1/playerworld4&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Delteria Dev administrator account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds&amp;diff=6754</id>
		<title>Worlds</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds&amp;diff=6754"/>
		<updated>2006-04-05T18:30:50Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Development / Private Services */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;List of Graal worlds.&lt;br /&gt;
&lt;br /&gt;
=Gold Services=&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server kingdoms.png|thumb|left|150px|[[Worlds/Graal Kingdoms|Graal Kingdoms]]]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server zone.png|thumb|left|150px|[[Worlds/Zone|Zone]]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=3D Services=&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server graal3d.png|thumb|left|150px|[[Worlds/Graal3D|Graal 3D]]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Classic Services=&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server atlantis.png|thumb|left|150px|[[Worlds/Atlantis|Atlantis]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server classic.png|thumb|left|150px|[[Worlds/Classic|Classic]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server delteria.png|thumb|left|150px|[[Worlds/Delteria|Delteria]]]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image: Login server era.png|thumb|left|150px|[[Worlds/Era|Era]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server maloria.png|thumb|left|150px|[[Worlds/Maloria|Maloria]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server npulse.png|thumb|left|150px|[[Worlds/N-Pulse|N-Pulse]]]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server shaded.png|thumb|left|150px|[[Worlds/Shaded_Legend|Shaded Legend]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server unholy.png|thumb|left|150px|[[Worlds/Unholy_Nation|Unholy Nation]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server valikorlia.png|thumb|left|150px|[[Worlds/Valikorlia|Valikorlia]]]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server bomyland.png|thumb|left|150px|[[Worlds/Graal_Bomy_Lands|Bomy Lands]]]]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Hosted Services=&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server aeon.png|thumb|left|150px|[[Worlds/Aeon|Aeon]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server endora.png|thumb|left|150px|[[Worlds/Endora|Endora]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server exodus.png|thumb|left|150px|[[Worlds/Exodus|Exodus]]]]&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server zenkou.png|thumb|left|150px|[[Worlds/Zenkou|Zenkou]]]]&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
[[Image:Login server zodiac.png|thumb|left|150px|[[Worlds/Zodiac|Zodiac]]]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Development / Private Services=&lt;br /&gt;
{|&lt;br /&gt;
| valign=&amp;quot;top&amp;quot;|&lt;br /&gt;
&lt;br /&gt;
* [[Worlds/Atrius|Atrius]]&lt;br /&gt;
* [[Worlds/Babylon|Babylon]]&lt;br /&gt;
* [[Worlds/Bravo: Ages of Ignis|Bravo: Ages of Ignis]]&lt;br /&gt;
* [[Worlds/Dark Rival|Dark Rival]]&lt;br /&gt;
* [[Worlds/Elemental Kingdoms|Elemental Kingdoms]]&lt;br /&gt;
* [[Worlds/Eventserver|Graal Event Worlds - ''Finish in 2-3 weeks!'' ]]&lt;br /&gt;
* [[Worlds/Graal X|Graal X]]&lt;br /&gt;
* [[Worlds/Lostworld|Lostworld]]&lt;br /&gt;
* [[Worlds/Mana Realms|Mana Realms]]&lt;br /&gt;
* [[Worlds/Ordinance|Ordinance]]&lt;br /&gt;
* [[Worlds/RP Kingdoms|RP Kingdoms]]&lt;br /&gt;
* [[Worlds/VS:CONFLICT|VS:CONFLICT]]&lt;br /&gt;
* [[Worlds/Shangri-La|Shangri-La]]&lt;br /&gt;
* [[Worlds/Reborn|Reborn]]&lt;br /&gt;
* [[Worlds/Utopia|Utopia]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:DARKVILLIN&amp;diff=6741</id>
		<title>User:DARKVILLIN</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:DARKVILLIN&amp;diff=6741"/>
		<updated>2006-04-04T21:14:08Z</updated>

		<summary type="html">&lt;p&gt;Riot: Fix playerworld links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== About ==&lt;br /&gt;
'''DARKVILLIN''':Also Known as '''DV''' started playing graal around 1997/1998. He is a very experianced [[LAT]] and a fairly decent [[GAT]]. He currently is a [[developer]] for [[Worlds/Graal Kingdoms|Graal Kingdoms]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Previous Jobs ==&lt;br /&gt;
&lt;br /&gt;
'''Manager:'''&lt;br /&gt;
Tritan, Sanstrata, XOne, G3K&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Admin:'''&lt;br /&gt;
[[Worlds/Babylon|Babylon]], [[Worlds/Bravo|Bravo]], Doomsday, Doragon Koden, Faheria, Graal2001, [[Worlds/Maloria|Maloria]], [[Worlds/Sanstrata|Sanstrata]], [[Worlds/Shaded Legend|Shaded Legend]]&lt;br /&gt;
&lt;br /&gt;
'''Music Admin:'''&lt;br /&gt;
[[Worlds/Graal Bomy Lands|Graal Bomy Lands]]&lt;br /&gt;
&lt;br /&gt;
'''Levels Admin:'''&lt;br /&gt;
[[Worlds/Delteria|Delteria]], [[Worlds/Maloria|Maloria]], [[Worlds/Babylon|Babylon]], &amp;lt;more...&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Bugs Admin:'''&lt;br /&gt;
Sanstrata, [[Worlds/Shaded Legend|Shaded Lengend]]&lt;br /&gt;
&lt;br /&gt;
== Documents written by DARKVILLIN ==&lt;br /&gt;
[[GAT|GAT and its Meaning]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Accounts ==&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;
| '''Admin level'''&lt;br /&gt;
| '''Acc Type'''&lt;br /&gt;
| '''Banned?'''&lt;br /&gt;
| '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| DARKVILLIN&lt;br /&gt;
| 0 (All)&lt;br /&gt;
| Gold&lt;br /&gt;
| No&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
{{User_talk:DARKVILLIN}}&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TTilesLayer&amp;diff=6582</id>
		<title>Creation/Dev/Script/Client/TTilesLayer</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TTilesLayer&amp;diff=6582"/>
		<updated>2006-03-13T14:32:35Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inherits [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| alpha&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| blue&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| green&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| layerindex&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| offset&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| red&lt;br /&gt;
| float&lt;br /&gt;
|&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;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Functions=&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;
| '''Return Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| updateboard(int x, int y, int width, int height)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6581</id>
		<title>Creation/Dev/Script/Client</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6581"/>
		<updated>2006-03-13T14:29:13Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Client Supported Script Features=&lt;br /&gt;
&lt;br /&gt;
==Settings==&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;
| $camera::movementspeed&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::choosenvoicecodec&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivatebyvolume&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivationlevel&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microinputdevice&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microon&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microvolumefactor&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::midivolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::mp3volume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::radiovolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::reversestereo&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::sfxvolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::voicevolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::allowglobalpms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::automapping&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::defaultfontsize&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontconnectlevels&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontloadlistheads&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepasswords&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedport&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedudpport&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::language&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::limitnicknames&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::loadbuddylistfromserver&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nicknamelimit&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nomassmessages&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::notoalls&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::noudp&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::showyourselfonbuddylists&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::input::mousesensitivity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::interior::lockarrays&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::terrain::enabledetails&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::detailfactor&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fogdistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fullscreenmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::screenshotformat&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::visibledistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::windowmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $scenelighting::lightingprogress&lt;br /&gt;
| float (read only)&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all features currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| The size of the allplayers array.&lt;br /&gt;
|-&lt;br /&gt;
| allstats&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all stats currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player has spin attack&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a black stone&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a bush&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying an NPC.&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the file currently being downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Size of the file being downloaded&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 (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| float (read only)&lt;br /&gt;
| X coordinate of the center of playing screen in the level, offset -1.5&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Y coordinate of the center of playing screen in the level, offset -2&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Graal version&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying anything&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is the first person in the level&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player is on a map&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled light effects&lt;br /&gt;
|-&lt;br /&gt;
| weathereffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled weather effects&lt;br /&gt;
|-&lt;br /&gt;
| particleeffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| signifies that the player has enabled particle effects&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| float&lt;br /&gt;
| X coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| float&lt;br /&gt;
| Y coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| musiclen&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Height of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Width of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| object&lt;br /&gt;
| an array of players highlighted 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;
|&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the current 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 (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&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 (read only)&lt;br /&gt;
| An array of weapon objects&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Are weapons enabled? (Player can trigger onWeaponFired...)&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;
==Functions==&lt;br /&gt;
''Note: Currently this doesn't list the functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_functions|Starting Guide: Standard functions]] for those.''&lt;br /&gt;
&lt;br /&gt;
* aindexof(float, obj) - returns integer&lt;br /&gt;
* echo(str text)&lt;br /&gt;
* getbasepackage() - returns object&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;
* gethttprequest(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* getkeycode(str keyname) - returns integer&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;
* gettotalupdatepackagesize() - returns integer&lt;br /&gt;
* getupdatepackage(str) - returns object&lt;br /&gt;
* isadminguild(str guildname) - returns boolean&lt;br /&gt;
* isdevicefullscreenonly(str devicename) - returns boolean&lt;br /&gt;
* isobject(str objectname) - returns boolean&lt;br /&gt;
* keydown(int keycode) - returns boolean&lt;br /&gt;
* keydown2(int keycode, bool ignorecase) - returns boolean&lt;br /&gt;
* keyname(int keycode) - returns string&lt;br /&gt;
* opengraalurl(str url)&lt;br /&gt;
* openurl(str url)&lt;br /&gt;
* openurl2(str url, int width, int height)&lt;br /&gt;
* requesthttp(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* requestmysql(str, str, str, str, str) - returns object&lt;br /&gt;
* requesttext(str, str)&lt;br /&gt;
* requesturl(str url) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* savelog(str text)&lt;br /&gt;
* sendrpgmessage(str text)&lt;br /&gt;
* sendtext(str, str, params...)&lt;br /&gt;
* sendtorc(str text)&lt;br /&gt;
* serverwarp(str serverunixname)&lt;br /&gt;
* synctimeofday(float, float)&lt;br /&gt;
&lt;br /&gt;
===Common===&lt;br /&gt;
====Files====&lt;br /&gt;
* extractfilebase(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* extractfileext(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* extractfilename(str filepath) - returns string, '/an/example/path/and/file' would return 'file'&lt;br /&gt;
* extractfilepath(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* fileexists(str filepath) - returns boolean, checks if a file exists&lt;br /&gt;
* filesize(str filepath) - returns integer, returns the size of a file&lt;br /&gt;
* fileupdate(str filepath) - returns boolean&lt;br /&gt;
* findfiles(str, int) - returns object&lt;br /&gt;
* findfirstfile(str) - returns string&lt;br /&gt;
* findnextfile(str) - returns string&lt;br /&gt;
* getextension(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* reloadfile(str filepath)&lt;br /&gt;
* requestfiledeletion(str filepath), requests a file to be deleted on the server&lt;br /&gt;
* requestfilerename(str filepath, str newfilepath), requests a file to be renamed on the server&lt;br /&gt;
* requestfilesmove(str filepath, str newfilepath), requests a file to be moved on the server&lt;br /&gt;
* selectfilefordownload(str filter)&lt;br /&gt;
* selectfileforupload()&lt;br /&gt;
&lt;br /&gt;
''Watch the [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]] object for loading and saving of files (loadlines etc.)''&lt;br /&gt;
&lt;br /&gt;
====Math====&lt;br /&gt;
* degtorad(float value) - returns float&lt;br /&gt;
* radtodeg(float value) - returns float&lt;br /&gt;
&lt;br /&gt;
=====Matrices=====&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;
&lt;br /&gt;
=====Vectors=====&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;
&lt;br /&gt;
====Strings====&lt;br /&gt;
* base64decode(str text) - returns decoded string&lt;br /&gt;
* base64encode(str text) - returns encoded string&lt;br /&gt;
* checksum(str text) - returns checksum float&lt;br /&gt;
* contains(str haystack, str needle) - returns boolean, you should probably do haystack.contains(needle) instead&lt;br /&gt;
* getascii(str character) - returns ascii value integer&lt;br /&gt;
* getstringkeys(str) - returns object&lt;br /&gt;
* lowercase(str text) - returns lowercased string&lt;br /&gt;
* md5(str tet) - returns md5 hash string&lt;br /&gt;
* randomstring(str) - returns string&lt;br /&gt;
* strcmp(str text1, str text2) - returns integer&lt;br /&gt;
* strequals(str text1, str text2) - returns boolean, you probably should do text1.equals(text2) instead&lt;br /&gt;
* uppercase(str text) - returns uppercased stringg&lt;br /&gt;
&lt;br /&gt;
===GUI===&lt;br /&gt;
* addcontrol(obj)&lt;br /&gt;
* cursoroff()&lt;br /&gt;
* cursoron()&lt;br /&gt;
* iscursoron() - returns boolean&lt;br /&gt;
* popdialog()&lt;br /&gt;
* pushdialog(obj)&lt;br /&gt;
* setcontentcontrol(obj)&lt;br /&gt;
* setcursor2(str imagefilename)&lt;br /&gt;
&lt;br /&gt;
===Graal 2D===&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;
| addtiledef(str tilesetimage, str prefix, int tilesettype)&lt;br /&gt;
|&lt;br /&gt;
| Sets the tileset image for levels beginning with the specified prefix.&lt;br /&gt;
Tileset type 0 is for pics1.png style tilesets.&lt;br /&gt;
Tileset type 1 is for the new tileset format (Era's tiles for example)&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(str tilesetimage, str prefix, int x, int y)&lt;br /&gt;
|&lt;br /&gt;
| Replaces a section of the tileset (x, y) image for levels beginning with the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(int objtype, int id)&lt;br /&gt;
|&lt;br /&gt;
| Attaches a player to the specified object. Using attachpayertoobj(0, id); the player will be attached to the current NPC.&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int npcindex, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int weaponindex, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| commandtoserver(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
|&lt;br /&gt;
| Puts the player back on the level (after using attachplayertoobj).&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default movement.&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default map&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
|&lt;br /&gt;
| Disables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Enables default movement&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int flags)&lt;br /&gt;
| &lt;br /&gt;
| Enable/disable client features&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | M key (map)&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | P key (pause)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Q key (weapon select)&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | R key (show ratings)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | S+A key combination for dropping items&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | S+D key combination for switching weapons&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | TAB key (if disabled then you cannot switch to the chat field with TAB)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Display of chat text&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Display of the hearts over player heads&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Display of nicknames&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Toall/PM-icons on the minimap&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x1000&lt;br /&gt;
  | Emoticons (disable it if you want to do other stuff with control+keys)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x2000&lt;br /&gt;
  | Alt+5 for making snapshots  ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x4000&lt;br /&gt;
  | Alt+8/9 for zooming ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x8000&lt;br /&gt;
  | The logframe where savelog stuff is added&lt;br /&gt;
  |-&lt;br /&gt;
  | allfeatures&lt;br /&gt;
  | All of the previously stated feature flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
|&lt;br /&gt;
| Enables default map.&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
|&lt;br /&gt;
| Enables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(int bombindex)&lt;br /&gt;
|&lt;br /&gt;
| Explodes a bomb with the specified index.&lt;br /&gt;
|-&lt;br /&gt;
| findani(str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(str levelfilename)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(str accountname)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(int playerid)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(str weaponname)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Freezes player for a specific amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the level on a map (top-left level is 0)&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float, str, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getz(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float seconds)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitnpc(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitobjects(float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitplayer(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lay2(str extraname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| loadmap(str mapfilename)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| noplayerkilling()&lt;br /&gt;
|&lt;br /&gt;
| Disables killing of other players.&lt;br /&gt;
|-&lt;br /&gt;
| onwall(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is a blocking tile.&lt;br /&gt;
|-&lt;br /&gt;
| onwall2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if a blocking tile exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| onwater(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is water.&lt;br /&gt;
|-&lt;br /&gt;
| onwater2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if water exists in the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| play(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file.&lt;br /&gt;
|-&lt;br /&gt;
| play2(str soundfilename, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| playlooped(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file in a loop until stopsound() is called.&lt;br /&gt;
|-&lt;br /&gt;
| playlooped2(str soundfile, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume in a loop until stopsound() is called. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| putleaps(int leapstype, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removetiledefs(str prefix)&lt;br /&gt;
|&lt;br /&gt;
| Remove tile definitions set by addtiledef and addtiledef2 for the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| replaceani(str defaultaniname, str newaniname)&lt;br /&gt;
|&lt;br /&gt;
| replaces the player's default ani with the new ani.&lt;br /&gt;
|-&lt;br /&gt;
| resetfocus()&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the player.&lt;br /&gt;
|-&lt;br /&gt;
| say(int signindex)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| say2(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenx(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the x of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| screeny(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
| returns the y of the screen layer for a location on the tiles layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldx(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the x of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| worldy(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
| returns the y of the tiles layer for a location on the screen layer.&lt;br /&gt;
|-&lt;br /&gt;
| setani(str aniname, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gani of a player.&lt;br /&gt;
|-&lt;br /&gt;
| setbeltcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcoatcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| seteffect(float r, float g, float b, float a)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setfocus(float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the specified x and y.&lt;br /&gt;
|-&lt;br /&gt;
| setgender(str gendername)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gender of a player.&lt;br /&gt;
|-&lt;br /&gt;
| sethead(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the head of a player&lt;br /&gt;
|-&lt;br /&gt;
| setletters(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the image to use for sign background and text.&lt;br /&gt;
|-&lt;br /&gt;
| setmap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setminimap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setmusicvolume(float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setplayerdir(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshield(str imagefilename, int shieldpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshoecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshootparams(str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setskincolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsleevecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsword(str imagefilename, int swordpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showstats(int statsflag)&lt;br /&gt;
|&lt;br /&gt;
| With this you can show/hide parts of the status bar / game&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Shows all&lt;br /&gt;
showstats(allstats);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except minimap&lt;br /&gt;
showstats(allstats &amp;amp; ~0x100);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except AP and MP bars&lt;br /&gt;
showstats(allstats &amp;amp; ~(0x40 | 0x80));&lt;br /&gt;
&lt;br /&gt;
// Enable only players and right-click profile&lt;br /&gt;
showstats(0x400 | 0x800);&lt;br /&gt;
&lt;br /&gt;
// Hides all&lt;br /&gt;
showstats(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | ASD&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | Icons (for rupees, bombs, arrows)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Rupees count&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | Bombs count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | Arrows count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | Hearts&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | Alignment (ap) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Magic points (mp) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Minimap (you can only hide it, you can't show it when the player pressed Alt+3)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Inventory NPCs&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Players&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | allstats&lt;br /&gt;
  | All of the previously stated stats flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| spyfire(int length, int power)&lt;br /&gt;
|&lt;br /&gt;
| Shoots a line of fire in the direction of the player with the specified tile length, and fire power (1 - bomb, 2 - super bomb, 3 - jolt bomb).&lt;br /&gt;
|-&lt;br /&gt;
| stopmidi()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stopsound(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Stop playing a sound started by playlooped&lt;br /&gt;
|-&lt;br /&gt;
| takeplayercarry()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takeplayerhorse()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testplayer(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| triggeraction(float x, float y, str dest, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| triggerserver(str dest, str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateboard(int x, int y, int width, int height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateratings(obj)&lt;br /&gt;
| object&lt;br /&gt;
| Updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
newratings = updateratings({winner.rating,winner.ratingd,loser.rating,loser.ratingd});&lt;br /&gt;
winner.rating = newratings[0];&lt;br /&gt;
winner.ratingd = newratings[1];&lt;br /&gt;
loser.rating = newratings[2];&lt;br /&gt;
loser.ratingd = newratings[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| wraptext(int fontsize, str format, str text)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext2(int, float, str, str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graal 3D===&lt;br /&gt;
* addmaterialmapping(str, str) - returns boolean&lt;br /&gt;
* getboxcenter(str) - returns string&lt;br /&gt;
* getdatablocktypes() - returns object&lt;br /&gt;
* getobjectat(float, float) - returns object&lt;br /&gt;
* getobjectatmouse() - returns object&lt;br /&gt;
* getobjectbyray(str, str) - returns object&lt;br /&gt;
* getsurfacetype(float, float) - returns string&lt;br /&gt;
* lightscene() - returns boolean&lt;br /&gt;
* mapshapeanimation(str, str, str, float) - returns boolean&lt;br /&gt;
* setfogcolors(obj)&lt;br /&gt;
* setinteriorrendermode(int)&lt;br /&gt;
* setshadowdetaillevel(float)&lt;br /&gt;
* setskybandcolors(obj)&lt;br /&gt;
* setskybandsizes(obj)&lt;br /&gt;
* setsuncolors(obj)&lt;br /&gt;
* setterrainrendermode(int)&lt;br /&gt;
* updateterrain()&lt;br /&gt;
* updatevisibledistance()&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* adventure_installgraal(str, bool, bool)&lt;br /&gt;
* adventure_openexternaloptions() - returns boolean&lt;br /&gt;
* adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
* adventure_openserverlist()&lt;br /&gt;
* adventure_quit()&lt;br /&gt;
* adventure_savegraaloptions()&lt;br /&gt;
* adventure_selectpath(str) - returns object&lt;br /&gt;
* adventure_setaccountname(str)&lt;br /&gt;
* adventure_setchat(str)&lt;br /&gt;
* adventure_setnickname(str)&lt;br /&gt;
* adventure_setpassword(str)&lt;br /&gt;
* adventure_startofflinemode()&lt;br /&gt;
* adventure_updateaccountfield()&lt;br /&gt;
* adventure_updatemicroactivationlevel()&lt;br /&gt;
* adventure_updatemidivolume()&lt;br /&gt;
* adventure_updatemp3volume()&lt;br /&gt;
* adventure_updateplayermuted()&lt;br /&gt;
* adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
* adventure_updateradiovolume()&lt;br /&gt;
&lt;br /&gt;
''(these functions are only available to privileged scripts from the Login server)''&lt;br /&gt;
&lt;br /&gt;
==Classes / Object Types==&lt;br /&gt;
* [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ActionMap|ActionMap]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControl|GuiControl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/EditManager|EditManager]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiArrayCtrl|GuiArrayCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextListCtrl|GuiTextListCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTreeViewCtrl|GuiTreeViewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBackgroundCtrl|GuiBackgroundCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapBorderCtrl|GuiBitmapBorderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapButtonCtrl|GuiBitmapButtonCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapCtrl|GuiBitmapCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCrossHairHud|GuiCrossHairHud]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMapOverviewCtrl|GuiMapOverviewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiButtonBaseCtrl|GuiButtonBaseCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiBorderButtonCtrl|GuiBorderButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiButtonCtrl|GuiButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCheckBoxCtrl|GuiCheckBoxCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiRadioCtrl|GuiRadioCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiChunkedBitmapCtrl|GuiChunkedBitmapCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiContextMenuCtrl|GuiContextMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiDrawingPanel|GuiDrawingPanel]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFlash|GuiFlash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFrameSetCtrl|GuiFrameSetCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraal3DCtrl|GuiGraal3DCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraalCtrl|GuiGraalCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMenuCtrl|GuiMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMLTextCtrl|GuiMLTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMLTextEditCtrl|GuiMLTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiPMEditCtrl|GuiPMEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMCtrl|GuiPMCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMHistoryCtrl|GuiPMHistoryCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMouseEventCtrl|GuiMouseEventCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiPlayerView|GuiPlayerView]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiProgressCtrl|GuiProgressCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiScrollCtrl|GuiScrollCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShapeNameHud|GuiShapeNameHud]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShowImgCtrl|GuiShowImgCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiSliderCtrl|GuiSliderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTabCtrl|GuiTabCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTextCtrl|GuiTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiBubbleTextCtrl|GuiBubbleTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpEditCtrl|GuiPopUpEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpMenuCtrl|GuiPopUpMenuCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextEditCtrl|GuiTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiTextEditSliderCtrl|GuiTextEditSliderCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiWindowCtrl|GuiWindowCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TerrainEditor|TerrainEditor]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/WorldEditor|WorldEditor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiCursor|GuiCursor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTabCtrlEntry|GuiTabCtrlEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTextListEntry|GuiTextListEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTreeViewNode|GuiTreeViewNode]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/MissionArea|MissionArea]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ShapeBaseHitBox|ShapeBaseHitBox]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ShapeImageState|ShapeImageState]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/SimObject|SimObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SceneObject|SceneObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioEmitter|AudioEmitter]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/FractalTree|FractalTree]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxFoliageReplicator|fxFoliageReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxGrassReplicator|fxGrassReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxShapeReplicator|fxShapeReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxSunLight|fxSunLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameBase|GameBase]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DynamicShapeReplicator|DynamicShapeReplicator]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrass|DynamicGrass]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrassReplicator|DynamicGrassReplicator]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Explosion|Explosion]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/fxLight|fxLight]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Lightning|Lightning]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitter|ParticleEmitter]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterNode|ParticleEmitterNode]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PathedInterior|PathedInterior]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Precipitation|Precipitation]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Projectile|Projectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBase|ShapeBase]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/AdvancedCamera|AdvancedCamera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Camera|Camera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/MissionMarker|MissionMarker]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/PathCamera|PathCamera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Player|Player]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/AIPlayer|AIPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/StaticShape|StaticShape]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Vehicle|Vehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/FlyingVehicle|FlyingVehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/HoverVehicle|HoverVehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/WheeledVehicle|WheeledVehicle]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/SpawnSphere|SpawnSphere]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Splash|Splash]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Trigger|Trigger]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TSStatic|TSStatic]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Item|Item]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/InteriorInstance|InteriorInstance]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Marker|Marker]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Shape3ds|Shape3ds]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Sky|Sky]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TerrainBlock|TerrainBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/twSurfaceReference|twSurfaceReference]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/volumeLight|volumeLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WaterBlock|WaterBlock]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimDataBlock|SimDataBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioDescription|AudioDescription]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioProfile|AudioProfile]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/DecalData|DecalData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameBaseData|GameBaseData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DebrisData|DebrisData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ExplosionData|ExplosionData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/fxLightData|fxLightData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ItemData|ItemData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/LightningData|LightningData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterData|ParticleEmitterData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterNodeData|ParticleEmitterNodeData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PathedInteriorData|PathedInteriorData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PrecipitationData|PrecipitationData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ProjectileData|ProjectileData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBaseData|ShapeBaseData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/AdvancedCameraData|AdvancedCameraData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/CameraData|CameraData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/MissionMarkerData|MissionMarkerData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/PlayerData|PlayerData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/StaticShapeData|StaticShapeData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/VehicleData|VehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/FlyingVehicleData|FlyingVehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/HoverVehicleData|HoverVehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/WheeledVehicleData|WheeledVehicleData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBaseImageData|ShapeBaseImageData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/SplashData|SplashData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TriggerData|TriggerData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/ParticleData|ParticleData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TSShapeConstructor|TSShapeConstructor]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WheeledVehicleSpring|WheeledVehicleSpring]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WheeledVehicleTire|WheeledVehicleTire]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimGroup|SimGroup]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameConnection|GameConnection]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/Sun|Sun]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawableObject|TDrawableObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TBaddy|TBaddy]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TLevelObject|TLevelObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TExplosion|TExplosion]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TGaniObject|TGaniObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TProjectile|TProjectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerHorse|TServerHorse]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TPlayer|TPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerBomb|TServerBomb]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerCarry|TServerCarry]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerChest|TServerChest]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerExtra|TServerExtra]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerFlying|TServerFlying]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerLeap|TServerLeap]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerSign|TServerSign]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TShowImg|TShowImg]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawingPanel|TDrawingPanel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/Terraformer|Terraformer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TFrameDetail|TFrameDetail]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGaniParam|TGaniParam]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniPart|TGraalAniPart]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSound|TGraalAniSound]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSprite|TGraalAniSprite]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniStep|TGraalAniStep]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalSpriteAttachment|TGraalSpriteAttachment]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticle|TParticle]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleEmitter|TParticleEmitter]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleModifier|TParticleModifier]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevelLink|TServerLevelLink]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImg_Values|TShowImg_Values]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Gani|TShowImg_Gani]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Image|TShowImg_Image]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Shape|TShowImg_Shape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Text|TShowImg_Text]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImgMount|TShowImgMount]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TStaticVar|TStaticVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TTilesLayer|TTilesLayer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerLevel&amp;diff=6580</id>
		<title>Creation/Dev/Script/Client/TServerLevel</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerLevel&amp;diff=6580"/>
		<updated>2006-03-13T14:27:54Z</updated>

		<summary type="html">&lt;p&gt;Riot: version update, new formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inherits [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| compsdead&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| Returns true if there is no living baddy in the level.&lt;br /&gt;
|-&lt;br /&gt;
| height&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isnopkzone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| Whether players may kill each other in this level. (noplayerkilling() function used)&lt;br /&gt;
|-&lt;br /&gt;
| issparringzone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| nopkzone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| See ''isnopkzone''&lt;br /&gt;
|-&lt;br /&gt;
| tilelayercount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Functions=&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;
| '''Return Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| findareanpcs(float x, float y, float width float height)&lt;br /&gt;
| object&lt;br /&gt;
| Returns an array of all npcs within the specified area.&lt;br /&gt;
|-&lt;br /&gt;
| hitcompu(int id, int power, float fromx, float fromy)&lt;br /&gt;
|&lt;br /&gt;
| Hurts a baddy.&lt;br /&gt;
|-&lt;br /&gt;
| putbomb(int power, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Places a bomb on the level. (power of 0 - bomb, 1 - superbomb, 2 - joltbomb)&lt;br /&gt;
|-&lt;br /&gt;
| putcomp(str baddyname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Places a baddy on the level.&lt;br /&gt;
Baddy Names:&lt;br /&gt;
* graysoldier&lt;br /&gt;
* bluesoldier&lt;br /&gt;
* redsoldier&lt;br /&gt;
* shootingsoldier&lt;br /&gt;
* swampsoldier&lt;br /&gt;
* frog&lt;br /&gt;
* octopus (spider)&lt;br /&gt;
* goldenwarrior&lt;br /&gt;
* lizardon&lt;br /&gt;
* dragon&lt;br /&gt;
|-&lt;br /&gt;
| putexplosion(int power, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| putexplosion2(int power, int radius, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| puthorse(str image, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| putnewcomp(str baddyname, float x, float y, str imgname, int power)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| reflectarrow(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removebomb(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removecompus()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removeexplo(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removehorse(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removeitem(int id)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setz(int, int, int, int, float, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shoot(float x, float y, float z, float angle, float zangle, float strength, str ani, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| shoots a projectile&lt;br /&gt;
|-&lt;br /&gt;
| testbomb(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testexplo(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testhorse(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testitem(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testnpc(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testsign(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| tiletype(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Dark_Rival&amp;diff=6561</id>
		<title>Worlds/Dark Rival</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Dark_Rival&amp;diff=6561"/>
		<updated>2006-03-06T22:00:23Z</updated>

		<summary type="html">&lt;p&gt;Riot: rv MysticX2X's edits (again)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://img208.imageshack.us/img208/7503/darkrivalnamething5gd.png&lt;br /&gt;
&lt;br /&gt;
[[Image:main.png|thumb|center|175px]]&lt;br /&gt;
&lt;br /&gt;
The current overworld of Dark Rival is nearly complete. (There will be 3). We are currently adding features to it now. Including longer quests for rare items, more exclusive items and games,Auction House and more! There may be some small bugs, if you have any trouble, use the in game bug report system, or e-mail Excaliber (the owner) at excaliber7388@yahoo.com &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''News:''' ==&lt;br /&gt;
[[Image:events_out.png|thumb|left|150px]]&lt;br /&gt;
&lt;br /&gt;
Dark Rival is trying out for the hosted tab. Wish us luck!&lt;br /&gt;
We're currently working on a new overworld/gmap. It will be bigger and better looking than the last one.&lt;br /&gt;
Now there are 3 different 'camera' modes, chase, 'player' and the normal one. Enjoy!&lt;br /&gt;
The outfit viewer has now been added, please report any bugs you encounter.&lt;br /&gt;
We have recently added more events, made the server compatable for V4 and we are currently adding new weapons and features. Like a new large quest, rpg style weapons, telescope, CTF, lazer tag, mini games, 3D games and events, nations, instruments, RPG elements, and more! We are also working on becoming a GS2 only server. V2 and V4 are allowed to play here, however for the time being, V2 is suggested for full gameplay (for lighting effects, day/night, map, and gmap, use V2).&lt;br /&gt;
&lt;br /&gt;
== '''About:''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dark Rival first went online July 27th 2005. From there it grew from having only 400+ levels to over 1000 now, and it's STILL growing! Dark Rival also has some of the most unique storyline, weapons, and general feel. RPG elements will also soon be added, in the prequel and sequel, as well as weapon skills in the current game. It offers plenty of jobs, skills, quests, and mysteries for the player to solve. It plays like a classic server, but is more complex. Dark Rival will continue to grow, hopefully, you can be a part of it!&lt;br /&gt;
[[Image:pic_darkrivalgui.png|thumb|center|175px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Story:''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dark Rival is basically a three part story, played out on three different overworlds. So far, only one of these overworlds is near completion, the middle part of the story. You play as yourself in the first part, taking over for a hero who has disapeared. Then you enter a flashback, and play as the old hero, finding out more about the plot. Finally, you team up to defeat the 'Dark Rival' in the final part, introducing new ways of playing graal. After that, it's up to the players to see what direction Dark Rival will go in, as they have to 'rebuild' the world after Ceverous (the Dark Rival) is defeated, and there will be a power struggle for control of the world, as 2 nations fight for control. It's going to be a very realistic, time and player based server, and I hope you can be a part of it!&lt;br /&gt;
&lt;br /&gt;
== '''Play Now:''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Follow this link to play Dark Rival now!&lt;br /&gt;
&lt;br /&gt;
graal://Dark Rival&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Website:''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://darkrivalonline.tripod.com&lt;br /&gt;
&lt;br /&gt;
'''Staff application (we need LATs NATs and GATs):'''&lt;br /&gt;
&lt;br /&gt;
http://darkrivalonline.tripod.com/id9.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Current staff:''' ==&lt;br /&gt;
Admins:&lt;br /&gt;
&lt;br /&gt;
Excaliber, Excaliber7388 (Owner/Manager): excaliber7388@yahoo.com&lt;br /&gt;
&lt;br /&gt;
336,Vima (Co/manager)&lt;br /&gt;
&lt;br /&gt;
SaCReD, Mrswhoopie (LAT Admin)&lt;br /&gt;
&lt;br /&gt;
Burning Ice, burningicic678 (Events Admin)&lt;br /&gt;
&lt;br /&gt;
Shad, xshadx (GP Chief)&lt;br /&gt;
&lt;br /&gt;
John, silverice (GAT Admin)&lt;br /&gt;
&lt;br /&gt;
Sam, lisia (FAQ Admin)&lt;br /&gt;
&lt;br /&gt;
== '''Jobs:''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Fishing'''&lt;br /&gt;
-fish using two different rods to earn money.&lt;br /&gt;
[[Image:fishing_pic.png|thumb|left|150px]]&lt;br /&gt;
&lt;br /&gt;
'''Mining'''&lt;br /&gt;
-mine up loose rock, then search through the piles to find minerals&lt;br /&gt;
[[Image:pic_mining.png|thumb|left|150px]]&lt;br /&gt;
&lt;br /&gt;
'''Shoveling'''&lt;br /&gt;
-search the ground for money, this can only be done on soft grass&lt;br /&gt;
[[Image:shoveling_pic.png|thumb|right|150px]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Riot&amp;diff=6546</id>
		<title>User:Riot</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Riot&amp;diff=6546"/>
		<updated>2006-03-05T00:06:41Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Player}}&lt;br /&gt;
Riot has been playing [[Graal]] on and off since late-1999.&lt;br /&gt;
=Staff Positions=&lt;br /&gt;
Current Co Manager of [[Worlds/Delteria|Delteria]]&lt;br /&gt;
=Contact Information=&lt;br /&gt;
Riot can be contacted by:&lt;br /&gt;
* E-mail: [mailto:riot@delteria.com riot@delteria.com]&lt;br /&gt;
* Forum PM: Riot at the [http://forums.graalonline.com GCC] or Riot at the [http://forums.delteria.com Delteria Forums]&lt;br /&gt;
* Via AIM: Riotnpc2k2&lt;br /&gt;
* In-Game: Usually on [[Worlds/Delteria|Delteria]] or Delteria Dev&lt;br /&gt;
=Accounts=&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;
| '''Email address'''&lt;br /&gt;
| '''Admin level'''&lt;br /&gt;
| '''Free upgrades'''&lt;br /&gt;
| '''Banned?'''&lt;br /&gt;
| '''Comments'''&lt;br /&gt;
|-&lt;br /&gt;
| Riot&lt;br /&gt;
| justinharper@cfl.rr.com&lt;br /&gt;
| 0/all&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Primary account&lt;br /&gt;
|-&lt;br /&gt;
| Riot-Starter&lt;br /&gt;
| -&lt;br /&gt;
| 0/all&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Testing account.&lt;br /&gt;
|-&lt;br /&gt;
| Admin-Playerworld4&lt;br /&gt;
| justinharper@cfl.rr.com&lt;br /&gt;
| 1/playerworld4&lt;br /&gt;
| None&lt;br /&gt;
| No&lt;br /&gt;
| Delteria Dev administrator account&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Template:Stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6541</id>
		<title>Creation/Dev/Script/Client</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6541"/>
		<updated>2006-03-04T04:31:06Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Graal 2D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Client Supported Script Features=&lt;br /&gt;
&lt;br /&gt;
==Settings==&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;
| $camera::movementspeed&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::choosenvoicecodec&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivatebyvolume&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivationlevel&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microinputdevice&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microon&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microvolumefactor&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::midivolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::mp3volume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::radiovolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::reversestereo&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::sfxvolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::voicevolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::allowglobalpms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::automapping&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::defaultfontsize&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontconnectlevels&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontloadlistheads&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepasswords&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedport&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedudpport&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::language&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::limitnicknames&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::loadbuddylistfromserver&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nicknamelimit&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nomassmessages&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::notoalls&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::noudp&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::showyourselfonbuddylists&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::input::mousesensitivity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::interior::lockarrays&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::terrain::enabledetails&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::detailfactor&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fogdistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fullscreenmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::screenshotformat&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::visibledistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::windowmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $scenelighting::lightingprogress&lt;br /&gt;
| float (read only)&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all features currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| allstats&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all stats currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a bush&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying an NPC.&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the file currently being downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Size of the file being downloaded&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 (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Graal version&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| float&lt;br /&gt;
| X coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| float&lt;br /&gt;
| Y coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| musiclen&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Height of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Width of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| object&lt;br /&gt;
|&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;
|&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the current 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 (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&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 (read only)&lt;br /&gt;
| An array of weapon objects&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Are weapons enabled? (Player can trigger onWeaponFired...)&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;
==Functions==&lt;br /&gt;
''Note: Currently this doesn't list the functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_functions|Starting Guide: Standard functions]] for those.''&lt;br /&gt;
&lt;br /&gt;
* aindexof(float, obj) - returns integer&lt;br /&gt;
* echo(str text)&lt;br /&gt;
* getbasepackage() - returns object&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;
* gethttprequest(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* getkeycode(str keyname) - returns integer&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;
* gettotalupdatepackagesize() - returns integer&lt;br /&gt;
* getupdatepackage(str) - returns object&lt;br /&gt;
* isadminguild(str guildname) - returns boolean&lt;br /&gt;
* isdevicefullscreenonly(str devicename) - returns boolean&lt;br /&gt;
* isobject(str objectname) - returns boolean&lt;br /&gt;
* keydown(int keycode) - returns boolean&lt;br /&gt;
* keydown2(int keycode, bool ignorecase) - returns boolean&lt;br /&gt;
* keyname(int keycode) - returns string&lt;br /&gt;
* opengraalurl(str url)&lt;br /&gt;
* openurl(str url)&lt;br /&gt;
* openurl2(str url, int width, int height)&lt;br /&gt;
* requesthttp(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* requestmysql(str, str, str, str, str) - returns object&lt;br /&gt;
* requesttext(str, str)&lt;br /&gt;
* requesturl(str url) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* savelog(str text)&lt;br /&gt;
* sendrpgmessage(str text)&lt;br /&gt;
* sendtext(str, str, params...)&lt;br /&gt;
* sendtorc(str text)&lt;br /&gt;
* serverwarp(str serverunixname)&lt;br /&gt;
* synctimeofday(float, float)&lt;br /&gt;
&lt;br /&gt;
===Common===&lt;br /&gt;
====Files====&lt;br /&gt;
* extractfilebase(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* extractfileext(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* extractfilename(str filepath) - returns string, '/an/example/path/and/file' would return 'file'&lt;br /&gt;
* extractfilepath(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* fileexists(str filepath) - returns boolean, checks if a file exists&lt;br /&gt;
* filesize(str filepath) - returns integer, returns the size of a file&lt;br /&gt;
* fileupdate(str filepath) - returns boolean&lt;br /&gt;
* findfiles(str, int) - returns object&lt;br /&gt;
* findfirstfile(str) - returns string&lt;br /&gt;
* findnextfile(str) - returns string&lt;br /&gt;
* getextension(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* reloadfile(str filepath)&lt;br /&gt;
* requestfiledeletion(str filepath), requests a file to be deleted on the server&lt;br /&gt;
* requestfilerename(str filepath, str newfilepath), requests a file to be renamed on the server&lt;br /&gt;
* requestfilesmove(str filepath, str newfilepath), requests a file to be moved on the server&lt;br /&gt;
* selectfilefordownload(str filter)&lt;br /&gt;
* selectfileforupload()&lt;br /&gt;
&lt;br /&gt;
''Watch the [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]] object for loading and saving of files (loadlines etc.)''&lt;br /&gt;
&lt;br /&gt;
====Math====&lt;br /&gt;
* degtorad(float value) - returns float&lt;br /&gt;
* radtodeg(float value) - returns float&lt;br /&gt;
&lt;br /&gt;
=====Matrices=====&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;
&lt;br /&gt;
=====Vectors=====&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;
&lt;br /&gt;
====Strings====&lt;br /&gt;
* base64decode(str text) - returns decoded string&lt;br /&gt;
* base64encode(str text) - returns encoded string&lt;br /&gt;
* checksum(str text) - returns checksum float&lt;br /&gt;
* contains(str haystack, str needle) - returns boolean, you should probably do haystack.contains(needle) instead&lt;br /&gt;
* getascii(str character) - returns ascii value integer&lt;br /&gt;
* getstringkeys(str) - returns object&lt;br /&gt;
* lowercase(str text) - returns lowercased string&lt;br /&gt;
* md5(str tet) - returns md5 hash string&lt;br /&gt;
* randomstring(str) - returns string&lt;br /&gt;
* strcmp(str text1, str text2) - returns integer&lt;br /&gt;
* strequals(str text1, str text2) - returns boolean, you probably should do text1.equals(text2) instead&lt;br /&gt;
* uppercase(str text) - returns uppercased stringg&lt;br /&gt;
&lt;br /&gt;
===GUI===&lt;br /&gt;
* addcontrol(obj)&lt;br /&gt;
* cursoroff()&lt;br /&gt;
* cursoron()&lt;br /&gt;
* iscursoron() - returns boolean&lt;br /&gt;
* popdialog()&lt;br /&gt;
* pushdialog(obj)&lt;br /&gt;
* setcontentcontrol(obj)&lt;br /&gt;
* setcursor2(str imagefilename)&lt;br /&gt;
&lt;br /&gt;
===Graal 2D===&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;
| addtiledef(str tilesetimage, str prefix, int tilesettype)&lt;br /&gt;
|&lt;br /&gt;
| Sets the tileset image for levels beginning with the specified prefix.&lt;br /&gt;
Tileset type 0 is for pics1.png style tilesets.&lt;br /&gt;
Tileset type 1 is for the new tileset format (Era's tiles for example)&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(str tilesetimage, str prefix, int x, int y)&lt;br /&gt;
|&lt;br /&gt;
| Replaces a section of the tileset (x, y) image for levels beginning with the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(int objtype, int id)&lt;br /&gt;
|&lt;br /&gt;
| Attaches a player to the specified object. Using attachpayertoobj(0, id); the player will be attached to the current NPC.&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int npcindex, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int weaponindex, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| commandtoserver(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
|&lt;br /&gt;
| Puts the player back on the level (after using attachplayertoobj).&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default movement.&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default map&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
|&lt;br /&gt;
| Disables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Enables default movement&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int flags)&lt;br /&gt;
| &lt;br /&gt;
| Enable/disable client features&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | M key (map)&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | P key (pause)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Q key (weapon select)&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | R key (show ratings)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | S+A key combination for dropping items&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | S+D key combination for switching weapons&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | TAB key (if disabled then you cannot switch to the chat field with TAB)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Display of chat text&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Display of the hearts over player heads&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Display of nicknames&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Toall/PM-icons on the minimap&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x1000&lt;br /&gt;
  | Emoticons (disable it if you want to do other stuff with control+keys)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x2000&lt;br /&gt;
  | Alt+5 for making snapshots  ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x4000&lt;br /&gt;
  | Alt+8/9 for zooming ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x8000&lt;br /&gt;
  | The logframe where savelog stuff is added&lt;br /&gt;
  |-&lt;br /&gt;
  | allfeatures&lt;br /&gt;
  | All of the previously stated feature flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
|&lt;br /&gt;
| Enables default map.&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
|&lt;br /&gt;
| Enables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(int bombindex)&lt;br /&gt;
|&lt;br /&gt;
| Explodes a bomb with the specified index.&lt;br /&gt;
|-&lt;br /&gt;
| findani(str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(str levelfilename)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(str accountname)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(int playerid)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(str weaponname)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Freezes player for a specific amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float, str, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getz(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float seconds)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitnpc(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitobjects(float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitplayer(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lay2(str extraname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| loadmap(str mapfilename)&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| noplayerkilling()&lt;br /&gt;
|&lt;br /&gt;
| Disables killing of other players.&lt;br /&gt;
|-&lt;br /&gt;
| onwall(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is a blocking tile.&lt;br /&gt;
|-&lt;br /&gt;
| onwall2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| onwater(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is water.&lt;br /&gt;
|-&lt;br /&gt;
| onwater2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| play(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file.&lt;br /&gt;
|-&lt;br /&gt;
| play2(str soundfilename, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| playlooped(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file in a loop until stopsound() is called.&lt;br /&gt;
|-&lt;br /&gt;
| playlooped2(str soundfile, float x, float y, float volume)&lt;br /&gt;
|&lt;br /&gt;
| Plays the specified sound file at location x, y with the specified volume in a loop until stopsound() is called. Volume should be between 0 and 1, if volume is set to 1 default volume is used (depending on how far away the player is).&lt;br /&gt;
|-&lt;br /&gt;
| putleaps(int leapstype, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removetiledefs(str prefix)&lt;br /&gt;
|&lt;br /&gt;
| Remove tile definitions set by addtiledef and addtiledef2 for the specified prefix.&lt;br /&gt;
|-&lt;br /&gt;
| replaceani(str defaultaniname, str newaniname)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| resetfocus()&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the player.&lt;br /&gt;
|-&lt;br /&gt;
| say(int signindex)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| say2(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenx(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screeny(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setani(str aniname, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gani of a player.&lt;br /&gt;
|-&lt;br /&gt;
| setbeltcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcoatcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| seteffect(float r, float g, float b, float a)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setfocus(float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the specified x and y.&lt;br /&gt;
|-&lt;br /&gt;
| setgender(str gendername)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gender of a player.&lt;br /&gt;
|-&lt;br /&gt;
| sethead(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the head of a player&lt;br /&gt;
|-&lt;br /&gt;
| setletters(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the image to use for sign background and text.&lt;br /&gt;
|-&lt;br /&gt;
| setmap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setminimap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setmusicvolume(float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setplayerdir(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshield(str imagefilename, int shieldpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshoecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshootparams(str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setskincolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsleevecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsword(str imagefilename, int swordpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showstats(int statsflag)&lt;br /&gt;
|&lt;br /&gt;
| With this you can show/hide parts of the status bar / game&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Shows all&lt;br /&gt;
showstats(allstats);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except minimap&lt;br /&gt;
showstats(allstats &amp;amp; ~0x100);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except AP and MP bars&lt;br /&gt;
showstats(allstats &amp;amp; ~(0x40 | 0x80));&lt;br /&gt;
&lt;br /&gt;
// Enable only players and right-click profile&lt;br /&gt;
showstats(0x400 | 0x800);&lt;br /&gt;
&lt;br /&gt;
// Hides all&lt;br /&gt;
showstats(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | ASD&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | Icons (for rupees, bombs, arrows)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Rupees count&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | Bombs count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | Arrows count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | Hearts&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | Alignment (ap) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Magic points (mp) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Minimap (you can only hide it, you can't show it when the player pressed Alt+3)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Inventory NPCs&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Players&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | allstats&lt;br /&gt;
  | All of the previously stated stats flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| spyfire(int length, int power)&lt;br /&gt;
|&lt;br /&gt;
| Shoots a line of fire in the direction of the player with the specified tile length, and fire power (1 - bomb, 2 - super bomb, 3 - jolt bomb).&lt;br /&gt;
|-&lt;br /&gt;
| stopmidi()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stopsound(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
| Stop playing a sound started by playlooped&lt;br /&gt;
|-&lt;br /&gt;
| takeplayercarry()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takeplayerhorse()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testplayer(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| triggeraction(float x, float y, str dest, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| triggerserver(str dest, str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateboard(int x, int y, int width, int height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateratings(obj)&lt;br /&gt;
| object&lt;br /&gt;
| Updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350.&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
newratings = updateratings({winner.rating,winner.ratingd,loser.rating,loser.ratingd});&lt;br /&gt;
winner.rating = newratings[0];&lt;br /&gt;
winner.ratingd = newratings[1];&lt;br /&gt;
loser.rating = newratings[2];&lt;br /&gt;
loser.ratingd = newratings[3];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| worldx(float x, float y) - returns float&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| worldy(float x, float y) - returns float&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext(int fontsize, str format, str text)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext2(int, float, str, str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graal 3D===&lt;br /&gt;
* addmaterialmapping(str, str) - returns boolean&lt;br /&gt;
* getboxcenter(str) - returns string&lt;br /&gt;
* getdatablocktypes() - returns object&lt;br /&gt;
* getobjectat(float, float) - returns object&lt;br /&gt;
* getobjectatmouse() - returns object&lt;br /&gt;
* getobjectbyray(str, str) - returns object&lt;br /&gt;
* getsurfacetype(float, float) - returns string&lt;br /&gt;
* lightscene() - returns boolean&lt;br /&gt;
* mapshapeanimation(str, str, str, float) - returns boolean&lt;br /&gt;
* setfogcolors(obj)&lt;br /&gt;
* setinteriorrendermode(int)&lt;br /&gt;
* setshadowdetaillevel(float)&lt;br /&gt;
* setskybandcolors(obj)&lt;br /&gt;
* setskybandsizes(obj)&lt;br /&gt;
* setsuncolors(obj)&lt;br /&gt;
* setterrainrendermode(int)&lt;br /&gt;
* updateterrain()&lt;br /&gt;
* updatevisibledistance()&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* adventure_installgraal(str, bool, bool)&lt;br /&gt;
* adventure_openexternaloptions() - returns boolean&lt;br /&gt;
* adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
* adventure_openserverlist()&lt;br /&gt;
* adventure_quit()&lt;br /&gt;
* adventure_savegraaloptions()&lt;br /&gt;
* adventure_selectpath(str) - returns object&lt;br /&gt;
* adventure_setaccountname(str)&lt;br /&gt;
* adventure_setchat(str)&lt;br /&gt;
* adventure_setnickname(str)&lt;br /&gt;
* adventure_setpassword(str)&lt;br /&gt;
* adventure_startofflinemode()&lt;br /&gt;
* adventure_updateaccountfield()&lt;br /&gt;
* adventure_updatemicroactivationlevel()&lt;br /&gt;
* adventure_updatemidivolume()&lt;br /&gt;
* adventure_updatemp3volume()&lt;br /&gt;
* adventure_updateplayermuted()&lt;br /&gt;
* adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
* adventure_updateradiovolume()&lt;br /&gt;
&lt;br /&gt;
''(these functions are only available to privileged scripts from the Login server)''&lt;br /&gt;
&lt;br /&gt;
==Classes / Object Types==&lt;br /&gt;
* [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ActionMap|ActionMap]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControl|GuiControl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/EditManager|EditManager]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiArrayCtrl|GuiArrayCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextListCtrl|GuiTextListCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTreeViewCtrl|GuiTreeViewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBackgroundCtrl|GuiBackgroundCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapBorderCtrl|GuiBitmapBorderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapButtonCtrl|GuiBitmapButtonCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapCtrl|GuiBitmapCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCrossHairHud|GuiCrossHairHud]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMapOverviewCtrl|GuiMapOverviewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiButtonBaseCtrl|GuiButtonBaseCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiBorderButtonCtrl|GuiBorderButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiButtonCtrl|GuiButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCheckBoxCtrl|GuiCheckBoxCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiRadioCtrl|GuiRadioCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiChunkedBitmapCtrl|GuiChunkedBitmapCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiContextMenuCtrl|GuiContextMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiDrawingPanel|GuiDrawingPanel]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFlash|GuiFlash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFrameSetCtrl|GuiFrameSetCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraal3DCtrl|GuiGraal3DCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraalCtrl|GuiGraalCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMenuCtrl|GuiMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMLTextCtrl|GuiMLTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMLTextEditCtrl|GuiMLTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiPMEditCtrl|GuiPMEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMCtrl|GuiPMCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMHistoryCtrl|GuiPMHistoryCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMouseEventCtrl|GuiMouseEventCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiPlayerView|GuiPlayerView]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiProgressCtrl|GuiProgressCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiScrollCtrl|GuiScrollCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShapeNameHud|GuiShapeNameHud]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShowImgCtrl|GuiShowImgCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiSliderCtrl|GuiSliderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTabCtrl|GuiTabCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTextCtrl|GuiTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiBubbleTextCtrl|GuiBubbleTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpEditCtrl|GuiPopUpEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpMenuCtrl|GuiPopUpMenuCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextEditCtrl|GuiTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiTextEditSliderCtrl|GuiTextEditSliderCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiWindowCtrl|GuiWindowCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TerrainEditor|TerrainEditor]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/WorldEditor|WorldEditor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiCursor|GuiCursor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTabCtrlEntry|GuiTabCtrlEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTextListEntry|GuiTextListEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTreeViewNode|GuiTreeViewNode]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/MissionArea|MissionArea]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ShapeBaseHitBox|ShapeBaseHitBox]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ShapeImageState|ShapeImageState]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/SimObject|SimObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SceneObject|SceneObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioEmitter|AudioEmitter]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/FractalTree|FractalTree]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxFoliageReplicator|fxFoliageReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxGrassReplicator|fxGrassReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxShapeReplicator|fxShapeReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxSunLight|fxSunLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameBase|GameBase]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DynamicShapeReplicator|DynamicShapeReplicator]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrass|DynamicGrass]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrassReplicator|DynamicGrassReplicator]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Explosion|Explosion]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/fxLight|fxLight]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Lightning|Lightning]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitter|ParticleEmitter]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterNode|ParticleEmitterNode]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PathedInterior|PathedInterior]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Precipitation|Precipitation]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Projectile|Projectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBase|ShapeBase]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/AdvancedCamera|AdvancedCamera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Camera|Camera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/MissionMarker|MissionMarker]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/PathCamera|PathCamera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Player|Player]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/AIPlayer|AIPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/StaticShape|StaticShape]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Vehicle|Vehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/FlyingVehicle|FlyingVehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/HoverVehicle|HoverVehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/WheeledVehicle|WheeledVehicle]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/SpawnSphere|SpawnSphere]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Splash|Splash]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Trigger|Trigger]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TSStatic|TSStatic]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Item|Item]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/InteriorInstance|InteriorInstance]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Marker|Marker]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Shape3ds|Shape3ds]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Sky|Sky]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TerrainBlock|TerrainBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/twSurfaceReference|twSurfaceReference]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/volumeLight|volumeLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WaterBlock|WaterBlock]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimDataBlock|SimDataBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioDescription|AudioDescription]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioProfile|AudioProfile]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/DecalData|DecalData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameBaseData|GameBaseData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DebrisData|DebrisData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ExplosionData|ExplosionData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/fxLightData|fxLightData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ItemData|ItemData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/LightningData|LightningData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterData|ParticleEmitterData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterNodeData|ParticleEmitterNodeData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PathedInteriorData|PathedInteriorData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PrecipitationData|PrecipitationData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ProjectileData|ProjectileData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBaseData|ShapeBaseData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/AdvancedCameraData|AdvancedCameraData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/CameraData|CameraData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/MissionMarkerData|MissionMarkerData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/PlayerData|PlayerData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/StaticShapeData|StaticShapeData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/VehicleData|VehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/FlyingVehicleData|FlyingVehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/HoverVehicleData|HoverVehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/WheeledVehicleData|WheeledVehicleData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBaseImageData|ShapeBaseImageData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/SplashData|SplashData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TriggerData|TriggerData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/ParticleData|ParticleData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TSShapeConstructor|TSShapeConstructor]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WheeledVehicleSpring|WheeledVehicleSpring]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WheeledVehicleTire|WheeledVehicleTire]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimGroup|SimGroup]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameConnection|GameConnection]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/Sun|Sun]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawableObject|TDrawableObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TBaddy|TBaddy]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TLevelObject|TLevelObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TExplosion|TExplosion]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TGaniObject|TGaniObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TProjectile|TProjectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerHorse|TServerHorse]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TPlayer|TPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerBomb|TServerBomb]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerCarry|TServerCarry]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerChest|TServerChest]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerExtra|TServerExtra]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerFlying|TServerFlying]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerLeap|TServerLeap]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerSign|TServerSign]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TShowImg|TShowImg]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawingPanel|TDrawingPanel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/Terraformer|Terraformer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TFrameDetail|TFrameDetail]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGaniParam|TGaniParam]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniPart|TGraalAniPart]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSound|TGraalAniSound]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSprite|TGraalAniSprite]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniStep|TGraalAniStep]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalSpriteAttachment|TGraalSpriteAttachment]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticle|TParticle]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleEmitter|TParticleEmitter]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleModifier|TParticleModifier]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevelLink|TServerLevelLink]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImg_Values|TShowImg_Values]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Gani|TShowImg_Gani]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Image|TShowImg_Image]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Shape|TShowImg_Shape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Text|TShowImg_Text]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImgMount|TShowImgMount]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TStaticVar|TStaticVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Riot&amp;diff=6540</id>
		<title>User:Riot</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Riot&amp;diff=6540"/>
		<updated>2006-03-03T03:23:58Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Player}}&lt;br /&gt;
Riot has been playing [[Graal]] on and off since late-1999.&lt;br /&gt;
=Staff Positions=&lt;br /&gt;
Current Co Manager of [[Worlds/Delteria|Delteria]]&lt;br /&gt;
=Contact Information=&lt;br /&gt;
Riot can be contacted by:&lt;br /&gt;
* E-mail: [mailto:riot@delteria.com riot@delteria.com]&lt;br /&gt;
* Forum PM: Riot at the [http://forums.graalonline.com GCC] or Riot at the [http://forums.delteria.com Delteria Forums]&lt;br /&gt;
* Via AIM: Riotnpc2k2&lt;br /&gt;
{{Template:Stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6539</id>
		<title>Creation/Dev/Script/Client</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6539"/>
		<updated>2006-03-03T01:22:12Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Graal 2D */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Client Supported Script Features=&lt;br /&gt;
&lt;br /&gt;
==Settings==&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;
| $camera::movementspeed&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::choosenvoicecodec&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivatebyvolume&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microactivationlevel&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microinputdevice&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microon&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::microvolumefactor&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::midivolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::mp3volume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::radiovolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::reversestereo&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::sfxvolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::audio::voicevolume&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::allowglobalpms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::automapping&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::defaultfontsize&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontconnectlevels&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontloadlistheads&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepasswords&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::dontsavepms&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedport&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::fixedudpport&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::language&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::limitnicknames&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::loadbuddylistfromserver&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nicknamelimit&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::nomassmessages&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::notoalls&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::noudp&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::graal::showyourselfonbuddylists&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::input::mousesensitivity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::interior::lockarrays&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::terrain::enabledetails&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::detailfactor&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fogdistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::fullscreenmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::screenshotformat&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::visibledistance&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $pref::video::windowmode&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| $scenelighting::lightingprogress&lt;br /&gt;
| float (read only)&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;
| '''Name'''&lt;br /&gt;
| '''Type'''&lt;br /&gt;
| '''Description'''&lt;br /&gt;
|-&lt;br /&gt;
| allfeatures&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all features currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| allplayerscount&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| allstats&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| A bitflag of all stats currently enabled&lt;br /&gt;
|-&lt;br /&gt;
| canspin&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| carriesblackstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| carriesbush&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying a bush&lt;br /&gt;
|-&lt;br /&gt;
| carriesnpc&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the player is carrying an NPC.&lt;br /&gt;
|-&lt;br /&gt;
| carriessign&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a sign.&lt;br /&gt;
|-&lt;br /&gt;
| carriesstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a stone.&lt;br /&gt;
|-&lt;br /&gt;
| carriesvase&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if a player is carrying a vase.&lt;br /&gt;
|-&lt;br /&gt;
| downloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the file currently being downloaded&lt;br /&gt;
|-&lt;br /&gt;
| downloadpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| downloadsize&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Size of the file being downloaded&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 (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusx&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| focusy&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| graalversion&lt;br /&gt;
| float (read only)&lt;br /&gt;
| Graal version&lt;br /&gt;
|-&lt;br /&gt;
| gravity&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| iscarrying&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isfocused&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isgraal3d&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isleader&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| isonmap&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lastdownloadfile&lt;br /&gt;
| string (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| leftmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgx&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| levelorgy&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lighteffectsenabled&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| middlemousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousebuttons&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousescreenx&lt;br /&gt;
| integer&lt;br /&gt;
| X coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousescreeny&lt;br /&gt;
| integer&lt;br /&gt;
| Y coordinate of the mouse on the GUI layer&lt;br /&gt;
|-&lt;br /&gt;
| mousewheeldelta&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| mousex&lt;br /&gt;
| float&lt;br /&gt;
| X coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| mousey&lt;br /&gt;
| float&lt;br /&gt;
| Y coordinate of the mouse on the tile layer&lt;br /&gt;
|-&lt;br /&gt;
| musiclen&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| musicpos&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| rightmousebutton&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenheight&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Height of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| screenwidth&lt;br /&gt;
| integer (read only)&lt;br /&gt;
| Width of the Graal window&lt;br /&gt;
|-&lt;br /&gt;
| scriptedcontrols&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| scriptedplayerlist&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| selectedlistplayers&lt;br /&gt;
| object&lt;br /&gt;
|&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;
|&lt;br /&gt;
|-&lt;br /&gt;
| servername&lt;br /&gt;
| string (read only)&lt;br /&gt;
| Name of the current 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 (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shotbyplayer&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showterraingrid&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timevar2&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wasshooted&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&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 (read only)&lt;br /&gt;
| An array of weapon objects&lt;br /&gt;
|-&lt;br /&gt;
| weaponsenabled&lt;br /&gt;
| boolean&lt;br /&gt;
| Are weapons enabled? (Player can trigger onWeaponFired...)&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;
==Functions==&lt;br /&gt;
''Note: Currently this doesn't list the functions which are optimized at compile time, see [[Creation/Dev/Script/Starting_Guide#Standard_functions|Starting Guide: Standard functions]] for those.''&lt;br /&gt;
&lt;br /&gt;
* aindexof(float, obj) - returns integer&lt;br /&gt;
* echo(str text)&lt;br /&gt;
* getbasepackage() - returns object&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;
* gethttprequest(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* getkeycode(str keyname) - returns integer&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;
* gettotalupdatepackagesize() - returns integer&lt;br /&gt;
* getupdatepackage(str) - returns object&lt;br /&gt;
* isadminguild(str guildname) - returns boolean&lt;br /&gt;
* isdevicefullscreenonly(str devicename) - returns boolean&lt;br /&gt;
* isobject(str objectname) - returns boolean&lt;br /&gt;
* keydown(int keycode) - returns boolean&lt;br /&gt;
* keydown2(int keycode, bool ignorecase) - returns boolean&lt;br /&gt;
* keyname(int keycode) - returns string&lt;br /&gt;
* opengraalurl(str url)&lt;br /&gt;
* openurl(str url)&lt;br /&gt;
* openurl2(str url, int width, int height)&lt;br /&gt;
* requesthttp(str, int, str) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* requestmysql(str, str, str, str, str) - returns object&lt;br /&gt;
* requesttext(str, str)&lt;br /&gt;
* requesturl(str url) - returns [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]] object&lt;br /&gt;
* savelog(str text)&lt;br /&gt;
* sendrpgmessage(str text)&lt;br /&gt;
* sendtext(str, str, params...)&lt;br /&gt;
* sendtorc(str text)&lt;br /&gt;
* serverwarp(str serverunixname)&lt;br /&gt;
* synctimeofday(float, float)&lt;br /&gt;
&lt;br /&gt;
===Common===&lt;br /&gt;
====Files====&lt;br /&gt;
* extractfilebase(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* extractfileext(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* extractfilename(str filepath) - returns string, '/an/example/path/and/file' would return 'file'&lt;br /&gt;
* extractfilepath(str filepath) - returns string, '/an/example/path/and/file' would return '/an/example/path/and/'&lt;br /&gt;
* fileexists(str filepath) - returns boolean, checks if a file exists&lt;br /&gt;
* filesize(str filepath) - returns integer, returns the size of a file&lt;br /&gt;
* fileupdate(str filepath) - returns boolean&lt;br /&gt;
* findfiles(str, int) - returns object&lt;br /&gt;
* findfirstfile(str) - returns string&lt;br /&gt;
* findnextfile(str) - returns string&lt;br /&gt;
* getextension(str filepath) - returns string, 'filename.ext' would return '.ext'&lt;br /&gt;
* reloadfile(str filepath)&lt;br /&gt;
* requestfiledeletion(str filepath), requests a file to be deleted on the server&lt;br /&gt;
* requestfilerename(str filepath, str newfilepath), requests a file to be renamed on the server&lt;br /&gt;
* requestfilesmove(str filepath, str newfilepath), requests a file to be moved on the server&lt;br /&gt;
* selectfilefordownload(str filter)&lt;br /&gt;
* selectfileforupload()&lt;br /&gt;
&lt;br /&gt;
''Watch the [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]] object for loading and saving of files (loadlines etc.)''&lt;br /&gt;
&lt;br /&gt;
====Math====&lt;br /&gt;
* degtorad(float value) - returns float&lt;br /&gt;
* radtodeg(float value) - returns float&lt;br /&gt;
&lt;br /&gt;
=====Matrices=====&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;
&lt;br /&gt;
=====Vectors=====&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;
&lt;br /&gt;
====Strings====&lt;br /&gt;
* base64decode(str text) - returns decoded string&lt;br /&gt;
* base64encode(str text) - returns encoded string&lt;br /&gt;
* checksum(str text) - returns checksum float&lt;br /&gt;
* contains(str haystack, str needle) - returns boolean, you should probably do haystack.contains(needle) instead&lt;br /&gt;
* getascii(str character) - returns ascii value integer&lt;br /&gt;
* getstringkeys(str) - returns object&lt;br /&gt;
* lowercase(str text) - returns lowercased string&lt;br /&gt;
* md5(str tet) - returns md5 hash string&lt;br /&gt;
* randomstring(str) - returns string&lt;br /&gt;
* strcmp(str text1, str text2) - returns integer&lt;br /&gt;
* strequals(str text1, str text2) - returns boolean, you probably should do text1.equals(text2) instead&lt;br /&gt;
* uppercase(str text) - returns uppercased stringg&lt;br /&gt;
&lt;br /&gt;
===GUI===&lt;br /&gt;
* addcontrol(obj)&lt;br /&gt;
* cursoroff()&lt;br /&gt;
* cursoron()&lt;br /&gt;
* iscursoron() - returns boolean&lt;br /&gt;
* popdialog()&lt;br /&gt;
* pushdialog(obj)&lt;br /&gt;
* setcontentcontrol(obj)&lt;br /&gt;
* setcursor2(str imagefilename)&lt;br /&gt;
&lt;br /&gt;
===Graal 2D===&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;
| addtiledef(str prefix, str tilesetimage, int tilesettype)&lt;br /&gt;
|&lt;br /&gt;
| Sets the tileset image for levels beginning with the specified prefix.&lt;br /&gt;
Tileset type 0 is for pics1.png style tilesets.&lt;br /&gt;
Tileset type 1 is for the new tileset format (Era's tiles for example)&lt;br /&gt;
|-&lt;br /&gt;
| addtiledef2(str prefix, str tilesetimage, int x, int y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| attachplayertoobj(int x, int y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| callnpc(int npcindex, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| callweapon(int weaponindex, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| commandtoserver(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| detachplayer()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| disabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default movement.&lt;br /&gt;
|-&lt;br /&gt;
| disablemap()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default map&lt;br /&gt;
|-&lt;br /&gt;
| disablepause()&lt;br /&gt;
|&lt;br /&gt;
| Disables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| disableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables the default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| disableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Disables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| enabledefmovement()&lt;br /&gt;
|&lt;br /&gt;
| Enables default movement&lt;br /&gt;
|-&lt;br /&gt;
| enablefeatures(int flags)&lt;br /&gt;
| &lt;br /&gt;
| Enable/disable client features&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | M key (map)&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | P key (pause)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Q key (weapon select)&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | R key (show ratings)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | S+A key combination for dropping items&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | S+D key combination for switching weapons&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | TAB key (if disabled then you cannot switch to the chat field with TAB)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Display of chat text&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Display of the hearts over player heads&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Display of nicknames&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Toall/PM-icons on the minimap&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x1000&lt;br /&gt;
  | Emoticons (disable it if you want to do other stuff with control+keys)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x2000&lt;br /&gt;
  | Alt+5 for making snapshots  ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x4000&lt;br /&gt;
  | Alt+8/9 for zooming ''(deprecated)''&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x8000&lt;br /&gt;
  | The logframe where savelog stuff is added&lt;br /&gt;
  |-&lt;br /&gt;
  | allfeatures&lt;br /&gt;
  | All of the previously stated feature flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| enablemap()&lt;br /&gt;
|&lt;br /&gt;
| Enables default map.&lt;br /&gt;
|-&lt;br /&gt;
| enablepause()&lt;br /&gt;
|&lt;br /&gt;
| Enables pausing.&lt;br /&gt;
|-&lt;br /&gt;
| enableselectweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables default Q menu.&lt;br /&gt;
|-&lt;br /&gt;
| enableweapons()&lt;br /&gt;
|&lt;br /&gt;
| Enables weapons.&lt;br /&gt;
|-&lt;br /&gt;
| explodebomb(int bombindex)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findani(str) - returns object&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findlevel(str levelfilename)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayer(str accountname)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findplayerbyid(int playerid)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findweapon(str weaponname)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| freezeplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
| Freezes player for a specific amount of time.&lt;br /&gt;
|-&lt;br /&gt;
| getimgheight(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the height (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getimgwidth(str imagefilename)&lt;br /&gt;
| integer&lt;br /&gt;
| Returns the width (in pixels) of an image.&lt;br /&gt;
|-&lt;br /&gt;
| getmapx(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getmapy(str levelname)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| gettextheight(float, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| gettextwidth(float, str, str, str)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| getz(float x, float y)&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hideplayer(float seconds)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hidesword(float seconds)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitnpc(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitobjects(float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hitplayer(int, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lay2(str extraname, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| loadmap(str mapfilename)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| noplayerkilling()&lt;br /&gt;
|&lt;br /&gt;
| Disables killing of other players.&lt;br /&gt;
|-&lt;br /&gt;
| onwall(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is a blocking tile.&lt;br /&gt;
|-&lt;br /&gt;
| onwall2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| onwater(float x, float y)&lt;br /&gt;
| boolean&lt;br /&gt;
| Returns true if the specified x and y is water.&lt;br /&gt;
|-&lt;br /&gt;
| onwater2(float x, float y, float width, float height)&lt;br /&gt;
| boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| play(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| play2(str, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| playlooped(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| putleaps(int leapstype, float x, float y)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| removetiledefs(str prefix)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| replaceani(str defaultaniname, str newaniname)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| resetfocus()&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the player.&lt;br /&gt;
|-&lt;br /&gt;
| say(int signindex)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| say2(str text)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screenx(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| screeny(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setani(str aniname, str aniparams)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gani of a player.&lt;br /&gt;
|-&lt;br /&gt;
| setbeltcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcoatcolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| seteffect(float r, float g, float b, float a)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setfocus(float x, float y)&lt;br /&gt;
|&lt;br /&gt;
| Sets the screen focus to the specified x and y.&lt;br /&gt;
|-&lt;br /&gt;
| setgender(str gendername)&lt;br /&gt;
|&lt;br /&gt;
| Sets the gender of a player.&lt;br /&gt;
|-&lt;br /&gt;
| sethead(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the head of a player&lt;br /&gt;
|-&lt;br /&gt;
| setletters(str imagefilename)&lt;br /&gt;
|&lt;br /&gt;
| Sets the image to use for sign background and text.&lt;br /&gt;
|-&lt;br /&gt;
| setmap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setminimap(str, str, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setmusicvolume(float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setplayerdir(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshield(str imagefilename, int shieldpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshoecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshootparams(str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setskincolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsleevecolor(str color)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setsword(str imagefilename, int swordpower)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showstats(int statsflag)&lt;br /&gt;
|&lt;br /&gt;
| With this you can show/hide parts of the status bar / game&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// Shows all&lt;br /&gt;
showstats(allstats);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except minimap&lt;br /&gt;
showstats(allstats &amp;amp; ~0x100);&lt;br /&gt;
&lt;br /&gt;
// Enable everything except AP and MP bars&lt;br /&gt;
showstats(allstats &amp;amp; ~(0x40 | 0x80));&lt;br /&gt;
&lt;br /&gt;
// Enable only players and right-click profile&lt;br /&gt;
showstats(0x400 | 0x800);&lt;br /&gt;
&lt;br /&gt;
// Hides all&lt;br /&gt;
showstats(0);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Flags can consist of:&lt;br /&gt;
  {| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
  | '''Value'''&lt;br /&gt;
  | '''Description'''&lt;br /&gt;
  |-&lt;br /&gt;
  | 1&lt;br /&gt;
  | ASD&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | Icons (for rupees, bombs, arrows)&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Rupees count&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | Bombs count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x10&lt;br /&gt;
  | Arrows count&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x20&lt;br /&gt;
  | Hearts&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x40&lt;br /&gt;
  | Alignment (ap) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x80&lt;br /&gt;
  | Magic points (mp) bar&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x100&lt;br /&gt;
  | Minimap (you can only hide it, you can't show it when the player pressed Alt+3)&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x200&lt;br /&gt;
  | Inventory NPCs&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x400&lt;br /&gt;
  | Players&lt;br /&gt;
  |-&lt;br /&gt;
  | 0x800&lt;br /&gt;
  | Right-click on players opens their profile&lt;br /&gt;
  |-&lt;br /&gt;
  | allstats&lt;br /&gt;
  | All of the previously stated stats flags enabled&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| spyfire(int length, int power)&lt;br /&gt;
|&lt;br /&gt;
| Shoots a line of fire in the direction of the player with the specified tile length, and fire power (1 - bomb, 2 - super bomb, 3 - jolt bomb).&lt;br /&gt;
|-&lt;br /&gt;
| stopmidi()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| stopsound(str soundfilename)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takeplayercarry()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takeplayerhorse()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| testplayer(float x, float y)&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| triggeraction(float x, float y, str dest, params...)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| triggerserver(str dest, str params)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateboard(int x, int y, int width, int height)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| updateratings(obj)&lt;br /&gt;
| object&lt;br /&gt;
| Updates an array of {rating1,ratingdeviation1, rating2,ratingdeviation2, ...}, init them at 1500 and 350&lt;br /&gt;
|-&lt;br /&gt;
| worldx(float x, float y) - returns float&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| worldy(float x, float y) - returns float&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext(int fontsize, str format, str text)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| wraptext2(int, float, str, str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Graal 3D===&lt;br /&gt;
* addmaterialmapping(str, str) - returns boolean&lt;br /&gt;
* getboxcenter(str) - returns string&lt;br /&gt;
* getdatablocktypes() - returns object&lt;br /&gt;
* getobjectat(float, float) - returns object&lt;br /&gt;
* getobjectatmouse() - returns object&lt;br /&gt;
* getobjectbyray(str, str) - returns object&lt;br /&gt;
* getsurfacetype(float, float) - returns string&lt;br /&gt;
* lightscene() - returns boolean&lt;br /&gt;
* mapshapeanimation(str, str, str, float) - returns boolean&lt;br /&gt;
* setfogcolors(obj)&lt;br /&gt;
* setinteriorrendermode(int)&lt;br /&gt;
* setshadowdetaillevel(float)&lt;br /&gt;
* setskybandcolors(obj)&lt;br /&gt;
* setskybandsizes(obj)&lt;br /&gt;
* setsuncolors(obj)&lt;br /&gt;
* setterrainrendermode(int)&lt;br /&gt;
* updateterrain()&lt;br /&gt;
* updatevisibledistance()&lt;br /&gt;
&lt;br /&gt;
===Other===&lt;br /&gt;
* adventure_installgraal(str, bool, bool)&lt;br /&gt;
* adventure_openexternaloptions() - returns boolean&lt;br /&gt;
* adventure_openexternalpm(obj) - returns boolean&lt;br /&gt;
* adventure_openserverlist()&lt;br /&gt;
* adventure_quit()&lt;br /&gt;
* adventure_savegraaloptions()&lt;br /&gt;
* adventure_selectpath(str) - returns object&lt;br /&gt;
* adventure_setaccountname(str)&lt;br /&gt;
* adventure_setchat(str)&lt;br /&gt;
* adventure_setnickname(str)&lt;br /&gt;
* adventure_setpassword(str)&lt;br /&gt;
* adventure_startofflinemode()&lt;br /&gt;
* adventure_updateaccountfield()&lt;br /&gt;
* adventure_updatemicroactivationlevel()&lt;br /&gt;
* adventure_updatemidivolume()&lt;br /&gt;
* adventure_updatemp3volume()&lt;br /&gt;
* adventure_updateplayermuted()&lt;br /&gt;
* adventure_updateplayerprofile(bool, str, str, int, str, str, str, str, str, str)&lt;br /&gt;
* adventure_updateradiovolume()&lt;br /&gt;
&lt;br /&gt;
''(these functions are only available to privileged scripts from the Login server)''&lt;br /&gt;
&lt;br /&gt;
==Classes / Object Types==&lt;br /&gt;
* [[Creation/Dev/Script/Client/TGraalVar|TGraalVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ActionMap|ActionMap]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControl|GuiControl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/EditManager|EditManager]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiArrayCtrl|GuiArrayCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextListCtrl|GuiTextListCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTreeViewCtrl|GuiTreeViewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBackgroundCtrl|GuiBackgroundCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapBorderCtrl|GuiBitmapBorderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapButtonCtrl|GuiBitmapButtonCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiBitmapCtrl|GuiBitmapCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCrossHairHud|GuiCrossHairHud]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMapOverviewCtrl|GuiMapOverviewCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiButtonBaseCtrl|GuiButtonBaseCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiBorderButtonCtrl|GuiBorderButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiButtonCtrl|GuiButtonCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiCheckBoxCtrl|GuiCheckBoxCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiRadioCtrl|GuiRadioCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiChunkedBitmapCtrl|GuiChunkedBitmapCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiContextMenuCtrl|GuiContextMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiDrawingPanel|GuiDrawingPanel]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFlash|GuiFlash]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiFrameSetCtrl|GuiFrameSetCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraal3DCtrl|GuiGraal3DCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiGraalCtrl|GuiGraalCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMenuCtrl|GuiMenuCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMLTextCtrl|GuiMLTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiMLTextEditCtrl|GuiMLTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiPMEditCtrl|GuiPMEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMCtrl|GuiPMCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPMHistoryCtrl|GuiPMHistoryCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiMouseEventCtrl|GuiMouseEventCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiPlayerView|GuiPlayerView]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiProgressCtrl|GuiProgressCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiScrollCtrl|GuiScrollCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShapeNameHud|GuiShapeNameHud]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiShowImgCtrl|GuiShowImgCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiSliderCtrl|GuiSliderCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTabCtrl|GuiTabCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/GuiTextCtrl|GuiTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiBubbleTextCtrl|GuiBubbleTextCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpEditCtrl|GuiPopUpEditCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiPopUpMenuCtrl|GuiPopUpMenuCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiTextEditCtrl|GuiTextEditCtrl]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/GuiTextEditSliderCtrl|GuiTextEditSliderCtrl]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GuiWindowCtrl|GuiWindowCtrl]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TerrainEditor|TerrainEditor]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/WorldEditor|WorldEditor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiControlProfile|GuiControlProfile]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiCursor|GuiCursor]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTabCtrlEntry|GuiTabCtrlEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTextListEntry|GuiTextListEntry]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/GuiTreeViewNode|GuiTreeViewNode]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/MissionArea|MissionArea]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ShapeBaseHitBox|ShapeBaseHitBox]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/ShapeImageState|ShapeImageState]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/SimObject|SimObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SceneObject|SceneObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioEmitter|AudioEmitter]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/FractalTree|FractalTree]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxFoliageReplicator|fxFoliageReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxGrassReplicator|fxGrassReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxShapeReplicator|fxShapeReplicator]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/fxSunLight|fxSunLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameBase|GameBase]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DynamicShapeReplicator|DynamicShapeReplicator]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrass|DynamicGrass]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/DynamicGrassReplicator|DynamicGrassReplicator]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Explosion|Explosion]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/fxLight|fxLight]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Lightning|Lightning]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitter|ParticleEmitter]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterNode|ParticleEmitterNode]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PathedInterior|PathedInterior]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Precipitation|Precipitation]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Projectile|Projectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBase|ShapeBase]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/AdvancedCamera|AdvancedCamera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Camera|Camera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/MissionMarker|MissionMarker]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/PathCamera|PathCamera]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Player|Player]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/AIPlayer|AIPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/StaticShape|StaticShape]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Vehicle|Vehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/FlyingVehicle|FlyingVehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/HoverVehicle|HoverVehicle]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/WheeledVehicle|WheeledVehicle]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/SpawnSphere|SpawnSphere]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Splash|Splash]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/Trigger|Trigger]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TSStatic|TSStatic]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/Item|Item]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/InteriorInstance|InteriorInstance]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Marker|Marker]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Shape3ds|Shape3ds]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/Sky|Sky]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TerrainBlock|TerrainBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/twSurfaceReference|twSurfaceReference]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/volumeLight|volumeLight]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WaterBlock|WaterBlock]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimDataBlock|SimDataBlock]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioDescription|AudioDescription]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/AudioProfile|AudioProfile]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/DecalData|DecalData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameBaseData|GameBaseData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/DebrisData|DebrisData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ExplosionData|ExplosionData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/fxLightData|fxLightData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ItemData|ItemData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/LightningData|LightningData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterData|ParticleEmitterData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ParticleEmitterNodeData|ParticleEmitterNodeData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PathedInteriorData|PathedInteriorData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/PrecipitationData|PrecipitationData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ProjectileData|ProjectileData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBaseData|ShapeBaseData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/AdvancedCameraData|AdvancedCameraData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/CameraData|CameraData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/MissionMarkerData|MissionMarkerData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/PlayerData|PlayerData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/StaticShapeData|StaticShapeData]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/VehicleData|VehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/FlyingVehicleData|FlyingVehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/HoverVehicleData|HoverVehicleData]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/WheeledVehicleData|WheeledVehicleData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/ShapeBaseImageData|ShapeBaseImageData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/SplashData|SplashData]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TriggerData|TriggerData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/ParticleData|ParticleData]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TSShapeConstructor|TSShapeConstructor]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WheeledVehicleSpring|WheeledVehicleSpring]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/WheeledVehicleTire|WheeledVehicleTire]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/SimGroup|SimGroup]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/GameConnection|GameConnection]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/Sun|Sun]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawableObject|TDrawableObject]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TBaddy|TBaddy]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TLevelObject|TLevelObject]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TExplosion|TExplosion]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TGaniObject|TGaniObject]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TProjectile|TProjectile]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerHorse|TServerHorse]]&lt;br /&gt;
***** [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TPlayer|TPlayer]]&lt;br /&gt;
****** [[Creation/Dev/Script/Client/TServerNPC|TServerNPC]]&lt;br /&gt;
******* [[Creation/Dev/Script/Client/TServerWeapon|TServerWeapon]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerBomb|TServerBomb]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerCarry|TServerCarry]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerChest|TServerChest]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerExtra|TServerExtra]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerFlying|TServerFlying]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerLeap|TServerLeap]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TServerSign|TServerSign]]&lt;br /&gt;
**** [[Creation/Dev/Script/Client/TShowImg|TShowImg]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TDrawingPanel|TDrawingPanel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/Terraformer|Terraformer]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TFrameDetail|TFrameDetail]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGaniParam|TGaniParam]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAni|TGraalAni]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniPart|TGraalAniPart]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSound|TGraalAniSound]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniSprite|TGraalAniSprite]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalAniStep|TGraalAniStep]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TGraalSpriteAttachment|TGraalSpriteAttachment]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/THTTPRequest|THTTPRequest]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticle|TParticle]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleEmitter|TParticleEmitter]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TParticleModifier|TParticleModifier]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevel|TServerLevel]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TServerLevelLink|TServerLevelLink]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImg_Values|TShowImg_Values]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Gani|TShowImg_Gani]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Image|TShowImg_Image]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Shape|TShowImg_Shape]]&lt;br /&gt;
*** [[Creation/Dev/Script/Client/TShowImg_Text|TShowImg_Text]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TShowImgMount|TShowImgMount]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TStaticVar|TStaticVar]]&lt;br /&gt;
** [[Creation/Dev/Script/Client/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Management/Playerworld_Guide&amp;diff=6531</id>
		<title>Creation/Management/Playerworld Guide</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Management/Playerworld_Guide&amp;diff=6531"/>
		<updated>2006-03-01T01:04:07Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Graal.net Control Panel= */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;So you decided to buy a Graalonline playerworld?&lt;br /&gt;
&lt;br /&gt;
Welcome to the world of playerworld management. This document will run you through the basics, and vital points to consider now that you have brought a Graalonline playerworld. As it stands right now, all upcoming playerworlds have to pay. However, the previously online playerworlds receive 6months online time. Use the contents table to navigate your way through the document:&lt;br /&gt;
&lt;br /&gt;
=Basics=&lt;br /&gt;
==Logging on your playerworld:==&lt;br /&gt;
By now you should have received an e-mail to say that your application for a Graalonline playerworld has been accepted and it should contain information about which playerworld number you have been granted access to, along with a username and password. For now your playerworld will remain with the name it currently has. There are two ways to get access to your playerworld:&lt;br /&gt;
&lt;br /&gt;
RC (Remote Control): Used by staff to perform certain actions [Click connect on your Playerworld, make sure you double click it, or you may attempt to connect to the wrong one]&lt;br /&gt;
&lt;br /&gt;
Graal Client: The Game Program [Under the classic tab, type your playerworld name into the drop-down menu and press connect, e.g: playerworld99]&lt;br /&gt;
&lt;br /&gt;
Each of these are downloadable off the Graalonline.com download page. To get to this, go to:&lt;br /&gt;
http://www.graalonline.com/downloads/index.php&lt;br /&gt;
Once the page has loaded, put your mouse over 'About Graal' and then over 'Download Game Client'.&lt;br /&gt;
&lt;br /&gt;
==Admin-Playerworld## Account==&lt;br /&gt;
This account is given to the purchaser of the matching playerworld number (Playerworld##). The purpose of this account is so that you may log onto your playerworld and get started, without having to wait for someone to setup your rights.&lt;br /&gt;
&lt;br /&gt;
As we do not know you, there is not an IP range set on this account. An IP range makes it so that someone with the same IP/IP Range (Internet Protocol - Your computers online ID) can log on, while people without it can not. For this reason you should NOT share, nor give out this account password to anyone else. &lt;br /&gt;
See Section 5.1 about how to find an IP Range!&lt;br /&gt;
&lt;br /&gt;
When you first log onto your playerworld; it's best to transfer the rights to your normal account. To do this type: /openrights youraccountname in the RC text field. &lt;br /&gt;
&lt;br /&gt;
You will then be presented with an 'Edit Rights' window. Here you will see your account name, a space for an IP/IP Range and various tick boxes. Because you are the manager/payer the chances are you will need a level four RC (The maximum available to you). To do this, either check all of the boxes, or click the '4' in the bottom right. To save the changes click Apply.&lt;br /&gt;
DO NOT do this if you are not ready to add an IP/IP Range to your account as this is a security risk, and could cause a problem later on. Once you have got an IP/IP Range set on your account, you may add the rights.&lt;br /&gt;
&lt;br /&gt;
Please Note: Only Gold &amp;amp; VIP accounts can log on RC on a paid playerworld, if you have not got a Gold/VIP account you can use the Admin account until you wish to upgrade your normal account.&lt;br /&gt;
&lt;br /&gt;
At this point you no longer need to have the Admin-Playerworld## account, unless you are using it as you do not have a VIP/Gold account. So if you no longer need it, you can say: &lt;br /&gt;
/openrights Admin-Playerworld## (Where ## = Playerworld Number)&lt;br /&gt;
Uncheck all boxes, and then in the IP Range put: 0.0.0.0 (This stops people logging on)&lt;br /&gt;
&lt;br /&gt;
==Adding Other People==&lt;br /&gt;
Making a playerworld takes time, and man-hours. Because of this, it's best to form a staff team, with good working people who you can trust and know well. Staff may need RC to help aid them with their job. RC should not be given to every staff member, and rights should be given to people who need them only. Nobody but the manager; should not have a high amount of rights. &lt;br /&gt;
&lt;br /&gt;
To give someone access to your playerworld via RC you first need to tell the server that they are allowed to log on via RC. This is done via a serveroption which is read by the server, and is used to load and keep certain settings. &lt;br /&gt;
&lt;br /&gt;
Here's how to add an account:&lt;br /&gt;
# Click the Icon in the RC window on the right with a picture of the world and a spanner.&lt;br /&gt;
# Now the serveroptions have loaded. Look for the on that says: staff=&lt;br /&gt;
# In here you can add the accounts to be allowed on RC&lt;br /&gt;
# They are separate via a ',' like this: account1,account2,account3,account4,&lt;br /&gt;
# After adding an account into the staff line, click 'Send' to update the serveroptions&lt;br /&gt;
# Finally you need to add an IP Range and Rights using: /openrights accountname&lt;br /&gt;
&lt;br /&gt;
The three things important when adding an account are:&lt;br /&gt;
# Adding to staff= serveroption&lt;br /&gt;
# Setting an IP/IP Range&lt;br /&gt;
# Giving the correct amount of rights, keep them to a minimum for security&lt;br /&gt;
&lt;br /&gt;
The account you have setup is now also ready to be used. The account can log on RC which is downloadable from the Graalonline.com downloads section. Some rights will only work in the graal client, but we will come to that later.&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
===IP Ranges===&lt;br /&gt;
One of the most important security risks with playerworlds today, is no IP Protected Accounts. You should have already protected your account with an IP/IP Range and every account you have made should have IP/IP Ranges. If you stick by this rule it guarantees you a good secure playerworld. Some playerworlds either forget to add them, or choose not to. If you do not add IP ranges to all RC accounts, then you are at risk of someone logging onto that account, and potentially causing damage.&lt;br /&gt;
See Section 5.1 about how to find an IP Range!&lt;br /&gt;
&lt;br /&gt;
When you create an IP/IP Range, make sure that you remember to have a good IP range, and not something like: 64.*.*.*, instead have something like: 64.120.45.*&lt;br /&gt;
The less stars you use, and the more numbers, the more secure the account is.&lt;br /&gt;
&lt;br /&gt;
===Account Rights===&lt;br /&gt;
When you setup an account, think about what this account will be used for. If the account will only be used by someone to upload levels, they do not need any higher than a level one RC. Every right available can be used against the server one way or another, which is why each staff member should only have what they need, and nothing else. Be strict with rights, do not give into people begging for them, do not allow your playerworld to be attacked.&lt;br /&gt;
&lt;br /&gt;
===NPC-Control Rights===&lt;br /&gt;
The most common problem after attacks on playerworlds is the NPC Database. Due to its backup restrictions (no quick way to backup) people dont backup NPCs as often, and so, they are often deleted over levels. To protect yourself against this, NPC-Control has access rights as well as levels. With these you can limit what access people have. You will need to add this serveroption to active NPC Rights.&lt;br /&gt;
&lt;br /&gt;
To do this, open the serveroptions (far right icon with world and spanner on it) then:&lt;br /&gt;
# Start a new line where you want the serveroption to go&lt;br /&gt;
# Input the following: npcrightsenabled=true (if it's not already there)&lt;br /&gt;
# Then click send to update the settings&lt;br /&gt;
&lt;br /&gt;
Now when people access the NPC Server, they need the right to edit or view any NPCs. To edit these, please read section 2.4 to learn about configuration of NPC Control Rights.&lt;br /&gt;
&lt;br /&gt;
===Guest RCs===&lt;br /&gt;
A guest RC is an account allowed onto a playerworld RC, but does not work for the playerworld. Some people allow these people on if they want them to look over something, or help with something else. The best thing is not to have these RCs, as they are a real security risk.&lt;br /&gt;
&lt;br /&gt;
If you still wish to have these RCs then please make sure you do the following:&lt;br /&gt;
# Have a very secure IP range: #.#.*.* (#.#.#.* would be better)&lt;br /&gt;
# Do not let them keep rights, remove them after they are finished&lt;br /&gt;
# Remove them from staff= after they are finished&lt;br /&gt;
&lt;br /&gt;
You can always re-add them, and their rights. Its best to keep doing this, as you may forget about them and they may come back in the future to cause problems or damage to the playerworld.&lt;br /&gt;
&lt;br /&gt;
==Name Change==&lt;br /&gt;
Currently there is no way to change the playerworld name yourself. Somebody, most likely Stefan, will drop by if there is a playercount on your playerworld and you still have a default name: playerworld##, and ask you what you would like the playerworld to be called.&lt;br /&gt;
&lt;br /&gt;
In the future it should be added to your Control-Panel on http://www.graal.net&lt;br /&gt;
&lt;br /&gt;
==Notifying The PWA of the Managers==&lt;br /&gt;
The PWA (Playerworld Administration) is in control of sorting out problems on playerworld, enforcing certain rules and to help you if you have problems. They try to have an updated list of managers and co-managers so that they know who to contact if they have any problems. Please try and e-mail all of your manager information to a PWA member, set out like the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Playerworld Name: (PW Number)&lt;br /&gt;
Payer: Nick (Account)&lt;br /&gt;
Manager: Nick (Account)&lt;br /&gt;
Co-Manager: Nick (Account)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e.g:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
MyWorld: (99)&lt;br /&gt;
Payer: Payday (Rick_Rich)&lt;br /&gt;
Manager: Ken (Ken2003)&lt;br /&gt;
Manager: SoulChild (SC_UK)&lt;br /&gt;
Co-Manager: Mou (MouKay)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Please Note: You do not need to do this until your playerworld has had a name change.''&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
==Ways to configure your playerworld==&lt;br /&gt;
Configuration of a playerworld makes your playerworld more practical for you, and easier to use. The most common configuration methods are:&lt;br /&gt;
&lt;br /&gt;
* Serveroptions&lt;br /&gt;
* Folder configuration&lt;br /&gt;
&lt;br /&gt;
==Server options==&lt;br /&gt;
Serveroptions are just that, options, which the server reads to output certain features, functions and settings. When you log onto your playerworld, some of the following serveroptions should already be in your serveroptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Gameplayoptions&lt;br /&gt;
startlevel=&lt;br /&gt;
startx=&lt;br /&gt;
starty=&lt;br /&gt;
unstickmelevel=&lt;br /&gt;
unstickmex=&lt;br /&gt;
unstickmey=&lt;br /&gt;
staffguilds= &lt;br /&gt;
heartlimit=&lt;br /&gt;
swordlimit=&lt;br /&gt;
putnpcenabled=&lt;br /&gt;
setbodyallowed=&lt;br /&gt;
jaillevels=&lt;br /&gt;
bushitems=&lt;br /&gt;
baddyitems=&lt;br /&gt;
healswords=&lt;br /&gt;
#bigmap=&lt;br /&gt;
#minimap=&lt;br /&gt;
aptime0=75&lt;br /&gt;
aptime1=150&lt;br /&gt;
aptime2=300&lt;br /&gt;
aptime3=600&lt;br /&gt;
aptime4=1200&lt;br /&gt;
aptime5=2400&lt;br /&gt;
staff=&lt;br /&gt;
playerlisticons=Online,Away,DND&lt;br /&gt;
npcrights=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each one of these can be altered, changed and removed. It's best to keep most of these as they are the basic default server options to tell the server where new players should start etc. See [[Server options]] for a full list of them.&lt;br /&gt;
&lt;br /&gt;
==Folder Configuration==&lt;br /&gt;
The folder configuration can be found in the RC window. It is the top right button, with a picture of two folders on it. This is used so that the server knows where to find certain things, such as: Heads, Swords and Shields. The default folder configuration when you log on will be something like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
body    bodies/*.png&lt;br /&gt;
head    heads/*&lt;br /&gt;
sword   swords/*&lt;br /&gt;
shield  shields/*&lt;br /&gt;
level   *.graal&lt;br /&gt;
level   *.nw&lt;br /&gt;
level   *.gmap&lt;br /&gt;
file    *.png&lt;br /&gt;
file    *.mng&lt;br /&gt;
file    *.gif&lt;br /&gt;
file    *.gani&lt;br /&gt;
file    *.wav&lt;br /&gt;
file    *.txt&lt;br /&gt;
file    *.gmap&lt;br /&gt;
file    images/*.png&lt;br /&gt;
file    images/*.gif&lt;br /&gt;
file    images/*.mng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to add a folder you put the following on a new line in folder configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
type location/allowed_filetypes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want a folder for heads, then you would do something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
head staffheads/*.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This would allow .png images to be read as heads from the location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
levels/staffheads&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you add a folder, the 'levels' is a default thing. &lt;br /&gt;
So you do not do the following&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
head levels/staffheads/*.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead you just put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
head staffheads/*.png&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Folder configuration should be used at all times when you want a new folder. The idea of this is so that you can limit the file-types that can be put into it, and it is read correctly by the server, so that it knows where the heads are, and which folders contain levels for example.&lt;br /&gt;
&lt;br /&gt;
===Access to the folders===&lt;br /&gt;
To upload into this folder, you need to give yourself or the other staff member's access to it. To do this, say: '''/openrights accountname''' in the RC text field at the bottom.&lt;br /&gt;
&lt;br /&gt;
Once the edit rights window appears, the box below the checkboxes can be used to input which folders you want this person to have access to. There are two main rights for each folder:&lt;br /&gt;
&lt;br /&gt;
R (Read-Only)&lt;br /&gt;
RW (Read and Write)&lt;br /&gt;
&lt;br /&gt;
For an example, the default levels folder is: '''/levels/'''&lt;br /&gt;
To give someone full access to this folder, you would put: '''rw levels/*'''&lt;br /&gt;
&lt;br /&gt;
However, RW is a security risk, as it allows people to delete all of the contents. Some servers may wish to setup a folder, where staff can upload levels into, and someone else can transfer them into the main folder. To do this they would need rw to the upload folder, and r to the main folder, so they could download all of the files, but not edit or delete them.&lt;br /&gt;
&lt;br /&gt;
Please also note that if you want access to the following two folders:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/levels/folder1/&lt;br /&gt;
/levels/folder1/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then this will not give you access to it: /levels/*&lt;br /&gt;
The star is the file type your allowed to see, a star means all, but it could be *.png&lt;br /&gt;
So you would need:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw levels/folder1/*&lt;br /&gt;
rw levels/folder2/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Folders outside of levels/===&lt;br /&gt;
If you want to create a folder that does not begin with levels/ then you do not need to use folder configuration, you can just give the rights to the person, such as:&lt;br /&gt;
&amp;lt;pre&amp;gt;rw newfolder/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which makes:&lt;br /&gt;
&amp;lt;pre&amp;gt;newfolder/&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Please note that files in these folders are not available to game clients. Levels, GFX, GANIs, etc for the playerworld should be in the levels/ folder.&lt;br /&gt;
&lt;br /&gt;
==NPC Control Rights==&lt;br /&gt;
The NPC Control rights work exactly the same as folder rights. It may be a good idea to read 2.3.1 if you are still unsure after reading this. Because NPC Server is such a big part of RC, there are three types of rights: Weapons, Classes and NPCs.&lt;br /&gt;
&lt;br /&gt;
To give someone access to everything, you have to grant them access to view and edit everything and give them the NPC Control right. To do this say in RC: /openrights accountname or go through the top left icon in RC into the player list, and then right click an account and click Edit Rights.&lt;br /&gt;
&lt;br /&gt;
The NPC Control checkbox is at the top. And the NPC Control Rights are put into the window below called Folder Rights.&lt;br /&gt;
&lt;br /&gt;
To give them access to everything put in:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw WEAPONS/* (Weapons - Icon with sword)&lt;br /&gt;
rw CLASSES/* (Classes)&lt;br /&gt;
rw NPCS/* (database NPCs)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to restrict access, to lets say only NPCs beginning with their name, you could put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw WEAPONS/staffname/*&lt;br /&gt;
rw CLASSES/staffname/*&lt;br /&gt;
rw NPCS/staffname/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want them to access more than one type of NPC starting name you can put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw WEAPONS/staffname/*&lt;br /&gt;
rw WEAPONS/system/*&lt;br /&gt;
rw WEAPONS/player/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will work fine. And don't forget that these rights work in the same way as folder rights, so you do not always need to put '''rw''', you can just put '''r'''.&lt;br /&gt;
&lt;br /&gt;
=Graal.net Control Panel=&lt;br /&gt;
This is the central point for your playerworld. Here you can control certain things, and view stats on your playerworld, to help you manage your playerworld with ease.&lt;br /&gt;
&lt;br /&gt;
==Getting to your control panel==&lt;br /&gt;
In the same e-mail you had the username and password for your account, you can log into the control panel with it. First of all the URL given to you should be put into your web browser. When you have loaded this page you will be asked for the username and password, once you have put this in, you are into your control panel.&lt;br /&gt;
&lt;br /&gt;
==What you can do with your control panel==&lt;br /&gt;
Once inside you will see stats on the NPC Server and the G-Server (graal server). You can click either of these words and be taken to a page where you can perform certain actions such as: Stop, Start, Restart the NPC Server or G-Server. You will also see stats such as how much CPU and memory you are using.&lt;br /&gt;
&lt;br /&gt;
=Guides=&lt;br /&gt;
===Getting RC===&lt;br /&gt;
* To get RC go to the following URL: http://www.graalonline.com/downloads/index.php&lt;br /&gt;
* Click on the setup you want (Windows, Linux, Mac OSX)&lt;br /&gt;
* After setting up the location of the download you are asked to choose a mirror&lt;br /&gt;
* Choose Graalonline.com&lt;br /&gt;
* Then when you have a list of available parts to download, make sure the developer does not say skip and instead is a version number, e.g: 1.0.0-7&lt;br /&gt;
* Click Next and it should start downloading&lt;br /&gt;
&lt;br /&gt;
===RC Icons===&lt;br /&gt;
Please look at the document 'The Insides of Remote Control' for information on how to use Remote Control (RC) and what each icon does.&lt;br /&gt;
&lt;br /&gt;
===RC Rights===&lt;br /&gt;
What can I use?&lt;br /&gt;
Depending on what rights you have, and what your job is, you may only use a few icons, as they will not be useful to your job. Each Icon has been put there for your use, and the best way to find out what they are, is to have a go.&lt;br /&gt;
&lt;br /&gt;
The best way to find out what you can and can not do it to say the following in the RC text field at the bottom:&lt;br /&gt;
&lt;br /&gt;
/openrights myaccountname (e.g: /openrights mark_45)&lt;br /&gt;
&lt;br /&gt;
Depending on what rights you have, you may or may not be able to change them. To change them you will need either: Change Rights or Edit Folder Rights&lt;br /&gt;
&lt;br /&gt;
Every right Explained? [Back to top]&lt;br /&gt;
&lt;br /&gt;
Anyway, when the Edit Rights window opens, look what you have got (checked) and then look below to see what it is, and how it works:&lt;br /&gt;
&lt;br /&gt;
* Warpto x y: When in the Graal Client in a level, say: warpto x y (where x+ y use number positions to warpto) e.g: warpto 10 30 = Warps player to x=10, y=30, of same level&lt;br /&gt;
* Warpto player: When in the Graal client, say: warpto accountname = warpto that person&lt;br /&gt;
* Warp Players: When in RC click the top left button, right click a player, click warp, enter the level name and the X and Y position for the player to be warped to.&lt;br /&gt;
* Update Level: When in Graal Client, say: update level - Updates to original settings - e.g: Removal of things that are not in the level normally such as money, baddies, dbnpcs.&lt;br /&gt;
* Disconnect Players: When in RC click the top left button, right click a player, click disconnect the players connection to the playerworld will be terminated, useful after banning someone, or if they need to reconnect for a change to be made.&lt;br /&gt;
* View Player attributes: When you either say /open accoutname in RC or right click and account from the top left button and go to edit attributes you can see information about this account, such as their colours, flags, open chests, weapons, IP address etc..&lt;br /&gt;
* Set Player Attributes: This allows you to edit/alter player attributes, after opening them, to open them, see above.&lt;br /&gt;
* Set own Attributes: This allows you to open and edit the attributes of your own account using the top left button and the player list, or saying /open myaccountname in RC.&lt;br /&gt;
* Reset Attributes: This clears all of the attributes, and will take away everything so that this account is like when it first logged on. To use this either go through the top left button in RC, onto player list and then right click account and finally click Reset. &lt;br /&gt;
Or simply say in RC: /reset accountname&lt;br /&gt;
* Admin Message: This is a little popup in the graal client, which people must press enter on to clear it. Its often a good way to send very important messages, but can be annoying. To use this, go to the top left icon in RC, into the player list. Then you can either send it to just one person by right clicking the account and going to Admin Message or click the Admin Message to All button at the bottom of the player list window.&lt;br /&gt;
* Set Server Flags: This allows you to edit or add .server scripting flags into the icon with the Flag and the World. This is useful if you have a NPC which is trying to read the server flag and you need to create one yourself first of all.&lt;br /&gt;
* Change Rights: This allows you to change rights of peoples accounts if you have that right too. To do this either say in RC /openrights accountname and save it by clicking Apply. Or use the top left button, and right click and account in the player list and then click Edit Rights.&lt;br /&gt;
* Ban Players: This stops a user logging on. If they have gone against rules or you think their actions need a punishment of a ban you can either say in RC, /openban accountname. Or right click them in the player list using the top left Icon. When you use this window, to ban them you must check the Banned check box. And in the Ban Reason you must put why they are banned, and who they are banned by. Its also a good idea to add it to their comments, for this see the right below.&lt;br /&gt;
* Change Comments: This is used to add comments to an account. It's useful if you wish to log certain jailing, or how often this person does something. Most people use it to add the ban reason too, so everybody with RC and the right can see why that person is banned.&lt;br /&gt;
* Change Staff Accounts: This is used when you want to alter your Admin-Playerworld## account. You can change certain things in here. One of those things is the password. If you do change your password, then please choose a random one such as: Ghu9n42 and not something simple like playerworldname or graal. To do this either use the top left icon and on the player list right click an account and click Edit Account or say: /openacc accountname in RC.&lt;br /&gt;
* Change Server Options: This allows you to change the serveroptions. To do this you click the icon with the world and the spanner on it, you can alter, remove and add server options to change certain settings.&lt;br /&gt;
* Edit Folder Configuration: This allows you to change the folder configuration; information about this was in part 2.3. To change the folder configuration look over that section, and to access it click the top right icon in RC.&lt;br /&gt;
* Edit Folder Rights: This is to change the access rights people have to folders. This is the bottom box in the Edit Rights window. You can alter folder rights for someone by using the top left icon, going into the player list and right clicking and then click Edi Rights, or just say in the RC text field: /openrights accountname. More Information is in 2.3.1&lt;br /&gt;
* NPC-Control: This right allows you access to the thirteen icons instead of just eight. If you have this you have a lot more access to other things. You may need NPC Server rights to perform certain actions. More information can be found in 3.1.1&lt;br /&gt;
&lt;br /&gt;
===RC Shortcuts===&lt;br /&gt;
If you say one of the following in RC, it will allow you to perform certain actions, but quicker. Here is a list of all of the shortcuts from the /help action.&lt;br /&gt;
&lt;br /&gt;
* '''/help:''' displays the following below&lt;br /&gt;
* '''/stats:''' displays server info&lt;br /&gt;
* '''/loadlang:''' reloads the translations into memory&lt;br /&gt;
* '''/loadlevellist:''' reloads the level list&lt;br /&gt;
* '''/loadmap:''' reloads the map (for onmapx()/onmapy())&lt;br /&gt;
* '''/savenpcs:''' saves all database npcs&lt;br /&gt;
* '''/clearnpcs levelname:''' deletes local db npcs from a level (including gralats)&lt;br /&gt;
* '''/npc&amp;lt;command param&amp;gt;:''' commands to the control-npc&lt;br /&gt;
* '''/npcshutdown:''' closes the server&lt;br /&gt;
Available commands for GServer:&lt;br /&gt;
* '''/stats:''' displays server info&lt;br /&gt;
* '''/open accountname:''' opens the player attributes window&lt;br /&gt;
* '''/openrights accountname:''' opens the rights&lt;br /&gt;
* '''/opencomments accountname:''' opens the comments&lt;br /&gt;
* '''/openaccess accountname:''' opens the ban info&lt;br /&gt;
* '''/openacc accountname:''' opens the account&lt;br /&gt;
* '''/reset accountname:''' resets the account&lt;br /&gt;
* '''/find filename:''' searches for a game file&lt;br /&gt;
* '''/allservers text:''' global RC chat (only for high admins) [High levelled Globals Only]&lt;br /&gt;
* '''/updatelevel level[,level]:''' reloads levels form hard disk&lt;br /&gt;
* '''/npcstart:''' starts the npcserver&lt;br /&gt;
* '''/shutdown:''' closes the server&lt;br /&gt;
&lt;br /&gt;
==Serveroptions==&lt;br /&gt;
See [[Server options]].&lt;br /&gt;
&lt;br /&gt;
==How to use the file manager==&lt;br /&gt;
This guide will teach you how to use the file manager. Most people will use file manager if they are staff on a playerworld at least once, so its important that everybody knows what it is, and how to use it.&lt;br /&gt;
&lt;br /&gt;
===What is file manager===&lt;br /&gt;
File manager is the built in section within RC which acts as a FTP Client. It is used to send files from the client to the server, and vice versa. This can be found using the top left icon, the one with the two folders on it.&lt;br /&gt;
&lt;br /&gt;
===How to create folders within the file manager===&lt;br /&gt;
This was explained before in the document. To create folders you use folder configuration to tell the server where the folder is, and what its used for. If you cant remember, or didn't read it, please look at section 2.3 and section 2.3.1.&lt;br /&gt;
&lt;br /&gt;
===How to access the folders in file manager===&lt;br /&gt;
To access a folder, you need the rights to do so. This is inputted into the Edit Rights window. Either use the player list and right click the player then click Edit Rights or say in RC: /openrights accoutname. The bottom window is where the rights go; please note you will need Edit Folder Rights to edit anything in the bottom window.&lt;br /&gt;
&lt;br /&gt;
There are two main rights for each playerworld:&lt;br /&gt;
&lt;br /&gt;
R (Read-Only)&lt;br /&gt;
RW (Read and Write)&lt;br /&gt;
&lt;br /&gt;
For an example, the default levels folder is: /levels/&lt;br /&gt;
To give someone full access to this folder, you would put: rw levels/*&lt;br /&gt;
&lt;br /&gt;
However, RW is a security risk, as it allows people to delete all of the contents. Some server may wish to setup a folder, where staff can upload levels into, and someone else can transfer them into the main folder. To do this they would need rw to the upload folder, and r to the main folder, so they could download all of the files, but not edit or delete them.&lt;br /&gt;
&lt;br /&gt;
So if your folder is: /levels/upload/&lt;br /&gt;
The folder configuration will be: level     upload/* (Where star is, put available file types e.g: *.png)&lt;br /&gt;
While the rights for access to it will be: rw levels/upload/* (Could be just r)&lt;br /&gt;
&lt;br /&gt;
===How to upload files into the file manager===&lt;br /&gt;
To upload files into a folder you have rights and access to, you first need to find the files. Lets say the files are in: /graal2001/my_uploads&lt;br /&gt;
&lt;br /&gt;
1)First of all go to this folder in a new window (/graal2001/my_uploads)&lt;br /&gt;
2)Second highlight the files you wish to upload&lt;br /&gt;
3)Then go back to RC, Click on the file manager Icon&lt;br /&gt;
4)You then go back to the folder where the files are and drag the files into the file managers' right window.&lt;br /&gt;
&lt;br /&gt;
There are many ways to do this, you can drag the files down to the open windows bar, and then into file manager. You can alternate through the open windows (Alt+Tab for Windows) and then into the file manager. Or you can make is so both windows are visible, by re-sizing them. Sometimes it is a good idea if you drag the file manager away from the RC, as sometimes the RC goes over the top of the File Manager, and you cant drag the files in.&lt;br /&gt;
 &lt;br /&gt;
===How to download files from the file manager===&lt;br /&gt;
Downloading is basically as easy as uploading. Once you have the file you want to download, go to it in file manager, and then simply drag it out of file manager to a folder to the desktop. Another way is to right click and click Edit and then you can save it somewhere when it opens.&lt;br /&gt;
 &lt;br /&gt;
===How to delete files from the file manager===&lt;br /&gt;
Sometimes you may have to delete the file before you can upload; this is sometimes a problem that rarely occurs. Or maybe you just want to delete the file. Once you have made sure you do not need the file, or have got a backup in case you need it again, simple right click the file in file manager, and then click delete.&lt;br /&gt;
&lt;br /&gt;
===Sub-Folders===&lt;br /&gt;
Sub folders are easy to create and easy to access. Here is an example of a few sub folders:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/levels/staff/&lt;br /&gt;
/levels/staff/staffmember1/&lt;br /&gt;
/levels/staff/staffmember2/&lt;br /&gt;
/levels/staff/staffmember3/&lt;br /&gt;
/levels/staff/staffmember4/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is exactly the same as creating a normal folder. But for the folders above, you would put the following into folder configuration:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
level staff/staffmember4/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''Where the star is, put available file types e.g: *.png''&lt;br /&gt;
&lt;br /&gt;
And in Folder Rights you would put:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rw levels/staff/staffmember4/*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
''Where star is, put available file types e.g: *.png''&lt;br /&gt;
&lt;br /&gt;
And to navigate through sub-folders you will see either a + or a - sign. The + sign means that there are sub-folder within this folder, and you can click it to expand them. And the - sign means you can see the sub folders, and you can press it to hide them.&lt;br /&gt;
&lt;br /&gt;
==How to make guilds==&lt;br /&gt;
Guilds are very easy and simple to make. First of all the guilds should be placed in the correct folder. This has changed recently, the new folder is: /levels/guilds/&lt;br /&gt;
&lt;br /&gt;
===Making filename===&lt;br /&gt;
To make a guild you use something such as notepad, to save as a .txt file. You then have to call it what you want to call it, like this: guild&amp;lt;guildname&amp;gt;.txt (e.g: guildGP.txt)&lt;br /&gt;
&lt;br /&gt;
===Inside File===&lt;br /&gt;
Inside you need to use the following format for everyone who you want to have the guild tag:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
account:nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So lets say someone with the account bob and the nickname ralf needs a tag (GP) you would make the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Filename: guildGP.txt&lt;br /&gt;
Inside: bob:ralf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Which gives us: ralf (GP) ''(for account bob)''&lt;br /&gt;
&lt;br /&gt;
===More accounts inside===&lt;br /&gt;
If you want more people inside, you simply just put them on a new line inside:&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
account:nickname&lt;br /&gt;
&lt;br /&gt;
===Making it a staff guild===&lt;br /&gt;
If you want this guild to be a staff guild, simply put the tag name into the staffguilds=serveroption like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
staffguilds=GP,FAQ,Manager,LAT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Frequently Asked Questions=&lt;br /&gt;
&lt;br /&gt;
==How to find an IP/IP Range==&lt;br /&gt;
First of all you need to know the difference. An IP is a number with 4 parts, while an IP Range is a number with open parts where different numbers can go, and open have more than one set of IPs in them.&lt;br /&gt;
&lt;br /&gt;
===Finding your IP===&lt;br /&gt;
First of all you need to find out your IP, to do this go to a website such as:&lt;br /&gt;
http://whatismyip.com/ &lt;br /&gt;
&lt;br /&gt;
For dial-up users your IP endings will change, but the start may stay the same. You will then need to vist this site a few times to write down your IPs. Always on connections can just put in the IP, and alter it later, as it should stay like this for a long enough period of time. Dial-Up users will need to write down about 15-20IPs.&lt;br /&gt;
 &lt;br /&gt;
===Sorting my IPs===&lt;br /&gt;
Lets say you have the following IPs&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
64.124.42.44 &lt;br /&gt;
64.124.88.52 &lt;br /&gt;
64.74.963.25 &lt;br /&gt;
64.123.67.32 &lt;br /&gt;
78.225.96.34 &lt;br /&gt;
78.125.46.34 &lt;br /&gt;
78.62.45.32 &lt;br /&gt;
64.124.85.32 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first thing to do is put them in numerical order, so 64.*.*.* &amp;gt; 78.*.*.*&lt;br /&gt;
&lt;br /&gt;
Once you have put them in order, you need to look at what changes and what doesn't. In this case it's the first and some of the second parts of the IP address.&lt;br /&gt;
&lt;br /&gt;
Which means this IP range for someone with those IPs would be: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
64.124.*.* &lt;br /&gt;
64.74.*.* &lt;br /&gt;
64.123.*.* &lt;br /&gt;
78.642.*.* &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in order they are separated via a comma to produce the following: 64.124.*.*,64.74.*.*,64.123.*.*,78.642.*.* &lt;br /&gt;
&lt;br /&gt;
Now many people will just do the following: 64.*.*.* (if the other numbers seem to change a lot) Ideally if you can have a tighter IP range such as: 64.124.*.* then it will be more secure. &lt;br /&gt;
&lt;br /&gt;
Ideally you should take IPs over 2-3days so that it is a greater IP range. &lt;br /&gt;
&lt;br /&gt;
'''Remember: You can always edit or change the IP range, but you can't always get back the Levels and NPCs deleted by an intruder.'''&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Riot&amp;diff=6465</id>
		<title>User:Riot</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Riot&amp;diff=6465"/>
		<updated>2006-02-27T03:59:16Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Player}}&lt;br /&gt;
Current Co Manager of [[Worlds/Delteria|Delteria]]&lt;br /&gt;
{{Template:Stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6464</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6464"/>
		<updated>2006-02-27T03:01:38Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria hosts two weekly sparring tournaments, singles and tag team. The singles tournament is every Saturday at 10 PM EST while the tag team on Monday at 8 PM EST.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''Co Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:TiamatIsBack|Tiamat]]'' || ''Administrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Admin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Admin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Tupper&amp;diff=6441</id>
		<title>User:Tupper</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Tupper&amp;diff=6441"/>
		<updated>2006-02-26T23:47:08Z</updated>

		<summary type="html">&lt;p&gt;Riot: User:Tupper moved to User:LilNiglet: Username -&amp;gt; Account Name&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[User:LilNiglet]]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:LilNiglet&amp;diff=6440</id>
		<title>User:LilNiglet</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:LilNiglet&amp;diff=6440"/>
		<updated>2006-02-26T23:47:08Z</updated>

		<summary type="html">&lt;p&gt;Riot: User:Tupper moved to User:LilNiglet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{player}}&lt;br /&gt;
&lt;br /&gt;
Tupper, or Tupper Trènine as he is referred to in Roleplaying, is a long-time resident of Graal.  He has played on Elven Lands, Dino Valley, [[Delteria]], [[Graal 2001]], and Graal Kingdoms.  Currently, he is the Development Administrator on [[Delteria]].&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
Tupper has little to no interaction with the mainstream community ([[Graal Communication Center]]), but he is very active on [[Delteria]].&lt;br /&gt;
&lt;br /&gt;
As of the release of Graal Bomy Lands, Tupper has become very involved in the kingdom Malenth, ruled by Zurkiba.  He currently holds the position of Duke.&lt;br /&gt;
&lt;br /&gt;
== Development Areas ==&lt;br /&gt;
&lt;br /&gt;
Tupper is quite capable of holding his own in [[GScript]], but he is nowhere near the skill levels of the likes of Kaimetsu or Jagen.  He is constantly trying to learn new things.  &lt;br /&gt;
&lt;br /&gt;
Tupper has mid-quality skills in levels, and is capable enough in graphics to convert files over to compatible formats\tansparencies for [[Graal2]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Staff Positions ==&lt;br /&gt;
&lt;br /&gt;
Tupper is currently Development Administrator on [[Delteria]], but is inactive due to real life conflicts.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
* AIM: TupperTrenine&lt;br /&gt;
* Email: [mailto:dtupper at gmail.com]&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6363</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6363"/>
		<updated>2006-02-20T21:16:47Z</updated>

		<summary type="html">&lt;p&gt;Riot: Will add details on events in a few, need to consider structure.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Avalance || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Maze || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria hosts two weekly sparring tournaments, singles and tag team. The singles tournament is every Saturday at 10 PM EST while the tag team on Monday at 8 PM EST.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''NPC Admininstrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:TiamatIsBack|Tiamat]] || Levels Development Admininstrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Admin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Admin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6356</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6356"/>
		<updated>2006-02-19T06:25:17Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Team PK || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Avalanche || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Maze || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria hosts two weekly sparring tournaments, singles and tag team. The singles tournament is every Saturday at 10 PM EST while the tag team on Monday at 8 PM EST.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''NPC Admininstrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:TiamatIsBack|Tiamat]] || Levels Development Admininstrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Admin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Admin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6355</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6355"/>
		<updated>2006-02-19T06:24:32Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Team PK || Bomb Dodge || Fire Blast || Contra || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Avalanche || Team PK || Survivor || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Water Balloon Wars&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Maze || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria hosts two weekly sparring tournaments, singles and tag team. The singles tournament is every Saturday at 10 P.M. while the tag team on Monday at 8 P.M.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''NPC Admininstrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:TiamatIsBack|Tiamat]] || Levels Development Admininstrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Admin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Admin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6354</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6354"/>
		<updated>2006-02-19T06:23:51Z</updated>

		<summary type="html">&lt;p&gt;Riot: Event List, more details on events later&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{| style=&amp;quot;width:600px&amp;quot;&lt;br /&gt;
|+ '''List of Events'''&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|-&lt;br /&gt;
| Old Horse Race || Charge || Bush Battle || Laser Tag || KoTR&lt;br /&gt;
|-&lt;br /&gt;
| New Horse Race || Horse Charge || Last Man Standing || Sharp Shooter || Escape&lt;br /&gt;
|-&lt;br /&gt;
| Pot Race || Pirate Ship Sink || BR Ice/Normal/Fire || Gravity Shooter || Scavenger Hunt&lt;br /&gt;
|-&lt;br /&gt;
| Team PK || Bomb Dodge || Fire Blast || Gravity Shooter || GKO&lt;br /&gt;
|-&lt;br /&gt;
| Avalanche || Team PK || Survivor || Contra&lt;br /&gt;
|-&lt;br /&gt;
| Triathlon || Water Balloon Wars || NVPK&lt;br /&gt;
|-&lt;br /&gt;
| Water Race || Bomb Fest&lt;br /&gt;
|-&lt;br /&gt;
| Foot Race || PK Island&lt;br /&gt;
|-&lt;br /&gt;
| Maze || Beat the Clock&lt;br /&gt;
|-&lt;br /&gt;
| Island Hopping&lt;br /&gt;
|-&lt;br /&gt;
| Obstacle Course&lt;br /&gt;
|-&lt;br /&gt;
| Dynadash&lt;br /&gt;
|}&lt;br /&gt;
==Sparring Tournaments==&lt;br /&gt;
Delteria hosts two weekly sparring tournaments, singles and tag team. The singles tournament is every Saturday at 10 P.M. while the tag team on Monday at 8 P.M.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''NPC Admininstrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:TiamatIsBack|Tiamat]] || Levels Development Admininstrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Admin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Admin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6353</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6353"/>
		<updated>2006-02-19T06:14:58Z</updated>

		<summary type="html">&lt;p&gt;Riot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=Events=&lt;br /&gt;
One of the main things to do on Delteria is participate in events and tournaments. Delteria currently has 37 events, some of which are the same with slight differences (such as theme).&lt;br /&gt;
{|&lt;br /&gt;
|+ List of Events&lt;br /&gt;
|-&lt;br /&gt;
! Racing !! Team !! PK !! Shooting !! Strategy&lt;br /&gt;
|}&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''NPC Admininstrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:TiamatIsBack|Tiamat]] || Levels Development Admininstrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Admin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Admin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6352</id>
		<title>Worlds/Delteria</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Delteria&amp;diff=6352"/>
		<updated>2006-02-19T06:06:47Z</updated>

		<summary type="html">&lt;p&gt;Riot: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
=About=&lt;br /&gt;
As one of Graal Online's oldest playerworlds, Delteria is home to a long and rich history. While on Delteria, you'll find yourself entertained by its exciting events, helpful staff team, and thriving guild community. From events that require staff to assist to those for just you and your friends to play, from Spar tournaments to Events Tournaments, Delteria has it all.  We feature classic gameplay, and is easily accessible to new players.&lt;br /&gt;
=Staff=&lt;br /&gt;
This is '''only''' the higher-up staff, staff members in ''italics'' are considered server administrators.&lt;br /&gt;
{| style=&amp;quot;width:400px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Nick !! Position&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:misconception|MisconceptioN]]'' || ''Manager''&lt;br /&gt;
|-&lt;br /&gt;
| ''[[User:Riot|Riot]]'' || ''NPC Admininstrator''&lt;br /&gt;
|-&lt;br /&gt;
| [[User:TiamatIsBack|Tiamat]] || Levels Development Admininstrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:LilNiglet|Tupper]] || Development Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Alex-Stravier|Alex Stravier]] || GP Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:bumbo|Bumbo]] || GP Asst. Administrator&lt;br /&gt;
|-&lt;br /&gt;
| [[User:OmegaFuzen|Enzien]] || GP Captain&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Catiroth11|Catiroth]] || Events Admin&lt;br /&gt;
|-&lt;br /&gt;
| [[User:Scene|Scene]] || Events Asst. Admin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=External Links=&lt;br /&gt;
* [http://delteria.com/ Delteria's web site (under construction)]&lt;br /&gt;
* [http://forums.delteria.com/ Delteria Forums]&lt;br /&gt;
=Screenshots=&lt;br /&gt;
[[Image:bumbo-delt-screenie.png]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Riot</name></author>
	</entry>
</feed>