Index: /code/trunk/src/modules/notifications/Notification.h
===================================================================
--- /code/trunk/src/modules/notifications/Notification.h	(revision 7485)
+++ /code/trunk/src/modules/notifications/Notification.h	(revision 7486)
@@ -40,5 +40,4 @@
 #include <string>
 #include "core/BaseObject.h"
-#include "network/synchronisable/Synchronisable.h"
 
 namespace orxonox
Index: /code/trunk/src/modules/notifications/NotificationManager.cc
===================================================================
--- /code/trunk/src/modules/notifications/NotificationManager.cc	(revision 7485)
+++ /code/trunk/src/modules/notifications/NotificationManager.cc	(revision 7486)
@@ -116,9 +116,11 @@
     @param sender
         The sender that sent the notification.
-    */
-    /*static*/ void NotificationManager::sendNotification(const std::string& message, unsigned int clientId, const std::string& sender)
+    @param isLocal
+        If this is set to true (false is default), then the Notification is sent to the client where this function is executed, meaning the Notification is sent locally.
+    */
+    /*static*/ void NotificationManager::sendNotification(const std::string& message, unsigned int clientId, const std::string& sender, bool isLocal)
     {
         // If we're in standalone mode or we're already no the right client we create and send the Notification.
-        if(GameMode::isStandalone() || Host::getPlayerID() == clientId)
+        if(GameMode::isStandalone() || isLocal || Host::getPlayerID() == clientId)
         {
             Notification* notification = new Notification(message);
Index: /code/trunk/src/modules/notifications/NotificationManager.h
===================================================================
--- /code/trunk/src/modules/notifications/NotificationManager.h	(revision 7485)
+++ /code/trunk/src/modules/notifications/NotificationManager.h	(revision 7486)
@@ -76,5 +76,5 @@
 
             //! Sends a Notification with the specified message to the specified client from the specified sender.
-            static void sendNotification(const std::string& message, unsigned int clientId, const std::string& sender = NotificationManager::NONE);
+            static void sendNotification(const std::string& message, unsigned int clientId, const std::string& sender = NotificationManager::NONE, bool isLocal = false);
 
             bool registerNotification(Notification* notification); //!< Registers a Notification within the NotificationManager.
Index: /code/trunk/src/modules/notifications/NotificationQueue.h
===================================================================
--- /code/trunk/src/modules/notifications/NotificationQueue.h	(revision 7485)
+++ /code/trunk/src/modules/notifications/NotificationQueue.h	(revision 7486)
@@ -58,5 +58,5 @@
     };
 
-    //! Struct to allow ordering of NotificationContainers.
+    //! Struct to allow ordering of @ref orxonox::NotificationContainer "NotificationContainers".
     struct NotificationContainerCompare {
         bool operator() (const NotificationContainer* const & a, const NotificationContainer* const & b) const
@@ -73,4 +73,5 @@
         - 'size': The size of the NotificationQueue, it specifies how many @ref orxonox::Notification "Notifications" are displayed at once at the most.
         - 'displayTime': The time a @ref orxonox::Notification "Notification" is displayed with this NotificationQueue.
+
     @author
         Damian 'Mozork' Frick
Index: /code/trunk/src/modules/objects/Script.cc
===================================================================
--- /code/trunk/src/modules/objects/Script.cc	(revision 7485)
+++ /code/trunk/src/modules/objects/Script.cc	(revision 7486)
@@ -61,5 +61,5 @@
         The creator of this object.
     */
-    Script::Script(BaseObject* creator) : BaseObject(creator), Synchronisable(creator)
+    Script::Script(BaseObject* creator) : BaseObject(creator)
     {
         RegisterObject(Script);
@@ -79,6 +79,5 @@
     Script::~Script()
     {
-        //if(this->isInitialized() && this->luaState_ != NULL)
-        //    delete this->luaState_;
+
     }
 
@@ -105,5 +104,5 @@
 
         if(this->isOnLoad()) // If the object is onLoad the code is executed at once for the server.
-            this->execute(0);
+            this->execute(0, true);
     }
 
@@ -178,11 +177,11 @@
     @param clientId
         The Id of the client the Script should be executed for.
-    @param fromCallback
-        Whether this method is executed in response to the connectedCallback().
-    */
-    void Script::execute(unsigned int clientId, bool fromCallback)
+    @param onLoad
+        Whether this method is executed as a result of the onLoad parameter being set to true. Default is false.
+    */
+    void Script::execute(unsigned int clientId, bool onLoad)
     {
         // If this is the server or we're in standalone mode we check whether we still want to execute the code and if so decrease the number of remaining executions.
-        if(GameMode::isServer() || GameMode::isStandalone())
+        if(GameMode::isMaster())
         {
             // If the number of executions have been used up.
@@ -194,13 +193,14 @@
         if(GameMode::isStandalone() || Host::getPlayerID() == clientId)
         {
-           this->executeHelper(this->getCode(), this->getMode(), this->getNeedsGraphics());
+            this->executeHelper(this->getCode(), this->getMode(), this->getNeedsGraphics());
+            if(GameMode::isMaster() && !onLoad && this->times_ != Script::INF) // Decrement the number of remaining executions.
+                this->remainingExecutions_--;
         }
 
         // If this is the server and we're not on the client we want to be.
-        if(!GameMode::isStandalone() && GameMode::isServer() && Host::getPlayerID() != clientId)
-        {
-            // If this is not the result of a clientConnected callback and we want to execute the code for all clients.
-            //TODO: In this case does the server get executed as well?
-            if(!fromCallback && this->isForAll())
+        if(GameMode::isServer() && Host::getPlayerID() != clientId)
+        {
+            // If we want to execute the code for all clients and the server.
+            if(this->isForAll())
             {
                 const std::map<unsigned int, PlayerInfo*> clients = PlayerManager::getInstance().getClients();
@@ -251,7 +251,7 @@
     {
         // If this is the server and the Script is specified as being 'onLoad'.
-        if(!GameMode::isStandalone() && GameMode::isServer() && this->isOnLoad())
-        {
-            this->execute(clientId, true);
+        if(GameMode::isServer() && this->isOnLoad())
+        {
+            callStaticNetworkFunction(Script::executeHelper, clientId, this->getCode(), this->getMode(), this->getNeedsGraphics());
         }
     }
Index: /code/trunk/src/modules/objects/Script.h
===================================================================
--- /code/trunk/src/modules/objects/Script.h	(revision 7485)
+++ /code/trunk/src/modules/objects/Script.h	(revision 7486)
@@ -37,5 +37,4 @@
 
 #include "core/BaseObject.h"
-#include "network/synchronisable/Synchronisable.h"
 #include "network/ClientConnectionListener.h"
 
@@ -84,5 +83,5 @@
         Damian 'Mozork' Frick
     */
-    class _ObjectsExport Script : public BaseObject, public Synchronisable, public ClientConnectionListener
+    class _ObjectsExport Script : public BaseObject, public ClientConnectionListener
     {
         public:
@@ -94,5 +93,5 @@
 
             bool trigger(bool triggered, BaseObject* trigger); //!< Is called when an event comes in trough the event port.
-            void execute(unsigned int clientId, bool fromCallback = false); //!< Executes the Scripts code for the input client, depending on the mode.
+            void execute(unsigned int clientId, bool onLoad = false); //!< Executes the Scripts code for the input client, depending on the mode.
             static void executeHelper(const std::string& code, const std::string& mode, bool needsGraphics); //!< Helper method that is used to reach this Script object on other clients.
 
