ZombieManager: add admin command + track zm hp changes
This commit is contained in:
parent
da1e713c96
commit
386c806052
@ -37,6 +37,7 @@ public void OnPluginStart()
|
|||||||
g_bAdminTestRound = false;
|
g_bAdminTestRound = false;
|
||||||
|
|
||||||
RegAdminCmd("sm_testround", Command_Testround, ADMFLAG_GENERIC, "Toggle to enable/disable a test round.");
|
RegAdminCmd("sm_testround", Command_Testround, ADMFLAG_GENERIC, "Toggle to enable/disable a test round.");
|
||||||
|
RegAdminCmd("sm_shield", Command_ZShield, ADMFLAG_GENERIC, "Toggle to enable/disable zombie shield.");
|
||||||
|
|
||||||
CreateTimer(20.0, Timer_MessageTestRound, _, TIMER_REPEAT);
|
CreateTimer(20.0, Timer_MessageTestRound, _, TIMER_REPEAT);
|
||||||
CreateTimer(0.2, Timer_HandleHPShield, _, TIMER_REPEAT); // health_regen_interval = 0.2
|
CreateTimer(0.2, Timer_HandleHPShield, _, TIMER_REPEAT); // health_regen_interval = 0.2
|
||||||
@ -86,6 +87,11 @@ public void OnPluginEnd()
|
|||||||
RemoveMultiTargetFilter("@mzombie", Filter_Motherzombies);
|
RemoveMultiTargetFilter("@mzombie", Filter_Motherzombies);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnMapStart()
|
||||||
|
{
|
||||||
|
g_bShield = GetConVarBool(FindConVar("sm_zombieshield"));
|
||||||
|
}
|
||||||
|
|
||||||
public Action OnToggleZHP(int client, int args)
|
public Action OnToggleZHP(int client, int args)
|
||||||
{
|
{
|
||||||
ToggleZHP(client);
|
ToggleZHP(client);
|
||||||
@ -97,7 +103,7 @@ public void ToggleZHP(int client)
|
|||||||
g_bZHP[client] = !g_bZHP[client];
|
g_bZHP[client] = !g_bZHP[client];
|
||||||
|
|
||||||
SetClientCookie(client, g_hCookieZHP, g_bZHP[client] ? "1" : "");
|
SetClientCookie(client, g_hCookieZHP, g_bZHP[client] ? "1" : "");
|
||||||
CPrintToChat(client, "{lightgreen}[ZR] {yellow}%s", g_bZHP[client] ? "Zombie HP and Shield display disabled." : "Zombie HP and Shield display enabled.");
|
CPrintToChat(client, "{green}[ZR] {yellow}%s", g_bZHP[client] ? "Zombie HP and Shield display disabled." : "Zombie HP and Shield display enabled.");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnClientCookiesCached(int client)
|
public void OnClientCookiesCached(int client)
|
||||||
@ -335,6 +341,38 @@ public Action Command_Testround(int client, int args)
|
|||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Action Command_ZShield(int client, int args)
|
||||||
|
{
|
||||||
|
char sNemesis[32];
|
||||||
|
GetConVarString(FindConVar("sm_info_message_file"), sNemesis, sizeof(sNemesis));
|
||||||
|
bool bNemesis = StrEqual(sNemesis, "nemesis");
|
||||||
|
|
||||||
|
if(bNemesis)
|
||||||
|
{
|
||||||
|
ReplyToCommand(client, "[SM] Can't modify zombie shields on nemesis maps!");
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(g_bShield)
|
||||||
|
{
|
||||||
|
g_bShield = false;
|
||||||
|
|
||||||
|
ReplyToCommand(client, "[SM] Deactivated zombie shields.");
|
||||||
|
CPrintToChatAll("[SM] %N deactivated zombie shields!", client);
|
||||||
|
LogAction(client, -1, "\"%L\" deactivated zombie shields.", client);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_bShield = true;
|
||||||
|
|
||||||
|
ReplyToCommand(client, "[SM] Activated zombie shields.");
|
||||||
|
CPrintToChatAll("[SM] %N activated zombie shields!", client);
|
||||||
|
LogAction(client, -1, "\"%L\" activated zombie shields.", client);
|
||||||
|
}
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
public void ToggleTestRound(int client)
|
public void ToggleTestRound(int client)
|
||||||
{
|
{
|
||||||
g_bAdminTestRound = !g_bAdminTestRound;
|
g_bAdminTestRound = !g_bAdminTestRound;
|
||||||
@ -404,6 +442,9 @@ public Action Timer_HandleHPShield(Handle timer)
|
|||||||
if(!IsClientInGame(i) || !IsPlayerAlive(i) || !ZR_IsClientZombie(i))
|
if(!IsClientInGame(i) || !IsPlayerAlive(i) || !ZR_IsClientZombie(i))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
if(GetClientHealth(i) > g_iZHPMax[i])
|
||||||
|
g_iZHPMax[i] = GetClientHealth(i);
|
||||||
|
|
||||||
bool bHasItem;
|
bool bHasItem;
|
||||||
#if defined entWatch_core_included
|
#if defined entWatch_core_included
|
||||||
if(g_Plugin_entWatch)
|
if(g_Plugin_entWatch)
|
||||||
|
Loading…
Reference in New Issue
Block a user