<?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=CheeToS</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=CheeToS"/>
	<link rel="alternate" type="text/html" href="https://graalonline.net/Special:Contributions/CheeToS"/>
	<updated>2026-04-09T22:52:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2616</id>
		<title>Particle Engine</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2616"/>
		<updated>2005-09-03T22:13:10Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: /* Add particle modifiers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The particle engine in Graal v4 is an extension of the SHOWIMG feature. With the command &amp;quot;showimg&amp;quot; scripts can display graphics, text, polygons and even animations on the screen. That command is mainly meant for client-side effects, but can also partially used on the serverside, and they can also be made visible on other player's screens. Graphics or texts displayed using this command will be called SHOWIMGs in this paper.&lt;br /&gt;
&lt;br /&gt;
Each SHOWIMG can be used as emitter for particles. That way all kind of scripts can use the new particle engine - just display a SHOWIMG and set the attributes of the SHOWIMG so that the particle emitter is activated and is emitting particles. A particle can be seen as an independent graphic object that is put at the position of the emitter once it is emitted, then travelling over the screen, and disappearing once its lifetime is over or it is outside the allowed screen bounds. Actually a particle is itself a SHOWIMG and can so be used for any kind of graphical effect, and can theoretically even be used as emitter for other particles.&lt;br /&gt;
&lt;br /&gt;
The reason for using a particle engine is speed: theoretically all graphical effects could be done by using scripts which call commands to display graphics or text. But often such effects contain several hundreds or even thousands of graphics, which must be moved and animated several times each second. If there are many objects using scripted particle effects that can slow down the game quite a lot. That's why it is possible in Graal v4 to use a built-in particle engine with many possible options to influence the look and behaviour of the particles so that most graphics effects can be displayed using that engine.&lt;br /&gt;
&lt;br /&gt;
==Create a SHOWIMG==&lt;br /&gt;
&lt;br /&gt;
To use the particle engine, you first need a SHOWIMG as emitter:&lt;br /&gt;
&lt;br /&gt;
  with (findimg(200)) {&lt;br /&gt;
    x = player.x;&lt;br /&gt;
    y = player.y;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
The function findimg(index) is searching for an existing SHOWIMG with the index of 200 and then using that for setting the other attributes, otherwise it is automatically creating a new SHOWIMG with index 200 for the current object (npc, or player if its a weapon/gui-script). Afterwards it is setting the position of the SHOWIMG to position of the player.&lt;br /&gt;
&lt;br /&gt;
==Configure emitter and particle==&lt;br /&gt;
&lt;br /&gt;
Once the SHOWIMG is setup, you need to configure the emitter and the default attributes of the particle that should be emitted:&lt;br /&gt;
&lt;br /&gt;
  with (findimg(200)) {&lt;br /&gt;
    x = player.x;&lt;br /&gt;
    y = player.y;&lt;br /&gt;
    emitter.attribute = value;&lt;br /&gt;
    emitter.particle.attribute = value;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Possible attribute names are&lt;br /&gt;
(you can run &amp;quot;Graal4.exe -listscriptfunctions&amp;quot; to get the latest list of script functions):&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean - says if the particle is moved with the emitter (true), or can fly freely (false)&lt;br /&gt;
    autorotation - boolean - for making the particle heading into the direction it flies (rotation=angle)&lt;br /&gt;
    checkbelowterrain - boolean - destroys the particles if they are below the terrain height (or zero on flat maps)&lt;br /&gt;
    clippingbox - {xd1,yd1,zd1, xd2,yd2,zd2} - defines a box, if particles leave this box then they are destroyed&lt;br /&gt;
    delaymin - float - minimum delay till the next automatic emission (&amp;gt;= 0.05 seconds)&lt;br /&gt;
    delaymax - float - maximum delay till the next automatic emission&lt;br /&gt;
    emissionoffset - {xd,yd,zd} - by default {0,0,0}, says at which position the particles should be emitted, relative to the current emitter position&lt;br /&gt;
    firstinfront - boolean - says if the first emitted particle should be displayed in front (true by default)&lt;br /&gt;
    maxparticles - integer - can be used to limit the total particle count&lt;br /&gt;
    nrofparticles - integer - specifies how many particles are emitted at once&lt;br /&gt;
    particle - object (read only) - defines the default attributes of the next emitted particle&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float - the movement angle of the particle (horizontally on the (x,y) plane)&lt;br /&gt;
    lifetime - float - in seconds, the particle will be destroyed when the lifetime is over&lt;br /&gt;
    movementvector - string - says in which direction the particles moves, this is a combination of angle and zangle&lt;br /&gt;
    speed - float - tiles per second&lt;br /&gt;
    spin - float - automatic rotation of the particle (radiants each second)&lt;br /&gt;
    zangle - float - the vertical movement angle - says if the particles goes up or down&lt;br /&gt;
&lt;br /&gt;
    Particle attributes that are the same like for a SHOWIMG:&lt;br /&gt;
    alpha - float - transparency&lt;br /&gt;
    ani - string - a gani file (use &amp;quot;projectile.actor&amp;quot; for changing the attributes)&lt;br /&gt;
    blue - float - blue color value (0-1)&lt;br /&gt;
    code - string - the old representation as 'font@style@text'&lt;br /&gt;
    dimension - integer - polygon dimension (2 or 3)&lt;br /&gt;
    dir - integer - animation direction&lt;br /&gt;
    emitter - object (read only) - for specifying the attributes of a sub-emitter&lt;br /&gt;
    font - string - text font name&lt;br /&gt;
    green - float - green color value (0-1)&lt;br /&gt;
    image - string - image filename&lt;br /&gt;
    layer - integer - 4 or higher for particle which move in screen coordinates, below 4 for level coordinates&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract)&lt;br /&gt;
    playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
    polygon - object - array of coordinates for displaying a 2 or 3 dimensional polygon&lt;br /&gt;
    red - float - red color value (0-1)&lt;br /&gt;
    rotation - float - defines in which direction the particle graphics is facing&lt;br /&gt;
    stretchx - float - horizontal particle graphics stretch factor (default 1)&lt;br /&gt;
    stretchy - float - vertical particle graphics stretch factor (default 1)&lt;br /&gt;
    style - string - text style (e.g. &amp;quot;b&amp;quot; for bold text)&lt;br /&gt;
    text - string - a text that should be displayed on the SHOWIMG position&lt;br /&gt;
    zoom - float - zoom factor of the particle graphics or text&lt;br /&gt;
&lt;br /&gt;
==Add particle modifiers==&lt;br /&gt;
&lt;br /&gt;
Once you have setup the SHOWIMG and specified the attributes of the emitter and default particle, yo&lt;br /&gt;
u can also specify particle modifiers so that the particles are not always flying into the same dire&lt;br /&gt;
ction and look the same. There are 3 different functions, for modifying the default particle addemit&lt;br /&gt;
modifier(), for modifying all existing particles addglobalmodifier(), and for modifying the attribut&lt;br /&gt;
es for each particle individually addlocalmodifier(). The local modifiers are the most often used mo&lt;br /&gt;
difier.&lt;br /&gt;
Parameters are:&lt;br /&gt;
  modifier type - once,impulse or range - modifies the particle one time, periodeically or only in the given time range&lt;br /&gt;
  rangemin - seconds, minimum delay until first modification or start of modification range (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
  rangemax - seconds, maximum delay until first modification or end of modification range (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
  variable - x,y,z,movex,movey,movez,angle,zangle,speed,rotation,spin,stretchx,stretchy,red,green,blue,alpha or zoom&lt;br /&gt;
  variable modification type - replace,add or multiply (if modifier type is &amp;quot;range&amp;quot; then only &amp;quot;replace&amp;quot; and &amp;quot;add&amp;quot; are valid)&lt;br /&gt;
  valuemin - range start of the random value or first value to set/add (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
  valuemax - range end of the random value or last value to set/add (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Those 3 functions addemitmodifier(), addglobalmodifier() and addlocalmodifier() are returning a modifier object which can be used to attach more variable modifications to the same impulse:&lt;br /&gt;
&lt;br /&gt;
  with (addlocalmodifier(&amp;quot;impulse&amp;quot;,1,2,&amp;quot;angle&amp;quot;,&amp;quot;replace&amp;quot;,0,pi)) {&lt;br /&gt;
    addmod(&amp;quot;zoom&amp;quot;,&amp;quot;add&amp;quot;,0.1,0.2);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This example is modifying the angle each 1-2 seconds, and at the same time it is zooming the particle so that it grows bigger. If you don't need to have the two modifiers act at the same moment, then you could have called addlocalmodifier(&amp;quot;impulse&amp;quot;,1,2,&amp;quot;zoom&amp;quot;,&amp;quot;add&amp;quot;,0.1,0.2) which looks quite the same, but is not guaranteed to happen at the same moment like the first modifier. Most of the time you don't need the addmod-function though.&lt;br /&gt;
&lt;br /&gt;
==Manually emitting particles==&lt;br /&gt;
&lt;br /&gt;
If you have done the things mentioned in the previous steps, then the particle emitter is automatically emitting particles after the time specified with delaymin and delaymax. If you don't want that particles are automatically emitted, then set delaymin to a high value and call emitter.emit() directly.&lt;br /&gt;
&lt;br /&gt;
==Controlling the particle emitter==&lt;br /&gt;
&lt;br /&gt;
You can modify the particle emitter at any time by using the &amp;quot;with (findimg(index))&amp;quot; construct again as mentioned in &amp;quot;Create a SHOWIMG&amp;quot; chapter. To change the position where the particles are emitted you can just change the position of the SHOWIMG, e.g. moving it to the player position so that the particles are always emitted where the player stands.&lt;br /&gt;
&lt;br /&gt;
It can also be interesting to watch the number of particles that the emitter has emitted, you can read the variables &amp;quot;currentparticlecount&amp;quot; and &amp;quot;emittedparticles&amp;quot; for that:&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    currentparticlecount - integer (read only) - for watching how many particles exist&lt;br /&gt;
    emittedparticles - integer (read only) - for seeing how many particles have been emitted in total&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reference==&lt;br /&gt;
&lt;br /&gt;
  emitter&lt;br /&gt;
    delaymin - Minimum time before another particle is emitted&lt;br /&gt;
    delaymax - Maximum time before another particle is emitted&lt;br /&gt;
    nrofparticles - Number of particles to release at once&lt;br /&gt;
    firstinfront - Tells whether particles drawn after the first particle should draw on top or below the first&lt;br /&gt;
    attachposition - Tells whether or not x/y position of particles is relative to the position of the emitter. Also tells if particles should move when the emitter is moved.&lt;br /&gt;
    emissionoffset - How far away from the emitter (or the level if attachposition=false) to emit particles. Format: {x,y,z}&lt;br /&gt;
  particle&lt;br /&gt;
    lifetime - Time (in seconds) before a particle is hidden&lt;br /&gt;
    image - Image to use for the particle&lt;br /&gt;
    mode - Drawing mode of the image. (0 = add, 1 = replace, 2 = subtract) See changeimgmode&lt;br /&gt;
    alpha - Alpha transparency of a particle (0 = invisible, 1 = opaque)&lt;br /&gt;
    zoom - Zoomfactor of a particle&lt;br /&gt;
    angle - Angle the particle should move at&lt;br /&gt;
    zangle - Height angle of the particle&lt;br /&gt;
    speed - How many pixels the particle should move (every .05 seconds)&lt;br /&gt;
    rotation - How much to rotate the image&lt;br /&gt;
    spin - How many times the particle should spin before it is destroyed&lt;br /&gt;
    stretchx - How much to stretch the particle image horizontally&lt;br /&gt;
    stretchy - How much to stretch the particle image vertically&lt;br /&gt;
    red, green, blue - Used to change color of particle&lt;br /&gt;
    dimension - Polygon dimension (2 or 3)&lt;br /&gt;
    movementvector - Unknown (format is {float,float,float})&lt;br /&gt;
      Parameters:&lt;br /&gt;
      First - Affects distance east&lt;br /&gt;
      Second - Affects distance south&lt;br /&gt;
      Third - Affects distance north&lt;br /&gt;
  addlocalmodifier(&amp;quot;string&amp;quot;,float,float,&amp;quot;string&amp;quot;,&amp;quot;string&amp;quot;,float,float)&lt;br /&gt;
    Parameters:&lt;br /&gt;
    First - Tells when to do an action&lt;br /&gt;
      once - Do it once&lt;br /&gt;
      range - Do the action during the range of time param2-param3&lt;br /&gt;
      impulse - Do it randomly&lt;br /&gt;
    Second - Tells the minimum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Third - Tells the maximum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Fourth - Tells what action to perform&lt;br /&gt;
      Everything under &amp;quot;particle&amp;quot; except for the following can be changed: image , text, ani, font, movementvector, style&lt;br /&gt;
      x - x position of the particle&lt;br /&gt;
      y - y position of the particle&lt;br /&gt;
      z - z position of the particle&lt;br /&gt;
      movex - How far the particle should move horizontally in its lifetime&lt;br /&gt;
      movey - How far the particle should move vertically in its lifetime&lt;br /&gt;
      movez - How far the particle should move above the ground in its lifetime&lt;br /&gt;
    Fifth - Tells what to do with parameters 6 and 7&lt;br /&gt;
      add - Add the amount (use negatives to subtract)&lt;br /&gt;
      replace - Set a new amount&lt;br /&gt;
      multiply - Multiply the amount (use negatives to divide)&lt;br /&gt;
    Sixth - Minimum amount&lt;br /&gt;
    Seventh - Maximum amount&lt;br /&gt;
  addglobalmodifier() - Same as addlocalmodifier, except it affects all particles at once&lt;br /&gt;
  addemitmodifier() - Same as addlocalmodifier, except it affects all particles the emitter emits&lt;br /&gt;
  addmod() - Used in conjunction with addlocalmodifier, same parameters except no parameters 1-3&lt;br /&gt;
  emit() - Begin emitting particles&lt;br /&gt;
  maxparticles - Maximum number of particles that can exist at once&lt;br /&gt;
  currentparticlecount - Current number of particles that exist&lt;br /&gt;
  emittedparticles - Total number of particles that have been emitted&lt;br /&gt;
  autorotation - Unknown (boolean)&lt;br /&gt;
  checkbelowterrain - If true, the particle will be destroyed if it falls below the terrain height (0 for flat GMaps)&lt;br /&gt;
  clippingbox - Format of {x1,y1,z1,x2,y2,z2}, particles that leave this box will be destroyed&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2615</id>
		<title>Particle Engine</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2615"/>
		<updated>2005-09-03T22:12:35Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
The particle engine in Graal v4 is an extension of the SHOWIMG feature. With the command &amp;quot;showimg&amp;quot; scripts can display graphics, text, polygons and even animations on the screen. That command is mainly meant for client-side effects, but can also partially used on the serverside, and they can also be made visible on other player's screens. Graphics or texts displayed using this command will be called SHOWIMGs in this paper.&lt;br /&gt;
&lt;br /&gt;
Each SHOWIMG can be used as emitter for particles. That way all kind of scripts can use the new particle engine - just display a SHOWIMG and set the attributes of the SHOWIMG so that the particle emitter is activated and is emitting particles. A particle can be seen as an independent graphic object that is put at the position of the emitter once it is emitted, then travelling over the screen, and disappearing once its lifetime is over or it is outside the allowed screen bounds. Actually a particle is itself a SHOWIMG and can so be used for any kind of graphical effect, and can theoretically even be used as emitter for other particles.&lt;br /&gt;
&lt;br /&gt;
The reason for using a particle engine is speed: theoretically all graphical effects could be done by using scripts which call commands to display graphics or text. But often such effects contain several hundreds or even thousands of graphics, which must be moved and animated several times each second. If there are many objects using scripted particle effects that can slow down the game quite a lot. That's why it is possible in Graal v4 to use a built-in particle engine with many possible options to influence the look and behaviour of the particles so that most graphics effects can be displayed using that engine.&lt;br /&gt;
&lt;br /&gt;
==Create a SHOWIMG==&lt;br /&gt;
&lt;br /&gt;
To use the particle engine, you first need a SHOWIMG as emitter:&lt;br /&gt;
&lt;br /&gt;
  with (findimg(200)) {&lt;br /&gt;
    x = player.x;&lt;br /&gt;
    y = player.y;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
The function findimg(index) is searching for an existing SHOWIMG with the index of 200 and then using that for setting the other attributes, otherwise it is automatically creating a new SHOWIMG with index 200 for the current object (npc, or player if its a weapon/gui-script). Afterwards it is setting the position of the SHOWIMG to position of the player.&lt;br /&gt;
&lt;br /&gt;
==Configure emitter and particle==&lt;br /&gt;
&lt;br /&gt;
Once the SHOWIMG is setup, you need to configure the emitter and the default attributes of the particle that should be emitted:&lt;br /&gt;
&lt;br /&gt;
  with (findimg(200)) {&lt;br /&gt;
    x = player.x;&lt;br /&gt;
    y = player.y;&lt;br /&gt;
    emitter.attribute = value;&lt;br /&gt;
    emitter.particle.attribute = value;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
Possible attribute names are&lt;br /&gt;
(you can run &amp;quot;Graal4.exe -listscriptfunctions&amp;quot; to get the latest list of script functions):&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    attachposition - boolean - says if the particle is moved with the emitter (true), or can fly freely (false)&lt;br /&gt;
    autorotation - boolean - for making the particle heading into the direction it flies (rotation=angle)&lt;br /&gt;
    checkbelowterrain - boolean - destroys the particles if they are below the terrain height (or zero on flat maps)&lt;br /&gt;
    clippingbox - {xd1,yd1,zd1, xd2,yd2,zd2} - defines a box, if particles leave this box then they are destroyed&lt;br /&gt;
    delaymin - float - minimum delay till the next automatic emission (&amp;gt;= 0.05 seconds)&lt;br /&gt;
    delaymax - float - maximum delay till the next automatic emission&lt;br /&gt;
    emissionoffset - {xd,yd,zd} - by default {0,0,0}, says at which position the particles should be emitted, relative to the current emitter position&lt;br /&gt;
    firstinfront - boolean - says if the first emitted particle should be displayed in front (true by default)&lt;br /&gt;
    maxparticles - integer - can be used to limit the total particle count&lt;br /&gt;
    nrofparticles - integer - specifies how many particles are emitted at once&lt;br /&gt;
    particle - object (read only) - defines the default attributes of the next emitted particle&lt;br /&gt;
&lt;br /&gt;
  TParticle (TGraalVar):&lt;br /&gt;
    angle - float - the movement angle of the particle (horizontally on the (x,y) plane)&lt;br /&gt;
    lifetime - float - in seconds, the particle will be destroyed when the lifetime is over&lt;br /&gt;
    movementvector - string - says in which direction the particles moves, this is a combination of angle and zangle&lt;br /&gt;
    speed - float - tiles per second&lt;br /&gt;
    spin - float - automatic rotation of the particle (radiants each second)&lt;br /&gt;
    zangle - float - the vertical movement angle - says if the particles goes up or down&lt;br /&gt;
&lt;br /&gt;
    Particle attributes that are the same like for a SHOWIMG:&lt;br /&gt;
    alpha - float - transparency&lt;br /&gt;
    ani - string - a gani file (use &amp;quot;projectile.actor&amp;quot; for changing the attributes)&lt;br /&gt;
    blue - float - blue color value (0-1)&lt;br /&gt;
    code - string - the old representation as 'font@style@text'&lt;br /&gt;
    dimension - integer - polygon dimension (2 or 3)&lt;br /&gt;
    dir - integer - animation direction&lt;br /&gt;
    emitter - object (read only) - for specifying the attributes of a sub-emitter&lt;br /&gt;
    font - string - text font name&lt;br /&gt;
    green - float - green color value (0-1)&lt;br /&gt;
    image - string - image filename&lt;br /&gt;
    layer - integer - 4 or higher for particle which move in screen coordinates, below 4 for level coordinates&lt;br /&gt;
    mode - integer - the image drawing mode (0 - add, 1 - transparent, 2 - subtract)&lt;br /&gt;
    playerlook - boolean - if the animation should take it's head, body, sword, shield and attr[] from the owner (playerlook), set this to false if you want to set the images yourself by changing showimg.actor.head etc.&lt;br /&gt;
    polygon - object - array of coordinates for displaying a 2 or 3 dimensional polygon&lt;br /&gt;
    red - float - red color value (0-1)&lt;br /&gt;
    rotation - float - defines in which direction the particle graphics is facing&lt;br /&gt;
    stretchx - float - horizontal particle graphics stretch factor (default 1)&lt;br /&gt;
    stretchy - float - vertical particle graphics stretch factor (default 1)&lt;br /&gt;
    style - string - text style (e.g. &amp;quot;b&amp;quot; for bold text)&lt;br /&gt;
    text - string - a text that should be displayed on the SHOWIMG position&lt;br /&gt;
    zoom - float - zoom factor of the particle graphics or text&lt;br /&gt;
&lt;br /&gt;
==Add particle modifiers==&lt;br /&gt;
&lt;br /&gt;
Once you have setup the SHOWIMG and specified the attributes of the emitter and default particle, yo&lt;br /&gt;
u can also specify particle modifiers so that the particles are not always flying into the same dire&lt;br /&gt;
ction and look the same. There are 3 different functions, for modifying the default particle addemit&lt;br /&gt;
modifier(), for modifying all existing particles addglobalmodifier(), and for modifying the attribut&lt;br /&gt;
es for each particle individually addlocalmodifier(). The local modifiers are the most often used mo&lt;br /&gt;
difier.&lt;br /&gt;
Parameters are:&lt;br /&gt;
  modifier type - once,impulse or range - modifies the particle one time, periodeically or only in the given time range&lt;br /&gt;
  rangemin - seconds, minimum delay until first modification or start of modification range (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
  rangemax - seconds, maximum delay until first modification or end of modification range (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
  variable - x,y,z,movex,movey,movez,angle,zangle,speed,rotation,spin,stretchx,stretchy,red,green,blue,alpha or zoom&lt;br /&gt;
  variable modification type - replace,add or multiply (if modifier type is &amp;quot;range&amp;quot; then only &amp;quot;replace&amp;quot; and &amp;quot;add&amp;quot; are valid)&lt;br /&gt;
  valuemin - range start of the random value or first value to set/add (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
  valuemax - range end of the random value or last value to set/add (if modifier is &amp;quot;range&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Those 3 functions addemitmodifier(), addglobalmodifier() and addlocalmodifier() are returning a modifier object which can be used to attach more variable modifications to the same impulse:&lt;br /&gt;
&lt;br /&gt;
  with (addlocalmodifier(&amp;quot;impulse&amp;quot;,1,2,&amp;quot;angle&amp;quot;,&amp;quot;replace&amp;quot;,0,pi)) {&lt;br /&gt;
    addmod(&amp;quot;zoom&amp;quot;,&amp;quot;add&amp;quot;,0.1,0.2);&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
This example is modifying the angel each 1-2 seconds, and at the same time it is zooming the particle so that it grows bigger. If you don't need to have the two modifiers act at the same moment, then you could have called addlocalmodifier(&amp;quot;impulse&amp;quot;,1,2,&amp;quot;zoom&amp;quot;,&amp;quot;add&amp;quot;,0.1,0.2) which looks quite the same, but is not guaranteed to happen at the same moment like the first modifier. Most of the time you don't need the addmod-function though.&lt;br /&gt;
&lt;br /&gt;
==Manually emitting particles==&lt;br /&gt;
&lt;br /&gt;
If you have done the things mentioned in the previous steps, then the particle emitter is automatically emitting particles after the time specified with delaymin and delaymax. If you don't want that particles are automatically emitted, then set delaymin to a high value and call emitter.emit() directly.&lt;br /&gt;
&lt;br /&gt;
==Controlling the particle emitter==&lt;br /&gt;
&lt;br /&gt;
You can modify the particle emitter at any time by using the &amp;quot;with (findimg(index))&amp;quot; construct again as mentioned in &amp;quot;Create a SHOWIMG&amp;quot; chapter. To change the position where the particles are emitted you can just change the position of the SHOWIMG, e.g. moving it to the player position so that the particles are always emitted where the player stands.&lt;br /&gt;
&lt;br /&gt;
It can also be interesting to watch the number of particles that the emitter has emitted, you can read the variables &amp;quot;currentparticlecount&amp;quot; and &amp;quot;emittedparticles&amp;quot; for that:&lt;br /&gt;
&lt;br /&gt;
  TParticleEmitter (TGraalVar):&lt;br /&gt;
    currentparticlecount - integer (read only) - for watching how many particles exist&lt;br /&gt;
    emittedparticles - integer (read only) - for seeing how many particles have been emitted in total&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Reference==&lt;br /&gt;
&lt;br /&gt;
  emitter&lt;br /&gt;
    delaymin - Minimum time before another particle is emitted&lt;br /&gt;
    delaymax - Maximum time before another particle is emitted&lt;br /&gt;
    nrofparticles - Number of particles to release at once&lt;br /&gt;
    firstinfront - Tells whether particles drawn after the first particle should draw on top or below the first&lt;br /&gt;
    attachposition - Tells whether or not x/y position of particles is relative to the position of the emitter. Also tells if particles should move when the emitter is moved.&lt;br /&gt;
    emissionoffset - How far away from the emitter (or the level if attachposition=false) to emit particles. Format: {x,y,z}&lt;br /&gt;
  particle&lt;br /&gt;
    lifetime - Time (in seconds) before a particle is hidden&lt;br /&gt;
    image - Image to use for the particle&lt;br /&gt;
    mode - Drawing mode of the image. (0 = add, 1 = replace, 2 = subtract) See changeimgmode&lt;br /&gt;
    alpha - Alpha transparency of a particle (0 = invisible, 1 = opaque)&lt;br /&gt;
    zoom - Zoomfactor of a particle&lt;br /&gt;
    angle - Angle the particle should move at&lt;br /&gt;
    zangle - Height angle of the particle&lt;br /&gt;
    speed - How many pixels the particle should move (every .05 seconds)&lt;br /&gt;
    rotation - How much to rotate the image&lt;br /&gt;
    spin - How many times the particle should spin before it is destroyed&lt;br /&gt;
    stretchx - How much to stretch the particle image horizontally&lt;br /&gt;
    stretchy - How much to stretch the particle image vertically&lt;br /&gt;
    red, green, blue - Used to change color of particle&lt;br /&gt;
    dimension - Polygon dimension (2 or 3)&lt;br /&gt;
    movementvector - Unknown (format is {float,float,float})&lt;br /&gt;
      Parameters:&lt;br /&gt;
      First - Affects distance east&lt;br /&gt;
      Second - Affects distance south&lt;br /&gt;
      Third - Affects distance north&lt;br /&gt;
  addlocalmodifier(&amp;quot;string&amp;quot;,float,float,&amp;quot;string&amp;quot;,&amp;quot;string&amp;quot;,float,float)&lt;br /&gt;
    Parameters:&lt;br /&gt;
    First - Tells when to do an action&lt;br /&gt;
      once - Do it once&lt;br /&gt;
      range - Do the action during the range of time param2-param3&lt;br /&gt;
      impulse - Do it randomly&lt;br /&gt;
    Second - Tells the minimum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Third - Tells the maximum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Fourth - Tells what action to perform&lt;br /&gt;
      Everything under &amp;quot;particle&amp;quot; except for the following can be changed: image , text, ani, font, movementvector, style&lt;br /&gt;
      x - x position of the particle&lt;br /&gt;
      y - y position of the particle&lt;br /&gt;
      z - z position of the particle&lt;br /&gt;
      movex - How far the particle should move horizontally in its lifetime&lt;br /&gt;
      movey - How far the particle should move vertically in its lifetime&lt;br /&gt;
      movez - How far the particle should move above the ground in its lifetime&lt;br /&gt;
    Fifth - Tells what to do with parameters 6 and 7&lt;br /&gt;
      add - Add the amount (use negatives to subtract)&lt;br /&gt;
      replace - Set a new amount&lt;br /&gt;
      multiply - Multiply the amount (use negatives to divide)&lt;br /&gt;
    Sixth - Minimum amount&lt;br /&gt;
    Seventh - Maximum amount&lt;br /&gt;
  addglobalmodifier() - Same as addlocalmodifier, except it affects all particles at once&lt;br /&gt;
  addemitmodifier() - Same as addlocalmodifier, except it affects all particles the emitter emits&lt;br /&gt;
  addmod() - Used in conjunction with addlocalmodifier, same parameters except no parameters 1-3&lt;br /&gt;
  emit() - Begin emitting particles&lt;br /&gt;
  maxparticles - Maximum number of particles that can exist at once&lt;br /&gt;
  currentparticlecount - Current number of particles that exist&lt;br /&gt;
  emittedparticles - Total number of particles that have been emitted&lt;br /&gt;
  autorotation - Unknown (boolean)&lt;br /&gt;
  checkbelowterrain - If true, the particle will be destroyed if it falls below the terrain height (0 for flat GMaps)&lt;br /&gt;
  clippingbox - Format of {x1,y1,z1,x2,y2,z2}, particles that leave this box will be destroyed&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2613</id>
		<title>Particle Engine</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2613"/>
		<updated>2005-09-03T18:19:51Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Reference==&lt;br /&gt;
&lt;br /&gt;
emitter&lt;br /&gt;
  delaymin - Minimum time before another particle is emitted&lt;br /&gt;
  delaymax - Maximum time before another particle is emitted&lt;br /&gt;
  nrofparticles - Number of particles to release at once&lt;br /&gt;
  firstinfront - Tells whether particles drawn after the first particle should draw on top or below the first&lt;br /&gt;
  attachposition - Tells whether or not x/y position of particles is relative to the position of the emitter&lt;br /&gt;
  emissionoffset - How far away from the emitter (or the level if attachposition=false) to emit particles. Format: {x,y,z}&lt;br /&gt;
  particle&lt;br /&gt;
    lifetime - Time (in seconds) before a particle is hidden&lt;br /&gt;
    image - Image to use for the particle&lt;br /&gt;
    mode - Drawing mode of the image. (0 = add, 1 = replace, 2 = subtract) See changeimgmode&lt;br /&gt;
    alpha - Alpha transparency of a particle (0 = invisible, 1 = opaque)&lt;br /&gt;
    zoom - Zoomfactor of a particle&lt;br /&gt;
    angle - Angle the particle should move at&lt;br /&gt;
    zangle - Height angle of the particle&lt;br /&gt;
    speed - How many pixels the particle should move (every .05 seconds)&lt;br /&gt;
    rotation - How much to rotate the image&lt;br /&gt;
    spin - How many times the particle should spin before it is destroyed&lt;br /&gt;
    stretchx - How much to stretch the particle image horizontally&lt;br /&gt;
    stretchy - How much to stretch the particle image vertically&lt;br /&gt;
    red, green, blue - Used to change color of particle&lt;br /&gt;
    movementvector - Unknown (format is {float,float,float})&lt;br /&gt;
      Parameters:&lt;br /&gt;
      First - Affects distance east&lt;br /&gt;
      Second - Affects distance south&lt;br /&gt;
      Third - Affects distance north&lt;br /&gt;
  addlocalmodifier(&amp;quot;string&amp;quot;,float,float,&amp;quot;string&amp;quot;,&amp;quot;string&amp;quot;,float,float)&lt;br /&gt;
    Parameters:&lt;br /&gt;
    First - Tells when to do an action&lt;br /&gt;
      once - Do it once&lt;br /&gt;
      range - Do the action during the range of time param2-param3&lt;br /&gt;
      impulse - Do it randomly&lt;br /&gt;
    Second - Tells the minimum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Third - Tells the maximum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Fourth - Tells what action to perform&lt;br /&gt;
      Everything under &amp;quot;particle&amp;quot; except for image can be changed&lt;br /&gt;
      x - x position of the particle&lt;br /&gt;
      y - y position of the particle&lt;br /&gt;
    Fifth - Tells what to do with parameters 6 and 7&lt;br /&gt;
      add - Add the amount (use negatives to subtract)&lt;br /&gt;
      replace - Set a new amount&lt;br /&gt;
      multiply - Multiply the amount (use negatives to divide)&lt;br /&gt;
    Sixth - Minimum amount&lt;br /&gt;
    Seventh - Maximum amount&lt;br /&gt;
  addglobalmodifier() - Same as addlocalmodifier, except it affects all particles at once&lt;br /&gt;
  addemitmodifier() - Same as addlocalmodifier, except it affects all particles the emitter emits&lt;br /&gt;
  addmod() - Used in conjunction with addlocalmodifier, same parameters except no parameters 1-3&lt;br /&gt;
  emit() - Begin emitting particles&lt;br /&gt;
  maxparticles - Maximum number of particles that can exist at once&lt;br /&gt;
  currentparticlecount - Current number of particles that exist&lt;br /&gt;
  emittedparticles - Total number of particles that have been emitted&lt;br /&gt;
  autorotation - Unknown (boolean)&lt;br /&gt;
  checkbelowterrain - If true, the particle will be destroyed if it falls below the terrain height (0 for flat GMaps)&lt;br /&gt;
  clippingbox - Format of {x1,y1,z1,x2,y2,z2}, particles that leave this box will be destroyed&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2612</id>
		<title>Particle Engine</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2612"/>
		<updated>2005-09-03T17:40:15Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Reference==&lt;br /&gt;
&lt;br /&gt;
emitter&lt;br /&gt;
  delaymin - Minimum time befor another particle is emitted&lt;br /&gt;
  delaymax - Maximum time befor another particle is emitted&lt;br /&gt;
  nrofparticles - Number of particles to release at once&lt;br /&gt;
  firstinfront - Tells whether particles drawn after the first particle should draw on top or below the first&lt;br /&gt;
  attachposition - Tells whether or not x/y position of particles is relative to the position of the emitter&lt;br /&gt;
  emissionoffset - How far away from the emitter (or the level if attachposition=false) to emit particles. Format: {x,y,z}&lt;br /&gt;
  particle&lt;br /&gt;
    lifetime - Time (in seconds) before a particle is hidden&lt;br /&gt;
    image - Image to use for the particle&lt;br /&gt;
    mode - Drawing mode of the image. (0 = add, 1 = replace, 2 = subtract) See changeimgmode&lt;br /&gt;
    alpha - Alpha transparency of a particle (0 = invisible, 1 = opaque)&lt;br /&gt;
    zoom - Zoomfactor of a particle&lt;br /&gt;
    angle - Angle the particle should move at&lt;br /&gt;
    zangle - Height angle of the particle&lt;br /&gt;
    speed - How many pixels the particle should move (every .05 seconds)&lt;br /&gt;
    rotation - How much to rotate the image&lt;br /&gt;
    spin - How many times the particle should spin before it is destroyed&lt;br /&gt;
    stretchx - How much to stretch the particle image horizontally&lt;br /&gt;
    stretchy - How much to stretch the particle image vertically&lt;br /&gt;
    red, green, blue - Used to change color of particle&lt;br /&gt;
    movementvector - Unknown (format is {float,float,float})&lt;br /&gt;
      Parameters:&lt;br /&gt;
      First - Affects distance east&lt;br /&gt;
      Second - Affects distance south&lt;br /&gt;
      Third - Affects distance north&lt;br /&gt;
  addlocalmodifier(&amp;quot;string&amp;quot;,float,float,&amp;quot;string&amp;quot;,&amp;quot;string&amp;quot;,float,float)&lt;br /&gt;
    Parameters:&lt;br /&gt;
    First - Tells when to do an action&lt;br /&gt;
      once - Do it once&lt;br /&gt;
      range - Do the action during the range of time param2-param3&lt;br /&gt;
      impulse - Do it randomly&lt;br /&gt;
    Second - Tells the minimum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Third - Tells the maximum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Fourth - Tells what action to perform&lt;br /&gt;
      Everything under &amp;quot;particle&amp;quot; except for image can be changed&lt;br /&gt;
      x - x position of the particle&lt;br /&gt;
      y - y position of the particle&lt;br /&gt;
    Fifth - Tells what to do with parameters 6 and 7&lt;br /&gt;
      add - Add the amount (use negatives to subtract)&lt;br /&gt;
      replace - Set a new amount&lt;br /&gt;
      multiply - Multiply the amount (use negatives to divide)&lt;br /&gt;
    Sixth - Minimum amount&lt;br /&gt;
    Seventh - Maximum amount&lt;br /&gt;
  addglobalmodifier() - Same as addlocalmodifier, except it affects all particles at once&lt;br /&gt;
  addemitmodifier() - Same as addlocalmodifier, except it affects all particles the emitter emits&lt;br /&gt;
  addmod() - Used in conjunction with addlocalmodifier, same parameters except no parameters 1-3&lt;br /&gt;
  emit() - Begin emitting particles&lt;br /&gt;
  maxparticles - Maximum number of particles that can exist at once&lt;br /&gt;
  currentparticlecount - Current number of particles that exist&lt;br /&gt;
  emittedparticles - Total number of particles that have been emitted&lt;br /&gt;
  autorotation - Unknown (boolean)&lt;br /&gt;
  checkbelowterrain - If true, the particle will be destroyed if it falls below the terrain height (0 for flat GMaps)&lt;br /&gt;
  clippingbox - Format of {x1,y1,z1,x2,y2,z2}, particles that leave this box will be destroyed&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2601</id>
		<title>Particle Engine</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2601"/>
		<updated>2005-09-03T07:21:19Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Reference==&lt;br /&gt;
&lt;br /&gt;
emitter&lt;br /&gt;
  delaymin - Minimum time befor another particle is emitted&lt;br /&gt;
  delaymax - Maximum time befor another particle is emitted&lt;br /&gt;
  nrofparticles - Number of particles to release at once&lt;br /&gt;
  firstinfront - Tells whether particles drawn after the first particle should draw on top or below the first&lt;br /&gt;
  attachposition - Tells whether or not x/y position of particles is relative to the position of the emitter&lt;br /&gt;
  emissionoffset - How far away from the emitter (or the level if attachposition=false) to emit particles. Format: {x,y,z}&lt;br /&gt;
  particle&lt;br /&gt;
    lifetime - Time (in seconds) before a particle is hidden&lt;br /&gt;
    image - Image to use for the particle&lt;br /&gt;
    mode - see changeimgmode&lt;br /&gt;
    alpha - Alpha transparency of a particle (0 = invisible, 1 = opaque)&lt;br /&gt;
    zoom - Zoomfactor of a particle&lt;br /&gt;
    angle - Angle the particle should move at&lt;br /&gt;
    zangle - Height angle of the particle&lt;br /&gt;
    speed - How many pixels the particle should move (every .05 seconds)&lt;br /&gt;
    rotation - How much to rotate the image&lt;br /&gt;
    spin - How many times the particle should spin before it is destroyed&lt;br /&gt;
    stretchx - How much to stretch the particle image horizontally&lt;br /&gt;
    stretchy - How much to stretch the particle image vertically&lt;br /&gt;
    red, green, blue - Used to change color of particle&lt;br /&gt;
    movementvector - Unknown (format is {float,float,float})&lt;br /&gt;
      Parameters:&lt;br /&gt;
      First - Affects distance east&lt;br /&gt;
      Second - Affects distance south&lt;br /&gt;
      Third - Affects distance north&lt;br /&gt;
  addlocalmodifier(&amp;quot;string&amp;quot;,float,float,&amp;quot;string&amp;quot;,&amp;quot;string&amp;quot;,float,float)&lt;br /&gt;
    Parameters:&lt;br /&gt;
    First - Tells when to do an action&lt;br /&gt;
      once - Do it once&lt;br /&gt;
      range - Do the action during the range of time param2-param3&lt;br /&gt;
      impulse - Do it randomly&lt;br /&gt;
    Second - Tells the minimum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Third - Tells the maximum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Fourth - Tells what action to perform&lt;br /&gt;
      Everything under &amp;quot;particle&amp;quot; except for image can be changed&lt;br /&gt;
      x - x position of the particle&lt;br /&gt;
      y - y position of the particle&lt;br /&gt;
    Fifth - Tells what to do with parameters 6 and 7&lt;br /&gt;
      add - Add the amount (use negatives to subtract)&lt;br /&gt;
      replace - Set a new amount&lt;br /&gt;
      multiply - Multiply the amount (use negatives to divide)&lt;br /&gt;
    Sixth - Minimum amount&lt;br /&gt;
    Seventh - Maximum amount&lt;br /&gt;
  addglobalmodifier() - Same as addlocalmodifier, except it affects all particles at once&lt;br /&gt;
  addemitmodifier() - Same as addlocalmodifier, except it affects all particles the emitter emits&lt;br /&gt;
  addmod() - Used in conjunction with addlocalmodifier, same parameters except no parameters 1-3&lt;br /&gt;
  emit() - Begin emitting particles&lt;br /&gt;
  maxparticles - Maximum number of particles that can exist at once&lt;br /&gt;
  currentparticlecount - Current number of particles that exist&lt;br /&gt;
  emittedparticles - Total number of particles that have been emitted&lt;br /&gt;
  autorotation - Unknown (boolean)&lt;br /&gt;
  checkbelowterrain - Unknown (boolean)&lt;br /&gt;
  clippingbox - Unknown (string)&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2599</id>
		<title>Particle Engine</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2599"/>
		<updated>2005-09-03T07:11:59Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: /* Reference */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Reference==&lt;br /&gt;
&lt;br /&gt;
emitter&lt;br /&gt;
  delaymin - Minimum time befor another particle is emitted&lt;br /&gt;
  delaymax - Maximum time befor another particle is emitted&lt;br /&gt;
  nrofparticles - Number of particles to release at once&lt;br /&gt;
  firstinfront - Tells whether particles drawn after the first particle should draw on top or below the first&lt;br /&gt;
  attachposition - Tells whether or not x/y position of particles is relative to the position of the emitter&lt;br /&gt;
  emissionoffset - How far away from the player to emit particles. Format: {x,y,z}&lt;br /&gt;
  particle&lt;br /&gt;
    lifetime - Time (in seconds) before a particle is hidden&lt;br /&gt;
    image - Image to use for the particle&lt;br /&gt;
    mode - see changeimgmode&lt;br /&gt;
    alpha - Alpha transparency of a particle (0 = invisible, 1 = opaque)&lt;br /&gt;
    zoom - Zoomfactor of a particle&lt;br /&gt;
    angle - Angle the particle should move at&lt;br /&gt;
    zangle - Height angle of the particle&lt;br /&gt;
    speed - How many pixels the particle should move (every .05 seconds)&lt;br /&gt;
    rotation - How much to rotate the image&lt;br /&gt;
    spin - How many times the particle should spin before it is destroyed&lt;br /&gt;
    stretchx - How much to stretch the particle image horizontally&lt;br /&gt;
    stretchy - How much to stretch the particle image vertically&lt;br /&gt;
    red, green, blue - Used to change color of particle&lt;br /&gt;
    movementvector - Unknown (format is {float,float,float})&lt;br /&gt;
      Parameters:&lt;br /&gt;
      First - Affects distance east&lt;br /&gt;
      Second - Affects distance south&lt;br /&gt;
      Third - Affects distance north&lt;br /&gt;
  addlocalmodifier(&amp;quot;string&amp;quot;,float,float,&amp;quot;string&amp;quot;,&amp;quot;string&amp;quot;,float,float)&lt;br /&gt;
    Parameters:&lt;br /&gt;
    First - Tells when to do an action&lt;br /&gt;
      once - Do it once&lt;br /&gt;
      range - Do the action during the range of time param2-param3&lt;br /&gt;
      impulse - Do it randomly&lt;br /&gt;
    Second - Tells the minimum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Third - Tells the maximum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Fourth - Tells what action to perform&lt;br /&gt;
      Everything under &amp;quot;particle&amp;quot; except for image can be changed&lt;br /&gt;
      x - x position of the particle&lt;br /&gt;
      y - y position of the particle&lt;br /&gt;
    Fifth - Tells what to do with parameters 6 and 7&lt;br /&gt;
      add - Add the amount (use negatives to subtract)&lt;br /&gt;
      replace - Set a new amount&lt;br /&gt;
      multiply - Multiply the amount (use negatives to divide)&lt;br /&gt;
    Sixth - Minimum amount&lt;br /&gt;
    Seventh - Maximum amount&lt;br /&gt;
  addglobalmodifier() - Same as addlocalmodifier, except it affects all particles at once&lt;br /&gt;
  addemitmodifier() - Same as addlocalmodifier, except it affects all particles the emitter emits&lt;br /&gt;
  addmod() - Used in conjunction with addlocalmodifier, same parameters except no parameters 1-3&lt;br /&gt;
  emit() - Begin emitting particles&lt;br /&gt;
  maxparticles - Maximum number of particles that can exist at once&lt;br /&gt;
  currentparticlecount - Current number of particles that exist&lt;br /&gt;
  emittedparticles - Total number of particles that have been emitted&lt;br /&gt;
  autorotation - Unknown (boolean)&lt;br /&gt;
  checkbelowterrain - Unknown (boolean)&lt;br /&gt;
  clippingbox - Unknown (string)&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2598</id>
		<title>Particle Engine</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Particle_Engine&amp;diff=2598"/>
		<updated>2005-09-03T07:11:07Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Reference=&lt;br /&gt;
emitter&lt;br /&gt;
  delaymin - Minimum time befor another particle is emitted&lt;br /&gt;
  delaymax - Maximum time befor another particle is emitted&lt;br /&gt;
  nrofparticles - Number of particles to release at once&lt;br /&gt;
  firstinfront - Tells whether particles drawn after the first particle should draw on top or below the first&lt;br /&gt;
  attachposition - Tells whether or not x/y position of particles is relative to the position of the emitter&lt;br /&gt;
  emissionoffset - How far away from the player to emit particles. Format: {x,y,z}&lt;br /&gt;
  particle&lt;br /&gt;
    lifetime - Time (in seconds) before a particle is hidden&lt;br /&gt;
    image - Image to use for the particle&lt;br /&gt;
    mode - see changeimgmode&lt;br /&gt;
    alpha - Alpha transparency of a particle (0 = invisible, 1 = opaque)&lt;br /&gt;
    zoom - Zoomfactor of a particle&lt;br /&gt;
    angle - Angle the particle should move at&lt;br /&gt;
    zangle - Height angle of the particle&lt;br /&gt;
    speed - How many pixels the particle should move (every .05 seconds)&lt;br /&gt;
    rotation - How much to rotate the image&lt;br /&gt;
    spin - How many times the particle should spin before it is destroyed&lt;br /&gt;
    stretchx - How much to stretch the particle image horizontally&lt;br /&gt;
    stretchy - How much to stretch the particle image vertically&lt;br /&gt;
    red, green, blue - Used to change color of particle&lt;br /&gt;
    movementvector - Unknown (format is {float,float,float})&lt;br /&gt;
      Parameters:&lt;br /&gt;
      First - Affects distance east&lt;br /&gt;
      Second - Affects distance south&lt;br /&gt;
      Third - Affects distance north&lt;br /&gt;
  addlocalmodifier(&amp;quot;string&amp;quot;,float,float,&amp;quot;string&amp;quot;,&amp;quot;string&amp;quot;,float,float)&lt;br /&gt;
    Parameters:&lt;br /&gt;
    First - Tells when to do an action&lt;br /&gt;
      once - Do it once&lt;br /&gt;
      range - Do the action during the range of time param2-param3&lt;br /&gt;
      impulse - Do it randomly&lt;br /&gt;
    Second - Tells the minimum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Third - Tells the maximum time to wait before doing an action (except for 'range')&lt;br /&gt;
    Fourth - Tells what action to perform&lt;br /&gt;
      Everything under &amp;quot;particle&amp;quot; except for image can be changed&lt;br /&gt;
      x - x position of the particle&lt;br /&gt;
      y - y position of the particle&lt;br /&gt;
    Fifth - Tells what to do with parameters 6 and 7&lt;br /&gt;
      add - Add the amount (use negatives to subtract)&lt;br /&gt;
      replace - Set a new amount&lt;br /&gt;
      multiply - Multiply the amount (use negatives to divide)&lt;br /&gt;
    Sixth - Minimum amount&lt;br /&gt;
    Seventh - Maximum amount&lt;br /&gt;
  addglobalmodifier() - Same as addlocalmodifier, except it affects all particles at once&lt;br /&gt;
  addemitmodifier() - Same as addlocalmodifier, except it affects all particles the emitter emits&lt;br /&gt;
  addmod() - Used in conjunction with addlocalmodifier, same parameters except no parameters 1-3&lt;br /&gt;
  emit() - Begin emitting particles&lt;br /&gt;
  maxparticles - Maximum number of particles that can exist at once&lt;br /&gt;
  currentparticlecount - Current number of particles that exist&lt;br /&gt;
  emittedparticles - Total number of particles that have been emitted&lt;br /&gt;
  autorotation - Unknown (boolean)&lt;br /&gt;
  checkbelowterrain - Unknown (boolean)&lt;br /&gt;
  clippingbox - Unknown (string)&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Graalopoly&amp;diff=2557</id>
		<title>Graalopoly</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Graalopoly&amp;diff=2557"/>
		<updated>2005-08-18T00:05:27Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Graalopoly is a [[Graal]]-themed spoof of Monopoly. The project was created August 14th, 2005 at approximately 4 PM CST. The idea was originally stated as a joke by Maniaman but was taken a little bit more seriously by Jagen. An IRC channel on freenode, #graalopoly, was formed and registered. The first five members or the Graalopoly team include the following:&lt;br /&gt;
# [[Jagen]]&lt;br /&gt;
# [[Maniaman]]&lt;br /&gt;
# [[GrowlZ]]&lt;br /&gt;
# [[Damix]]&lt;br /&gt;
# [[Lance]]&lt;br /&gt;
This project will be coded using [[GScript|Gscript2]]. &lt;br /&gt;
== Gameplay ==&lt;br /&gt;
The original Monopoly rules will be used and will be typed here at an undetermined date and time.&lt;br /&gt;
&lt;br /&gt;
=== Changes to the Gameplay ===&lt;br /&gt;
As previously stated, everything about the boardgame Monopoly will be changed into something Graal-themed. &lt;br /&gt;
&lt;br /&gt;
==== Game Pieces ====&lt;br /&gt;
# NPC Symbol&lt;br /&gt;
# [[Gralat]]&lt;br /&gt;
# Classic Heart&lt;br /&gt;
# Bomb&lt;br /&gt;
# Bow&lt;br /&gt;
# Classic Horse&lt;br /&gt;
# Sword&lt;br /&gt;
# Shield&lt;br /&gt;
&lt;br /&gt;
==== Special Board Spaces ====&lt;br /&gt;
#Community Chest -&amp;gt; Stefan's Directives&lt;br /&gt;
#Chance -&amp;gt; Unixmad's Directives&lt;br /&gt;
#Income Tax -&amp;gt; [[Gold account|Gold Upgrade]]&lt;br /&gt;
#Luxury Tax -&amp;gt; [[VIP account|VIP Upgrade]]&lt;br /&gt;
#Jail -&amp;gt; [[PW:Unholy Nation|Unholy Nation]]&lt;br /&gt;
#Go to Jail -&amp;gt; Go to UN&lt;br /&gt;
#Free Parking -&amp;gt; Serverlist&lt;br /&gt;
&lt;br /&gt;
==== Special Property Spaces ====&lt;br /&gt;
#Electric Company -&amp;gt; [[Gserver]]&lt;br /&gt;
#Water Company -&amp;gt; [[NPC Server]]&lt;br /&gt;
#Railroads -&amp;gt; [[Gold server|Gold Servers]], [[Classic server|Classic Servers]], [[Hosted server|Hosted Servers]], [[Private server|Privated Servers]]&lt;br /&gt;
&lt;br /&gt;
==== Special Names ====&lt;br /&gt;
#Mortgage -&amp;gt; [[Load Only]]&lt;br /&gt;
#Houses -&amp;gt; [[Adminlevel|adminlevels 1-4]]&lt;br /&gt;
#hotel -&amp;gt; [[Adminlevel|adminlevel 5]]&lt;br /&gt;
&lt;br /&gt;
==== Properties ====&lt;br /&gt;
&lt;br /&gt;
===== Purple  =====&lt;br /&gt;
#Mediterranean Avenue -&amp;gt; New Server&lt;br /&gt;
#Baltic Avenue -&amp;gt; Empty Server&lt;br /&gt;
&lt;br /&gt;
===== Dark Blue =====&lt;br /&gt;
#Boardwalk -&amp;gt; [[Graal Kingdoms]]&lt;br /&gt;
#Park Place -&amp;gt; [[Zone]]&lt;br /&gt;
&lt;br /&gt;
=== Board ===&lt;br /&gt;
&lt;br /&gt;
{| cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;  style=&amp;quot;font-size:x-small;&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;font-size:small;&amp;quot;|  '''Graalopoly game board layout'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;| GO &amp;amp;rArr;&lt;br /&gt;
| New Server  (60g)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| Stefan's Directives&lt;br /&gt;
| Empty Server (60g)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| Gold Upgrades (Pay 10% or 200g)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| Classic Servers (200g)&lt;br /&gt;
| LightBlue1 (100g)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| Unixmad's Directives&lt;br /&gt;
| LightBlue2  (100g)&lt;br /&gt;
| LightBlue3  (120g)&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot; colspan=&amp;quot;2&amp;quot;| Unholy Nation&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| bgcolor=&amp;quot;#993399&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#993399&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#aaccff&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#aaccff&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#aaccff&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Graal Kingdoms (400g)&lt;br /&gt;
| bgcolor=&amp;quot;#3333ff&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot; rowspan=&amp;quot;9&amp;quot; valign=&amp;quot;middle&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;font-size:xx-large;&amp;quot; bgcolor=&amp;quot;#BAE4BC&amp;quot;| [[Image:graalopoly.png|Graalopoly]]&lt;br /&gt;
| bgcolor=&amp;quot;#ee44dd&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| Purple1  (140g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| VIP Upgrade Pay (75g)&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| GServer (150g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Zone (350g)&lt;br /&gt;
| bgcolor=&amp;quot;#3333ff&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#ee44dd&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| Purple2 (140g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| Unixmad's Directives&lt;br /&gt;
| bgcolor=&amp;quot;#ee44dd&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| Purple3 (160g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| Gold Servers (200g)&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| Hosted Servers (200g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Green3 (320g)&lt;br /&gt;
| bgcolor=&amp;quot;#008000&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#ff6600&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| Orange1 (180g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot;| Stefan's Directives&lt;br /&gt;
|td colspan=&amp;quot;2&amp;quot;| Stefan's Directives&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Green2 (300g)&lt;br /&gt;
| bgcolor=&amp;quot;#008000&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#ff6600&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| Orange2  (180g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Green1 (300g)&lt;br /&gt;
| bgcolor=&amp;quot;#008000&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#ff6600&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| Orange3 (200g)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;| Go To UN&lt;br /&gt;
| bgcolor=&amp;quot;#ffff00&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| NPC Server (150g)&lt;br /&gt;
| bgcolor=&amp;quot;#ffff00&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#ffff00&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| Private Servers (200g)&lt;br /&gt;
| bgcolor=&amp;quot;#ff0000&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| bgcolor=&amp;quot;#ff0000&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| Unixmad's Directives&lt;br /&gt;
| bgcolor=&amp;quot;#ff0000&amp;quot;| &amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot;| Serverlist&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Yellow3 (280g)&lt;br /&gt;
| Yellow2 (260g)&lt;br /&gt;
| Yellow1 (260g)&lt;br /&gt;
| Red3 (240g)&lt;br /&gt;
| Red2 (220g)&lt;br /&gt;
| Red1 (220g)&lt;br /&gt;
|}&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=User:Okilian&amp;diff=2569</id>
		<title>User:Okilian</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=User:Okilian&amp;diff=2569"/>
		<updated>2005-08-17T23:29:09Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Co Manager of Unholy Nation&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Server_options&amp;diff=1045</id>
		<title>Server options</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Server_options&amp;diff=1045"/>
		<updated>2004-12-26T21:56:49Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: /* Staff */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Options are usually set only by high [[Playerworld staff]], preferably only the [[Playerworld owner]], as they are very powerful and can be abused easily.&lt;br /&gt;
&lt;br /&gt;
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are not parsed, and can be used for comments.&lt;br /&gt;
&lt;br /&gt;
== Known Server Options ==&lt;br /&gt;
&lt;br /&gt;
Please add new options if you discover them.&lt;br /&gt;
&lt;br /&gt;
=== Start location ===&lt;br /&gt;
startlevel=level name&lt;br /&gt;
startx=number&lt;br /&gt;
starty=number&lt;br /&gt;
&lt;br /&gt;
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].&lt;br /&gt;
&lt;br /&gt;
=== Unstick me location ===&lt;br /&gt;
unstickmelevel=level name&lt;br /&gt;
unstickmex=number&lt;br /&gt;
unstickmey=number&lt;br /&gt;
&lt;br /&gt;
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.&lt;br /&gt;
&lt;br /&gt;
=== Protected Weapons ===&lt;br /&gt;
protectedweapons=list of comma seperated weapon names&lt;br /&gt;
&lt;br /&gt;
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.&lt;br /&gt;
&lt;br /&gt;
=== Jail Levels ===&lt;br /&gt;
jaillevels=level names comma separated&lt;br /&gt;
&lt;br /&gt;
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.&lt;br /&gt;
&lt;br /&gt;
=== Explosion Restriction ===&lt;br /&gt;
noexplosions=true/false&lt;br /&gt;
&lt;br /&gt;
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].&lt;br /&gt;
&lt;br /&gt;
=== Statistic Restriction ===&lt;br /&gt;
setbodyallowed=true/false&lt;br /&gt;
setheadallowed=true/false&lt;br /&gt;
setbomyallowed=true/false&lt;br /&gt;
setswordallowed=true/false&lt;br /&gt;
setshieldallowed=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the chat commands to change the player's [[Appearance commands|appearance]] are enabled. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
=== Gralat Loss Options ===&lt;br /&gt;
mindeathgralats=number&lt;br /&gt;
maxdeathgralats=number&lt;br /&gt;
&lt;br /&gt;
Defines the amount of [[Gralat]]s that the player drops on death.&lt;br /&gt;
&lt;br /&gt;
=== Staff Gralat Restriction ===&lt;br /&gt;
normaladminscanchangegralats=true/false&lt;br /&gt;
&lt;br /&gt;
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.&lt;br /&gt;
&lt;br /&gt;
=== Local 'Staff Guilds' ===&lt;br /&gt;
staffguilds=comma seperated list of guild names&lt;br /&gt;
&lt;br /&gt;
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist ([[Delphi client]] only for now)&lt;br /&gt;
&lt;br /&gt;
=== `Bush' Items ===&lt;br /&gt;
bushitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].&lt;br /&gt;
&lt;br /&gt;
=== `Baddy' Items ===&lt;br /&gt;
baddyitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.&lt;br /&gt;
&lt;br /&gt;
=== `Healing' Swords ===&lt;br /&gt;
healswords=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.&lt;br /&gt;
&lt;br /&gt;
=== Non-script timeouts ===&lt;br /&gt;
respawntime=number&lt;br /&gt;
horselifetime=number&lt;br /&gt;
baddyrespawntime=number&lt;br /&gt;
&lt;br /&gt;
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]&lt;br /&gt;
&lt;br /&gt;
=== Server Scripting Flags ===&lt;br /&gt;
dontaddserverflags=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.&lt;br /&gt;
&lt;br /&gt;
=== Server Maps ===&lt;br /&gt;
bigmap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
minimap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
&lt;br /&gt;
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.&lt;br /&gt;
&lt;br /&gt;
=== Warping (All Players) ===&lt;br /&gt;
warptoforall=true/false&lt;br /&gt;
warptoforlowadmins=true/false&lt;br /&gt;
&lt;br /&gt;
Whether all [[Player]] can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.&lt;br /&gt;
&lt;br /&gt;
=== Ghost Mode ===&lt;br /&gt;
ghostmodeenabled=true/false&lt;br /&gt;
ghostmodefornotstaff=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.&lt;br /&gt;
&lt;br /&gt;
=== Playerlist Icons ===&lt;br /&gt;
playerlisticons=comma seperated list of statusses&lt;br /&gt;
&lt;br /&gt;
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].&lt;br /&gt;
&lt;br /&gt;
=== Profile Variables ===&lt;br /&gt;
profilevars=comma seperated list of profile variables&lt;br /&gt;
&lt;br /&gt;
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.&lt;br /&gt;
&lt;br /&gt;
=== Trial Account Limits ===&lt;br /&gt;
limitfreeplayers2=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.&lt;br /&gt;
&lt;br /&gt;
=== AP System Activation ===&lt;br /&gt;
apsystem=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.&lt;br /&gt;
&lt;br /&gt;
=== Starting AP ===&lt;br /&gt;
startap=number&lt;br /&gt;
&lt;br /&gt;
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
=== Global Guilds Activation ===&lt;br /&gt;
globalguilds=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
=== AP Timeouts ===&lt;br /&gt;
aptime0=number&lt;br /&gt;
aptime1=number&lt;br /&gt;
aptime2=number&lt;br /&gt;
aptime3=number&lt;br /&gt;
aptime4=number&lt;br /&gt;
&lt;br /&gt;
Time (in seconds) it takes to recharge one point of [[AP]] when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200.&lt;br /&gt;
&lt;br /&gt;
=== Heart/Sword Limits ===&lt;br /&gt;
heartlimit=number&lt;br /&gt;
swordlimit=number&lt;br /&gt;
&lt;br /&gt;
The maximum amount of fullhearts and swordpower that is allowed.&lt;br /&gt;
&lt;br /&gt;
=== 'putnpc' Scripting Command ===&lt;br /&gt;
putnpcenabled=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Translation ===&lt;br /&gt;
enabletranslations=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the [[Translation system]] is enabled.&lt;br /&gt;
(TODO: Move this to the aforelinked article, or gscript articles:) If yes, signs and text in [[GScript|scripts]] in #U(text goes here) form will be saved in a text file where they can be translated into different languages. The files are to be found in the translations/ folder on [[RC]].&lt;br /&gt;
&lt;br /&gt;
=== Language Selection ===&lt;br /&gt;
translatedlanguages=comma seperated list of languages, like Deutsch,...&lt;br /&gt;
&lt;br /&gt;
The languages of which a [[Translation system|translation]] file shall be loaded by the server. (TODO: See above:) If a file exists, signs and #U() text will be replaced with values from this file.&lt;br /&gt;
&lt;br /&gt;
=== Server Language ===&lt;br /&gt;
serverlanguage=language name&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server 'Sleep' ===&lt;br /&gt;
sleepwhennoplayers=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.&lt;br /&gt;
&lt;br /&gt;
=== Tilesets ===&lt;br /&gt;
newtilesets=true/false&lt;br /&gt;
newtilesetlevels=comma seperated list of levels&lt;br /&gt;
&lt;br /&gt;
Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
staff=comma seperated list of account names&lt;br /&gt;
&lt;br /&gt;
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was &amp;gt; 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin rights]] will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]].&lt;br /&gt;
&lt;br /&gt;
=== GMAP List ===&lt;br /&gt;
gmaps=comma seperated list of gmap files, without .gmap extension&lt;br /&gt;
&lt;br /&gt;
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.&lt;br /&gt;
&lt;br /&gt;
=== Weapon Order ===&lt;br /&gt;
weaponorder=comma seperated list of weapon names&lt;br /&gt;
&lt;br /&gt;
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure that the inventory script that disables the [[Q menu]] will be sent first, for example. First, all weapons in this list will be sent in order, then all unlisted weapons.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Control Rights ===&lt;br /&gt;
npcrights=true/false&lt;br /&gt;
&lt;br /&gt;
Whether [[NC rights]] are active. For security reasons, it is strongly [[Deprecated]] to set this to false.&lt;br /&gt;
&lt;br /&gt;
=== Kill Count ===&lt;br /&gt;
dontchangekills=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the [[Player]]'s [[Kills|kill count]] is changed for each kill.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server Nickname ===&lt;br /&gt;
nickname=string&lt;br /&gt;
&lt;br /&gt;
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.&lt;br /&gt;
&lt;br /&gt;
=== Speedhack Tolerance ===&lt;br /&gt;
speedhacktolerance=number&lt;br /&gt;
&lt;br /&gt;
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.&lt;br /&gt;
&lt;br /&gt;
=== Idle Disconnect ===&lt;br /&gt;
disconnectifnotmoved=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).&lt;br /&gt;
&lt;br /&gt;
=== Save Levels ===&lt;br /&gt;
savelevels=true/false&lt;br /&gt;
&lt;br /&gt;
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels. Currently, this does not work with [[GMap]]s.&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Server_options&amp;diff=1036</id>
		<title>Server options</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Server_options&amp;diff=1036"/>
		<updated>2004-12-26T21:55:52Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''server options''' are a collection of key=value configuration options that allow you to customize the non-[[GScript|script]]able behaviour of an individual [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Options are usually set only by high [[Playerworld staff]], preferably only the [[Playerworld owner]], as they are very powerful and can be abused easily.&lt;br /&gt;
&lt;br /&gt;
When you omit an option, its value will not be changed if the option has been used before. Therefore, it is more secure to change only the value and not whole option, should you need to change something.&lt;br /&gt;
&lt;br /&gt;
Lines beginning with # are not parsed, and can be used for comments.&lt;br /&gt;
&lt;br /&gt;
== Known Server Options ==&lt;br /&gt;
&lt;br /&gt;
Please add new options if you discover them.&lt;br /&gt;
&lt;br /&gt;
=== Start location ===&lt;br /&gt;
startlevel=level name&lt;br /&gt;
startx=number&lt;br /&gt;
starty=number&lt;br /&gt;
&lt;br /&gt;
This sets the originating location for all [[Player]]s which do not have location statistics of their own saved [[Local|locally]].&lt;br /&gt;
&lt;br /&gt;
=== Unstick me location ===&lt;br /&gt;
unstickmelevel=level name&lt;br /&gt;
unstickmex=number&lt;br /&gt;
unstickmey=number&lt;br /&gt;
&lt;br /&gt;
These define the position that a [[Player]] is warped to after using the [[Unstick me]] command.&lt;br /&gt;
&lt;br /&gt;
=== Protected Weapons ===&lt;br /&gt;
protectedweapons=list of comma seperated weapon names&lt;br /&gt;
&lt;br /&gt;
[[NPC weapon]]s that cannot be deleted by the [[Player]]. This differs from weapons with asterisk prefixed name which cannot be deleted with the Del key, but still can be deleted on the [[Clientside]] using the [[Old GScript:destroy|destroy]] command. `Protected' weapons can (unless *ified) be deleted with Del, but the NPC server will not remove them from the player's weapon list and thus the [[Serverside]] part will remain and the player obtains them again on the next connect.&lt;br /&gt;
&lt;br /&gt;
=== Jail Levels ===&lt;br /&gt;
jaillevels=level names comma separated&lt;br /&gt;
&lt;br /&gt;
Non-[[Playerworld staff|staff]] players in these levels will not be able to leave them. A [[Serverside]] [[Old GScript:setlevel2|setlevel2]] or warping with [[RC]] is neccessary. Also, they can send [[PM]]s only to RC clients and not regular [[Client]]s.&lt;br /&gt;
&lt;br /&gt;
=== Explosion Restriction ===&lt;br /&gt;
noexplosions=true/false&lt;br /&gt;
&lt;br /&gt;
Disables the result of [[Old GScript:putexplosion|putexplosion]], and `explosive' [[NPC weapons]].&lt;br /&gt;
&lt;br /&gt;
=== Statistic Restriction ===&lt;br /&gt;
setbodyallowed=true/false&lt;br /&gt;
setheadallowed=true/false&lt;br /&gt;
setbomyallowed=true/false&lt;br /&gt;
setswordallowed=true/false&lt;br /&gt;
setshieldallowed=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the chat commands to change the player's [[Appearance commands|appearance]] are enabled. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
=== Gralat Loss Options ===&lt;br /&gt;
mindeathgralats=number&lt;br /&gt;
maxdeathgralats=number&lt;br /&gt;
&lt;br /&gt;
Defines the amount of [[Gralat]]s that the player drops on death.&lt;br /&gt;
&lt;br /&gt;
=== Staff Gralat Restriction ===&lt;br /&gt;
normaladminscanchangegralats=true/false&lt;br /&gt;
&lt;br /&gt;
Whether normal [[RC]]s can change the gralat count of a player. `Normal' used to be defined as `below [[Adminlevel]] 4', but nowadays is probably regulated by certain high-level [[Admin right]]s.&lt;br /&gt;
&lt;br /&gt;
=== Local 'Staff Guilds' ===&lt;br /&gt;
staffguilds=comma seperated list of guild names&lt;br /&gt;
&lt;br /&gt;
Matches to these [[Guild]] names appear in the `Staff' section of the playerlist ([[Delphi client]] only for now)&lt;br /&gt;
&lt;br /&gt;
=== `Bush' Items ===&lt;br /&gt;
bushitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Bush]]es contain [[Item]]s. May not work on a [[GMap]].&lt;br /&gt;
&lt;br /&gt;
=== `Baddy' Items ===&lt;br /&gt;
baddyitems=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Baddy|baddies]] drop [[Item]]s once killed.&lt;br /&gt;
&lt;br /&gt;
=== `Healing' Swords ===&lt;br /&gt;
healswords=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether is possible to have a negative [[Sword]] power and thus add [[Heart]]s to those hit by the sword.&lt;br /&gt;
&lt;br /&gt;
=== Non-script timeouts ===&lt;br /&gt;
respawntime=number&lt;br /&gt;
horselifetime=number&lt;br /&gt;
baddyrespawntime=number&lt;br /&gt;
&lt;br /&gt;
Timeout in seconds for respawn times for [[Bush]]es, [[Horse]]s and [[Baddy|Baddies]]&lt;br /&gt;
&lt;br /&gt;
=== Server Scripting Flags ===&lt;br /&gt;
dontaddserverflags=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[GScript|scripts]] can add new [[Server flag]]s or only modify existing ones.&lt;br /&gt;
&lt;br /&gt;
=== Server Maps ===&lt;br /&gt;
bigmap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
minimap=maptext,mapimage,defaultx,defaulty&lt;br /&gt;
&lt;br /&gt;
Default serverwide [[Map]]s. Syntax resembles [[Old GScript:setmap|setmap]] and [[Old GScript:setminimap|setminimap]] [[GScript]] commands.&lt;br /&gt;
&lt;br /&gt;
=== Warping (All Players) ===&lt;br /&gt;
warptoforall=true/false&lt;br /&gt;
warptoforlowadmins=true/false&lt;br /&gt;
&lt;br /&gt;
Whether all [[Player]] can use the [[Warpto]] command, and whether [[Global]] [[Admin level]] 1 allows warpto.&lt;br /&gt;
&lt;br /&gt;
=== Ghost Mode ===&lt;br /&gt;
ghostmodeenabled=true/false&lt;br /&gt;
ghostmodefornotstaff=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether all [[Player]]s appear as [[Ghost]], or only non-[[Playerworld staff|staff]] players, or nobody.&lt;br /&gt;
&lt;br /&gt;
=== Playerlist Icons ===&lt;br /&gt;
playerlisticons=comma seperated list of statusses&lt;br /&gt;
&lt;br /&gt;
Possible status list, [[Player]]s can select one of them in the [[Players list]]. There must be a [[Downloadable]] file plisticonNAME.png available in a folder specified as `file' in [[Folder configuration]].&lt;br /&gt;
&lt;br /&gt;
=== Profile Variables ===&lt;br /&gt;
profilevars=comma seperated list of profile variables&lt;br /&gt;
&lt;br /&gt;
Selects what is to be displayed in a [[Player]]'s profile. The default variables are: playerkills, playerdeaths, playerfullhearts, playerrating, playerap, playerrupees, playerswordpower, canspin, largely modelled after [[Old GScript]]. Custom string variables can be added in the format `name=stringname'. If name is not specified, stringname is used.&lt;br /&gt;
&lt;br /&gt;
=== Trial Account Limits ===&lt;br /&gt;
limitfreeplayers2=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether to disable adding of [[Bomb]]s, [[Arrow]]s, and [[Explosion]]s for [[Trial account]]s.&lt;br /&gt;
&lt;br /&gt;
=== AP System Activation ===&lt;br /&gt;
apsystem=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[AP]] system is enabled. If yes, there are some restrictions for [[Player]]s with low AP regarding hearts.&lt;br /&gt;
&lt;br /&gt;
=== Starting AP ===&lt;br /&gt;
startap=number&lt;br /&gt;
&lt;br /&gt;
How much [[AP]] [[Player]]s are given upon first login to this [[Playerworld]].&lt;br /&gt;
&lt;br /&gt;
=== Global Guilds Activation ===&lt;br /&gt;
globalguilds=true/false&lt;br /&gt;
&lt;br /&gt;
Allows or disallows [[Guild]] from the [[Global]] database. This is normally enabled.&lt;br /&gt;
&lt;br /&gt;
=== AP Timeouts ===&lt;br /&gt;
aptime0=number&lt;br /&gt;
aptime1=number&lt;br /&gt;
aptime2=number&lt;br /&gt;
aptime3=number&lt;br /&gt;
aptime4=number&lt;br /&gt;
&lt;br /&gt;
Time (in seconds) it takes to recharge one point of [[AP]] when the AP is currently below 20, 40, 60, 80 and 100 respectively. The defaults are 30, 90, 300, 600 and 1200.&lt;br /&gt;
&lt;br /&gt;
=== Heart/Sword Limits ===&lt;br /&gt;
heartlimit=number&lt;br /&gt;
swordlimit=number&lt;br /&gt;
&lt;br /&gt;
The maximum amount of fullhearts and swordpower that is allowed.&lt;br /&gt;
&lt;br /&gt;
=== 'putnpc' Scripting Command ===&lt;br /&gt;
putnpcenabled=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[Old GScript:putnpc|putnpc]] command is enabled. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Translation ===&lt;br /&gt;
enabletranslations=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the [[Translation system]] is enabled.&lt;br /&gt;
(TODO: Move this to the aforelinked article, or gscript articles:) If yes, signs and text in [[GScript|scripts]] in #U(text goes here) form will be saved in a text file where they can be translated into different languages. The files are to be found in the translations/ folder on [[RC]].&lt;br /&gt;
&lt;br /&gt;
=== Language Selection ===&lt;br /&gt;
translatedlanguages=comma seperated list of languages, like Deutsch,...&lt;br /&gt;
&lt;br /&gt;
The languages of which a [[Translation system|translation]] file shall be loaded by the server. (TODO: See above:) If a file exists, signs and #U() text will be replaced with values from this file.&lt;br /&gt;
&lt;br /&gt;
=== Server Language ===&lt;br /&gt;
serverlanguage=language name&lt;br /&gt;
&lt;br /&gt;
The default [[Translation system|language]] of the [[Playerworld]]. Defaults to English.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server 'Sleep' ===&lt;br /&gt;
sleepwhennoplayers=true/false&lt;br /&gt;
&lt;br /&gt;
Whether the [[NPC Server]] must execute [[GScript|scripts]] even when no [[Player]] is around.&lt;br /&gt;
&lt;br /&gt;
=== Tilesets ===&lt;br /&gt;
newtilesets=true/false&lt;br /&gt;
newtilesetlevels=comma seperated list of levels&lt;br /&gt;
&lt;br /&gt;
Whether all [[Level]]s will use the new [[Tileset]] layout, or a match list of levels that shall. (Mostly [[Deprecated]])&lt;br /&gt;
&lt;br /&gt;
=== Staff ===&lt;br /&gt;
staff=comma seperated list of account names&lt;br /&gt;
&lt;br /&gt;
The [[Account]]s in this list will count as [[Playerworld staff]] as if their admin level was &amp;gt; 0. Their [[PM|mass messages]] override the option to ignore mass messages, their [[Admin right]]s will be applied, and if their [[IP address range]] matches their actual IP address, they may log in to [[RC]].&lt;br /&gt;
&lt;br /&gt;
=== GMAP List ===&lt;br /&gt;
gmaps=comma seperated list of gmap files, without .gmap extension&lt;br /&gt;
&lt;br /&gt;
The  server will attempt to load these as [[GMap]]s. As this line might get rather crowded, it is possible to have multiple gmaps= lines.&lt;br /&gt;
&lt;br /&gt;
=== Weapon Order ===&lt;br /&gt;
weaponorder=comma seperated list of weapon names&lt;br /&gt;
&lt;br /&gt;
Specifies the order in which the [[NPC weapon]] [[GScript|scripts]] will be sent to the [[Clientside|client]] upon connection. This can be used to ensure that the inventory script that disables the [[Q menu]] will be sent first, for example. First, all weapons in this list will be sent in order, then all unlisted weapons.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Control Rights ===&lt;br /&gt;
npcrights=true/false&lt;br /&gt;
&lt;br /&gt;
Whether [[NC rights]] are active. For security reasons, it is strongly [[Deprecated]] to set this to false.&lt;br /&gt;
&lt;br /&gt;
=== Kill Count ===&lt;br /&gt;
dontchangekills=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether the [[Player]]'s [[Kills|kill count]] is changed for each kill.&lt;br /&gt;
&lt;br /&gt;
=== NPC-Server Nickname ===&lt;br /&gt;
nickname=string&lt;br /&gt;
&lt;br /&gt;
The [[NPC Server]] will use this as its [[Nick name]], with (Server) appended. Ignores all [[Guild]] tags.&lt;br /&gt;
&lt;br /&gt;
=== Speedhack Tolerance ===&lt;br /&gt;
speedhacktolerance=number&lt;br /&gt;
&lt;br /&gt;
This gives the percentage of data packages that [[Clientside|clients]] may send above the expected over without being logged as [[Trainer users]]. On [[Graal Kingdoms]], the rather conservative setting of 90 is used. If you set this too low, your server will crash.&lt;br /&gt;
&lt;br /&gt;
=== Idle Disconnect ===&lt;br /&gt;
disconnectifnotmoved=true/false&lt;br /&gt;
&lt;br /&gt;
Selects whether [[Idle]] [[Player]]s are automatically disconnected. (Possibly deprecated).&lt;br /&gt;
&lt;br /&gt;
=== Save Levels ===&lt;br /&gt;
savelevels=true/false&lt;br /&gt;
&lt;br /&gt;
Setting this to true allows changes to the [[Tile]]s of [[Level]]s to be saved to the actual level files from [[GScript|scripting]] commands, so it is possible to persistently change the levels. Currently, this does not work with [[GMap]]s.&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Graal_Communication_Center&amp;diff=1322</id>
		<title>Graal Communication Center</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Graal_Communication_Center&amp;diff=1322"/>
		<updated>2004-12-23T21:54:42Z</updated>

		<summary type="html">&lt;p&gt;CheeToS: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''Graal Communication Center ''' is the official forum of [[GraalOnline]].&lt;br /&gt;
&lt;br /&gt;
The official name is ''Graal Communication Center (reserved for gold and vip subscribers)'', but no one but [[Unixmad]] uses it.&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
&lt;br /&gt;
The forum is currently divided into [[GCC:Section]]s: the [[GCC:General Section]], [[GCC:Gold Section]], [[GCC:3D Section]], [[GCC:Playerworlds Section]], [[GCC:Development Section]] and [[GCC:Private Section]].&lt;br /&gt;
Each section holds multiple [[GCC:Subforum]]s.&lt;br /&gt;
&lt;br /&gt;
A oversized moderation force with not equally balanced qualification is moderating the Graal Communication Center. Some [[GCC:Moderator]]s moderate one or more individual subforums or a whole forum section. Some subforums are not moderated directly, and more interesting ones are overseen by multiple moderators. [[Spark911]] and [[Moon Goddess]] are still [[GCC:Super moderator]]s, and thus should be fairly moderating the whole Communication Center.&lt;br /&gt;
[[MagicalTux]] from the [[Cyberjoueurs]] offices is also serving as forums administrator.&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
&lt;br /&gt;
This forum is, at the time of writing, only available to [[Gold account|Gold]] and [[VIP account|VIP]] accountholders, although plans to open it to [[Classic Account]]s are in the works for [[Christmas]].&lt;br /&gt;
&lt;br /&gt;
It is againsts the [[GCC:Rules]] of the forums to post messages from or for non-members of the forums. This is to prevent [[Account sharing]], which was very common in the forum's past and arguably had a negative influence on the motivation to buy a [[Gold account]].&lt;br /&gt;
&lt;br /&gt;
== Neutrality ==&lt;br /&gt;
&lt;br /&gt;
Unsurprisingly, the forums are very biased towards the [[Graal administration]]. Sadly, the [[Forum administration]] considers it neccessary to enforce this bias with rules that make ''any'' kind of [[GCC:Negativity|criticism]] a banworthy action. Thus, it is not possible to discuss [[GCC:Ban]]s, actions of [[GraalOnline]] considered harmful or unfair, or shortcomings of the adminstration including [[Playerworld staff]] or the [[Gold server]]s.&lt;br /&gt;
&lt;br /&gt;
Luckily, the most conservative moderators seem to have grown increasingly [[Spark911|igno]][[Moon Goddess|rant]] of these issues.&lt;br /&gt;
&lt;br /&gt;
== Curiosities ==&lt;br /&gt;
&lt;br /&gt;
* Apparently, now even [[Moon Goddess suggests that you should stop playing Graal]].&lt;br /&gt;
* [[Falco]] has, after a notoriously bad performance at trying to prove [[Kaimetsu]] wrong, exclaimed that [[People_who_think_that_Falco_is_a_moron|at most five people think that he is a moron]] and that everybody else is well aware of his superior intellect.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [http://forums.graalonline.com/forums/ The Graal Communication Center]&lt;br /&gt;
* [http://ilfirin.org/graal/forum/forum.pl A locally hosted free alternative forum]&lt;/div&gt;</summary>
		<author><name>CheeToS</name></author>
	</entry>
</feed>