<?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=Devilsknite1</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=Devilsknite1"/>
	<link rel="alternate" type="text/html" href="https://graalonline.net/Special:Contributions/Devilsknite1"/>
	<updated>2026-04-10T01:01:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Old_GScript&amp;diff=12046</id>
		<title>Creation/Dev/Old GScript</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Old_GScript&amp;diff=12046"/>
		<updated>2009-05-12T06:16:57Z</updated>

		<summary type="html">&lt;p&gt;Devilsknite1: /* Built-in Flags	     true when: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Commands==&lt;br /&gt;
&lt;br /&gt;
===for program execution:===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set flagname;                              sets a flag to true&lt;br /&gt;
unset flagname;                            sets a flag to false&lt;br /&gt;
if (flag) operation;                       the operation will only be executed when &lt;br /&gt;
                                               flag is true&lt;br /&gt;
else operation;                            executes an operation wenn flag was false&lt;br /&gt;
for (init-op; flag; incr-op) operation;    executes &amp;lt;init-op&amp;gt;, then while flag is true &lt;br /&gt;
                                               &amp;lt;operation;incr-op&amp;gt;&lt;br /&gt;
while (flag) operation;                    repeats the operation while flag is true&lt;br /&gt;
with (player/npc) operation;               executes an operation using player/npc as the &lt;br /&gt;
                                               current subject (server-side)&lt;br /&gt;
break;                                     ends a loop and continues with the script that&lt;br /&gt;
                                               follows to the loop&lt;br /&gt;
continue;                                  jumps to the beginning of the loop &lt;br /&gt;
                                               (next loop round)&lt;br /&gt;
function funcname() { operations; }        defines a function, can be called with funcname()&lt;br /&gt;
return;                                    ends the function immediatelly and returns to the &lt;br /&gt;
                                               function caller&lt;br /&gt;
sleep seconds;                             pauses the script execution for the specified time&lt;br /&gt;
setarray var,size;                         initializes var as an array of  the specified size&lt;br /&gt;
setstring varname,value;                   creates a string variable ‘varname’ with the given &lt;br /&gt;
                                               value&lt;br /&gt;
timereverywhere;                           allows timeouts on this machine even if the player &lt;br /&gt;
                                               didn’t entered the level first&lt;br /&gt;
addstring list,text;                       adds a string to a string list (saved as flag)&lt;br /&gt;
insertstring list,index,text;              inserts a string into a string list at the specified&lt;br /&gt;
                                               index&lt;br /&gt;
replacestring list,index,text;             replaces the string at position 'index' with 'text'&lt;br /&gt;
removestring list,text;                    removes all occurences of a string&lt;br /&gt;
deletestring list,index;                   deletes string list entry at position 'index'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===simple npc manipulation:===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setimg filename;                       changes the npc’s image&lt;br /&gt;
setimgpart filename,x,y,width,height;  changes the npc’s image and only displays the &lt;br /&gt;
                                           rectangle (x,y,width,height) of it&lt;br /&gt;
hide;                                  hides the npc&lt;br /&gt;
show;                                  shows an hidden npc&lt;br /&gt;
dontblock;                             lets the npc don’t block the player anymore&lt;br /&gt;
drawoverplayer;                        draws the npc over the player&lt;br /&gt;
drawunderplayer;                       draws the npc under the player&lt;br /&gt;
drawaslight;                           draws the npc above day/night&lt;br /&gt;
blockagain;                            turns off the four previous flags&lt;br /&gt;
canbecarried;                          the npc can now be lifted and carried by the player&lt;br /&gt;
cannotbecarried;                       turns off the previous flag&lt;br /&gt;
canbepushed;                           the npc can now be pushed by the player&lt;br /&gt;
cannotbepushed;                        turns off the previous flag&lt;br /&gt;
canbepulled;                           the npc can now be pulled by the player&lt;br /&gt;
cannotbepulled;                        turns off the previous flag&lt;br /&gt;
cannotwarp;                            disables link warping (dnpc) (server-side)&lt;br /&gt;
canwarp;                               enables link warping (dnpc) (server-side)&lt;br /&gt;
canwarp2;  	                       enables link warping for overworld links (dnpc) &lt;br /&gt;
                                          (server-side)&lt;br /&gt;
noplayeronwall;  	               players aren’t counted as a wall in onwall() or onwall2()&lt;br /&gt;
timershow;	                       lets the npc’s timeout be shown&lt;br /&gt;
showcharacter;		               displays a player character instead of the npc image&lt;br /&gt;
throwcarry;		               throws the carried object&lt;br /&gt;
followplayer;		               lets the npc follow the player; the action script keeps &lt;br /&gt;
                                           running set x/y to leave the player&lt;br /&gt;
hidelocal;		               hides the npc (only for the current player)&lt;br /&gt;
showlocal;		               shows an hidden npc (only for the current player)&lt;br /&gt;
dontblocklocal;		               lets the npc don’t block the player anymore (only for &lt;br /&gt;
                                           the current player)&lt;br /&gt;
blockagainlocal;		       turns off the three block flags (only for the current &lt;br /&gt;
                                           player)&lt;br /&gt;
destroy;			       deletes the npc&lt;br /&gt;
shootball;		               shoots a ball directly to the player&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===complex npc operations:===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
addguildmember guild,account,nick;  	          adds player to a guild (server-side)&lt;br /&gt;
removeguildmember guild,account,nick;	          removes a player from a guild (server-side)&lt;br /&gt;
removeguild guild;  	                          deletes a guild (server-side)&lt;br /&gt;
move dx,dy,time,options;	                  moves the npc, options: cachtype(0,1,2) + &lt;br /&gt;
                                                      blockcheck(4) + eventwhendone(8) + &lt;br /&gt;
                                                      applydir(16)&lt;br /&gt;
say signindex;	                                  displays signs&lt;br /&gt;
say2 text;	      	                          displays text as sign&lt;br /&gt;
lay itemname;	                                  lays an item&lt;br /&gt;
lay2 itemname,x,y;	                          lays an item to the specified position&lt;br /&gt;
take itemname;	                                  takes an item if available&lt;br /&gt;
take2 index;	                                  takes the item with the specified index&lt;br /&gt;
message text;	                                  displays a text message over the npc&lt;br /&gt;
setcharprop messagecode,string;	                  sets string properties of the character&lt;br /&gt;
setcharani ganifile;		                  sets the animation for the npc&lt;br /&gt;
setchargender gender;		                  sets the gender of the npc (male/female) &lt;br /&gt;
putnpc imgname,scriptname,x,y;	                  creates a npc, scriptname is the name of a &lt;br /&gt;
                                                      textfile containing the npc script &lt;br /&gt;
                                                      (deprecated)&lt;br /&gt;
putnpc2 x,y,{ script };	                          creates a npc, script is specified within &lt;br /&gt;
                                                      the brackets&lt;br /&gt;
callnpc index,eventflag,params;	                  calls the script of another npc (not &lt;br /&gt;
                                                      immediatelly)&lt;br /&gt;
callweapon index,eventflag,params;	          calls the script of a weapon (used together &lt;br /&gt;
                                                      with the variable selectedweapon)&lt;br /&gt;
carryobject carryobjectname;	                  the character carries an object &lt;br /&gt;
copystrings fromprefix,toprefix;	          copys all strings of type fromprefix to the &lt;br /&gt;
                                                      type toprefix&lt;br /&gt;
copyflagss fromprefix,toprefix;	                  copys all flags of type fromprefix to the &lt;br /&gt;
                                                      type toprefix&lt;br /&gt;
toinventory flag;			          puts the npc into the player’s inventory &lt;br /&gt;
                                                      until the flag is unset&lt;br /&gt;
toweapons weaponname;	   	                  adds this npc to the players weapon list &lt;br /&gt;
                                                      (deprecated, DO NOT USE WITH AN NPC &lt;br /&gt;
                                                      SERVER!)&lt;br /&gt;
addweapon weaponname;		                  adds a weapon from a database to your &lt;br /&gt;
                                                      inventory (server-side)&lt;br /&gt;
removeweapon weaponname;	                  deletes „weaponname“ from your inventory &lt;br /&gt;
                                                      (server-side)&lt;br /&gt;
seteffect red,green,blue,alpha;	                  sets the day/night effect (default 0,0,0,0)&lt;br /&gt;
seteffectmode mode;	                          changes mode of setcoloreffect of npc &lt;br /&gt;
                                                      (0 - lights color +, 1 - transparency &lt;br /&gt;
                                                      alpha blending, 2 - holes color -)&lt;br /&gt;
setcoloreffect red,green,blue,alpha;	          sets the color / alpha blending effect &lt;br /&gt;
                                                      of the npc (default 1,1,1,1)&lt;br /&gt;
setzoomeffect zoomfactor;		          sets the zoom factor (default 1)&lt;br /&gt;
showani index,x,y,direction,animation,params;	  shows the animation at the given position&lt;br /&gt;
showani2 index,x,y,z,direction,animation,params;  shows the animation at the given position&lt;br /&gt;
showimg index,filename,x,y;	                  shows an image at the given position&lt;br /&gt;
showimg2 index,image,x,y,z;                       shows an image at the given position&lt;br /&gt;
showpoly index,{x1,y1,x2,y2,...};	          draws a polygon with given verticies, &lt;br /&gt;
                                                      4 params will draw a line&lt;br /&gt;
showpoly2 index,{x1,y1,z1,x2,y2,z2,...};          draws a polygon with given verticies, &lt;br /&gt;
                                                      6 params will draw a line&lt;br /&gt;
showtext index,x,y,font,style,text;	          shows text at the given position with &lt;br /&gt;
                                                      font and style&lt;br /&gt;
showtext2 index,x,y,z,font,style,text;	          shows text at the given position with &lt;br /&gt;
                                                      font and style&lt;br /&gt;
hideimg index;		                          removes the image with the specified index&lt;br /&gt;
hideimgs indexstart,indexend;	                  removes the images with the specified &lt;br /&gt;
                                                      indecies&lt;br /&gt;
changeimg part index,x,y,width,height;	          changes the visible part of the showimg&lt;br /&gt;
changeimgvis index,drawingheight;	          changes the drawing height of the showimg &lt;br /&gt;
                                                      (0-3 playing board,4+ screen)&lt;br /&gt;
changeimgcolors index,red,green,blue,alpha;       sets color / alpha blending for the showimg &lt;br /&gt;
                                                      (default 1,1,1,1)&lt;br /&gt;
changeimgzoom index,zoomfactor;	                  sets zoom factor for the the showimg &lt;br /&gt;
                                                      (default 1)&lt;br /&gt;
changeimgmode index,mode;	                  changes color mode for showimg (see &lt;br /&gt;
                                                      modes in seteffectmode)&lt;br /&gt;
sendtorc message;  	                          sends a message to rc (server-side)&lt;br /&gt;
sendtonc message;  	                          sends a message to nc (server-side)&lt;br /&gt;
sendpm message;   	                          sends a pm to the current player (server-side)&lt;br /&gt;
setpm message;   		                  sets the default message for the npcserver &lt;br /&gt;
                                                      (only for npcserver)&lt;br /&gt;
sendrpgmessage message;   	                  sends a rpg message to the current player &lt;br /&gt;
                                                      (server-side)&lt;br /&gt;
setshape type,width,height;	                  sets the shape of the npc: type=1 means &lt;br /&gt;
                                                      rectangle (width,height in pixels)&lt;br /&gt;
setshape2 width,height,{tiletypes..};	          sets the shape of the npc to a rectangle &lt;br /&gt;
                                                      of tiles&lt;br /&gt;
setshootparams params;	                          sets params sent to called scripts with shoot&lt;br /&gt;
shoot x,y,z,angle,zangle,power,gani,ganiparams;   shoots a projectile&lt;br /&gt;
shootarrow direction;	                          shoots an arrow&lt;br /&gt;
shootfireball direction;	                  shoots a firewall&lt;br /&gt;
shootfireblast direction;	                  shoots a fireblast&lt;br /&gt;
shootnuke direction;	                          shoots an nukeshot&lt;br /&gt;
spyfire length,power;		                  shoots a horse fire with length and power&lt;br /&gt;
join classname; 		                  adds script from classfile classname&lt;br /&gt;
hitnpc index,halfhearts,fromx,fromy;	          hurts an npc (changes hearts, hurtdx, hurtdy)&lt;br /&gt;
takehorse index;		                  takes the horse with the specified index &lt;br /&gt;
                                                      (only works in combination with &lt;br /&gt;
                                                      ‘showcharacter’ )&lt;br /&gt;
tokenize str;		                          divides str into words (tokens) which can &lt;br /&gt;
                                                      be read with #t(index)&lt;br /&gt;
tokenize2 delims,str;	                          divides str into tokens, using ‘delims’ as &lt;br /&gt;
                                                      additional delimiters&lt;br /&gt;
warpto level,x,y;     	                          warps database npc to level at x,y&lt;br /&gt;
wraptext  length,delims,text;                     divides test into pieces of length ‘length’ &lt;br /&gt;
                                                      with additional delimeters &lt;br /&gt;
                                                      (accessed through tokens)&lt;br /&gt;
wraptext2 width,zoom,delims,text;                 divides test into pieces of length in pixels&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===player manipulation:===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attachplayertoobj objecttype,id;          attaches player to object (0=npcs)&lt;br /&gt;
detachplayer;		                  detaches the player from an npc&lt;br /&gt;
serverwarp server;	   	          warps the player to another server&lt;br /&gt;
setlevel filename;		          warps the player (URLs not supported)&lt;br /&gt;
setlevel2 filename,x,y;	                  warps the player to the specified level and position&lt;br /&gt;
seturllevel URL;		          warps the player to an URL (without the leading http://!)&lt;br /&gt;
setbody filename;		          sets the body image for the player&lt;br /&gt;
sethead filename;		          sets the head image for the player&lt;br /&gt;
setsword imgname,power;	                  changes the players sword (-20&amp;lt;=power&amp;lt;=20)&lt;br /&gt;
setshield imgname,power;	          changes the players shield (0&amp;lt;=power&amp;lt;=10)&lt;br /&gt;
setani ganifile;		          sets the animation for the player&lt;br /&gt;
setplayerdir direction;	                  sets the player looking direction &lt;br /&gt;
setgender gender;		          sets the gender of the player (male/female) &lt;br /&gt;
setskincolor colorname;	                  changes the player skin&lt;br /&gt;
setcoatcolor colorname;	                  changes the player coat&lt;br /&gt;
setsleevecolor colorname;	          changes the player sleeves&lt;br /&gt;
setshoecolor colorname;	                  changes the player shoes&lt;br /&gt;
setbeltcolor colorname;   	          changes the player belt&lt;br /&gt;
setplayerprop messagecode,string;	  sets string properties of the player (except &lt;br /&gt;
                                              the nickname&amp;amp;guildcode)&lt;br /&gt;
takeplayercarry;		          removes the object carried by the player&lt;br /&gt;
takeplayerhorse;		          removes the player’s horse&lt;br /&gt;
disableweapons;		                  disables the player’s sword+bombs+darts&lt;br /&gt;
enableweapons;		                  enables the player weapons&lt;br /&gt;
freezeplayer seconds;	                  the player can’t move for the given time&lt;br /&gt;
freezeplayer2;	                          freezes player indefinitely&lt;br /&gt;
hideplayer seconds;	                  hides the player for the specified time&lt;br /&gt;
hidesword seconds;	                  hides the player’s sword for the specified time&lt;br /&gt;
hurt halfhearts;		          hurts the player&lt;br /&gt;
hitplayer index,halfhearts,fromx,fromy;	  hurts the player with index&lt;br /&gt;
disabledefmovement;	                  disables the normal player movement&lt;br /&gt;
enabledefmovement;	                  enables it again&lt;br /&gt;
disablepause;	                          disables the normal player pause&lt;br /&gt;
enablepause;	                          enables it again&lt;br /&gt;
disablemap; 		                  disables the normal player map&lt;br /&gt;
enablemap;		                  enables it again&lt;br /&gt;
replaceani ani,newani;	                  replaces a default animation&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===level/game manipulation:===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hitobjects power,x,y;	                hurts all players/npcs/baddies on that position&lt;br /&gt;
triggeraction x,y,action,params;	triggers a ‘if (action&amp;lt;action&amp;gt;)...’ on the &lt;br /&gt;
                                            objects on (x,y)&lt;br /&gt;
updateboard x,y,width,height;	        makes level board modifies visible&lt;br /&gt;
updateboard2 x,y,width,height;	        saves level board modifications if serveroption &lt;br /&gt;
                                            savelevels=true (serverside)&lt;br /&gt;
updateterrain;		                makes level terrain modifications visible&lt;br /&gt;
setz x,y,width,height,a,b,c,d;	        sets z of x,y with a,b,c,d as corner heights &lt;br /&gt;
                                           (use updateterrain to save)&lt;br /&gt;
putobject objectname,x,y;	        puts an object onto the board&lt;br /&gt;
putbomb power,x,y;	                puts a bomb on the board&lt;br /&gt;
putexplosion radius,x,y;	        puts an explosion on the board&lt;br /&gt;
putexplosion2 power,radius,x,y;	        puts an explosion on the board (power=1 -&amp;gt; normal, &lt;br /&gt;
                                            3 -&amp;gt; jolt bomb)&lt;br /&gt;
putleaps leaptype,x,y;	                procduces an object ‘explosion’ (0-bush, 1-swamp, &lt;br /&gt;
                                            2-stone, 3-sign, 4-ball, 5-water)&lt;br /&gt;
puthorse imgname,x,y;	                puts a horse (or boat) on the board&lt;br /&gt;
setbackpal filename;	                the background gets the color palette of the &lt;br /&gt;
                                            specified image&lt;br /&gt;
setletters filename;		        signs will be displayed using the specified image &lt;br /&gt;
                                            instead of letters.png&lt;br /&gt;
setmap imgname,levelnamesfile,x,y;	changes the map, the player will be placed on (x,y)&lt;br /&gt;
setminimap imgname,levelnamesfile,x,y;	changes the minimap, the player will be placed on (x,y)&lt;br /&gt;
loadmap gmapfilename;	                loads the gmap file, the .gmap extension is not &lt;br /&gt;
                                            necessary&lt;br /&gt;
showstats bitflag;		        shows/hides parts of the stats bar &lt;br /&gt;
noplayerkilling;		        disables hurting with sword/npc weapons&lt;br /&gt;
removebomb index;	                removes the bomb with the specified index&lt;br /&gt;
removearrow index;	                removes the arrow with the specified index&lt;br /&gt;
removeitem index;	        	removes the item with the specified index&lt;br /&gt;
removeexplo index;	                removes the explosion with the specified index&lt;br /&gt;
removehorse index;	                removes the horse with the specified index&lt;br /&gt;
explodebomb index;	                explodes the bomb with the specified index&lt;br /&gt;
reflectarrow index;	                reflects the arrow with the specified index (like &lt;br /&gt;
                                            a mirror shield)&lt;br /&gt;
addtiledef image,levelstart,type;	specifys the tiles images for all levels that start &lt;br /&gt;
                                            with 'levelstart' (0-standard type,1-new order)&lt;br /&gt;
addtiledef2 image,levelstart,x,y;	replaces parts of the tiles image&lt;br /&gt;
removetiledefs levelstart;	        removes all tile definitions for levels with name &lt;br /&gt;
                                            begining with levelstart&lt;br /&gt;
disableselectweapons;	                disables the weapon select screen&lt;br /&gt;
enableselectweapons;	                enables it again&lt;br /&gt;
enablefeatures bitflag;         	enables/disables game features &lt;br /&gt;
setcursor cursornumber;	                changes the mouse icon to the corresponding windows &lt;br /&gt;
                                            set (list below)&lt;br /&gt;
setcursor2 filename;	                changes the map scrolling icon in the offline level editor&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===baddy manipulation:===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
putcomp baddyname,x,y;	                puts a new baddy on the board&lt;br /&gt;
putnewcomp baddyname,x,y,imgname,power;	puts a baddy on the board (with the specified image &lt;br /&gt;
                                            and power)&lt;br /&gt;
hitcompu index,decrpower,fromx,fromy;	hurts a baddy&lt;br /&gt;
removecompus;		                removes all baddies&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===file operations:===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
copylevel oldlevelname,newlevelname;	copies the level oldlevelname to the level newlevelname &lt;br /&gt;
                                            (you can specify a new folder by putting folder/ &lt;br /&gt;
                                            infront of the newlevelname)&lt;br /&gt;
deletelevel levelname;	                deletes the level (do not include path, Server-side)&lt;br /&gt;
play filename;		                plays a sound/music file or whatever can be played &lt;br /&gt;
                                            with ‘Windows Media Player’&lt;br /&gt;
play2 filename,x,y,volume;	        plays a sound/music at x,y with the specified volume &lt;br /&gt;
                                            (1=default volume)&lt;br /&gt;
playlooped filename;	                plays a sound file looped&lt;br /&gt;
stopsound filename;	                stops playing a sound file &lt;br /&gt;
stopmidi;		                stops playing the currently running midi file&lt;br /&gt;
setmusicvolume left,right;	        changes the volume for music (0..1)&lt;br /&gt;
openurl URL;		                opens the given URL in the default web browser &lt;br /&gt;
                                            (without the leading http://)&lt;br /&gt;
openurl2 URL,width,height;	        opens the given URL in a webbrower window of the &lt;br /&gt;
                                            specified size (url without http://)&lt;br /&gt;
showfile filename;		        opens the file with the program associated with the &lt;br /&gt;
                                            file extension&lt;br /&gt;
saveinfo string,string;	                saves info as info (server-side)&lt;br /&gt;
savelog string;		                saves string to log (server-side)&lt;br /&gt;
savelog2 filename,string;	        saves string to logfile (server-side)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Stats values (for showstats)==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1 	     ASD&lt;br /&gt;
2 	     icons&lt;br /&gt;
4 	     rupees&lt;br /&gt;
8 	     bombs&lt;br /&gt;
16 	     arrows&lt;br /&gt;
32 	     hearts&lt;br /&gt;
64 	     ap&lt;br /&gt;
128 	     mp&lt;br /&gt;
256 	     minimap&lt;br /&gt;
512 	     inv&lt;br /&gt;
1024 	     player&lt;br /&gt;
allstats     all stats&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cursor Numbers  (for setcursor)==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1	Hidden&lt;br /&gt;
2	Normal&lt;br /&gt;
3	Cross&lt;br /&gt;
4	Text&lt;br /&gt;
5	Hidden?&lt;br /&gt;
6	Resize Lower Left to Upper Right&lt;br /&gt;
7	Resize Up Down&lt;br /&gt;
8	Resize Upper Left to Lower Right&lt;br /&gt;
9	Resize Left Right&lt;br /&gt;
10	Up arrow&lt;br /&gt;
11	Hourglass&lt;br /&gt;
12	File&lt;br /&gt;
13	Not allowed&lt;br /&gt;
14	Break adjust Left Right&lt;br /&gt;
15	Break adjust Up Down&lt;br /&gt;
16	Multiple files&lt;br /&gt;
17	SQL Hourglass&lt;br /&gt;
18	Not allowed&lt;br /&gt;
19	Mouse + Hourglass&lt;br /&gt;
20	Mouse + ?&lt;br /&gt;
21	Pointing Hand&lt;br /&gt;
22	Four directional arrow&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Game features (for enablefeatures)==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2 	         P key&lt;br /&gt;
4 	         Q key&lt;br /&gt;
8 	         R key&lt;br /&gt;
0x10 	         S+A combo&lt;br /&gt;
0x20 	         S+D combo&lt;br /&gt;
0x40 	         TAB key&lt;br /&gt;
0x80 	         chat text&lt;br /&gt;
0x100 	         hearts overhead&lt;br /&gt;
0x200 	         display of nicknames&lt;br /&gt;
0x400 	         toall/PM bubbles&lt;br /&gt;
0x800 	         right-click profiles&lt;br /&gt;
0x1000 	         emoticons&lt;br /&gt;
0x2000 	         Alt+5 snapshots&lt;br /&gt;
0x4000 	         Alt+8/9 zooming&lt;br /&gt;
0x8000 	         logframe&lt;br /&gt;
allfeatures	 all features&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Special Symbols==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!	not&lt;br /&gt;
?	myvar = (flag? iftrue : iffalse)&lt;br /&gt;
&amp;amp;&amp;amp;	and&lt;br /&gt;
||	or&lt;br /&gt;
==	equals&lt;br /&gt;
+	addition&lt;br /&gt;
-	substraction&lt;br /&gt;
*	multiplication&lt;br /&gt;
/	division&lt;br /&gt;
%	mod; a%b = a - int(a/b)*b;&lt;br /&gt;
^	power; a^0.5 = squareroot(a)&lt;br /&gt;
in	tests if an array/range contains a variable (e.g. 2 in {1,2,3}; x,y in |0,64|)&lt;br /&gt;
=	assigment&lt;br /&gt;
a += b	a = a+b&lt;br /&gt;
a -= b	a = a-b&lt;br /&gt;
a *= b	a = a*b&lt;br /&gt;
a /= b 	a = a/b&lt;br /&gt;
a ++	a = a+1&lt;br /&gt;
a --	a = a-1&lt;br /&gt;
this.	variables that start with ‘this.’ are only accessible for the npc itself&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Built-in Flags	     true when:==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
actiondoublemouse               the player double clicks the npc&lt;br /&gt;
actionleftmouse	                the player left clicks the npc&lt;br /&gt;
actionmiddlemouse               the player middle clicks the npc&lt;br /&gt;
actionrightmouse                the player right clicks the npc&lt;br /&gt;
actionprojectile                the player has been hit with a projectile (client-side) &lt;br /&gt;
                                    or a projectile has landed (server-side)&lt;br /&gt;
actionsprojectile	        a serverside projectile has landed  (server-side)&lt;br /&gt;
actionprojectile2	        a projectile has landed (client-side)  (#p(0),#p(1) are &lt;br /&gt;
                                    x,y; #p(2),#p(3) are params)&lt;br /&gt;
actionpushed                    the player pushes the npc&lt;br /&gt;
actionpulled                    the player pulls the npc&lt;br /&gt;
canspin	                        the player has spin power (for sword)&lt;br /&gt;
carrying	      	        the player carries something&lt;br /&gt;
carriesblackstone               the player carries a blackstone&lt;br /&gt;
carriesbush	                the player carries a bush&lt;br /&gt;
carriessign	                the player carries a sign&lt;br /&gt;
carriesstone	                the player carries a stone&lt;br /&gt;
carriesvase	                the player carries a vase&lt;br /&gt;
compsdead	                there is no living baddy&lt;br /&gt;
compusdied	                all baddies died&lt;br /&gt;
exploded		        the npc was exploded by a bomb&lt;br /&gt;
firedonhorse	                this npc weapon is fired while riding on horse&lt;br /&gt;
followsplayer	                the npc currently follows the player&lt;br /&gt;
hasweapon( name )	        the player has the weapon specified with ‘name’&lt;br /&gt;
isfocused		        setfocus has been used (not focused on player)&lt;br /&gt;
isleader		        the player entered the level first (of all players &lt;br /&gt;
                                    in the same room)&lt;br /&gt;
isonmap		                the player is on an outside level&lt;br /&gt;
issparringzone	                the player is in a sparring level&lt;br /&gt;
isweapon		        this npc is a weapon&lt;br /&gt;
keydown( key )	                the specified key is pressed (0..10: up, left, down, &lt;br /&gt;
                                    right, S, A, D, M, tab, Q, P)&lt;br /&gt;
keydown2( keycode,ignorecase )   checks if a key has been pressed (ignorecase must be &lt;br /&gt;
                                    false to check for shift,ctrl,alt)&lt;br /&gt;
keypressed 	                a key has been pressed (#p(0) is keycode,#p(1) is character) &lt;br /&gt;
                                    (event)&lt;br /&gt;
leftmousebutton	                the left mouse button is pressed (flag)&lt;br /&gt;
lighteffectsenabled	        the player can see light effects&lt;br /&gt;
middlemousebutton               the middle mouse button is pressed (flag)&lt;br /&gt;
mousedown 	                a mouse button has been pressed (event) (#p(0) also &lt;br /&gt;
                                    carries the the strings left,right,double for &lt;br /&gt;
                                    those corresponding events)&lt;br /&gt;
mouseup		                a mouse button has been released (event)&lt;br /&gt;
mousewheel	                the mousewheel has been used (event)&lt;br /&gt;
nopkzone	                the player is in a level where you can’t hurt other players&lt;br /&gt;
onmapx( level )	                x-position of the level on the current map&lt;br /&gt;
onmapy( level )	                y-position of the level on the current map&lt;br /&gt;
onwall( x, y )	                the specified field is blocked&lt;br /&gt;
onwall2( x, y,width,height )    the specified field is blocked (server-side)&lt;br /&gt;
onwater( x, y )	                the specified field is water&lt;br /&gt;
pm	   	                a pm has been sent to the npcserver (npcserver only, &lt;br /&gt;
                                #p(0) is account #p(1) is message))&lt;br /&gt;
playeronline	                the game is in online mode&lt;br /&gt;
peltwithblackstone              the npc was pelt with a blackstone&lt;br /&gt;
peltwithbush	                the npc was pelt with a bush&lt;br /&gt;
peltwithnpc	                the npc was pelt with another npc&lt;br /&gt;
peltwithsign	                the npc was pelt with a sign&lt;br /&gt;
peltwithstone	                the npc was pelt with a stone&lt;br /&gt;
peltwithvase	                the npc was pelt with a vase&lt;br /&gt;
playerchats	                the player says something&lt;br /&gt;
playerdies	                the player died&lt;br /&gt;
playerendsreading	        the player finished reading&lt;br /&gt;
playerenters	                the player enters the level&lt;br /&gt;
playerleaves	                the player leaves the level&lt;br /&gt;
playerhurt	                the player has been hurt &lt;br /&gt;
playerisfemale	                the player is female&lt;br /&gt;
playerismale	                the player is male (specified in headsconfig.txt)&lt;br /&gt;
playerlaysitem	                somebody layed an item&lt;br /&gt;
playermap	                the player is reading the map&lt;br /&gt;
playeronhorse	                the player rides on a horse (or boat)&lt;br /&gt;
playerpause	                the player is paused&lt;br /&gt;
playerreading	                the player is reading a sign&lt;br /&gt;
playerswimming	                the player is swimming&lt;br /&gt;
playertouchsme	                the layer touchs the npc&lt;br /&gt;
playertouchsother	        the player touchs another npc&lt;br /&gt;
playerattached	                the player is attached to this npc&lt;br /&gt;
playertrial	                true when the player has a trial account&lt;br /&gt;
rightmousebutton	        the right mouse button is down (flag)&lt;br /&gt;
shotbybaddy	                the npc was shot by a computer opponent&lt;br /&gt;
shotbyplayer	                the npc was shot by the player&lt;br /&gt;
startswith( partstr, str )	str starts with partstr&lt;br /&gt;
strcontains( str, partstr )	str contains partstr&lt;br /&gt;
strequals( str1, str2 )	        str1 is equivalent to str2 (both strings can &lt;br /&gt;
                                    contain message codes)&lt;br /&gt;
timeout		                the npc’s timeout counter runs to 0&lt;br /&gt;
visible		                the npc is visible&lt;br /&gt;
washit		                the npc was slayed with a sword or axe&lt;br /&gt;
waspelt		                the npc was pelt&lt;br /&gt;
wasshot		                the npc was shot with arrows&lt;br /&gt;
wasthrown	                the npc was carried and then thrown&lt;br /&gt;
weaponfired	                this npc is used as weapon, ‘D’ (or joybutton1) is pressed&lt;br /&gt;
weaponsenabled	                the player weapons are enabled&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variable Prefixes==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
client.flag	       flags that can be changed on server-side and client-side &lt;br /&gt;
                           (like a normal flag in the classic engine)&lt;br /&gt;
clientr.flag	       flags that can only be changed on server-side but can be read on &lt;br /&gt;
                            client-side&lt;br /&gt;
server.flag	       flags that only exists on server-side and can be accessed by all npcs&lt;br /&gt;
serverr.flag	       flags that can only be changed on server-side and is server wide, &lt;br /&gt;
                            but can also be read by all clients, so it can be used to storing &lt;br /&gt;
                            the state of global activities that need client-side actions  &lt;br /&gt;
                            like displaying weather; like server. flags they can also be  &lt;br /&gt;
                            changed with remotecontrol.exe by administrators that have the &lt;br /&gt;
                            right to change server. flags&lt;br /&gt;
this.flag	        flags that only exist on server-side and belong to the npc, and are &lt;br /&gt;
                            stored when the npc is a database npc&lt;br /&gt;
thiso.flag	        refer to the this. flags of the executing npc when you use the &lt;br /&gt;
                            with () command: with (getnpc(npc2)) setstring thiso.temp,this.temp; &lt;br /&gt;
                            will copy 'this.temp' from npc2 to the current npc  &lt;br /&gt;
local.flag              flags that are kept on the current client and not sent to the server, so reducing lag&lt;br /&gt;
flagwithoutleading	flag that is saved in the players account; these flags can only be &lt;br /&gt;
                            accessed on server-side; on client-side you can also use flags &lt;br /&gt;
                            without a leading but they are not saved and not sent to the &lt;br /&gt;
                            npcserver&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Built-in Variables / Functions==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
x		      the npc’s horizontal position&lt;br /&gt;
y		      the npc’s vertical position (top=0)&lt;br /&gt;
timeout		      the npc’s timeout counter (seconds)&lt;br /&gt;
rupees		      the npc’s rupees count&lt;br /&gt;
bombs		      the npc’s bombs count&lt;br /&gt;
darts		      the npc’s darts count&lt;br /&gt;
hearts		      the npc’s hearts count&lt;br /&gt;
glovepower	      the npc’s glove power (1-glove1,2-glove2)&lt;br /&gt;
swordpower	      the npc’s sword power (1-normal sword,2-axe,3-lizardsword,4-golden sword)&lt;br /&gt;
shieldpower           the npc’s shield power (1-normal sword,2-mirror shield,3-lizard shield)&lt;br /&gt;
dir		      the direction of the character&lt;br /&gt;
sprite		      the sprite of the character&lt;br /&gt;
anistep		      the anistep of the character&lt;br /&gt;
ap		      the alignment points of the character&lt;br /&gt;
hurtdx		      will be set when the player uses the sword/npc weapon on the npc&lt;br /&gt;
hurtdy		        (x/y difference, &amp;gt;=-1, &amp;lt;=1)&lt;br /&gt;
save[0],..,save[9]    built-in variables that work in online mode (integer values &amp;gt;=0, &amp;lt;=220)&lt;br /&gt;
&lt;br /&gt;
npcscount		      the npcs count&lt;br /&gt;
npcs[index].id		      the server id of the npc&lt;br /&gt;
npcs[index].x		      an npc’s horizontal position&lt;br /&gt;
npcs[index].y		      an npc’s vertical position&lt;br /&gt;
npcs[index].z		      an npc’s z  position&lt;br /&gt;
npcs[index].width	      the width of the npc (in fields)&lt;br /&gt;
npcs[index].height	      the height of the npc (in fields)&lt;br /&gt;
npcs[index].timeout	      the timeout counter of the npc&lt;br /&gt;
npcs[index].rupees	      the rupees count of the npc&lt;br /&gt;
npcs[index].bombs	      the bombs count of the npc&lt;br /&gt;
npcs[index].darts	      the darts count of the npc&lt;br /&gt;
npcs[index].hearts	      the hearts count of the npc&lt;br /&gt;
npcs[index].glovepower	      the glove power of the npc&lt;br /&gt;
npcs[index].swordpower	      the sword power of the npc&lt;br /&gt;
npcs[index].shieldpower	      the shield power of the npc&lt;br /&gt;
npcs[index].dir		      the direction of the npc (if it’s a ‘showcharacter’)&lt;br /&gt;
npcs[index].sprite	      the sprite of the npc (if it’s a ‘showcharacter’)&lt;br /&gt;
npcs[index].anistep	      the anistep of the npc (if it’s a ‘showcharacter’)&lt;br /&gt;
npcs[index].ap		      the alignment of the npc (if it’s a ‘showcharacter’)&lt;br /&gt;
npcs[index].hurtdx	      will be set when the player hurts the npc (or&lt;br /&gt;
npcs[index].hurtdy	        (hitplayer/hitpnc is called) -&amp;gt; push away difference&lt;br /&gt;
npcs[index].save[0],..,save[9]	built-in variables that work in online mode (integer values &lt;br /&gt;
                                    &amp;gt;=0, &amp;lt;=220)&lt;br /&gt;
&lt;br /&gt;
playerscount		      the player count&lt;br /&gt;
allplayerscount		      the player count of the server&lt;br /&gt;
allplayers[index]	      gets player from all players&lt;br /&gt;
players[index]		      gets player from level&lt;br /&gt;
players[index].x	      a player’s horizontal position&lt;br /&gt;
players[index].y	      a player’s vertical position&lt;br /&gt;
players[index].z	      a player’s z  position&lt;br /&gt;
players[index].rupees	      a player’s rupees count&lt;br /&gt;
players[index].bombs	      a player’s bombs count&lt;br /&gt;
players[index].darts	      a player’s darts count&lt;br /&gt;
players[index].mp	      a player’s magic points (0..100)&lt;br /&gt;
players[index].ap	      a player’s alignment points (0..100)&lt;br /&gt;
players[index].hearts	      a player’s hearts count&lt;br /&gt;
players[index].fullhearts     a player’s max hearts count&lt;br /&gt;
players[index].dir	      a player’s direction (0-up,1-left,2-down,3-right)&lt;br /&gt;
players[index].glovepower     a player’s glove power (2-glove1,3-glove2)&lt;br /&gt;
players[index].swordpower     a player’s sword power (1-normal sword, 2-axe, 3-lizardsword, &lt;br /&gt;
                                  4-golden sword)&lt;br /&gt;
players[index].shieldpower    a player’s sield power (1-normal sword,2-mirror shield,&lt;br /&gt;
                                  3-lizard shield)&lt;br /&gt;
players[index].headset	      a player’s head sprites set (�?head�?+playerheadset+�?.gif�?)&lt;br /&gt;
players[index].sprite	      a player’s sprites set (0..40)&lt;br /&gt;
players[index].anistep	      the anistep of the player)&lt;br /&gt;
players[index].id	      a player’s id (=-1 for npc characters)&lt;br /&gt;
players[index].saysnumber     the (index+1)th  player says that number &lt;br /&gt;
players[index].id	      a player’s id (=-1 for npc characters)&lt;br /&gt;
players[index].attachid	      the player is attached to the npc with that id (&amp;lt;=0-&amp;gt; not &lt;br /&gt;
                                  attached)&lt;br /&gt;
players[index].attachtype     the type of object the player is attached to&lt;br /&gt;
players[index].logintime      when the player logged in (in timevar)&lt;br /&gt;
players[index].lastdead	      when the player last died (in timevar)&lt;br /&gt;
playerhurtdpower	      how much power the player lost when he was hurt last&lt;br /&gt;
playerhurtdx	              the horizontal hurting movement of the player&lt;br /&gt;
playerhurtdy	              the vertical hurting movement of the player&lt;br /&gt;
 (playerx,playery,... = players[0].x,players[0].y,... = current players properties)&lt;br /&gt;
&lt;br /&gt;
compuscount		      the baddy count&lt;br /&gt;
compus[index].x		      a baddy’s horizontal position&lt;br /&gt;
compus[index].y		      a baddy’s vertical position&lt;br /&gt;
compus[index].type	      a baddy’s type (0..9, see the baddy names list)&lt;br /&gt;
compus[index].dir	      a baddy’s body direction (0..3)&lt;br /&gt;
compus[index].headdir	      a baddy’s head direction (0..3)&lt;br /&gt;
compus[index].power	      a baddy’s power&lt;br /&gt;
compus[index].mode	      a baddy’s mode&lt;br /&gt;
&lt;br /&gt;
bombscount		      the bombs count&lt;br /&gt;
bombs[index].x		      a bomb’s horizontal position&lt;br /&gt;
bombs[index].y		      a bomb’s vertical position&lt;br /&gt;
bombs[index].power	      the bomb’s power (1,2,3)&lt;br /&gt;
bombs[index].time	      the time left till explosion (3 .. 0)&lt;br /&gt;
&lt;br /&gt;
arrowscount	              the arrows count (arrows + balls)&lt;br /&gt;
arrows[index].x	              an arrow’s horizontal position&lt;br /&gt;
arrows[index].y	              an arrow’s vertical position&lt;br /&gt;
arrows[index].dx	      the horizontal speed per tick (0.05secs)&lt;br /&gt;
arrows[index].dy	      the vertical speed per tick (0.05secs)&lt;br /&gt;
arrows[index].dir	      the flying direction (0,1,2,3)&lt;br /&gt;
arrows[index].type            the shottype (-1 -&amp;gt; ball, 0..3 -&amp;gt; arrow with power 1..4)&lt;br /&gt;
arrows[index].from            the shooter (0 -&amp;gt; baddy, 1 -&amp;gt; current player)&lt;br /&gt;
&lt;br /&gt;
itemscount	              the items count&lt;br /&gt;
items[index].x	              an item’s horizontal position&lt;br /&gt;
items[index].y	              an item’s vertical position&lt;br /&gt;
items[index].type	      the item type (0..24)&lt;br /&gt;
items[index].time	      the time left till the item disappears (8.2 .. 0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exploscount		      the explosions count (putexplosion produces 9 explosions of &lt;br /&gt;
                                  size 2x2!)&lt;br /&gt;
explos[index].x		      an explosion’s horizontal position&lt;br /&gt;
explos[index].y		      an explosion’s vertical position&lt;br /&gt;
explos[index].power	      the power of the bomb which produced this explosion&lt;br /&gt;
explos[index].time	      the time left till the explosion disappears&lt;br /&gt;
explos[index].dir	      the direction from the bomb which produced the explosion&lt;br /&gt;
&lt;br /&gt;
horsescount		      the horses count&lt;br /&gt;
horses[index].x		      an horses’s horizontal position&lt;br /&gt;
horses[index].y		      an horses’s vertical position&lt;br /&gt;
horses[index].dir	      the direction of the horse&lt;br /&gt;
horses[index].bushes	      bushes eaten by the horse&lt;br /&gt;
horses[index].bombs	      bombs count in the horse’s mouth&lt;br /&gt;
horses[index].bombpower	      the power of the bombs on the horse’s mouth&lt;br /&gt;
horses[index].type	      the horse type (0 -&amp;gt; riding horse, 1 - boat)&lt;br /&gt;
&lt;br /&gt;
signscount	              the signs count&lt;br /&gt;
signs[index].x	              a sign’s horizontal position&lt;br /&gt;
signs[index].y	              a sign’s vertical position&lt;br /&gt;
&lt;br /&gt;
abs( var )                    the absolute value&lt;br /&gt;
aindexof( value,array )       position of where valuefirst  appears in array&lt;br /&gt;
actionplayer 	              gives index of player who triggered  an action&lt;br /&gt;
arctan( var )	              the arcus tangens of var; (a = arctan(sin(a)/cos(a)))&lt;br /&gt;
arraylen( var )	              the size of an array&lt;br /&gt;
ascii( char )	              the ascii code of a character&lt;br /&gt;
board[index]	              the level board (index = 0..64*64-1)&lt;br /&gt;
cos( a )		      the cosinus of a; a is an angle in the radiant system (0...3.14)&lt;br /&gt;
downloadpos                   the download position&lt;br /&gt;
downloadsize                  the download size&lt;br /&gt;
getangle( dx,dy )	      the angle of vector (dx,dy) to the x coordinate (0...2*3.14)&lt;br /&gt;
getdir( dx,dy )	              gets the direction needed to look at relative position&lt;br /&gt;
getz( x,y )	              gets the z of the tile at that position&lt;br /&gt;
getplayer( account )	      gets the allplayers index of account&lt;br /&gt;
getnearestplayer( x,y )	      gets the index of the nearest player&lt;br /&gt;
getnearestplayers( x,y,flag )    gets the indecies of the nearest players with flag „flag“&lt;br /&gt;
getareanpcs( x,y,width,height )	 gets the indecies of all npcs within the given parameters&lt;br /&gt;
getnpc( name )	              gets the index of the dbnpc with name name&lt;br /&gt;
graalversion	              current Graal version&lt;br /&gt;
gravity		              gravity variable for projectiles (default set to 2)&lt;br /&gt;
imgwidth( imgname )           gets width of loaded image&lt;br /&gt;
imgheight( imgname )          gets height of loaded image&lt;br /&gt;
indexof( partstr, str )	      position of where partstr appears in str (-1 -&amp;gt; not in str)&lt;br /&gt;
int( var )		      the integer value of a variable (truncates the floating &lt;br /&gt;
                                  point part)&lt;br /&gt;
keycode( char ) 	      gets the keycode for the character&lt;br /&gt;
levelorgx	     	      level origin (x), can be different to 0,0 if the player is &lt;br /&gt;
                                  attached to an npc&lt;br /&gt;
levelorgy	     	      level origin (y)&lt;br /&gt;
lindexof( str, list )	      position of where the string appears in the string list&lt;br /&gt;
log( base,x )	              the logarithm of x with base base&lt;br /&gt;
max( a,b )	              gets maximum of a and b&lt;br /&gt;
min( a,b )	              gets minimum of a and b&lt;br /&gt;
mousebuttons	              sum of values for mouse buttons pressed (1 = left, 2 = middle, &lt;br /&gt;
                                  4 = right)&lt;br /&gt;
mousescreenx 	              x position of mouse in the game screen&lt;br /&gt;
mousescreeny 	              y position of mouse in the game screen&lt;br /&gt;
mousewheeldelta	              movement of mouse wheel in past .05 seconds&lt;br /&gt;
mousex 		              x position of mouse on the level&lt;br /&gt;
mousey 		              y position of mouse on the level&lt;br /&gt;
musicpos		      position in current music playing (won’t work on midis)&lt;br /&gt;
musiclen	       	      length in current music playing (won’t work on midis)&lt;br /&gt;
playerfreezetime 	      time for which player is frozen (in seconds; -1 when not frozen)&lt;br /&gt;
random( a, b )	              a random floating point value, a&amp;lt;= value &amp;lt; b&lt;br /&gt;
sarraylen( list )	      the size of a string list&lt;br /&gt;
screenheight	              screen height&lt;br /&gt;
screenwidth	              screen width (for the current player)&lt;br /&gt;
screenx( x,y )	              converts level x,y to screen x&lt;br /&gt;
screeny( x,y )	              converts level x,y to screen y&lt;br /&gt;
selectedweapon	              the index of the selected weapon of the player&lt;br /&gt;
sin( a )		      the sinus of a; a is an angle in the radiant system (0...3.14)&lt;br /&gt;
strlen( str )	              the length of the string&lt;br /&gt;
strtofloat( str )	      the value of ‘str’ as number&lt;br /&gt;
testbomb( x, y )	      the index of the bomb on position (x,y)&lt;br /&gt;
testcompu( x, y )	      the index of the baddy on position (x,y)&lt;br /&gt;
testexplo( x, y )	      the index of the explosion on position (x,y)&lt;br /&gt;
testhorse( x, y )	      the index of the horse on position (x,y)&lt;br /&gt;
testitem( x, y )	      the index of the item on position (x,y)&lt;br /&gt;
testnpc( x, y )	              the index of the npc on position (x,y)&lt;br /&gt;
testplayer( x, y )	      the index of the player on position (x,y)&lt;br /&gt;
testsign( x, y )	      the index of the sign on position (x,y)&lt;br /&gt;
tiles[ x, y ]	              the tile index at x,y, writable&lt;br /&gt;
tiletype( x, y )	      returns the neworder tiletype used for setshape2 on x,y&lt;br /&gt;
timevar		              a server-wide time variable which is increased by 1 all 5 seconds&lt;br /&gt;
textheight( zoom,font,style )  gets the height of the text with the specified zoom font &lt;br /&gt;
                                   and style &lt;br /&gt;
textwidth( zoom,font,style,text )  gets the width of the text with the specified zoom font &lt;br /&gt;
                                       and style&lt;br /&gt;
tokenscount	              count of tokens produced with tokenize&lt;br /&gt;
waterheight	              sets waterheight of terrain levels&lt;br /&gt;
vecx( dir )	              vertical movement vector (0,-1,0,1)&lt;br /&gt;
vecy( dir )	              horizontal movement vector (-1,0,1,0)&lt;br /&gt;
weaponscount	              count of weapons/items the player has&lt;br /&gt;
worldx( x,y )	              converts screen x,y to level x&lt;br /&gt;
worldy( x,y )	              converts screen x,y to level y&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Key Numbers==&lt;br /&gt;
&amp;lt;pre&amp;gt;8	back&lt;br /&gt;
9	tab  (does not work with keypressed)&lt;br /&gt;
13	return&lt;br /&gt;
16	shift (does not work with keypressed)&lt;br /&gt;
17	control (does not work with keypressed)&lt;br /&gt;
18	alt (does not work with keypressed)&lt;br /&gt;
33	page up (does not work with keypressed)&lt;br /&gt;
34	page down (does not work with keypressed)&lt;br /&gt;
35	end (does not work with keypressed)&lt;br /&gt;
36	home (does not work with keypressed)&lt;br /&gt;
42	print key (does not work with keypressed)&lt;br /&gt;
45	insert (does not work with keypressed)&lt;br /&gt;
46	delete (does not work with keypressed)&lt;br /&gt;
91	left windows key (does not work with keypressed)&lt;br /&gt;
92	right windows key (does not work with keypressed)&lt;br /&gt;
93	mouse popup key (does not work with keypressed)&lt;br /&gt;
112-123	F1-F12 (does not work with keypressed)&lt;br /&gt;
144	numlock (does not work with keypressed)&lt;br /&gt;
160	left shift (does not work with keypressed)&lt;br /&gt;
161	right shift (does not work with keypressed)&lt;br /&gt;
162	left control (does not work with keypressed)&lt;br /&gt;
163	right control (does not work with keypressed)&lt;br /&gt;
164	left alt/menu (does not work with keypressed)&lt;br /&gt;
165	right alt/menu (does not work with keypressed)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tiletype / tile index (use with setshape)==&lt;br /&gt;
&amp;lt;pre&amp;gt;nonblock		0&lt;br /&gt;
hurt underground	2&lt;br /&gt;
chair			3&lt;br /&gt;
bed upper		4&lt;br /&gt;
bed lower		5&lt;br /&gt;
swamp			6&lt;br /&gt;
lava swamp		7&lt;br /&gt;
near water		8&lt;br /&gt;
water			11&lt;br /&gt;
lava			12&lt;br /&gt;
throw-through		20&lt;br /&gt;
jump stone		21&lt;br /&gt;
blocking		22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Itemname / item index== &lt;br /&gt;
&amp;lt;pre&amp;gt;greenrupee	 0&lt;br /&gt;
bluerupee	 1&lt;br /&gt;
redrupee 	 2&lt;br /&gt;
bombs	         3&lt;br /&gt;
darts	         4&lt;br /&gt;
heart	         5&lt;br /&gt;
glove1	         6&lt;br /&gt;
bow	         7&lt;br /&gt;
bomb	         8&lt;br /&gt;
shield	         9&lt;br /&gt;
sword	        10&lt;br /&gt;
fullheart	11&lt;br /&gt;
superbomb	12&lt;br /&gt;
battleaxe	13&lt;br /&gt;
goldensword	14&lt;br /&gt;
mirrorshield	15&lt;br /&gt;
glove2	        16&lt;br /&gt;
lizardshield	17&lt;br /&gt;
lizardsword	18&lt;br /&gt;
goldrupee	19&lt;br /&gt;
fireball	20&lt;br /&gt;
fireblast	21&lt;br /&gt;
nukeshot	22&lt;br /&gt;
joltbomb	23&lt;br /&gt;
spinattack	24&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Carry object names==&lt;br /&gt;
&amp;lt;pre&amp;gt;bush&lt;br /&gt;
sign&lt;br /&gt;
vase&lt;br /&gt;
stone&lt;br /&gt;
blackstone&lt;br /&gt;
bomb&lt;br /&gt;
hotbomb&lt;br /&gt;
superbomb&lt;br /&gt;
joltbomb&lt;br /&gt;
hotjoltbomb&lt;br /&gt;
none&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Colornames==&lt;br /&gt;
&amp;lt;pre&amp;gt;white&lt;br /&gt;
yellow&lt;br /&gt;
orange&lt;br /&gt;
pink&lt;br /&gt;
red&lt;br /&gt;
darkred&lt;br /&gt;
lightgreen&lt;br /&gt;
green&lt;br /&gt;
darkgreen&lt;br /&gt;
lightblue&lt;br /&gt;
blue&lt;br /&gt;
darkblue&lt;br /&gt;
brown&lt;br /&gt;
cynober&lt;br /&gt;
purple&lt;br /&gt;
darkpurple&lt;br /&gt;
lightgray&lt;br /&gt;
gray&lt;br /&gt;
black&lt;br /&gt;
transparent&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Directions==&lt;br /&gt;
&amp;lt;pre&amp;gt;up&lt;br /&gt;
left&lt;br /&gt;
down&lt;br /&gt;
right&lt;br /&gt;
(you can also use normal variables with values between 0 and 3)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Baddy names==&lt;br /&gt;
&amp;lt;pre&amp;gt;graysoldier&lt;br /&gt;
bluesoldier&lt;br /&gt;
redsoldier&lt;br /&gt;
shootingsoldier&lt;br /&gt;
swampsoldier&lt;br /&gt;
frog&lt;br /&gt;
octopus		&amp;lt;- spider, for compatibility&lt;br /&gt;
goldenwarrior&lt;br /&gt;
lizardon&lt;br /&gt;
dragon&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Baddy modes==&lt;br /&gt;
&amp;lt;pre&amp;gt;0	walking&lt;br /&gt;
1	looking&lt;br /&gt;
2	hunting&lt;br /&gt;
3	hurted&lt;br /&gt;
4	bumped&lt;br /&gt;
5	dying&lt;br /&gt;
6	shooting (swampsoldier)&lt;br /&gt;
7	jumping (frog)&lt;br /&gt;
8	shooting (spider)&lt;br /&gt;
9	dead&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Player sprites==&lt;br /&gt;
&amp;lt;pre&amp;gt;0	no movement, or not a default animation&lt;br /&gt;
1-8	walking&lt;br /&gt;
9-13	sword slaying&lt;br /&gt;
14-18	pushing&lt;br /&gt;
19-22	pulling&lt;br /&gt;
23	lifting&lt;br /&gt;
24	no movement, carrying something&lt;br /&gt;
25-32	walking, carrying something&lt;br /&gt;
33	shooting&lt;br /&gt;
34-36	riding&lt;br /&gt;
37	sitting&lt;br /&gt;
38	sleeping&lt;br /&gt;
39	hurted (can only be set on ‘showcharacter’-npcs)&lt;br /&gt;
40	dead (can only be set on ‘showcharacter’-npcs)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Message codes (for ‘message’, ‘strequals’, etc.)==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#a		                    the account name of the player&lt;br /&gt;
#b		                    line break (for say2)&lt;br /&gt;
#C0, #C0(index)	                    the skin color&lt;br /&gt;
#C1, #C1(index) 	            the coat color&lt;br /&gt;
#C2, #C2(index)	                    the sleeves color&lt;br /&gt;
#C3, #C3(index)	                    the shoes color&lt;br /&gt;
#C4, #C4(index)	                    the belt color&lt;br /&gt;
#c, #c(index)		            the current chat text of the player&lt;br /&gt;
#D(filename)		            the download position of the file&lt;br /&gt;
#e(startindex,length,string)	    extracts a substring out of ‘string’ (length=-1 -&amp;gt; &lt;br /&gt;
                                        until the end)&lt;br /&gt;
#f		                    the image filename of the npc&lt;br /&gt;
#g, #g(index)		            the guild name of the player&lt;br /&gt;
#G                                  update stats of the player (server side only)&lt;br /&gt;
#I(list,index)		            gets a string of a string list&lt;br /&gt;
#i(imgname), #i(imgname,x,y,w,h)    displays an image or a part of an image when used in a sign&lt;br /&gt;
#K(keyindex)		            the name of the specified key&lt;br /&gt;
#k(keyindex)		            the description of the specified key (in local &lt;br /&gt;
                                        language/key assignments)&lt;br /&gt;
#L		                    the current level filename&lt;br /&gt;
#m, #m(index)		            the animation of the player&lt;br /&gt;
#n, #n(index)		            the nick name of the player (index=-1 -&amp;gt;  npc character, &lt;br /&gt;
                                        0 -&amp;gt; current player)&lt;br /&gt;
#N, #N(index)		            local database npc name&lt;br /&gt;
#P1 - 30, #P1 - 30(index)	    the gani attributes 1- 30 &lt;br /&gt;
#p(index)		            action parameter of the specified index&lt;br /&gt;
#Q(guildname,accountname)           nickname for a player in a guild (serverside only)&lt;br /&gt;
#R(string1,...,stringx)             randomly selects a string&lt;br /&gt;
#s(var)		                    the value of the string variable ‘var’&lt;br /&gt;
#t(index)		            token of the specified index, produced with tokenize&lt;br /&gt;
#T(string)		            trims the string (removes spaces at the beginning and end)&lt;br /&gt;
#v(var)		                    the value of ‘var’ as string&lt;br /&gt;
#W, #W(index)		            the filename of the weapon icon&lt;br /&gt;
#w,#w(index)		            the name of the current npc weapon of the player&lt;br /&gt;
#1, #1(index)		            the sword image filename of the player&lt;br /&gt;
#2, #2(index)		            the shield image filename of the player&lt;br /&gt;
#3, #3(index)		            the head image filename of the player&lt;br /&gt;
#5, #5(index)		            the image filename of the player’s horse&lt;br /&gt;
#6, #6(index)		            the image filename of the npc that is carried by the player&lt;br /&gt;
#8, #8(index)		            the body image filename of the player&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Devilsknite1</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User_talk:Devilsknite1&amp;diff=11911</id>
		<title>User talk:Devilsknite1</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User_talk:Devilsknite1&amp;diff=11911"/>
		<updated>2009-04-08T06:21:23Z</updated>

		<summary type="html">&lt;p&gt;Devilsknite1: New page: Hi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi&lt;/div&gt;</summary>
		<author><name>Devilsknite1</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Devilsknite1&amp;diff=11910</id>
		<title>User:Devilsknite1</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Devilsknite1&amp;diff=11910"/>
		<updated>2009-04-08T06:18:46Z</updated>

		<summary type="html">&lt;p&gt;Devilsknite1: /* My Current Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== My Join Date ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Started as a trial in mid 2005. Then bought a Gold VIP account under the account name devilsknite1.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
== My Current Projects ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Unholy Nation - NAT &amp;lt;br&amp;gt;&lt;br /&gt;
Dev Paradoxical - Management &amp;lt;br&amp;gt;&lt;br /&gt;
Urbia City - NAT Admin &amp;lt;br&amp;gt;&lt;br /&gt;
Destiny Awaits - Server Administrator&lt;/div&gt;</summary>
		<author><name>Devilsknite1</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Devilsknite1&amp;diff=11909</id>
		<title>User:Devilsknite1</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Devilsknite1&amp;diff=11909"/>
		<updated>2009-04-08T06:17:57Z</updated>

		<summary type="html">&lt;p&gt;Devilsknite1: Devilsknite1 ( C: )'s history&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''&lt;br /&gt;
== My Join Date ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Started as a trial in mid 2005. Then bought a Gold VIP account under the account name devilsknite1.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
== My Current Projects ==&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
Unholy Nation - NAT&lt;br /&gt;
Dev Paradoxical - Management&lt;br /&gt;
Urbia City - NAT Admin&lt;br /&gt;
Destiny Awaits - Server Administrator&lt;/div&gt;</summary>
		<author><name>Devilsknite1</name></author>
	</entry>
</feed>