SSS: timer handle error fix

This commit is contained in:
neon 2018-08-12 15:45:41 +02:00
parent 3051e889f5
commit 4b0632cc4a

View File

@ -19,7 +19,6 @@ public Plugin myinfo =
Handle g_VoteMenu = INVALID_HANDLE; Handle g_VoteMenu = INVALID_HANDLE;
Handle g_SettingsList = INVALID_HANDLE; Handle g_SettingsList = INVALID_HANDLE;
Handle g_CountdownTimer = INVALID_HANDLE;
ConVar g_cvHlxBonus; ConVar g_cvHlxBonus;
ConVar g_cvBhop; ConVar g_cvBhop;
@ -75,7 +74,7 @@ public void OnAllPluginsLoaded()
if (!g_bTeamManagerLoaded || (g_bTeamManagerLoaded && !TeamManager_InWarmup())) if (!g_bTeamManagerLoaded || (g_bTeamManagerLoaded && !TeamManager_InWarmup()))
{ {
if (CheckConditions()) if (CheckConditions())
g_CountdownTimer = CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
} }
} }
@ -97,7 +96,7 @@ public void TeamManager_WarmupEnd()
return; return;
if (CheckConditions()) if (CheckConditions())
g_CountdownTimer = CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
} }
public void OnClientPutInServer(int client) public void OnClientPutInServer(int client)
@ -198,7 +197,7 @@ public void ConVarChanged(ConVar convar, char[] oldValue, const char[] newValue)
public Action Command_ForceVote(int client, int args) public Action Command_ForceVote(int client, int args)
{ {
GenerateArray(); GenerateArray();
g_CountdownTimer = CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
CreateTimer(0.1, DisableFunMode, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE); CreateTimer(0.1, DisableFunMode, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
return Plugin_Handled; return Plugin_Handled;
} }
@ -275,9 +274,11 @@ public Action StartVote(Handle timer)
if (iCountDown-- <= 0) if (iCountDown-- <= 0)
{ {
iCountDown = 5; iCountDown = 5;
CloseHandle(g_CountdownTimer);
InitiateVote(); InitiateVote();
return Plugin_Stop;
} }
return Plugin_Continue;
} }
public void InitiateVote() public void InitiateVote()
@ -285,7 +286,7 @@ public void InitiateVote()
if(IsVoteInProgress()) if(IsVoteInProgress())
{ {
CPrintToChatAll("{green}[Special Settings Sunday] {white}Another vote is currently in progress, retrying again in 5s."); CPrintToChatAll("{green}[Special Settings Sunday] {white}Another vote is currently in progress, retrying again in 5s.");
g_CountdownTimer = CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
return; return;
} }
@ -344,7 +345,7 @@ public void Handler_SettingsVoteFinished(Handle menu, int num_votes, int num_cli
PushArrayString(g_SettingsList, sFirst); PushArrayString(g_SettingsList, sFirst);
PushArrayString(g_SettingsList, sSecond); PushArrayString(g_SettingsList, sSecond);
g_bIsRevote = true; g_bIsRevote = true;
g_CountdownTimer = CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE); CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
return; return;
} }