mirror of
https://github.com/Jackzmc/sourcemod-plugins.git
synced 2025-05-06 14:03:21 +00:00
Same as last commit
This commit is contained in:
parent
4cf73b6179
commit
017d97d087
2 changed files with 10 additions and 8 deletions
Binary file not shown.
|
@ -86,28 +86,30 @@ public Action BotControlTimerV2(Handle timer)
|
||||||
return Plugin_Stop;
|
return Plugin_Stop;
|
||||||
}
|
}
|
||||||
if(iAliveTanks == 0) return Plugin_Continue;
|
if(iAliveTanks == 0) return Plugin_Continue;
|
||||||
|
|
||||||
|
int botHealth, closestTank, tank_target, distanceFromSurvivor;
|
||||||
|
float BotPosition[3], TankPosition[3], smallestDistance;
|
||||||
|
|
||||||
//Loop all players, finding survivors. (survivor team, bots, not tank.)
|
//Loop all players, finding survivors. (survivor team, bots, not tank.)
|
||||||
for (int i = 1; i <= MaxClients; i++) {
|
for (int i = 1; i <= MaxClients; i++) {
|
||||||
if (IsClientInGame(i) && IsPlayerAlive(i) && IsFakeClient(i) && !bIsTank[i] && GetClientTeam(i) == 2) {
|
if (IsClientInGame(i) && IsPlayerAlive(i) && IsFakeClient(i) && !bIsTank[i] && GetClientTeam(i) == 2) {
|
||||||
//Grab health of bot and current position
|
//Grab health of bot and current position
|
||||||
int botHealth = GetClientHealth(i);
|
botHealth = GetClientHealth(i);
|
||||||
float BotPosition[3];
|
|
||||||
GetClientAbsOrigin(i, BotPosition);
|
GetClientAbsOrigin(i, BotPosition);
|
||||||
|
|
||||||
float smallestDistance = 0.0;
|
smallestDistance = 0.0;
|
||||||
int closestTank = -1;
|
closestTank = -1;
|
||||||
//Loop all players, finding tanks (alive, bot, tank)
|
//Loop all players, finding tanks (alive, bot, tank)
|
||||||
for(int tankID = 1; tankID <= MaxClients; tankID++) {
|
for(int tankID = 1; tankID <= MaxClients; tankID++) {
|
||||||
if (IsClientInGame(tankID) && IsPlayerAlive(tankID) && IsFakeClient(tankID) && bIsTank[tankID]) {
|
if (IsClientInGame(tankID) && IsPlayerAlive(tankID) && IsFakeClient(tankID) && bIsTank[tankID]) {
|
||||||
//Check if tank has a target. tank_target will be -1 if not activated
|
//Check if tank has a target. tank_target will be -1 if not activated
|
||||||
int tank_target = GetEntPropEnt(tankID, Prop_Send, "m_lookatPlayer", 0);
|
tank_target = GetEntPropEnt(tankID, Prop_Send, "m_lookatPlayer", 0);
|
||||||
if(tank_target > -1) {
|
if(tank_target > -1) {
|
||||||
|
|
||||||
//Fetch the tank's position
|
//Fetch the tank's position
|
||||||
float TankPosition[3];
|
|
||||||
GetClientAbsOrigin(tankID, TankPosition);
|
GetClientAbsOrigin(tankID, TankPosition);
|
||||||
//Get distance to survivor, and compare to get closest tank
|
//Get distance to survivor, and compare to get closest tank
|
||||||
float distanceFromSurvivor = GetVectorDistance(BotPosition, TankPosition);
|
distanceFromSurvivor = GetVectorDistance(BotPosition, TankPosition);
|
||||||
if(distanceFromSurvivor <= 1000 && smallestDistance > distanceFromSurvivor || smallestDistance == 0.0) {
|
if(distanceFromSurvivor <= 1000 && smallestDistance > distanceFromSurvivor || smallestDistance == 0.0) {
|
||||||
smallestDistance = distanceFromSurvivor;
|
smallestDistance = distanceFromSurvivor;
|
||||||
closestTank = tankID;
|
closestTank = tankID;
|
||||||
|
@ -137,9 +139,9 @@ void resetPlugin() {
|
||||||
public void FindExistingTank() {
|
public void FindExistingTank() {
|
||||||
//Loop all valid clients, check if they a BOT and an infected. Check for a name that contains "Tank"
|
//Loop all valid clients, check if they a BOT and an infected. Check for a name that contains "Tank"
|
||||||
iAliveTanks = 0;
|
iAliveTanks = 0;
|
||||||
|
char name[16];
|
||||||
for (int i = 1; i < MaxClients+1 ;i++) {
|
for (int i = 1; i < MaxClients+1 ;i++) {
|
||||||
if(IsClientInGame(i) && IsFakeClient(i) && IsPlayerAlive(i) && GetClientTeam(i) == 3) {
|
if(IsClientInGame(i) && IsFakeClient(i) && IsPlayerAlive(i) && GetClientTeam(i) == 3) {
|
||||||
char name[16];
|
|
||||||
GetClientName(i, name, sizeof(name));
|
GetClientName(i, name, sizeof(name));
|
||||||
if(StrContains(name, "Tank", true) > -1) {
|
if(StrContains(name, "Tank", true) > -1) {
|
||||||
bIsTank[i] = true;
|
bIsTank[i] = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue