AdvancedTargeting: eh does this work?
This commit is contained in:
parent
fac0494c0c
commit
b8d877132a
@ -29,9 +29,9 @@ bool g_bLateLoad = false;
|
||||
public Plugin myinfo =
|
||||
{
|
||||
name = "Advanced Targeting",
|
||||
author = "BotoX + Obus",
|
||||
author = "BotoX + Obus + Dogan",
|
||||
description = "Adds extra targeting methods",
|
||||
version = "1.3",
|
||||
version = "1.4",
|
||||
url = "https://github.com/CSSZombieEscape/sm-plugins/tree/master/AdvancedTargeting/"
|
||||
}
|
||||
|
||||
@ -44,6 +44,7 @@ public void OnPluginStart()
|
||||
AddMultiTargetFilter("@random", Filter_Random, "a Random Player", false);
|
||||
AddMultiTargetFilter("@randomct", Filter_RandomCT, "a Random CT", false);
|
||||
AddMultiTargetFilter("@randomt", Filter_RandomT, "a Random T", false);
|
||||
AddMultiTargetFilter("@randomspec", Filter_RandomSpec, "a Random Spec", false);
|
||||
AddMultiTargetFilter("@alivect", Filter_AliveCT, "Alive Humans", false);
|
||||
AddMultiTargetFilter("@alivet", Filter_AliveT, "Alive Zombies", false);
|
||||
AddMultiTargetFilter("@talking", Filter_Talking, "Talking", false);
|
||||
@ -77,6 +78,7 @@ public void OnPluginEnd()
|
||||
RemoveMultiTargetFilter("@random", Filter_Random);
|
||||
RemoveMultiTargetFilter("@randomct", Filter_RandomCT);
|
||||
RemoveMultiTargetFilter("@randomt", Filter_RandomT);
|
||||
RemoveMultiTargetFilter("@randomspec", Filter_RandomSpec);
|
||||
RemoveMultiTargetFilter("@alivect", Filter_AliveCT);
|
||||
RemoveMultiTargetFilter("@alivet", Filter_AliveT);
|
||||
RemoveMultiTargetFilter("@talking", Filter_Talking);
|
||||
@ -355,6 +357,37 @@ public bool Filter_RandomT(const char[] sPattern, Handle hClients, int client)
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool Filter_RandomSpec(const char[] sPattern, Handle hClients, int client)
|
||||
{
|
||||
int iSpecCount = GetTeamClientCount(CS_TEAM_SPECTATOR);
|
||||
|
||||
if(!iSpecCount)
|
||||
return false;
|
||||
|
||||
int[] iSpecs = new int[iSpecCount];
|
||||
|
||||
int iCurIndex;
|
||||
|
||||
for(int i = 1; i <= MaxClients; i++)
|
||||
{
|
||||
if(!IsClientInGame(i) || GetClientTeam(i) != CS_TEAM_SPECTATOR)
|
||||
continue;
|
||||
|
||||
if(IsClientSourceTV(i))
|
||||
{
|
||||
iSpecCount--;
|
||||
continue;
|
||||
}
|
||||
|
||||
iSpecs[iCurIndex] = i;
|
||||
iCurIndex++;
|
||||
}
|
||||
|
||||
PushArrayCell(hClients, iSpecs[GetRandomInt(0, iSpecCount-1)]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
stock bool _IsClientSpeaking(int client)
|
||||
{
|
||||
#if defined _voiceannounceex_included_
|
||||
|
Loading…
Reference in New Issue
Block a user