<?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=Jake13jake</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=Jake13jake"/>
	<link rel="alternate" type="text/html" href="https://graalonline.net/Special:Contributions/Jake13jake"/>
	<updated>2026-04-10T00:34:54Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Inspection/Playerworld_Scripting&amp;diff=7212</id>
		<title>Creation/Inspection/Playerworld Scripting</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Inspection/Playerworld_Scripting&amp;diff=7212"/>
		<updated>2006-08-21T15:02:07Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* Efficiency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
So, you've created your playerworld and decided that you want an inspection to check that things are in order, before being moved to Hosted. There are various requirements for playerworlds to pass inspections, and scripting is a quite important part.&lt;br /&gt;
&lt;br /&gt;
=== Why inspect scripting? ===&lt;br /&gt;
We inspect scripting because it helps to protect your playerworld. There are people out there who will take advantage of the Graal client, and careful scripting methods can help to reduce the amount of damage that can be done by using client hacks and such.&lt;br /&gt;
&lt;br /&gt;
There are a few things which will be looked for upon a scripting inspection, and in this article, we'll cover the basics of what the inspection team will be looking for.&lt;br /&gt;
&lt;br /&gt;
=== Guidelines ===&lt;br /&gt;
Make sure that your scripts follow the guidelines set here. It will increase the chance that your inspection will pass, and it will help your server overall.&lt;br /&gt;
&lt;br /&gt;
==== Security ====&lt;br /&gt;
Make sure that your scripts are '''secure'''.&lt;br /&gt;
&lt;br /&gt;
Following are a couple of things that you can do to enforce security in your scripts.&lt;br /&gt;
&lt;br /&gt;
* If you are checking for staff flags, i.e. clientr.staff, then make sure that the checks are on the serverside. The first example is good, the second example is bad.&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;function onActionserverside()&lt;br /&gt;
{ &lt;br /&gt;
  if (params[0] == &amp;quot;warpto&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if (clientr.staff)&lt;br /&gt;
    {&lt;br /&gt;
      // do warp stuff&lt;br /&gt;
     }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//#CLIENTSIDE&lt;br /&gt;
&lt;br /&gt;
function onPlayerChats()&lt;br /&gt;
{&lt;br /&gt;
  if (player.chat == &amp;quot;warp&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    triggeraction(0, 0, &amp;quot;serverside&amp;quot;, &amp;quot;weaponname&amp;quot;, &amp;quot;warpto&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;function onActionserverside()&lt;br /&gt;
{ &lt;br /&gt;
  if (params[0] == &amp;quot;warpto&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    // do warp stuff&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//#CLIENTSIDE&lt;br /&gt;
&lt;br /&gt;
function onPlayerChats()&lt;br /&gt;
{&lt;br /&gt;
  if (player.chat == &amp;quot;warp&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    if (clientr.staff)&lt;br /&gt;
    {&lt;br /&gt;
      triggeraction(0, 0, &amp;quot;serverside&amp;quot;, &amp;quot;weaponname&amp;quot;, &amp;quot;warpto&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
* If you are going to have staff flags, then make sure that they are clientr. flags so that the client cannot edit them and take advantage.&lt;br /&gt;
* Try to avoid &amp;quot;open-ended&amp;quot; triggeractions. By &amp;quot;open-ended&amp;quot;, we mean that you should make sure that your checks are more obscure, or expecting more. The first example is good, and the second example is bad.&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;pre&amp;gt;function onActionserverside()&lt;br /&gt;
{&lt;br /&gt;
  if (params[0] == &amp;quot;firstparam&amp;quot;)&lt;br /&gt;
  {&lt;br /&gt;
    player.setLevel2(thislevelname, x, y);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;function onActionserverside()&lt;br /&gt;
{&lt;br /&gt;
  player.setLevel2(&amp;quot;levelname&amp;quot;, x, y);&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
==== Efficiency ====&lt;br /&gt;
Make sure that your scripts are '''efficient'''.&lt;br /&gt;
&lt;br /&gt;
Here are some guidelines which can help to promote efficiency.&lt;br /&gt;
&lt;br /&gt;
* Avoid using timeouts on the serverside unnecessarily. It might be better to check for an event instead.&lt;br /&gt;
* Avoid using fast times on the serverside at all. A timeout should not be any faster than 0.5 on the serverside.&lt;br /&gt;
* Avoid updating a large multitude of clientr.vars at the same time. These all need to be sent to the client. You can use non-prefixed vars if the information does not need to be accessed by the client.&lt;br /&gt;
* Try to avoid sending a multitude of triggeractions at a high speed from the clientside. Sending one triggeraction per second should be plenty for whatever use. Any faster is probably overkill. The same effect occurs with updating client.vars.&lt;br /&gt;
* Don't use serverr. flags unless you need to. serverr. flags are fed to the client quite often, even when they aren't being used, so only use them if you know that they are values that will be used regularly. For storing values for use on the serverside, using a database NPC might be more effective.&lt;br /&gt;
&lt;br /&gt;
==== Scripting Style ====&lt;br /&gt;
Make sure that your scripts can be '''worked with''', and are '''readable'''.&lt;br /&gt;
&lt;br /&gt;
* Consider divising a sensible scripting format for your scripts and sticking with it consistently between scripts. If you aren't sure of a sensible format, then consider following a scripting format like those set out in [http://forums.graalonline.com/forums/showthread.php?t=61805 Skyld's Script Formatting Guidelines].&lt;br /&gt;
* Avoid mixing old scripting engine and new scripting engine code in the same script. It makes it much harder to understand.&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Classic&amp;diff=7204</id>
		<title>Worlds/Classic</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Classic&amp;diff=7204"/>
		<updated>2006-08-14T17:28:20Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* 'New Classic' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Login_server_classic.png|left]]&lt;br /&gt;
[[Worlds/Classic|Classic]] is a top 2D multiplayer server that focuses primarily on its adventure aspects and player interaction rather than having tiresome experienced based leveling or huge role play elements. As Graal's oldest world, it has a lot of prestige, reputation and history amongst players.&lt;br /&gt;
&lt;br /&gt;
Many players of the players enjoy practicing thier fighting techniques through sparring (organized fighting) and pk'ing (somewhat less organized fighting), and there is a lot of competition to become the best. Each month, a large tournament is held to determine the finest fighter on [[Worlds/Classic|Classic]] - a position that comes with great honour, and frequently the events team hold various sparring tournaments. As Classic is not level/experience based, it is possible for players from all servers to come on and be competitive based on thier skill alone.&lt;br /&gt;
&lt;br /&gt;
[[Worlds/Classic|Classic's]] events team also put on many other events throughout the day, such as ''Capture The Flag'', ''Sumo Battles'' and many more, with the winning players recieving tickets that can be exchanged for unique collectors items. With new event items being added all the time, it will take the most dedicated of player to obtain them all.&lt;br /&gt;
&lt;br /&gt;
As a Classic server, [[Worlds/Classic|Classic]] is available to all players, though [[Trial]] accounts will not have thier stats saved.&lt;br /&gt;
&lt;br /&gt;
=History=&lt;br /&gt;
===The Early Years===&lt;br /&gt;
[[Worlds/Classic|Classic]] was the first Server to emerge on Graal, and as a result, has gathered a strong reputation amongst [[Oldbies]]. &lt;br /&gt;
&lt;br /&gt;
For a long time, the server was managed by Tyhm, and slowly evolved with interesting new ideas such as 'races', whereby players gained attributes of thier chosen race, for example, the Zorbi race could trap other players inside bubbles in order to escape a battle, though these races were later removed after players complained of 'unfairness' between them. &lt;br /&gt;
&lt;br /&gt;
As time continued, a storyline and cutscenes were integrated, and the overworld was moulded to fit more cleanly together, eventually shaping the [[Worlds/Classic|Classic]] world into a series of islands. These changes were prompted by the influx of new players, and the introduction of mapped levels, which allowed players to see nearby levels as if they were part of one large area. To appease some of the older players, unhappy with these changes, a quest was formed which took an early version of [[Worlds/Classic|Classic]], and placed it into a 'museum'.&lt;br /&gt;
&lt;br /&gt;
===The Middle Ages===&lt;br /&gt;
By mid 2003, [[Worlds/Classic|Classic]] was bulging with content, with some 7000 levels on the server. Whilst this was great for the players, especially those with a tendency to explore, Tyhm and his development team himself were finding it increasingly difficult to convert everything over for the emerging [[NPC-Server]] technology.&lt;br /&gt;
&lt;br /&gt;
In March 2004, due to other commitments, Tyhm left the management of [[Worlds/Classic|Classic]], and after a brief period of anarchy, [[Stefan]] stepped in, appointing a new manager, Master Storm on the 7th of April. Storm made it his primary focus to get the NPC Server released, as it was by now some many years overdue. Due to various situations, namely the difficulty with converting everything, Storm decided instead to rebuild [[Worlds/Classic|Classic]] from scratch, focusing on getting compatibility with the NPC server at a base level, and expanding with content after. The wipe of content also meant that new ideas could be implemented, and that the [[Worlds/Classic|Classic]] development team could create a world closer to the servers roots.&lt;br /&gt;
&lt;br /&gt;
==='New Classic'===&lt;br /&gt;
On January 6th 2005, the [[NPC-Server]] launched for [[Worlds/Classic|Classic]]. This came somewhat early in the development of 'New Classic', but was pretty much forced as support for old style Classic GServers was being removed. It is fair to say that the server was rushed to meet this deadline, and this has had large knock on effects. Not long after, GScript 2 was introduced, and this futher delayed progress, as time had to be dedicated to compatability rather than the creation of content. The appointment of a new LAT Admin in August '05 has greatly improved the situation, and [[Worlds/Classic|Classic]]is finally rebuilding itself.&lt;br /&gt;
&lt;br /&gt;
Since the introduction of the [[NPC-Server]], [[Worlds/Classic|Classic]] has been using custom movement and hit detection. Whilst these have been designed to closely emulate the built in system of Graal, by using custom movement, the opportunity for interesting new ideas is greatly increased. The custom movement also allows more subtle tweaks, such as allowing for a greater range of player movement speeds, and encompasses various bug fixes. &lt;br /&gt;
&lt;br /&gt;
More controversial is the rewritten hit detection. This places the hit detection entirely serverside, as opposed to the clientside detection with which many are accustomed. This greatly improves security, and provides a more consistent, lower lag, but has been controversial with the players, most notably the sparring and pk'ing fraternity, as they have had to adjust to the different lag behaviour.&lt;br /&gt;
&lt;br /&gt;
There remain few who still believe that the rebuilding is, in essence, wrong. There remain even fewer who hold a hope of actually gaining the beloved [[Worlds/Classic|Classic]] back. The current view of the Levels Administration Team is to not reject any fair content that is already existing on the server, and there are also efforts to restore older content.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
===Management ''(Manager)''===&lt;br /&gt;
[[User:Polo|Master Storm]] is the current Manager of [[Worlds/Classic|Classic]], and is in charge of directing each staff divisions, also well as overseeing the development of the server.&lt;br /&gt;
&lt;br /&gt;
Can be contacted via:&lt;br /&gt;
* Forum PM: Polo&lt;br /&gt;
* E-Mail: admin@master-storm.co.uk&lt;br /&gt;
* AIM: StormLagmaster&lt;br /&gt;
&lt;br /&gt;
===Graal Police ''(GP)''===&lt;br /&gt;
Graal Police is the oldest, and in some ways most prestigious of all the staff devisions. Led by [[User:StrykerTFFD|Stryker]], the division is in charge of ensuring that all players act in an orderly manner, jailing those who offend. They are also out the detect thos using hacks/trainers to gain an unfair advantage, banning them as appropriate.&lt;br /&gt;
&lt;br /&gt;
===Levels Administration Team ''(LAT)''===&lt;br /&gt;
Currently fronted by [[User:jake13jake|Massokre]], the LAT team is there for all aspects of development, from graphics and tiling, through to scripting. They are also in charge of handling player submissions of content. More specifically [[User:newCappa|Cappa]] and [[User:trifle|PKT]] take charge of graphics and ganis, while [[User:playared|Exodus]] is in charge of levels content. [[User:jake13jake|Massokre]], as admin has a large influence into the evolution of the server, and with his team are responsible for creating the quests of tommorow.&lt;br /&gt;
&lt;br /&gt;
===Events Team ''(Game Coordinator)''===&lt;br /&gt;
Along with his minions, Game Coordinator admin '[[User:Nightmareangel|Night Darkmane]]' is out there to ensure that all players are well entertained through various events and tournaments. &lt;br /&gt;
&lt;br /&gt;
===Frequently Asked Questions ''(FAQ)''===&lt;br /&gt;
The FAQ team, led by [[User:EvilOmniscience|Thermo]], were created in order to help players progress through quests, or to become familar with Graal and Classic itself. Originally a task done by GP's (with mixed results), the FAQ team are the people to turn to when you've forgotten a vital control, or need help obtaining a given item, or simply, if you don't know what to do!&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Talk:Worlds/Classic&amp;diff=7203</id>
		<title>Talk:Worlds/Classic</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Talk:Worlds/Classic&amp;diff=7203"/>
		<updated>2006-08-14T17:23:50Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Because the last paragraph includes a point of view that does not show support for itself, I am going to modify it.&lt;br /&gt;
&lt;br /&gt;
Honestly, if you have any problems with Classic your opinion is held in high regard, but no action can be taken if you can't support your opinion. I will -always- listen to alternative ideas. Time for implementation of things can be long because I am the only active scripter and I'm at times also caught up in tiling and graphics projects. It may be better to contact me than Master Storm with your opinions because I am currently able to be more active in development and have a better understanding of  most of the systems in place.&lt;br /&gt;
--[[User:Jake13jake|Jake13jake]] 19:23, 14 August 2006 (CEST)&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=File:Graaleaster_1145148888.png&amp;diff=6830</id>
		<title>File:Graaleaster 1145148888.png</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=File:Graaleaster_1145148888.png&amp;diff=6830"/>
		<updated>2006-04-16T02:16:31Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: Classic Easter 2006: Revenge of the KILLER Bunnies!!!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Classic Easter 2006: Revenge of the KILLER Bunnies!!!&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=File:Classic_easter_1145148888.png&amp;diff=6827</id>
		<title>File:Classic easter 1145148888.png</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=File:Classic_easter_1145148888.png&amp;diff=6827"/>
		<updated>2006-04-16T02:12:31Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: Classic Easter 2006: Revenge of the KILLER Bunnies!!!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Classic Easter 2006: Revenge of the KILLER Bunnies!!!&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerNPC&amp;diff=6605</id>
		<title>Creation/Dev/Script/Client/TServerNPC</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Script/Client/TServerNPC&amp;diff=6605"/>
		<updated>2006-03-14T21:14:04Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* Variables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Inherits [[Creation/Dev/Script/Client/TServerPlayer|TServerPlayer]].&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;
| actionplayer&lt;br /&gt;
| integer (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hearts&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| height&lt;br /&gt;
| float (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| horseimg&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hp&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hurtdx&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hurtdy&lt;br /&gt;
| float&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| image&lt;br /&gt;
| string&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| layer&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| peltwithblackstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| peltwithbush&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| peltwithnpc&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| peltwithsign&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| peltwithstone&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| peltwithvase&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| save&lt;br /&gt;
| object (read only)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shieldpower&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| sprite&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| swordpower&lt;br /&gt;
| integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| visible&lt;br /&gt;
| boolean&lt;br /&gt;
| True if the NPC is not hidden&lt;br /&gt;
|-&lt;br /&gt;
| isblocking&lt;br /&gt;
| boolean (read only)&lt;br /&gt;
| True if the NPC is blocking&lt;br /&gt;
|-&lt;br /&gt;
| width&lt;br /&gt;
| float (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;
| blockagain()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| blockagainlocal()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| canbecarried()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| canbepulled()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| canbepushed()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| cannotbecarried()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| cannotbepulled()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| cannotbepushed()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| carryobject(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| changeimgcolors(int, float, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| changeimgmode(int, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| changeimgpart(int, int, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| changeimgvis(int, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| changeimgzoom(int, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| destroy()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| dontblock()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| dontblocklocal()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| drawaslight()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| drawoverplayer()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| drawunderplayer()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| findimg(int)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hide()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hideimg(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hideimgs(int, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hidelocal()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| hurt(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| lay(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| message(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| move(float, float, float, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setbow(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcharani(str, str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setchargender(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setcoloreffect(float, float, float, float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| seteffectmode(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setimg(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setimgpart(str, int, int, int, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshape(int, int, int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| setshape2(int, int, obj)&lt;br /&gt;
|&lt;br /&gt;
| Supported tile types:&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;
  | 0&lt;br /&gt;
  | Nonblocking&lt;br /&gt;
  |-&lt;br /&gt;
  | 2&lt;br /&gt;
  | Hurting underground&lt;br /&gt;
  |-&lt;br /&gt;
  | 3&lt;br /&gt;
  | Chair&lt;br /&gt;
  |-&lt;br /&gt;
  | 4&lt;br /&gt;
  | Bed upper side&lt;br /&gt;
  |-&lt;br /&gt;
  | 5&lt;br /&gt;
  | Bed lower side&lt;br /&gt;
  |-&lt;br /&gt;
  | 6&lt;br /&gt;
  | Swamp&lt;br /&gt;
  |-&lt;br /&gt;
  | 7&lt;br /&gt;
  | Lava swamp&lt;br /&gt;
  |-&lt;br /&gt;
  | 8&lt;br /&gt;
  | Near water&lt;br /&gt;
  |-&lt;br /&gt;
  | 9&lt;br /&gt;
  | Near lava&lt;br /&gt;
  |-&lt;br /&gt;
  | 11&lt;br /&gt;
  | Water&lt;br /&gt;
  |-&lt;br /&gt;
  | 12&lt;br /&gt;
  | Lava&lt;br /&gt;
  |-&lt;br /&gt;
  | 20&lt;br /&gt;
  | Throw-through (fences)&lt;br /&gt;
  |-&lt;br /&gt;
  | 21&lt;br /&gt;
  | Jumping stone&lt;br /&gt;
  |-&lt;br /&gt;
  | 22&lt;br /&gt;
  | Blocking tile&lt;br /&gt;
  |}&lt;br /&gt;
|-&lt;br /&gt;
| setzoomeffect(float)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shootarrow(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shootball()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shootfireball(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shootfireblast(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| shootnuke(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| show()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showani(int, float, float, int, str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showani2(int, float, float, float, int, str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showcharacter()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showimg(int, str, float, float)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showimg2(int, str, float, float, float)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showlocal()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showpoly(int, obj)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showpoly2(int, obj)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showtext(int, float, float, str, str, str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| showtext2(int, float, float, float, str, str, str)&lt;br /&gt;
| object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| take(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| take2(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| takehorse(int)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| throwcarry()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| timereverywhere()&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| toweapons(str)&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6604</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=6604"/>
		<updated>2006-03-14T21:05:00Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* Settings */&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;
| 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>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Worlds/Classic&amp;diff=6570</id>
		<title>Worlds/Classic</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Worlds/Classic&amp;diff=6570"/>
		<updated>2006-03-11T03:48:16Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* Levels Administration Team ''(LAT)'' */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{playerworld}}&lt;br /&gt;
&lt;br /&gt;
[[Image:Login_server_classic.png|left]]&lt;br /&gt;
[[Worlds/Classic|Classic]] is a top 2D multiplayer server that focuses primarily on its adventure aspects and player interaction rather than having tiresome experienced based leveling or huge role play elements. As Graal's oldest world, it has a lot of prestige, reputation and history amongst players.&lt;br /&gt;
&lt;br /&gt;
Many players of the players enjoy practicing thier fighting techniques through sparring (organized fighting) and pk'ing (somewhat less organized fighting), and there is a lot of competition to become the best. Each month, a large tournament is held to determine the finest fighter on [[Worlds/Classic|Classic]] - a position that comes with great honour, and frequently the events team hold various sparring tournaments. As Classic is not level/experience based, it is possible for players from all servers to come on and be competitive based on thier skill alone.&lt;br /&gt;
&lt;br /&gt;
[[Worlds/Classic|Classic's]] events team also put on many other events throughout the day, such as ''Capture The Flag'', ''Sumo Battles'' and many more, with the winning players recieving tickets that can be exchanged for unique collectors items. With new event items being added all the time, it will take the most dedicated of player to obtain them all.&lt;br /&gt;
&lt;br /&gt;
As a Classic server, [[Worlds/Classic|Classic]] is available to all players, though [[Trial]] accounts will not have thier stats saved.&lt;br /&gt;
&lt;br /&gt;
=History=&lt;br /&gt;
===The Early Years===&lt;br /&gt;
[[Worlds/Classic|Classic]] was the first Server to emerge on Graal, and as a result, has gathered a strong reputation amongst [[Oldbies]]. &lt;br /&gt;
&lt;br /&gt;
For a long time, the server was managed by Tyhm, and slowly evolved with interesting new ideas such as 'races', whereby players gained attributes of thier chosen race, for example, the Zorbi race could trap other players inside bubbles in order to escape a battle, though these races were later removed after players complained of 'unfairness' between them. &lt;br /&gt;
&lt;br /&gt;
As time continued, a storyline and cutscenes were integrated, and the overworld was moulded to fit more cleanly together, eventually shaping the [[Worlds/Classic|Classic]] world into a series of islands. These changes were prompted by the influx of new players, and the introduction of mapped levels, which allowed players to see nearby levels as if they were part of one large area. To appease some of the older players, unhappy with these changes, a quest was formed which took an early version of [[Worlds/Classic|Classic]], and placed it into a 'museum'.&lt;br /&gt;
&lt;br /&gt;
===The Middle Ages===&lt;br /&gt;
By mid 2003, [[Worlds/Classic|Classic]] was bulging with content, with some 7000 levels on the server. Whilst this was great for the players, especially those with a tendency to explore, Tyhm and his development team himself were finding it increasingly difficult to convert everything over for the emerging [[NPC-Server]] technology.&lt;br /&gt;
&lt;br /&gt;
In March 2004, due to other commitments, Tyhm left the management of [[Worlds/Classic|Classic]], and after a brief period of anarchy, [[Stefan]] stepped in, appointing a new manager, Master Storm on the 7th of April. Storm made it his primary focus to get the NPC Server released, as it was by now some many years overdue. Due to various situations, namely the difficulty with converting everything, Storm decided instead to rebuild [[Worlds/Classic|Classic]] from scratch, focusing on getting compatibility with the NPC server at a base level, and expanding with content after. The wipe of content also meant that new ideas could be implemented, and that the [[Worlds/Classic|Classic]] development team could create a world closer to the servers roots.&lt;br /&gt;
&lt;br /&gt;
==='New Classic'===&lt;br /&gt;
On January 6th 2005, the [[NPC-Server]] launched for [[Worlds/Classic|Classic]]. This came somewhat early in the development of 'New Classic', but was pretty much forced as support for old style Classic GServers was being removed. It is fair to say that the server was rushed to meet this deadline, and this has had large knock on effects. Not long after, GScript 2 was introduced, and this futher delayed progress, as time had to be dedicated to compatability rather than the creation of content. The appointment of a new LAT Admin in August '05 has greatly improved the situation, and [[Worlds/Classic|Classic]]is finally rebuilding itself.&lt;br /&gt;
&lt;br /&gt;
Since the introdustion of the [[NPC-Server]], [[Worlds/Classic|Classic]] has been using custom movement and hit detection. Whilst these have been designed to closely emulate the built in system of Graal, by using custom movement, the opportunity for interesting new ideas is greatly increased. The custom movement also allows more subtle tweaks, such as allowing for a greater range of player movement speeds, and encompasses various bug fixes. &lt;br /&gt;
&lt;br /&gt;
More controversial is the rewritten hit detection. This places the hit detection entirely serverside, as opposed to the clientside detection with which many are accustomed. This greatly improves security, and provides a more consistent, lower lag, but has been controversial with the players, most notably the sparring and pk'ing fraternity, as they have had to adjust to the different lag behaviour.&lt;br /&gt;
&lt;br /&gt;
There remain few who still believe that the rebuilding is, in essence, wrong. However, any opinions held by these members of [[Worlds/Classic|Classic]] are held in disregard. There remain even fewer who hold a hope of actually gaining the beloved [[Worlds/Classic|Classic]] back. If you would like to join the fight to restore classic, feel free to contact any of the known revolutionaries. However, it is most likely no one will care and you will be placed on special &amp;quot;Staff Watch Lists&amp;quot;. It is a dangerous path, so watch yourself.&lt;br /&gt;
&lt;br /&gt;
=Staff=&lt;br /&gt;
===Management ''(Manager)''===&lt;br /&gt;
[[User:Polo|Master Storm]] is the current Manager of [[Worlds/Classic|Classic]], and is in charge of directing each staff divisions, also well as overseeing the development of the server.&lt;br /&gt;
&lt;br /&gt;
Can be contacted via:&lt;br /&gt;
* Forum PM: Polo&lt;br /&gt;
* E-Mail: admin@master-storm.co.uk&lt;br /&gt;
* AIM: StormLagmaster&lt;br /&gt;
&lt;br /&gt;
===Graal Police ''(GP)''===&lt;br /&gt;
Graal Police is the oldest, and in some ways most prestigious of all the staff devisions. Led by [[User:StrykerTFFD|Stryker]], the division is in charge of ensuring that all players act in an orderly manner, jailing those who offend. They are also out the detect thos using hacks/trainers to gain an unfair advantage, banning them as appropriate.&lt;br /&gt;
&lt;br /&gt;
===Levels Administration Team ''(LAT)''===&lt;br /&gt;
Currently fronted by [[User:jake13jake|Massokre]], the LAT team is there for all aspects of development, from graphics and tiling, through to scripting. They are also in charge of handling player submissions of content. More specifically [[User:newCappa|Cappa]] and [[User:trifle|PKT]] take charge of graphics and ganis, while [[User:playared|Exodus]] is in charge of levels content. [[User:jake13jake|Massokre]], as admin has a large influence into the evolution of the server, and with his team are responsible for creating the quests of tommorow.&lt;br /&gt;
&lt;br /&gt;
===Events Team ''(Game Coordinator)''===&lt;br /&gt;
Along with his minions, Game Coordinator admin '[[User:Nightmareangel|Night Darkmane]]' is out there to ensure that all players are well entertained through various events and tournaments. &lt;br /&gt;
&lt;br /&gt;
===Frequently Asked Questions ''(FAQ)''===&lt;br /&gt;
The FAQ team, led by [[User:EvilOmniscience|Thermo]], were created in order to help players progress through quests, or to become familar with Graal and Classic itself. Originally a task done by GP's (with mixed results), the FAQ team are the people to turn to when you've forgotten a vital control, or need help obtaining a given item, or simply, if you don't know what to do!&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Jake13jake&amp;diff=6569</id>
		<title>User:Jake13jake</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Jake13jake&amp;diff=6569"/>
		<updated>2006-03-11T03:41:59Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LAT Administrator of Graal Classic.&lt;br /&gt;
Attending the University of Vermont in the study of Computer Sciences and Information Systems.&lt;br /&gt;
Is good with concepts.&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6568</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=6568"/>
		<updated>2006-03-11T02:58:56Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* 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;
| 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/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6567</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=6567"/>
		<updated>2006-03-11T02:57:36Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* 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;
| 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 x 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/TUpdatePackage|TUpdatePackage]]&lt;/div&gt;</summary>
		<author><name>Jake13jake</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Script/Client&amp;diff=6566</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=6566"/>
		<updated>2006-03-11T02:43:43Z</updated>

		<summary type="html">&lt;p&gt;Jake13jake: /* 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;
|&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;
|&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>Jake13jake</name></author>
	</entry>
</feed>