leader2 + ZombieManager + Status: fix
This commit is contained in:
parent
326428915a
commit
2d53504807
@ -38,13 +38,9 @@ public void OnPluginStart()
|
||||
|
||||
public Action Command_Status(int client, const char[] command, int args)
|
||||
{
|
||||
if(!client)
|
||||
if(!client || !IsClientInGame(client))
|
||||
return Plugin_Continue;
|
||||
|
||||
// hopefully fixing some dumb exploit?!
|
||||
if(!IsClientInGame(client))
|
||||
return Plugin_Stop;
|
||||
|
||||
static char sServerName[128];
|
||||
static char sServerTags[128];
|
||||
static char sServerAdress[128];
|
||||
|
@ -14,7 +14,7 @@ public Plugin myinfo =
|
||||
name = "Zombie Manager",
|
||||
author = "Dogan",
|
||||
description = "Tools to manage testround and zombies",
|
||||
version = "1.0.0",
|
||||
version = "1.1.0",
|
||||
url = ""
|
||||
};
|
||||
|
||||
@ -56,11 +56,27 @@ public void ZR_OnClientHumanPost(int client, bool respawn, bool protect)
|
||||
g_bMotherZM[client] = false;
|
||||
}
|
||||
|
||||
public Action ZR_OnClientInfect(int &client, int &attacker, bool &motherInfect, bool &respawnOverride, bool &respawn)
|
||||
{
|
||||
if(g_bTestRound)
|
||||
return Plugin_Handled;
|
||||
|
||||
return Plugin_Continue;
|
||||
}
|
||||
|
||||
public void ZR_OnClientInfected(int client, int attacker, bool motherInfect, bool respawnOverride, bool respawn)
|
||||
{
|
||||
g_bMotherZM[client] = motherInfect;
|
||||
}
|
||||
|
||||
public Action ZR_OnInfectCountdown()
|
||||
{
|
||||
if(g_bTestRound)
|
||||
return Plugin_Handled;
|
||||
|
||||
return Plugin_Continue;
|
||||
}
|
||||
|
||||
public void OnClientSpawn(Event hEvent, const char[] sName, bool bDontBroadcast)
|
||||
{
|
||||
int client = GetClientOfUserId(hEvent.GetInt("userid"));
|
||||
@ -72,10 +88,7 @@ public Action OnPlayerTeam(Event event, const char[] name, bool dontBroadcast)
|
||||
{
|
||||
int client = GetClientOfUserId(GetEventInt(event, "userid"));
|
||||
|
||||
if(g_bMotherZM[client])
|
||||
{
|
||||
g_bMotherZM[client] = false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool Filter_Motherzombies(const char[] sPattern, Handle hClients, int client)
|
||||
@ -123,7 +136,7 @@ public Action Command_DisplayMotherzombies(int client, int args)
|
||||
|
||||
public Action Command_Testround(int client, int args)
|
||||
{
|
||||
if(GetClientTeam(client) == CS_TEAM_SPECTATOR)
|
||||
/*if(GetClientTeam(client) == CS_TEAM_SPECTATOR)
|
||||
{
|
||||
ReplyToCommand(client, "[SM] Please join a Team first.");
|
||||
return Plugin_Handled;
|
||||
@ -133,7 +146,7 @@ public Action Command_Testround(int client, int args)
|
||||
{
|
||||
ReplyToCommand(client, "[SM] Please respawn yourself first.");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
}*/
|
||||
|
||||
ToggleTestRound(client);
|
||||
return Plugin_Handled;
|
||||
@ -159,12 +172,9 @@ public void ToggleTestRound(int client)
|
||||
CPrintToChatAll("[SM] %N activated a Test Round!", client);
|
||||
LogAction(client, -1, "\"%L\" activated a Test Round.", client);
|
||||
|
||||
if(ZR_IsClientHuman(client))
|
||||
ZR_InfectClient(client);
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(i != client && IsClientInGame(i) && !IsFakeClient(i))
|
||||
if(IsClientInGame(i) && !IsFakeClient(i) && IsPlayerAlive(i) && ZR_IsClientZombie(i))
|
||||
{
|
||||
ZR_HumanClient(i, false, false);
|
||||
}
|
||||
@ -172,6 +182,14 @@ public void ToggleTestRound(int client)
|
||||
}
|
||||
}
|
||||
|
||||
public Action CS_OnTerminateRound(float &delay, CSRoundEndReason &reason)
|
||||
{
|
||||
if(g_bTestRound)
|
||||
return Plugin_Handled;
|
||||
|
||||
return Plugin_Continue;
|
||||
}
|
||||
|
||||
public Action ZR_OnClientRespawn(int &client, ZR_RespawnCondition &condition)
|
||||
{
|
||||
if(g_bTestRound)
|
||||
|
@ -495,7 +495,17 @@ public Action Leader(int client, int args)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(IsPlayerAlive(target))
|
||||
if(!IsPlayerAlive(target))
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The target has to be alive!");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
else if(ZR_IsClientZombie(target))
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The target has to be a human!");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
else
|
||||
{
|
||||
SetLeader(target);
|
||||
PrintToChatAll("[SM] %N is the new leader!", target);
|
||||
@ -503,11 +513,6 @@ public Action Leader(int client, int args)
|
||||
LeaderMenu(target);
|
||||
return Plugin_Handled;
|
||||
}
|
||||
else
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The target has to be alive!");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(args == 0)
|
||||
@ -517,7 +522,17 @@ public Action Leader(int client, int args)
|
||||
LeaderMenu(client);
|
||||
return Plugin_Handled;
|
||||
}
|
||||
if(IsPlayerAlive(client))
|
||||
if(!IsPlayerAlive(client))
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The target has to be alive!");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
else if(ZR_IsClientZombie(client))
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The target has to be a human!");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
else
|
||||
{
|
||||
SetLeader(client);
|
||||
PrintToChatAll("[SM] %N is the new leader!", client);
|
||||
@ -525,11 +540,6 @@ public Action Leader(int client, int args)
|
||||
LeaderMenu(client);
|
||||
return Plugin_Handled;
|
||||
}
|
||||
else
|
||||
{
|
||||
ReplyToCommand(client, "[SM] The target has to be alive!");
|
||||
return Plugin_Handled;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user