Index: branches/scriptimprovements/src/world_entities/script_triggers/script_trigger.cc
===================================================================
--- branches/scriptimprovements/src/world_entities/script_triggers/script_trigger.cc	(revision 10611)
+++ branches/scriptimprovements/src/world_entities/script_triggers/script_trigger.cc	(revision 10614)
@@ -41,17 +41,4 @@
   executionStopped = false; // true when something goes wrong and the trigger has to be stopped
   addToScript = false;
-
-
-  if(root != NULL)
-  {
-
-    loadParams(root);
-
-    if(addToScript && scriptIsOk)
-    {
-      script->addObject( "ScriptTrigger", this->getName());
-    }
-
-  }
 
 }
Index: branches/scriptimprovements/src/world_entities/script_triggers/script_trigger.h
===================================================================
--- branches/scriptimprovements/src/world_entities/script_triggers/script_trigger.h	(revision 10611)
+++ branches/scriptimprovements/src/world_entities/script_triggers/script_trigger.h	(revision 10614)
@@ -11,8 +11,7 @@
 #include "world_entity.h"
 #include "loading/load_param.h"
-#include "vector.h"
 #include "script_manager.h"
 #include "script.h"
-#include "script_class.h"
+
 
 class ScriptTrigger : public WorldEntity
@@ -28,5 +27,5 @@
 
     /// DO WORK
-    virtual void tick(float timestep){}
+    virtual void tick(float timestep) = 0;
     virtual void executeAction(float timestep);
     void testScriptingFramework();
@@ -48,5 +47,5 @@
     std::string  functionName;
     bool         doDebugDraw;
-    bool         addToScript;
+   
     
     //for internal use
@@ -59,4 +58,5 @@
     bool         scriptIsOk;
     bool         scriptFinished;
+    bool         addToScript;
 
 };
Index: branches/scriptimprovements/src/world_entities/script_triggers/space_trigger.cc
===================================================================
--- branches/scriptimprovements/src/world_entities/script_triggers/space_trigger.cc	(revision 10611)
+++ branches/scriptimprovements/src/world_entities/script_triggers/space_trigger.cc	(revision 10614)
@@ -30,12 +30,12 @@
                             ->addMethod("setName", Executor1<BaseObject, lua_State*, const std::string&>(&BaseObject::setName))
                             ->addMethod("setTarget", Executor1<SpaceTrigger, lua_State*, const std::string&>(&SpaceTrigger::setTarget))
-                            ->addMethod("setTriggerParent", Executor1<SpaceTrigger, lua_State*, const std::string&>(&SpaceTrigger::setTriggerParent))
+                            ->addMethod("setTriggerParent", Executor1<ScriptTrigger, lua_State*, const std::string&>(&ScriptTrigger::setTriggerParent))
                             ->addMethod("setTriggerRemains", Executor1<SpaceTrigger, lua_State*, bool>(&SpaceTrigger::setTriggerRemains))
                             ->addMethod("setInvert", Executor1<SpaceTrigger, lua_State*, bool>(&SpaceTrigger::setInvert))
                             ->addMethod("setRadius", Executor1<SpaceTrigger, lua_State*, float>(&SpaceTrigger::setRadius))
-                            ->addMethod("setScript", Executor1<SpaceTrigger, lua_State*, const std::string&>(&SpaceTrigger::setScript))
-                            ->addMethod("setFunction", Executor1<SpaceTrigger, lua_State*, const std::string&>(&SpaceTrigger::setFunction))
-                            ->addMethod("setDebugDraw", Executor1<SpaceTrigger, lua_State*, bool>(&SpaceTrigger::setDebugDraw))
-                            ->addMethod("setAddToScript", Executor1<SpaceTrigger, lua_State*, bool>(&SpaceTrigger::setAddToScript))
+                            ->addMethod("setScript", Executor1<ScriptTrigger, lua_State*, const std::string&>(&ScriptTrigger::setScript))
+                            ->addMethod("setFunction", Executor1<ScriptTrigger, lua_State*, const std::string&>(&ScriptTrigger::setFunction))
+                            ->addMethod("setDebugDraw", Executor1<ScriptTrigger, lua_State*, bool>(&ScriptTrigger::setDebugDraw))
+                            ->addMethod("setAddToScript", Executor1<ScriptTrigger, lua_State*, bool>(&ScriptTrigger::setAddToScript))
                        );
 
@@ -55,5 +55,14 @@
   triggerRemains = true;
  
+   if(root != NULL)
+  {
+    loadParams(root);
 
+    if(addToScript && scriptIsOk)
+    {
+      script->addObject( "SpaceTrigger", this->getName());
+    }
+
+  }
 
 }
Index: branches/scriptimprovements/src/world_entities/script_triggers/tick_trigger.cc
===================================================================
--- branches/scriptimprovements/src/world_entities/script_triggers/tick_trigger.cc	(revision 10611)
+++ branches/scriptimprovements/src/world_entities/script_triggers/tick_trigger.cc	(revision 10614)
@@ -45,4 +45,15 @@
   this->toList(OM_COMMON);
 
+  if(root != NULL)
+   {
+    loadParams(root);
+
+    if(addToScript && scriptIsOk)
+    {
+      script->addObject( "TickTrigger", this->getName());
+    }
+
+   }
+
 }
 
