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 =
|
public Plugin myinfo =
|
||||||
{
|
{
|
||||||
name = "Advanced Targeting",
|
name = "Advanced Targeting",
|
||||||
author = "BotoX + Obus",
|
author = "BotoX + Obus + Dogan",
|
||||||
description = "Adds extra targeting methods",
|
description = "Adds extra targeting methods",
|
||||||
version = "1.3",
|
version = "1.4",
|
||||||
url = "https://github.com/CSSZombieEscape/sm-plugins/tree/master/AdvancedTargeting/"
|
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("@random", Filter_Random, "a Random Player", false);
|
||||||
AddMultiTargetFilter("@randomct", Filter_RandomCT, "a Random CT", false);
|
AddMultiTargetFilter("@randomct", Filter_RandomCT, "a Random CT", false);
|
||||||
AddMultiTargetFilter("@randomt", Filter_RandomT, "a Random T", 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("@alivect", Filter_AliveCT, "Alive Humans", false);
|
||||||
AddMultiTargetFilter("@alivet", Filter_AliveT, "Alive Zombies", false);
|
AddMultiTargetFilter("@alivet", Filter_AliveT, "Alive Zombies", false);
|
||||||
AddMultiTargetFilter("@talking", Filter_Talking, "Talking", false);
|
AddMultiTargetFilter("@talking", Filter_Talking, "Talking", false);
|
||||||
@ -77,6 +78,7 @@ public void OnPluginEnd()
|
|||||||
RemoveMultiTargetFilter("@random", Filter_Random);
|
RemoveMultiTargetFilter("@random", Filter_Random);
|
||||||
RemoveMultiTargetFilter("@randomct", Filter_RandomCT);
|
RemoveMultiTargetFilter("@randomct", Filter_RandomCT);
|
||||||
RemoveMultiTargetFilter("@randomt", Filter_RandomT);
|
RemoveMultiTargetFilter("@randomt", Filter_RandomT);
|
||||||
|
RemoveMultiTargetFilter("@randomspec", Filter_RandomSpec);
|
||||||
RemoveMultiTargetFilter("@alivect", Filter_AliveCT);
|
RemoveMultiTargetFilter("@alivect", Filter_AliveCT);
|
||||||
RemoveMultiTargetFilter("@alivet", Filter_AliveT);
|
RemoveMultiTargetFilter("@alivet", Filter_AliveT);
|
||||||
RemoveMultiTargetFilter("@talking", Filter_Talking);
|
RemoveMultiTargetFilter("@talking", Filter_Talking);
|
||||||
@ -355,6 +357,37 @@ public bool Filter_RandomT(const char[] sPattern, Handle hClients, int client)
|
|||||||
return true;
|
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)
|
stock bool _IsClientSpeaking(int client)
|
||||||
{
|
{
|
||||||
#if defined _voiceannounceex_included_
|
#if defined _voiceannounceex_included_
|
||||||
|
Loading…
Reference in New Issue
Block a user