added inverse filters

This commit is contained in:
neon 2018-07-24 21:43:12 +02:00
parent 77c7cc0b04
commit 5e41ddd86c

View File

@ -128,7 +128,10 @@ public void OnPluginStart()
AddCommandListener(Radio, "enemydown");
AddMultiTargetFilter("@leaders", Filter_Leaders, "Possible Leaders", false);
AddMultiTargetFilter("@!leaders", Filter_NotLeaders, "Everyone but Possible Leaders", false);
AddMultiTargetFilter("@leader", Filter_Leader, "Current Leader", false);
AddMultiTargetFilter("@!leader", Filter_NotLeader, "Every one but the Current Leader", false);
}
//----------------------------------------------------------------------------------------------------
@ -137,8 +140,9 @@ public void OnPluginStart()
public void OnPluginEnd()
{
RemoveMultiTargetFilter("@leaders", Filter_Leaders);
RemoveMultiTargetFilter("@!leaders", Filter_NotLeaders);
RemoveMultiTargetFilter("@leader", Filter_Leader);
RemoveMultiTargetFilter("@!leader", Filter_NotLeader);
}
//----------------------------------------------------------------------------------------------------
@ -620,6 +624,21 @@ public bool Filter_Leaders(const char[] sPattern, Handle hClients)
return true;
}
//----------------------------------------------------------------------------------------------------
// Purpose:
//----------------------------------------------------------------------------------------------------
public bool Filter_NotLeaders(const char[] sPattern, Handle hClients)
{
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsFakeClient(i) && !IsPossibleLeader(i))
{
PushArrayCell(hClients, i);
}
}
return true;
}
//----------------------------------------------------------------------------------------------------
// Purpose:
//----------------------------------------------------------------------------------------------------
@ -628,9 +647,23 @@ public bool Filter_Leader(const char[] sPattern, Handle hClients)
if(IsValidClient(leaderClient))
{
PushArrayCell(hClients, leaderClient);
}
return true;
}
return false;
//----------------------------------------------------------------------------------------------------
// Purpose:
//----------------------------------------------------------------------------------------------------
public bool Filter_NotLeader(const char[] sPattern, Handle hClients)
{
for(int i = 1; i <= MaxClients; i++)
{
if(IsValidClient(i) && (i != leaderClient))
{
PushArrayCell(hClients, i);
}
}
return true;
}
//----------------------------------------------------------------------------------------------------