setlevel filename; warps the player (URLs not supported) - Sends the player to the specified level.
if (playertouchsme){ 
  setlevel level13.graal; 
}
Warps the player to level13.graal, when the NPC is touched.
setlevel2 filename,x,y; warps the player to the specified level and position - Puts the player on the specified level at the specified x,y location.
if (washit){ 
  setlevel 2,level13.graal,32,14
}
If the NPC is hit, it'll warp the player to level13.graal, and puts him/her at 32,14.
seturllevel URL;  warps the player to an URL (without the leading http://!) - Sends the player to a level hosted online (disabled a long time ago... I dunno why it's still listed).
if (playertouchsme){ 
  seturllevel www.graalonline.com/serverfiles/levels/level13.graal; 
}
Warps the player to level13.graal on the graalonline server, when the NPC is touched.
setbody bodyimg.png; sets the body image for the player - Changes the image used for the player's sprites.
if (playersays(yes)){ 
  setbody magebody.png
}
If the player says "yes" their sprite set will be changed to magebody.png.
sethead filename; sets the head image for the player - Changes the player's head image.
if (playertouchsme){ 
  sethead head173.gif; 
}
Sets the player's head to head173.gif when touched.
setsword imgname,power; changes the players sword (-20 >= power < = 20) - Set the gifname, and power of the player's sword.  The power can go from -20 (healing) to 20 (instant death).
if (playerenters){ 
  setsword healsword.gif,-5; 
}
Sets the player's sword to healsword.gif, with a power of -5.
setshield imgname,power; changes the players shield (0 >= power < = 10) - Sets the player's shield gif and power.  The power ranges from 0 (no shield) to 3 (it says 10, but thats wrong).  1 is normal shield.  2 is mirror shield, and 3 is lizard shield (reflects and moves player faster).
if (playertouchsme){ 
  setshielf aceshield.gif,3; 
}
Sets the player's shield to aceshield.gif with a power of 3.
setplayerdir direction; sets the player looking direction - Sets the direction in which the player is facing.  Directions can be numerical (0-3), up, left, down, or right; or they can be varibles.
if (playertouchsme){ 
  if (playerdir<3){ 
    setplayerdir playerdir++; 
  }else{ 
    setplayerdir up; 
  } 
}
If the player is not facing right, it will add 1 to his direction (to turn him) but is he is facing right, his direction will be set to up.
setskincolor colorname; changes the player skin - Sets the color of the player's skin (usually referred to as "glove").
setcoatcolor colorname; changes the player coat - Sets color of player's coat.
setsleevecolor colorname;  changes the player sleeves - Sets color of player's sleeves.
setshoecolor colorname; changes the player shoes - Sets the color of the player's shoes.
setbeltcolor colorname; changes the player belt - Sets the color of the player's belt
if (playertouchsme){ 
  setskincolor darkpurple; 
  setcoatcolor darkblue; 
  setsleevecolor white; 
  setshoecolor darkpurple; 
  setbeltcolor white; 
}
This makes the player wear the clothing colors I always wear =).
setplayerprop messagecode,string; sets string properties of the player (except the nickname&guildcode) - Just like setcharprop, but this time for human players.  Full list of message codes can be found in section 13.
if (playertouchsme){ 
  setplayerprop #c,Hello!; 
}
When the NPC is touched, it'll make the player say "Hello!".
setani anifile,param1,param2...; Sets the player's animation file (instead of setting sprites).  "params" are passed by the npc, and read by the gani.
if (weaponfired){ 
  setani sword,sword1.png
}
When this weapon is fired it will set the player's animation to "sword.gani" using the "sword1.png"
takeplayercarry; removes the object carried by the player - If the player is holding a object, this will remove it.
if (playertouchsme){ 
  takeplayercarry; 
}
Removes the player's carried object when the NPC is touched.
disableweapons; disables the player's sword+bombs+darts - Doesn't allow the player to use his sword, or any weapons.
if (washit){ 
  disableweapons; 
}
Disables the player's weapons if the NPC was hit.
enableweapons; enables the player weapons - Re-enables the player's weapons.
if (playertouchsme){ 
  enableweapons; 
}
Re-enables the weapons after they have been disabled.
freezeplayer seconds; the player can't move for the given time - Stops the player from doing anything for the specified amount of time.
if (weaponfired){ 
  freezeplayer 3; 
}
Stops the player from doing anything for 3 seconds.
unfreezeplayer; ends the freezeplayer - If freezeplayer was called before, this cancels it.
if (onwall(this.x,this.y)){
  unfreezeplayer;
}
If this NPC experiences an onwall at this.x,this.y then the previously called freezeplayer will be over, and the player can move once again.
hideplayer seconds; hides the player for the specified time - Hide's the player for the specified amount of time, but he can still be hurt.
if (weaponfired){ 
  hideplayer 2; 
}
Hides the player for 2 seconds.
hidesword seconds; hides the player's sword for the specified time - Will hide the player's sword for the amount of time specified, but he can still swing his sword (it just doesn't do damage and isn't displayed).
if (weaponfired){ 
  hidesword 4; 
}
Hides the player's sword for 4 seconds.
hurt halfhearts; hurts the player - Takes of the specified amount of half hearts from the player's life.
if (playertouchsme){ 
  hurt 3; 
}
Will take off 1 and a half hearts from the player.
takeplayerhorse; removes the player's horse - Takes the horse from the player (if he/she is riding one).
if (playertouchsme){ 
  takeplayerhorse
}
When this NPC is touched, it'll remove the player's horse.
disabledefmovement turns off the normal player movement and behaviour - Disables the player's normal movement.
if (weaponfired){ 
  disabledefmovement
  timeout=5; 
}
Will disable the player when the weapon is fired.
enabledefmovement enables it again - Counteracts "disabledefmovement".
if (timeout){ 
  enabledefmovement
}
After the timeout is reached, the player will be re-enabled.
replaceani ani,newani replaces a default animation - Allows you to use your own ganis for the defualt animations.
if (weaponfired){ 
  replaceani idle,myidle
}
When this weapon is fired it will replace the idle gani with one whose file name begins with "myidle".
disablepause disables the pause abilityThis stops the player from being able to pause.
if (rupees=10){ 
  set gameon; 
  disablepause
}
Once this NPC has collected 10 rupees, it will set the flag "gameon" and prevent the player from being able to pause.
enablepause enables it again - Once the pause has been disabled, this re-enables it.
if (gameover){ 
  enablepause
}
If the flag "gameover" has been set, then the NPC will allow the player to pause once again.
disablemap stops the player from viewing the map screen - This prevents the use of the player's map.
if (!mymap){ 
  disablemap
}
In this case, if the player does not have the flag "mymap" set, then the player will not be able to view the map screen by pushing the "M" key.
enablemap enables it again - This re-enables the player's map screen.
if (playertouchsme){ 
  set mymap; 
  setmap mymap.txt; 
  enablemap
}
Since the player just received the map, the flag "mymap" is set, and the player may now view it by pushing the "M" key.