Index: /orxonox/trunk/src/lib/particles/particle_system.cc
===================================================================
--- /orxonox/trunk/src/lib/particles/particle_system.cc	(revision 4726)
+++ /orxonox/trunk/src/lib/particles/particle_system.cc	(revision 4727)
@@ -44,5 +44,5 @@
   this->init();
 
-  this->maxCount = maxCount;
+  this->setMaxCount(maxCount);
   this->setType(type, 1);
 }
@@ -98,5 +98,5 @@
   this->material = NULL;
   this->model = NULL;
-  this->maxCount = PARTICLE_DEFAULT_MAX_COUNT;
+  this->setMaxCount(PARTICLE_DEFAULT_MAX_COUNT);
   this->count = 0;
   this->particles = NULL;
@@ -119,4 +119,7 @@
   static_cast<PhysicsInterface*>(this)->loadParams(root);
 
+  LoadParam<ParticleSystem>(root, "max-count", this, &ParticleSystem::setMaxCount)
+      .describe("the maximal count of Particles, that can be emitted into this system");
+
   //LoadParam<ParticleSystem>(root, "type", this, &ParticleSystem::setType);
   LoadParam<ParticleSystem>(root, "life-span", this, &ParticleSystem::setLifeSpan)
@@ -126,17 +129,33 @@
       .describe("sets the Conserve facrot of the Particles (1.0: they keep all their energy, 0.0:they keep no energy)");
 
-  LoadParam<ParticleSystem>(root, "type", this, &ParticleSystem::setType)
-      .describe("sets the type of the Particles, (dot, spark, sprite or model)");
+  const TiXmlElement* element = root->FirstChildElement();
+  while (element != NULL)
+  {
+    LoadParam<ParticleSystem>(element, "type", this, &ParticleSystem::setType, true)
+        .describe("sets the type of the Particles, (dot, spark, sprite or model)");
 
   // PER-PARTICLE-ATTRIBUTES:
-  LoadParam<ParticleSystem>(root, "radius", this, &ParticleSystem::setRadius)
-      .describe("The Radius of each particle over time (TimeIndex [0-1], radius at TimeIndex, randomRadius at TimeIndex)");
-
-  LoadParam<ParticleSystem>(root, "mass", this, &ParticleSystem::setMass)
-      .describe("The Mass of each particle over time (TimeIndex: [0-1], mass at TimeIndex, randomMass at TimeIndex)");
-
-  LoadParam<ParticleSystem>(root, "color", this, &ParticleSystem::setColor)
-      .describe("The Color of each particle over time (TimeIndex: [0-1], red: [0-1], green: [0-1], blue: [0-1], alpha: [0-1])");
-}
+    LoadParam<ParticleSystem>(element, "radius", this, &ParticleSystem::setRadius, true)
+        .describe("The Radius of each particle over time (TimeIndex [0-1], radius at TimeIndex, randomRadius at TimeIndex)");
+
+    LoadParam<ParticleSystem>(element, "mass", this, &ParticleSystem::setMass, true)
+        .describe("The Mass of each particle over time (TimeIndex: [0-1], mass at TimeIndex, randomMass at TimeIndex)");
+
+    LoadParam<ParticleSystem>(element, "color", this, &ParticleSystem::setColor, true)
+        .describe("The Color of each particle over time (TimeIndex: [0-1], red: [0-1], green: [0-1], blue: [0-1], alpha: [0-1])");
+    element = element->NextSiblingElement();
+  }
+
+}
+
+/**
+  \param maxCount the maximum count of particles that can be emitted
+ */
+void ParticleSystem::setMaxCount(int maxCount)
+{
+  this->maxCount = maxCount;
+}
+
+
 /**
    \param particleType the type of particles in this System
Index: /orxonox/trunk/src/lib/particles/particle_system.h
===================================================================
--- /orxonox/trunk/src/lib/particles/particle_system.h	(revision 4726)
+++ /orxonox/trunk/src/lib/particles/particle_system.h	(revision 4727)
@@ -82,4 +82,5 @@
   void setLifeSpan(float lifeSpan, float randomLifeSpan = 0.0);
   void setConserve(float conserve);
+  void setMaxCount(int maxCount);
 
   /* Per-Particle-Attributes */
Index: /orxonox/trunk/src/story_entities/world.cc
===================================================================
--- /orxonox/trunk/src/story_entities/world.cc	(revision 4726)
+++ /orxonox/trunk/src/story_entities/world.cc	(revision 4727)
@@ -498,20 +498,20 @@
 
   // SYSTEM OF THE VULCANO
-  ParticleSystem* vulcanSysFog = new ParticleSystem(10000, PARTICLE_SPRITE);
-  vulcanSysFog->setLifeSpan(5, 2);
-  vulcanSysFog->setRadius(0.0, 20.0, 10);
-  vulcanSysFog->setRadius(.2, 50, 30);
-  vulcanSysFog->setRadius(1.0, 200, 100);
-  vulcanSysFog->setMass (0.0, 1.0);
-  vulcanSysFog->setColor(0, 1, 1, 1, .5);
-  vulcanSysFog->setColor(.5, .6, .6, .6, .2);
-  vulcanSysFog->setColor(1, .0, .0, .0, 0);
-
-  ParticleEmitter* vulcanEmitFog = new ParticleEmitter(Vector(0,1,0), .5, 200, 150);
-  vulcanEmitFog->setEmissionVelocity(150, 50);
-  vulcanEmitFog->setType(EMITTER_CUBE);
-  vulcanEmitFog->setSize(40);
-  vulcanEmitFog->setRelCoor(2460,105, 606);
-  ParticleEngine::getInstance()->addConnection(vulcanEmitFog, vulcanSysFog);
+//   ParticleSystem* vulcanSysFog = new ParticleSystem(10000, PARTICLE_SPRITE);
+//   vulcanSysFog->setLifeSpan(5, 2);
+//   vulcanSysFog->setRadius(0.0, 20.0, 10);
+//   vulcanSysFog->setRadius(.2, 50, 30);
+//   vulcanSysFog->setRadius(1.0, 200, 100);
+//   vulcanSysFog->setMass (0.0, 1.0);
+//   vulcanSysFog->setColor(0, 1, 1, 1, .5);
+//   vulcanSysFog->setColor(.5, .6, .6, .6, .2);
+//   vulcanSysFog->setColor(1, .0, .0, .0, 0);
+//
+//   ParticleEmitter* vulcanEmitFog = new ParticleEmitter(Vector(0,1,0), .5, 200, 150);
+//   vulcanEmitFog->setEmissionVelocity(150, 50);
+//   vulcanEmitFog->setType(EMITTER_CUBE);
+//   vulcanEmitFog->setSize(40);
+//   vulcanEmitFog->setRelCoor(2460,105, 606);
+//   ParticleEngine::getInstance()->addConnection(vulcanEmitFog, vulcanSysFog);
 
 
