Index: code/branches/plehmannFS16/src/orxonox/CMakeLists.txt
===================================================================
--- code/branches/plehmannFS16/src/orxonox/CMakeLists.txt	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/CMakeLists.txt	(revision 11172)
@@ -64,5 +64,5 @@
     infos/PlayerInfo.h
     sound/SoundManager.h
-    controllers/ScriptController.h
+    controllers/NewScriptController.h
   PCH_FILE
     OrxonoxPrecompiledHeaders.h
Index: code/branches/plehmannFS16/src/orxonox/OrxonoxPrereqs.h
===================================================================
--- code/branches/plehmannFS16/src/orxonox/OrxonoxPrereqs.h	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/OrxonoxPrereqs.h	(revision 11172)
@@ -98,4 +98,5 @@
     class HumanController;
     class ScriptController;
+    class NewScriptController;
     class WaypointController;
     class WaypointPatrolController;
Index: code/branches/plehmannFS16/src/orxonox/controllers/CMakeLists.txt
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/CMakeLists.txt	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/CMakeLists.txt	(revision 11172)
@@ -21,3 +21,4 @@
   NewScriptController.cc
   Task.cc
+  DebugTask.cc
 )
Index: code/branches/plehmannFS16/src/orxonox/controllers/ControllerDirector.cc
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/ControllerDirector.cc	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/ControllerDirector.cc	(revision 11172)
@@ -105,4 +105,6 @@
         * the next time it is triggered */
        ctrlid += 1;
+
+        orxout()<<"swag"<< endl;
     } 
 
@@ -121,5 +123,9 @@
 
             // Check if there actually was a player returned.
-            if( this->player_ == nullptr) return false;
+            if( this->player_ == nullptr) {
+            orxout()<<"swag control"<< endl;
+
+              return false;
+            }
         }
         else
Index: code/branches/plehmannFS16/src/orxonox/controllers/DebugTask.cc
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/DebugTask.cc	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/DebugTask.cc	(revision 11172)
@@ -39,12 +39,12 @@
     RegisterClass(DebugTask);
 
-    DebugTask::DebugTask(Context* context) : isRunning_(false)
+    DebugTask::DebugTask(Context* context): Task(context)
     {
         RegisterObject(DebugTask);
     }
 
-    DebugTask::Tick(float dt)
+    void DebugTask::tick(float dt)
     {
-
+        SUPER(DebugTask, tick, dt);
     	orxout() << "*" << endl;
     }
Index: code/branches/plehmannFS16/src/orxonox/controllers/DebugTask.h
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/DebugTask.h	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/DebugTask.h	(revision 11172)
@@ -33,15 +33,16 @@
 #include "controllers/ArtificialController.h"
 #include "tools/interfaces/Tickable.h"
+#include "Task.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport Task : public Task
+    class _OrxonoxExport DebugTask : public Task
     {
         public:
             DebugTask(Context* context);
-            virtual ~Task();
+            virtual ~DebugTask(){}
 
-            //this function needs to be called otherwise the task is never carriedout
-            initialize()
+            void initialize(float startTime)
+                {this->startTime_ = startTime;}
 
             virtual void tick(float dt) override;
Index: code/branches/plehmannFS16/src/orxonox/controllers/NewScriptController.cc
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/NewScriptController.cc	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/NewScriptController.cc	(revision 11172)
@@ -44,9 +44,9 @@
 #include "NewScriptController.h"
 
+#include "DebugTask.h"
 #include "Task.h"
 #include "infos/PlayerInfo.h"
 #include "core/CoreIncludes.h"
 #include "worldentities/ControllableEntity.h"
-#include "core/LuaState.h"
 #include "core/LuaState.h"
 #include "util/Math.h"
@@ -69,5 +69,9 @@
         this->scTime_ = 0.0f;
 
-        //taskList_->push(new DebugTask);
+        this->context_ = context;
+
+        task_ = new DebugTask(context);
+
+        //taskQueue_->push(new DebugTask);
 
     }
@@ -111,30 +115,9 @@
         SUPER(NewScriptController, tick, dt);
 
-/*
+
         // If this controller has no entity entry, do nothing 
         if( !(this->entity_) ) return;
 
-        // See if time has come for the next event to be run 
-        if(this->taskList_->size() > 0 && this->taskList_->front().getStartTime() <= scTime_)
-        { // Execute the next event on the list 
-          activeTasks_->push_back(taskList_->front());
-          taskList_->pop();
-        }
-
-        // Update the local timers in this object 
-        scTime_ += dt;
-
-        // tick active tasks and delete completed tasks 
-        for(std::vector<Task>::iterator it = activeTasks_->begin(); it != activeTasks_->end(); it++)
-        {
-          it->tick(dt);
-          if ( !(it->getIsRunning()) )
-          {
-            activeTasks_->erase(it);
-            it--;
-          }
-
-        }
-*/
+        taskQueue_->first()->tick();
     }
 
@@ -142,13 +125,15 @@
     void NewScriptController::createAndAddTask(Task newTask)
     {
-      taskList_->push(newTask);
+      taskQueue_->push(newTask);
     }
 
-    void NewScriptController::debugOut()
+    void NewScriptController::debugOut(float startTime)
     {
-      orxout() << "NewScriptController: Taking control" << endl;
+      DebugTask* task = new DebugTask(context);
+      task->initialize(10000);
+      taskQueue_->push(task);
     }
 
-    NewScriptController* NewScriptController::getNewScriptController()
+    NewScriptController* NewScriptController::getNewScriptController() 
     {
       /* Output a message that confirms this function was called */
Index: code/branches/plehmannFS16/src/orxonox/controllers/NewScriptController.h
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/NewScriptController.h	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/NewScriptController.h	(revision 11172)
@@ -30,4 +30,5 @@
 #define _NewScriptController_H__
 
+#include "DebugTask.h"
 #include "Task.h"
 #include "OrxonoxPrereqs.h"                 /* die ganzen tolua, kopiert aus Dock.h*/
@@ -55,13 +56,11 @@
 
             // LUA interface
-            // tolua_begin 
 
-            void debugOut();
+            void debugOut(float startTime);// tolua_export 
 
-            static NewScriptController* getNewScriptController();
+            static NewScriptController* getNewScriptController();// tolua_export 
 
-            int getID() { return ctrlid_; }
+            int getID() { return ctrlid_; }// tolua_export 
 
-            //tolua_end
 
             void createAndAddTask(Task newTask);
@@ -81,12 +80,16 @@
 
             // List of events to walk through 
-            std::queue<Task>* taskList_;
+            std::queue<Task*>* taskQueue_;
 
 
             //List of Tasks currently active 
-            std::vector<Task>* activeTasks_;
+            std::vector<Task*>* activeTasks_;
 
             // Time since the creation of this ScriptController object
             float scTime_;  
+
+            DebugTask* task_;
+
+            context* context_;
 
 
Index: code/branches/plehmannFS16/src/orxonox/controllers/ScriptController.cc
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/ScriptController.cc	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/ScriptController.cc	(revision 11172)
@@ -46,5 +46,4 @@
 #include "core/CoreIncludes.h"
 #include "worldentities/ControllableEntity.h"
-#include "core/LuaState.h"
 #include "core/LuaState.h"
 #include "util/Math.h"
Index: code/branches/plehmannFS16/src/orxonox/controllers/Task.cc
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/Task.cc	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/Task.cc	(revision 11172)
@@ -31,5 +31,4 @@
 
 #include "infos/PlayerInfo.h"
-//#include "controllers/ArtificialController.h"
 #include "tools/interfaces/Tickable.h"
 
@@ -44,17 +43,13 @@
         startTime_ = -1;
     }
-    Task::~Task()
-    {
 
-    }
-/*
-    Task::initialize(float startTime)
+    void Task::initialize(float startTime)
     {
     	startTime_ = startTime;
     }
-*/
+
     void Task::tick(float dt)
     {
-
+        SUPER(Task, tick, dt);
     }
 
Index: code/branches/plehmannFS16/src/orxonox/controllers/Task.h
===================================================================
--- code/branches/plehmannFS16/src/orxonox/controllers/Task.h	(revision 11167)
+++ code/branches/plehmannFS16/src/orxonox/controllers/Task.h	(revision 11172)
@@ -31,5 +31,4 @@
 
 #include "infos/PlayerInfo.h"
-//#include "controllers/ArtificialController.h"
 #include "tools/interfaces/Tickable.h"
 
@@ -40,8 +39,8 @@
         public:
             Task(Context* context);
-            virtual ~Task();
+            virtual ~Task(){}
 
             //this function needs to be called otherwise the task is never carriedout
-            //initialize();
+            void initialize(float startTime);
 
             virtual void tick(float dt) override;
@@ -56,5 +55,5 @@
                 {return startTime_;}
 
-        private:
+       //private:
 
         	bool isRunning_;
