Index: /code/trunk/src/modules/dodgerace/DodgeRace.cc
===================================================================
--- /code/trunk/src/modules/dodgerace/DodgeRace.cc	(revision 11714)
+++ /code/trunk/src/modules/dodgerace/DodgeRace.cc	(revision 11715)
@@ -228,5 +228,5 @@
                     int score = this->getPoints();
                     if(score > Highscore::getInstance().getHighestScoreOfGame("Dodge Race")) 
-                        Highscore::getInstance().storeHighscore("Dodge Race",score);
+                        Highscore::getInstance().storeHighscore("Dodge Race",score,this->getPlayer()->getPlayer());
 
           }
Index: /code/trunk/src/modules/invader/Invader.cc
===================================================================
--- /code/trunk/src/modules/invader/Invader.cc	(revision 11714)
+++ /code/trunk/src/modules/invader/Invader.cc	(revision 11715)
@@ -192,5 +192,5 @@
                     int score = this->getPoints();
                     if(score > Highscore::getInstance().getHighestScoreOfGame("Orxonox Arcade")) 
-                        Highscore::getInstance().storeHighscore("Orxonox Arcade",score);
+                        Highscore::getInstance().storeHighscore("Orxonox Arcade",score,this->getPlayer()->getPlayer());
 
           }
Index: /code/trunk/src/modules/jump/Jump.cc
===================================================================
--- /code/trunk/src/modules/jump/Jump.cc	(revision 11714)
+++ /code/trunk/src/modules/jump/Jump.cc	(revision 11715)
@@ -315,5 +315,5 @@
                     int score = this->getScore(this->getPlayer());
                     if(score > Highscore::getInstance().getHighestScoreOfGame("Jump")) 
-                        Highscore::getInstance().storeHighscore("Jump",score);
+                        Highscore::getInstance().storeHighscore("Jump",score,this->getPlayer());
 
           }
Index: /code/trunk/src/modules/tetris/Tetris.cc
===================================================================
--- /code/trunk/src/modules/tetris/Tetris.cc	(revision 11714)
+++ /code/trunk/src/modules/tetris/Tetris.cc	(revision 11715)
@@ -331,5 +331,5 @@
                     int score = this->getScore(this->getPlayer());
                     if(score > Highscore::getInstance().getHighestScoreOfGame("Tetris")) 
-                        Highscore::getInstance().storeHighscore("Tetris",score);
+                        Highscore::getInstance().storeHighscore("Tetris",score,this->getPlayer());
 
           }
Index: /code/trunk/src/modules/towerdefense/TowerDefense.cc
===================================================================
--- /code/trunk/src/modules/towerdefense/TowerDefense.cc	(revision 11714)
+++ /code/trunk/src/modules/towerdefense/TowerDefense.cc	(revision 11715)
@@ -201,5 +201,5 @@
                     int score = this->getWaveNumber();
                     if(score > Highscore::getInstance().getHighestScoreOfGame("Tower Defense")) 
-                        Highscore::getInstance().storeHighscore("Tower Defense",score);
+                        Highscore::getInstance().storeHighscore("Tower Defense",score,this->getPlayer());
 
           }
Index: /code/trunk/src/orxonox/Highscore.cc
===================================================================
--- /code/trunk/src/orxonox/Highscore.cc	(revision 11714)
+++ /code/trunk/src/orxonox/Highscore.cc	(revision 11715)
@@ -1,12 +1,12 @@
 #include "Highscore.h"
 
-#include <vector>
 #include "core/CoreIncludes.h"
 #include "core/config/ConfigValueIncludes.h"
 #include "core/singleton/ScopedSingletonIncludes.h"
+#include "infos/PlayerInfo.h"
+#include "util/Convert.h"
 
 namespace orxonox
 {
-
     ManageScopedSingleton(Highscore, ScopeID::ROOT, false);
 	RegisterClassNoArgs(Highscore);
@@ -17,4 +17,5 @@
         this->setConfigValues();
     }
+
     /**
      * @brief set the config values in the orxonox.ini file
@@ -23,12 +24,12 @@
     {
         SetConfigValue(highscores_, std::vector<std::string>()).description("Highscores saved as vector");
-        SetConfigValue(playerName_, "Player").description("Name of the player");
     }
+
     /**
      * @brief Returns highest score of given game, if exists.
      * Else returns -1.
      */
-    int Highscore::getHighestScoreOfGame(std::string game){
-        std::string delimiter = "./."; //score save as "Playername./.game./.score"
+    int Highscore::getHighestScoreOfGame(const std::string& game){
+        const std::string delimiter = "./."; //score save as "Playername./.game./.score"
         int best = -1;
         //check for the highest Score of given game
@@ -39,9 +40,7 @@
             if(game.compare(score.substr(0,score.find(delimiter))) == 0){
                 score.erase(0, score.find(delimiter) + delimiter.length());
-                int possibleBest = std::stoi(score);
+                int possibleBest = multi_cast<int>(score);
                 if(possibleBest > best) best = possibleBest;
             }
-
-
         }
         
@@ -49,10 +48,10 @@
         
     }
+
     /**
      * @brief stores a new highscore in the orxonox.ini file
      */
-    void Highscore::storeHighscore(std::string level, int points){
-        ModifyConfigValue(highscores_, add, playerName_+"./."+level+"./."+std::to_string(points));
+    void Highscore::storeHighscore(const std::string& level, int points, PlayerInfo* player){
+        ModifyConfigValue(highscores_, add, player->getName() + "./." + level + "./." + multi_cast<std::string>(points));
     }
-    
 }
Index: /code/trunk/src/orxonox/Highscore.h
===================================================================
--- /code/trunk/src/orxonox/Highscore.h	(revision 11714)
+++ /code/trunk/src/orxonox/Highscore.h	(revision 11715)
@@ -1,6 +1,9 @@
 #include <string>
+#include <vector>
+
+#include "OrxonoxPrereqs.h"
 #include "core/config/Configurable.h"
-#include "OrxonoxPrereqs.h"
 #include "util/Singleton.h"
+
 // tolua_begin
 namespace orxonox
@@ -14,23 +17,20 @@
         Highscore();              // Constructor
         void setConfigValues(); // Inherited function
-        void storeHighscore(std::string level, int points);
 
-        int getHighestScoreOfGame(std::string game);
+        void storeHighscore(const std::string& level, int points, PlayerInfo* player);
+        int getHighestScoreOfGame(const std::string& game);
+
         // tolua_begin
         inline unsigned int getNumberOfHighscores()
-                { return this->highscores_.size(); }
-            inline const std::string& getHighscore(unsigned int index)
-                { return this->highscores_[index]; }
+            { return this->highscores_.size(); }
+        inline const std::string& getHighscore(unsigned int index)
+            { return this->highscores_[index]; }
 
         static Highscore& getInstance()
-                { return Singleton<Highscore>::getInstance(); }
-
+            { return Singleton<Highscore>::getInstance(); }
         // tolua_end 
-
 
     private:
         std::vector<std::string> highscores_;
-        float version_;
-        std::string playerName_;
         static Highscore* singletonPtr_s;
 }; //tolua_export
