Index: trunk/src/util/track/track.cc
===================================================================
--- trunk/src/util/track/track.cc	(revision 10497)
+++ trunk/src/util/track/track.cc	(revision 10498)
@@ -142,4 +142,13 @@
      this->mode = newMode;
 }
+
+/**
+ * Sets the bool if the track runs (false) or not (true)
+ */
+void Track::pauseTrack(bool stop)
+{
+     this->pause = stop;
+}
+
 
 /**
@@ -250,4 +259,6 @@
        {
           float newDt = dt * ratio;
+          if(this->pause)
+            newDt = 0;
           this->localTime = oldTime += newDt;
        }
Index: trunk/src/util/track/track.h
===================================================================
--- trunk/src/util/track/track.h	(revision 10497)
+++ trunk/src/util/track/track.h	(revision 10498)
@@ -27,4 +27,5 @@
    void setSpeed(float speed);
    void setMode(int newMode);
+   void pauseTrack(bool stop);
 
    //void finalize();
@@ -55,4 +56,5 @@
    PNode*               trackNode;              //!< The node that is slave to the Track. This node will be moved while update the Track, and must NOT move itself.
    int                  mode;                   //!< Defines the behaviour of the Track.
+   bool                 pause;                  //!< Defines if the track runs (false) or not (true)
 };
 
Index: trunk/src/world_entities/cameraman.cc
===================================================================
--- trunk/src/world_entities/cameraman.cc	(revision 10497)
+++ trunk/src/world_entities/cameraman.cc	(revision 10498)
@@ -48,4 +48,5 @@
                         ->addMethod("setRelCoor", Executor4<CameraMan, lua_State*,const std::string&,float,float,float>(&CameraMan::setRelCameraCoor))
                         ->addMethod("setRelCoorSoft", Executor5<CameraMan, lua_State*,const std::string&,float,float,float,float>(&CameraMan::setRelCameraCoorSoft))
+                        ->addMethod("pauseCamera", Executor2<CameraMan, lua_State*, const std::string&, bool>(&CameraMan::pauseCamera))
                        );
 
@@ -134,4 +135,10 @@
      dynamic_cast<Camera*>(newCam)->setRelCoorSoft(x,y,z,bias);
      dynamic_cast<Camera*>(newCam)->target->setRelCoorSoft(0,0,0,bias);
+}
+
+void CameraMan::pauseCamera(const std::string& camName, bool stop)
+{
+     BaseObject* newCam = ObjectListBase::getBaseObject("Camera", camName);
+     dynamic_cast<Camera*>(newCam)->pauseTrack(stop);
 }
 
Index: trunk/src/world_entities/cameraman.h
===================================================================
--- trunk/src/world_entities/cameraman.h	(revision 10497)
+++ trunk/src/world_entities/cameraman.h	(revision 10498)
@@ -58,4 +58,5 @@
     void setRelCameraCoorSoft(const std::string& cameraName, float x, float y, float z, float bias);
     //void setViewMode(const std::string& camName, const std::string& viewMode);
+    void pauseCamera(const std::string& camName, bool stop);
     
     void changeSpeed(float speed);
Index: trunk/src/world_entities/npcs/npc.cc
===================================================================
--- trunk/src/world_entities/npcs/npc.cc	(revision 10497)
+++ trunk/src/world_entities/npcs/npc.cc	(revision 10498)
@@ -52,5 +52,5 @@
                         ->addMethod("setAbsDir", Executor4<PNode, lua_State*,float,float,float,float>(&PNode::setAbsDir))
                         ->addMethod("fire", Executor0<NPC, lua_State*>(&NPC::fire))
-
+                        ->addMethod("pause", Executor1<WorldEntity, lua_State*, bool>(&WorldEntity::pauseTrack))
                        );
 
Index: trunk/src/world_entities/space_ships/space_ship.cc
===================================================================
--- trunk/src/world_entities/space_ships/space_ship.cc	(revision 10497)
+++ trunk/src/world_entities/space_ships/space_ship.cc	(revision 10498)
@@ -91,4 +91,5 @@
                         ->addMethod("getAbsCoorZ", Executor0ret<PNode, lua_State*, float>(&PNode::getAbsCoorZ))
                         //->addMethod("setCameraSpeed", Executor1<SpaceShip, lua_State*, float>(&SpaceShip::setCameraSpeed))
+                        ->addMethod("pause", Executor1<WorldEntity, lua_State*, bool>(&WorldEntity::pauseTrack))
                        );
 
Index: trunk/src/world_entities/world_entity.cc
===================================================================
--- trunk/src/world_entities/world_entity.cc	(revision 10497)
+++ trunk/src/world_entities/world_entity.cc	(revision 10498)
@@ -198,4 +198,10 @@
 }
 
+void WorldEntity::pauseTrack(bool stop)
+{
+     if(this->entityTrack)
+       this->entityTrack->pauseTrack(stop);
+}
+
 
 /**
Index: trunk/src/world_entities/world_entity.h
===================================================================
--- trunk/src/world_entities/world_entity.h	(revision 10497)
+++ trunk/src/world_entities/world_entity.h	(revision 10498)
@@ -176,4 +176,6 @@
   ;  ///FIXME
   void debugEntity() const;
+  
+  void pauseTrack(bool stop);
 
 
@@ -192,4 +194,5 @@
   void updateHealthWidget();
   void addTrack(const TiXmlElement* root);
+  
 
 
