There's no fix to be made..
if (tZSpawn == INVALID_HANDLE) is the check.
tZSpawn is the handle to the timer that is started on round freeze end with zr_zspawn_timelimit_time as it's time. After it's callback has been called, tZSpawn is set to INVALID_HANDLE.
Code:
// Block is the time limit is up.
new bool:zspawntimelimit = GetConVarBool(g_hCvarsList[CVAR_ZSPAWN_TIMELIMIT]);
if (zspawntimelimit)
{
// IF THIS PASSES THEN THE TIMELIMIT HAS EXPIRED.
if (tZSpawn == INVALID_HANDLE)
{
new zspawntimelimitzombie = GetConVarInt(g_hCvarsList[CVAR_ZSPAWN_TIMELIMIT_ZOMBIE]);
switch(zspawntimelimitzombie)
{
case -1:
{
// Get timelimit
new Float:zspawntime = GetConVarFloat(g_hCvarsList[CVAR_ZSPAWN_TIMELIMIT_TIME]);
// Tell client the timelimit for this command has expired.
TranslationPrintToChat(client, "ZSpawn timelimit", RoundToNearest(zspawntime));
return false;
}
case 0:
{
teamzombie = false;
}
case 1:
{
teamzombie = true;
}
}
}
}
__________________