Index: branches/christmas_branche/src/world_entities/creatures/md2_creature.cc
===================================================================
--- branches/christmas_branche/src/world_entities/creatures/md2_creature.cc	(revision 6217)
+++ branches/christmas_branche/src/world_entities/creatures/md2_creature.cc	(revision 6218)
@@ -181,4 +181,19 @@
    this->cameraConnNode.addChild(this->getWeaponManager()->getFixedTarget());
   this->getWeaponManager()->getFixedTarget()->setRelCoor(10,0,0);
+
+}
+
+
+void MD2Creature::enter()
+{
+  dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( true);
+
+
+}
+
+void MD2Creature::leave()
+{
+  dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( false);
+
 
 }
Index: branches/christmas_branche/src/world_entities/creatures/md2_creature.h
===================================================================
--- branches/christmas_branche/src/world_entities/creatures/md2_creature.h	(revision 6217)
+++ branches/christmas_branche/src/world_entities/creatures/md2_creature.h	(revision 6218)
@@ -26,4 +26,7 @@
     void init();
     void loadParams(const TiXmlElement* root);
+
+    virtual void enter();
+    virtual void leave();
 
     void addWeapon(Weapon* weapon );
Index: branches/christmas_branche/src/world_entities/player.cc
===================================================================
--- branches/christmas_branche/src/world_entities/player.cc	(revision 6217)
+++ branches/christmas_branche/src/world_entities/player.cc	(revision 6218)
@@ -95,6 +95,8 @@
          if (this->controllable != (*node) && (dynamic_cast<PNode*>(*node)->getAbsCoor() - this->controllable->getAbsCoor()).len() < 10.0)
        {
+         this->controllable->leave();
          this->disconnectControllable();
          this->setControllable(dynamic_cast<Playable*>(*node));
+         this->controllable->enter();
          State::getCamera()->setParentSoft(this->controllable);
          State::getCameraTarget()->setParentSoft(this->controllable);
Index: branches/christmas_branche/src/world_entities/space_ships/helicopter.cc
===================================================================
--- branches/christmas_branche/src/world_entities/space_ships/helicopter.cc	(revision 6217)
+++ branches/christmas_branche/src/world_entities/space_ships/helicopter.cc	(revision 6218)
@@ -182,4 +182,21 @@
 {
   static_cast<WorldEntity*>(this)->loadParams(root);
+}
+
+
+
+
+void Helicopter::enter()
+{
+  dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( true);
+
+
+}
+
+void Helicopter::leave()
+{
+  dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( false);
+
+
 }
 
Index: branches/christmas_branche/src/world_entities/space_ships/helicopter.h
===================================================================
--- branches/christmas_branche/src/world_entities/space_ships/helicopter.h	(revision 6217)
+++ branches/christmas_branche/src/world_entities/space_ships/helicopter.h	(revision 6218)
@@ -24,4 +24,7 @@
     void loadParams(const TiXmlElement* root);
 
+    virtual void enter();
+    virtual void leave();
+
     void addWeapon(Weapon* weapon );
     void removeWeapon(Weapon* weapon);
@@ -39,5 +42,4 @@
 
   private:
-
     void calculateVelocity(float time);
     void weaponAction();
@@ -65,5 +67,5 @@
     float                 travelSpeed;        //!< the current speed of the player (to make soft movement)
     float                 acceleration;       //!< the acceleration of the player.
-    
+
     float                 airViscosity;
 
Index: branches/christmas_branche/src/world_entities/space_ships/space_ship.cc
===================================================================
--- branches/christmas_branche/src/world_entities/space_ships/space_ship.cc	(revision 6217)
+++ branches/christmas_branche/src/world_entities/space_ships/space_ship.cc	(revision 6218)
@@ -177,4 +177,5 @@
   this->getWeaponManager()->getFixedTarget()->setRelCoor(100000,0,0);
 
+  dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( false);
 }
 
@@ -188,4 +189,18 @@
 }
 
+
+void SpaceShip::enter()
+{
+  dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( true);
+
+
+}
+
+void SpaceShip::leave()
+{
+  dynamic_cast<Element2D*>(this->getWeaponManager()->getFixedTarget())->setVisibility( false);
+
+
+}
 
 /**
Index: branches/christmas_branche/src/world_entities/space_ships/space_ship.h
===================================================================
--- branches/christmas_branche/src/world_entities/space_ships/space_ship.h	(revision 6217)
+++ branches/christmas_branche/src/world_entities/space_ships/space_ship.h	(revision 6218)
@@ -26,4 +26,7 @@
     void init();
     void loadParams(const TiXmlElement* root);
+
+    virtual void enter();
+    virtual void leave();
 
     void addWeapon(Weapon* weapon );
