diff --git a/leader2/scripting/leader2.sp b/leader2/scripting/leader2.sp index a9afbb4c..e2c0504f 100644 --- a/leader2/scripting/leader2.sp +++ b/leader2/scripting/leader2.sp @@ -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: //---------------------------------------------------------------------------------------------------- @@ -627,10 +646,24 @@ public bool Filter_Leader(const char[] sPattern, Handle hClients) { if(IsValidClient(leaderClient)) { - PushArrayCell(hClients, leaderClient); - return true; + PushArrayCell(hClients, leaderClient); } - return false; + return true; +} + +//---------------------------------------------------------------------------------------------------- +// 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; } //----------------------------------------------------------------------------------------------------