Remove SpecialSettings auto loading
This commit is contained in:
parent
604577a17b
commit
15d6efe59f
@ -25,19 +25,10 @@ ConVar g_cvBhop;
|
|||||||
ConVar g_cvAA;
|
ConVar g_cvAA;
|
||||||
|
|
||||||
bool g_bIsRevote = false;
|
bool g_bIsRevote = false;
|
||||||
bool g_bLoadedLate = false;
|
bool g_bEnabled = false;
|
||||||
bool g_bTeamManagerLoaded = false;
|
|
||||||
bool g_bInWarmup = false;
|
|
||||||
bool g_bVoteFinished = false;
|
|
||||||
|
|
||||||
char g_sCurrentSettings[128];
|
char g_sCurrentSettings[128];
|
||||||
|
|
||||||
public APLRes AskPluginLoad2(Handle hThis, bool bLoadedLate, char[] error, int err_max)
|
|
||||||
{
|
|
||||||
g_bLoadedLate = bLoadedLate;
|
|
||||||
return APLRes_Success;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnPluginStart()
|
public void OnPluginStart()
|
||||||
{
|
{
|
||||||
RegAdminCmd("sm_special_settings", Command_ForceVote, ADMFLAG_VOTE);
|
RegAdminCmd("sm_special_settings", Command_ForceVote, ADMFLAG_VOTE);
|
||||||
@ -47,62 +38,21 @@ public void OnPluginStart()
|
|||||||
g_cvHlxBonus = FindConVar("hlx_difficulty_humans");
|
g_cvHlxBonus = FindConVar("hlx_difficulty_humans");
|
||||||
g_cvBhop = FindConVar("sv_enablebunnyhopping");
|
g_cvBhop = FindConVar("sv_enablebunnyhopping");
|
||||||
g_cvAA = FindConVar("sv_airaccelerate");
|
g_cvAA = FindConVar("sv_airaccelerate");
|
||||||
HookConVarChange(g_cvBhop, ConVarChanged);
|
HookConVarChange(g_cvBhop, ConVarChanged_Bhop_AA);
|
||||||
HookConVarChange(g_cvAA, ConVarChanged);
|
HookConVarChange(g_cvAA, ConVarChanged_Bhop_AA);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnMapStart()
|
public void OnMapStart()
|
||||||
{
|
{
|
||||||
g_bVoteFinished = false;
|
g_bEnabled = false;
|
||||||
g_sCurrentSettings = "";
|
g_sCurrentSettings = "";
|
||||||
|
|
||||||
if (g_bTeamManagerLoaded)
|
|
||||||
g_bInWarmup = true;
|
|
||||||
|
|
||||||
GenerateArray();
|
GenerateArray();
|
||||||
|
|
||||||
if (CheckConditions())
|
|
||||||
CreateTimer(5.0, DisableFunMode, INVALID_HANDLE, TIMER_FLAG_NO_MAPCHANGE);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnAllPluginsLoaded()
|
|
||||||
{
|
|
||||||
g_bTeamManagerLoaded = LibraryExists("TeamManager");
|
|
||||||
|
|
||||||
if (!g_bLoadedLate)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (!g_bTeamManagerLoaded || (g_bTeamManagerLoaded && !TeamManager_InWarmup()))
|
|
||||||
{
|
|
||||||
if (CheckConditions())
|
|
||||||
CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnLibraryAdded(const char[] sName)
|
|
||||||
{
|
|
||||||
if (!strcmp(sName, "TeamManager", false))
|
|
||||||
g_bTeamManagerLoaded = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void OnLibraryRemoved(const char[] sName)
|
|
||||||
{
|
|
||||||
if (!strcmp(sName, "TeamManager", false))
|
|
||||||
g_bTeamManagerLoaded = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void TeamManager_WarmupEnd()
|
|
||||||
{
|
|
||||||
if (!g_bInWarmup)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (CheckConditions())
|
|
||||||
CreateTimer(1.0, StartVote, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnClientPutInServer(int client)
|
public void OnClientPutInServer(int client)
|
||||||
{
|
{
|
||||||
if (!g_bVoteFinished)
|
if (!g_bEnabled)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
char sBuffer[512];
|
char sBuffer[512];
|
||||||
@ -171,17 +121,13 @@ public void OnClientPutInServer(int client)
|
|||||||
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
||||||
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
||||||
hNotifyPanel.DrawItem("1. Got it!", ITEMDRAW_RAWLINE);
|
hNotifyPanel.DrawItem("1. Got it!", ITEMDRAW_RAWLINE);
|
||||||
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
|
||||||
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
|
||||||
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
|
||||||
hNotifyPanel.DrawItem("", ITEMDRAW_SPACER);
|
|
||||||
hNotifyPanel.SetKeys(1023);
|
hNotifyPanel.SetKeys(1023);
|
||||||
hNotifyPanel.Send(client, MenuHandler_NotifyPanel, 0);
|
hNotifyPanel.Send(client, MenuHandler_NotifyPanel, 0);
|
||||||
|
|
||||||
delete hNotifyPanel;
|
delete hNotifyPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ConVarChanged(ConVar convar, char[] oldValue, const char[] newValue)
|
public void ConVarChanged_Bhop_AA(ConVar convar, char[] oldValue, const char[] newValue)
|
||||||
{
|
{
|
||||||
if ((g_cvBhop.BoolValue) && (strcmp(g_sCurrentSettings, "Sonaki") == 0))
|
if ((g_cvBhop.BoolValue) && (strcmp(g_sCurrentSettings, "Sonaki") == 0))
|
||||||
{
|
{
|
||||||
@ -196,22 +142,28 @@ 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)
|
||||||
{
|
{
|
||||||
|
if (g_bEnabled)
|
||||||
|
{
|
||||||
|
ReplyToCommand(client, "[Special Settings] Special Settings is already enabled for the duration of this map!");
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
GenerateArray();
|
GenerateArray();
|
||||||
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);
|
||||||
|
|
||||||
|
ShowActivity2(client, "\x01[Special Settings] \x04", "\x01Initiated a Special Settings vote.");
|
||||||
|
LogAction(client, -1, "\"%L\" initiated a Special Settings vote.", client);
|
||||||
|
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action Command_CurrentSettings(int client, int args)
|
public Action Command_CurrentSettings(int client, int args)
|
||||||
{
|
{
|
||||||
if (g_bVoteFinished)
|
if (g_bEnabled)
|
||||||
{
|
{
|
||||||
OnClientPutInServer(client);
|
OnClientPutInServer(client);
|
||||||
}
|
}
|
||||||
else if ((!g_bVoteFinished) && CheckConditions())
|
|
||||||
{
|
|
||||||
CPrintToChat(client, "{green}[Special Settings] {white}Awaiting Vote.");
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CPrintToChat(client, "{green}[Special Settings] {white}is currently not active!");
|
CPrintToChat(client, "{green}[Special Settings] {white}is currently not active!");
|
||||||
@ -250,22 +202,6 @@ public void GenerateArray()
|
|||||||
SetArrayString(g_SettingsList, 0, "GFLClan [default]");
|
SetArrayString(g_SettingsList, 0, "GFLClan [default]");
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CheckConditions()
|
|
||||||
{
|
|
||||||
int iTime = GetTime();
|
|
||||||
int iHour;
|
|
||||||
char sTime[32];
|
|
||||||
|
|
||||||
FormatTime(sTime, sizeof(sTime), "%w %H", iTime);
|
|
||||||
|
|
||||||
iHour = StringToInt(sTime[2]);
|
|
||||||
|
|
||||||
if ((sTime[0] == '0' && iHour >= 6) || (sTime[0] == '1' && iHour < 6))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Action StartVote(Handle timer)
|
public Action StartVote(Handle timer)
|
||||||
{
|
{
|
||||||
static int iCountDown = 5;
|
static int iCountDown = 5;
|
||||||
@ -290,7 +226,7 @@ public void InitiateVote()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Handle menuStyle = GetMenuStyleHandle(view_as<MenuStyle>(0));
|
Handle menuStyle = GetMenuStyleHandle(MenuStyle_Default);
|
||||||
g_VoteMenu = CreateMenuEx(menuStyle, Handler_SettingsVoteMenu, MenuAction_End | MenuAction_Display | MenuAction_DisplayItem | MenuAction_VoteCancel);
|
g_VoteMenu = CreateMenuEx(menuStyle, Handler_SettingsVoteMenu, MenuAction_End | MenuAction_Display | MenuAction_DisplayItem | MenuAction_VoteCancel);
|
||||||
|
|
||||||
int iArraySize = GetArraySize(g_SettingsList);
|
int iArraySize = GetArraySize(g_SettingsList);
|
||||||
@ -312,19 +248,16 @@ public int Handler_SettingsVoteMenu(Handle menu, MenuAction action, int param1,
|
|||||||
switch(action)
|
switch(action)
|
||||||
{
|
{
|
||||||
case MenuAction_End:
|
case MenuAction_End:
|
||||||
{
|
delete menu;
|
||||||
CloseHandle(menu);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int MenuHandler_NotifyPanel(Menu hMenu, MenuAction iAction, int iParam1, int iParam2)
|
public int MenuHandler_NotifyPanel(Handle menu, MenuAction action, int param1, int param2)
|
||||||
{
|
{
|
||||||
switch (iAction)
|
switch(action)
|
||||||
{
|
{
|
||||||
case MenuAction_Select, MenuAction_Cancel:
|
case MenuAction_Select, MenuAction_Cancel:
|
||||||
delete hMenu;
|
delete menu;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -398,7 +331,7 @@ public void Handler_VoteFinishedGeneric(Handle menu, int num_votes, int num_clie
|
|||||||
}
|
}
|
||||||
CreateTimer(fDelay, Timer_FireOnClientPutInServer, _, TIMER_FLAG_NO_MAPCHANGE);
|
CreateTimer(fDelay, Timer_FireOnClientPutInServer, _, TIMER_FLAG_NO_MAPCHANGE);
|
||||||
g_sCurrentSettings = sWinner;
|
g_sCurrentSettings = sWinner;
|
||||||
g_bVoteFinished = true;
|
g_bEnabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action Timer_IncreaseKB(Handle timer)
|
public Action Timer_IncreaseKB(Handle timer)
|
||||||
|
Loading…
Reference in New Issue
Block a user