//Changes were also made in the Evo Admin.ovl and DefaultGame.ovl //DefaultGame::voteChangeMission, DefaultGame::voteChangeTimeLimit, serverCmdStartNewVote package VoteOverTime { function DefaultGame::checkTimeLimit(%game, %forced) { // Don't add extra checks: if ( %forced ) cancel( %game.timeCheck ); // if there is no time limit, check back in a minute to see if it's been set if(($Host::TimeLimit $= "") || $Host::TimeLimit == 0) { %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); return; } %curTimeLeftMS = ($Host::TimeLimit * 60 * 1000) + $missionStartTime - getSimTime(); if (%curTimeLeftMS <= 0) { //Vote Overtime //Check if Vote is active or if the timelimit has changed. if( !$VoteInProgress && !$TimeLimitChanged ) { // time's up, put down your pencils %game.timeLimitReached(); //Reset Everything to do with Vote Overtime $VoteInProgress = false; $TimeLimitChanged = false; $VoteInProgressMessege = false; $VoteSoundInProgress = false; } else if( $missionRunning && $VoteInProgress && !$TimeLimitChanged ) { //Restart the function so the map can end if the Vote doesnt pass. schedule(1000, 0, "RestartcheckTimeLimit", %game, %forced); //Messege if( !$VoteInProgressMessege ) { messageAll('', '\c2Vote Overtime Initiated.', %display); $VoteInProgressMessege = true; } } } else { if(%curTimeLeftMS >= 20000) %game.timeCheck = %game.schedule(20000, "checkTimeLimit"); else %game.timeCheck = %game.schedule(%curTimeLeftMS + 1, "checkTimeLimit"); //now synchronize everyone's clock messageAll('MsgSystemClock', "", $Host::TimeLimit, %curTimeLeftMS); } } function RestartcheckTimeLimit(%game, %forced) { %game.checkTimeLimit(%game, %forced); } }; // Prevent package from being activated if it is already if (!isActivePackage(VoteOverTime)) activatePackage(VoteOverTime);