Index: code/branches/OrxoKart_HS18/data/levels/OrxoKart1.oxw
===================================================================
--- code/branches/OrxoKart_HS18/data/levels/OrxoKart1.oxw	(revision 12111)
+++ code/branches/OrxoKart_HS18/data/levels/OrxoKart1.oxw	(revision 12116)
@@ -48,4 +48,5 @@
           numCells="<?lua print(N)?>"
           cellSize="<?lua print(S)?>"
+          level=1
         />
       </attached> 
@@ -66,5 +67,5 @@
     <SpawnPoint
       team=0
-      
+
       position="<?lua print(S*0)?>,40,<?lua print(8*S)?>"
       lookat="0,40,0"
Index: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.cc
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.cc	(revision 12111)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.cc	(revision 12116)
@@ -63,6 +63,7 @@
             this->wayPoints = std::vector<OrxoKartTile*>(3, nullptr);
 
-            int n = this->origin_->getNumCells();
-            int s = this->origin_->getCellSize();
+            this->n = this->origin_->getNumCells();
+            this->s = this->origin_->getCellSize();
+            this->level = this->origin_->getLevel();
             int map_1[] =   {1,1,1,1,1,1,1,1,0,0,0
                             ,1,0,0,0,0,0,0,1,1,1,0
@@ -105,5 +106,5 @@
 
 
-            int *levelcodeArray =  map_1;
+            int *levelcodeArray =  level==1 ? map_1 : map_2;
 
             // int z = 0;
@@ -116,11 +117,24 @@
                         // tiles.push_back(tile);
                         //++z;
-                        if ( i == 10 && j == 4 )
-                            wayPoints.at(0) = tile;
+                        if (level == 1) {
+                            //map 1 
+                            if ( i == 10 && j == 4 )
+                                wayPoints.at(0) = tile;
 
-                        if ( i == 0 && j == 0) 
-                            wayPoints.at(1) = tile;
-                        if ( i == 10 && j == 7)
-                            wayPoints.at(2) = tile;
+                            if ( i == 0 && j == 0) 
+                                wayPoints.at(1) = tile;
+                            if ( i == 10 && j == 7)
+                                wayPoints.at(2) = tile;
+                        }
+                        else if (level == 2) {
+                            //map 2
+                            if ( i == 24 && j == 11 )
+                                wayPoints.at(0) = tile;
+
+                            if ( i == 0 && j == 0) 
+                                wayPoints.at(1) = tile;
+                            if ( i == 24 && j == 17)
+                                wayPoints.at(2) = tile;
+                        }    
                     }
                 }   
@@ -166,5 +180,8 @@
         if(flag_->getCollided()){
             OrxoKartKart* player = flag_->getObjectofCollision();
-            player->setPosition(Vector3(80*0, 20, 80*8));
+            if (level == 1)
+                player->setPosition(Vector3(s*0, 20, s*8));
+            if (level == 2)
+                player->setPosition(Vector3(s*0, 20, s*19));
             player->setOrientation(Quaternion(1, 0, 0, 0));   // 0, 0, 0
             player->setVelocity(Vector3(0,0,0));
Index: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.h
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.h	(revision 12111)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKart.h	(revision 12116)
@@ -67,4 +67,8 @@
             int numberOfFlags_;
             bool firstTick_;
+
+            int s;
+            int n;
+            int level;
     };
 }
Index: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.cc
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.cc	(revision 12111)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.cc	(revision 12116)
@@ -53,4 +53,5 @@
         XMLPortParam(OrxoKartOrigin, "numCells", setNumCells, getNumCells, xmlelement, mode);
         XMLPortParam(OrxoKartOrigin, "cellSize", setCellSize, getCellSize, xmlelement, mode);
+        XMLPortParam(OrxoKartOrigin, "level", setLevel, getLevel, xmlelement, mode);
     }
 
Index: code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.h
===================================================================
--- code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.h	(revision 12111)
+++ code/branches/OrxoKart_HS18/src/modules/orxokart/OrxoKartOrigin.h	(revision 12116)
@@ -61,4 +61,9 @@
                 { return this->cellSize_; }
 
+            inline void setLevel(int level)
+                { this->level_ = level; }
+            inline int getLevel() const
+                { return this->level_; }    
+
         private:
             void checkGametype();
@@ -66,4 +71,5 @@
             int numCells_;
             int cellSize_;
+            int level_;
     };
 }
