Index: code/branches/ScriptableController/data/gui/scripts/testscript.lua
===================================================================
--- code/branches/ScriptableController/data/gui/scripts/testscript.lua	(revision 10047)
+++ code/branches/ScriptableController/data/gui/scripts/testscript.lua	(revision 10048)
@@ -15,5 +15,5 @@
 -- If it worked, call its "movetoposition" function
 if ctrl ~= nil then
-  ctrl:moveToPosition_beta(x, y, z)
+  ctrl:eventScheduler("moveToPosition_beta", x, y, z, 5)
 end
 
Index: code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc	(revision 10047)
+++ code/branches/ScriptableController/src/orxonox/controllers/ScriptController.cc	(revision 10048)
@@ -36,4 +36,14 @@
 namespace orxonox
 {
+    float scTime=0;  /*initialise time, to coordinate eventTime*/
+
+
+
+    std::vector<event> eventList;
+
+    
+
+
+
     RegisterClass(ScriptController);
 
@@ -103,4 +113,13 @@
     }
 
+    void ScriptController::execute(event ev)
+    {
+        if(ev.fctName=="moveToPosition_beta")
+        {
+            moveToPosition_beta(ev.xCoord,ev.yCoord,ev.zCoord);
+        }
+    }
+
+
     void ScriptController::tick(float dt)
     {
@@ -114,6 +133,18 @@
         //this->entity_->rotatePitch(0.8f * 100.0f);
 
+        if(eventList[0].eventTime<=scTime)
+        {
+            /*TO DO: execute the function: eventList[0].fctName*/
+
+
+            eventList.erase(eventList.begin());
+        }
+
         SUPER(ScriptController, tick, dt);
-    }
+
+        scTime=scTime+dt;
+    }
+
+
 
 
@@ -134,11 +165,42 @@
     }
 
-
-    /* TODO:    hilfs(zwischen)funktionen um lua eingabe zu ermoeglichen: zb moveToPosition(float...) weil in LUA wohl 
-                kein vektor3 definierbar ist
-
-                NB: viele noetige funktionen sind schon in artificial- bzw formationcontroller vorhanden 
-
-                tick funktion?*/        
+    void ScriptController::eventScheduler(std::string instruction, float x, float y, float z, float executionTime)
+    {
+        /*put data (from LUA) into time-sorted eventList*/ 
+        /*nimmt den befehl und die argumente aus luascript und ertellt einen struct pro event, diese structs werden sortiert nach eventTime*/
+        struct event tmp;
+        tmp.fctName=instruction;
+        tmp.xCoord=x;
+        tmp.yCoord=y;
+        tmp.zCoord=z;
+        tmp.eventTime=executionTime;
+
+        for(unsigned int i=0;i<eventList.size();i++)
+        {
+            if(tmp.eventTime<eventList[i].eventTime)
+            {
+                std::vector<event>::iterator it = eventList.begin();
+
+                eventList.insert(it+(i+1),tmp);
+                break;
+            }
+            if(i==eventList.size()-1)
+            {
+                std::vector<event>::iterator it = eventList.end();
+
+                eventList.insert(it,tmp);
+
+            }
+
+        }
+        
+    }
+
+
+
+    /* TODO:    struct event erweitern um mehr funktionen benutzen zu koennen
+
+                mehr funktionen definieren (und dann in  execute if(...))
+                NB: viele noetige funktionen sind schon in artificial- bzw formationcontroller vorhanden */        
 
 
Index: code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h
===================================================================
--- code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h	(revision 10047)
+++ code/branches/ScriptableController/src/orxonox/controllers/ScriptController.h	(revision 10048)
@@ -35,6 +35,19 @@
 
 
+
 namespace orxonox  // tolua_export
 {  // tolua_export
+
+    struct event 
+    {   
+        std::string fctName;
+        float xCoord;
+        float yCoord;
+        float zCoord;
+
+        float eventTime;
+
+    }; 
+
     class _OrxonoxExport ScriptController // tolua_export 
        : public ArtificialController, public Tickable
@@ -60,5 +73,6 @@
             void moveToPosition_beta(float x, float y, float z);
 
-           
+            void eventScheduler(std::string instruction, float x, float y, float z, float time);
+
             static ScriptController* getScriptController();
 
@@ -68,4 +82,6 @@
             // tolua_end
             const Vector3& getPosition();
+
+            void execute(event ev);
 
         private:
