I verified game cache and tried a different PC and it still happens. My guess would be its a bug caused by how im force ending the map.
Code:
public OnPluginStart()
{
CreateTimer(1.0, CheckRemainingTime, INVALID_HANDLE, TIMER_REPEAT);
}
public Action:CheckRemainingTime(Handle:timer)
{
new Handle:hTmp;
hTmp = FindConVar("mp_timelimit");
new iTimeLimit = GetConVarInt(hTmp);
if (hTmp != INVALID_HANDLE)
CloseHandle(hTmp);
if (iTimeLimit > 0)
{
new timeleft;
GetMapTimeLeft(timeleft);
switch(timeleft)
{
case 1800: PrintToChatAll(" \x07 Warning | \x08 30 Minutes Remaining");
case 1200: PrintToChatAll(" \x07 Warning | \x08 20 Minutes Remaining");
case 600: PrintToChatAll(" \x07 Warning | \x08 10 Minutes Remaining");
case 300: PrintToChatAll(" \x07 Warning | \x08 5 Minutes Remaining");
case 120: PrintToChatAll(" \x07 Warning | \x08 2 Minutes Remaining");
case 60: PrintToChatAll(" \x07 Warning | \x08 1 Minute Remaining");
case 30: PrintToChatAll(" \x07 Warning | \x08 30 Seconds Remaining");
case 15: PrintToChatAll(" \x07 Warning | \x08 15 Seconds Remaining");
case 4: PrintToChatAll(" \x07 Warning | \x08 Slaying Players For Drops");
case 3: PrintToChatAll(" \x07 Warning | \x08 Slaying Players For Drops");
case 2: PrintToChatAll(" \x07 Warning | \x08 Slaying Players For Drops");
case 1: PrintToChatAll(" \x07 Warning | \x08 Slaying Players For Drops");
}
if(timeleft < 0)
{
g_bAllowRoundEnd = true;
ServerCommand("sm_slay @all");
CS_TerminateRound(0.5, CSRoundEnd_GameStart, true);
}
}
}
public Action:CS_OnTerminateRound(&Float:delay, &CSRoundEndReason:reason)
{
g_bAllowRoundEnd = false;
return Plugin_Continue;
}