diff --git a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp index 1afe8e19c1..4396eeff84 100644 --- a/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp +++ b/GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine/ScriptEngine.cpp @@ -5569,8 +5569,15 @@ void ScriptEngine::update( void ) } } + Int playerCount = TheSidesList->getNumSides(); + if (TheGameLogic->getGameMode() == GAME_REPLAY && playerCount > 0) + { + if (ThePlayerList->getNthPlayer(playerCount - 1)->isPlayerObserver()) + --playerCount; + } + // Evaluate the scripts. - for (i=0; igetNumSides(); i++) { + for (i=0; igetNthPlayer(i); ScriptList *pSL = TheSidesList->getSideInfo(i)->getScriptList(); if (!pSL) continue;