Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 45 additions & 45 deletions addons/sourcemod/scripting/AdvancedTargeting.sp
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

#pragma newdecls required

Handle g_FriendsArray[MAXPLAYERS + 1] = {INVALID_HANDLE, ...};
ArrayList g_FriendsArray[MAXPLAYERS + 1] = {null, ...};
bool g_bLateLoad = false;

bool g_Plugin_ZR = false;
Expand All @@ -38,7 +38,7 @@ public Plugin myinfo =
name = "Advanced Targeting Extended",
author = "BotoX, Obus, inGame, maxime1907, .Rushaway",
description = "Adds extra targeting methods",
version = "1.5.4",
version = "1.5.5",
url = ""
}

Expand Down Expand Up @@ -264,7 +264,7 @@ public Action Command_Friends(int client, int args)
if(!client)
return Plugin_Handled;

if(g_FriendsArray[client] == INVALID_HANDLE)
if(g_FriendsArray[client] == null)
{
CPrintToChat(client, "%s Could not read your friendslist, your profile must be set to public!", TAG_COLOR);
return Plugin_Handled;
Expand All @@ -278,7 +278,7 @@ public Action Command_Friends(int client, int args)
{
int Steam3ID = GetSteamAccountID(i);

if(FindValueInArray(g_FriendsArray[client], Steam3ID) != -1)
if(g_FriendsArray[client].FindValue(Steam3ID) != -1)
{
GetClientName(i, aBuf2, sizeof(aBuf2));
StrCat(aBuf, sizeof(aBuf), aBuf2);
Expand Down Expand Up @@ -355,7 +355,7 @@ public Action Command_NoSteam(int client, int args)
return Plugin_Handled;
}

public bool Filter_Steam(const char[] sPattern, Handle hClients)
public bool Filter_Steam(const char[] sPattern, ArrayList hClients)
{
if (!g_Plugin_PM || GetFeatureStatus(FeatureType_Native, "PM_IsPlayerSteam") != FeatureStatus_Available)
return false;
Expand All @@ -364,13 +364,13 @@ public bool Filter_Steam(const char[] sPattern, Handle hClients)
{
if(IsClientInGame(i) && !IsFakeClient(i) && PM_IsPlayerSteam(i))
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}
return true;
}

public bool Filter_NoSteam(const char[] sPattern, Handle hClients)
public bool Filter_NoSteam(const char[] sPattern, ArrayList hClients)
{
if (!g_Plugin_PM || GetFeatureStatus(FeatureType_Native, "PM_IsPlayerSteam") != FeatureStatus_Available)
return false;
Expand All @@ -379,14 +379,14 @@ public bool Filter_NoSteam(const char[] sPattern, Handle hClients)
{
if (IsClientInGame(i) && !IsFakeClient(i) && !PM_IsPlayerSteam(i))
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}
return true;
}

#if defined _Voice_included
public bool Filter_Talking(const char[] sPattern, Handle hClients, int client)
public bool Filter_Talking(const char[] sPattern, ArrayList hClients, int client)
{
if (GetFeatureStatus(FeatureType_Native, "IsClientTalking") != FeatureStatus_Available)
return false;
Expand All @@ -395,42 +395,42 @@ public bool Filter_Talking(const char[] sPattern, Handle hClients, int client)
{
if(IsClientInGame(i) && !IsFakeClient(i) && IsClientTalking(i))
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}

return true;
}
#endif

public bool Filter_Admin(const char[] sPattern, Handle hClients, int client)
public bool Filter_Admin(const char[] sPattern, ArrayList hClients, int client)
{
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsFakeClient(i) && GetAdminFlag(GetUserAdmin(i), Admin_Generic))
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}

return true;
}

public bool Filter_NotAdmin(const char[] sPattern, Handle hClients, int client)
public bool Filter_NotAdmin(const char[] sPattern, ArrayList hClients, int client)
{
for(int i = 1; i <= MaxClients; i++)
{
if(IsClientInGame(i) && !IsFakeClient(i) && !GetAdminFlag(GetUserAdmin(i), Admin_Generic))
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}

return true;
}

#if defined _zr_included
public bool Filter_MotherZombie(const char[] sPattern, Handle hClients, int client)
public bool Filter_MotherZombie(const char[] sPattern, ArrayList hClients, int client)
{
if (!g_Plugin_ZR || GetFeatureStatus(FeatureType_Native, "ZR_IsClientMotherZombie") != FeatureStatus_Available)
return false;
Expand All @@ -439,7 +439,7 @@ public bool Filter_MotherZombie(const char[] sPattern, Handle hClients, int clie
{
if(IsClientInGame(i) && !IsFakeClient(i) && ZR_IsClientMotherZombie(i))
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}

Expand All @@ -448,7 +448,7 @@ public bool Filter_MotherZombie(const char[] sPattern, Handle hClients, int clie
#endif

#if defined _zr_included
public bool Filter_NotMotherZombie(const char[] sPattern, Handle hClients, int client)
public bool Filter_NotMotherZombie(const char[] sPattern, ArrayList hClients, int client)
{
if (!g_Plugin_ZR || GetFeatureStatus(FeatureType_Native, "ZR_IsClientMotherZombie") != FeatureStatus_Available || GetFeatureStatus(FeatureType_Native, "ZR_IsClientZombie") != FeatureStatus_Available)
return false;
Expand All @@ -457,15 +457,15 @@ public bool Filter_NotMotherZombie(const char[] sPattern, Handle hClients, int c
{
if(IsClientInGame(i) && !IsFakeClient(i) && !ZR_IsClientMotherZombie(i) && ZR_IsClientZombie(i))
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}

return true;
}
#endif

public bool Filter_VIP(const char[] sPattern, Handle hClients, int client)
public bool Filter_VIP(const char[] sPattern, ArrayList hClients, int client)
{
bool bNative = GetFeatureStatus(FeatureType_Native, "VIP_IsClientVIP") == FeatureStatus_Available;

Expand All @@ -477,14 +477,14 @@ public bool Filter_VIP(const char[] sPattern, Handle hClients, int client)
if(IsClientInGame(i) && !IsFakeClient(i) && GetAdminFlag(GetUserAdmin(i), Admin_Custom1))
#endif
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}

return true;
}

public bool Filter_NotVIP(const char[] sPattern, Handle hClients, int client)
public bool Filter_NotVIP(const char[] sPattern, ArrayList hClients, int client)
{
bool bNative = GetFeatureStatus(FeatureType_Native, "VIP_IsClientVIP") == FeatureStatus_Available;

Expand All @@ -496,16 +496,16 @@ public bool Filter_NotVIP(const char[] sPattern, Handle hClients, int client)
if(IsClientInGame(i) && !IsFakeClient(i) && !GetAdminFlag(GetUserAdmin(i), Admin_Custom1))
#endif
{
PushArrayCell(hClients, i);
hClients.Push(i);
}
}

return true;
}

public bool Filter_Friends(const char[] sPattern, Handle hClients, int client)
public bool Filter_Friends(const char[] sPattern, ArrayList hClients, int client)
{
if(g_FriendsArray[client] == INVALID_HANDLE)
if(g_FriendsArray[client] == null)
{
CPrintToChat(client, "%s Could not read your friendslist, your profile must be set to public!", TAG_COLOR);
return false;
Expand All @@ -517,17 +517,17 @@ public bool Filter_Friends(const char[] sPattern, Handle hClients, int client)
{
int Steam3ID = GetSteamAccountID(i);

if(FindValueInArray(g_FriendsArray[client], Steam3ID) != -1)
PushArrayCell(hClients, i);
if(g_FriendsArray[client].FindValue(Steam3ID) != -1)
hClients.Push(i);
}
}

return true;
}

public bool Filter_NotFriends(const char[] sPattern, Handle hClients, int client)
public bool Filter_NotFriends(const char[] sPattern, ArrayList hClients, int client)
{
if(g_FriendsArray[client] == INVALID_HANDLE)
if(g_FriendsArray[client] == null)
{
CPrintToChat(client, "%s Could not read your friendslist, your profile must be set to public!", TAG_COLOR);
return false;
Expand All @@ -539,15 +539,15 @@ public bool Filter_NotFriends(const char[] sPattern, Handle hClients, int client
{
int Steam3ID = GetSteamAccountID(i);

if(FindValueInArray(g_FriendsArray[client], Steam3ID) == -1)
PushArrayCell(hClients, i);
if(g_FriendsArray[client].FindValue(Steam3ID) == -1)
hClients.Push(i);
}
}

return true;
}

stock bool GetRandomPlayer(Handle hClients, int team = -1)
stock bool GetRandomPlayer(ArrayList hClients, int team = -1)
{
if(team == -1)
team = GetRandomInt(0, 1) ? CS_TEAM_CT : CS_TEAM_T;
Expand Down Expand Up @@ -583,21 +583,21 @@ stock bool GetRandomPlayer(Handle hClients, int team = -1)
currentIndex++;
}

PushArrayCell(hClients, validPlayers[GetRandomInt(0, playerCount-1)]);
hClients.Push(validPlayers[GetRandomInt(0, playerCount-1)]);
return true;
}

public bool Filter_Random(const char[] sPattern, Handle hClients, int client)
public bool Filter_Random(const char[] sPattern, ArrayList hClients, int client)
{
return GetRandomPlayer(hClients);
}

public bool Filter_RandomCT(const char[] sPattern, Handle hClients, int client)
public bool Filter_RandomCT(const char[] sPattern, ArrayList hClients, int client)
{
return GetRandomPlayer(hClients, CS_TEAM_CT);
}

public bool Filter_RandomT(const char[] sPattern, Handle hClients, int client)
public bool Filter_RandomT(const char[] sPattern, ArrayList hClients, int client)
{
return GetRandomPlayer(hClients, CS_TEAM_T);
}
Expand Down Expand Up @@ -631,10 +631,10 @@ public void OnClientAuthorized(int client, const char[] auth)

public void OnClientDisconnect(int client)
{
if(g_FriendsArray[client] != INVALID_HANDLE)
CloseHandle(g_FriendsArray[client]);
if(g_FriendsArray[client] != null)
delete g_FriendsArray[client];

g_FriendsArray[client] = INVALID_HANDLE;
g_FriendsArray[client] = null;
}

void OnFriendsReceived(HTTPResponse response, any client)
Expand Down Expand Up @@ -671,10 +671,10 @@ public void APIWebResponse(JSONObject friendslist, int client)
return;
}

if(g_FriendsArray[client] != INVALID_HANDLE)
CloseHandle(g_FriendsArray[client]);
if(g_FriendsArray[client] != null)
delete g_FriendsArray[client];

g_FriendsArray[client] = CreateArray();
g_FriendsArray[client] = new ArrayList();

char sCommunityID[32];
for (int i = 0; i < friends.Length; i++)
Expand All @@ -684,7 +684,7 @@ public void APIWebResponse(JSONObject friendslist, int client)
continue;

friend.GetString("steamid", sCommunityID, sizeof(sCommunityID));
PushArrayCell(g_FriendsArray[client], Steam64toSteam3(sCommunityID));
g_FriendsArray[client].Push(Steam64toSteam3(sCommunityID));
delete friend;
}

Expand Down Expand Up @@ -715,14 +715,14 @@ public int Native_IsClientFriend(Handle plugin, int numParams)
return -1;
}

if(g_FriendsArray[client] == INVALID_HANDLE)
if(g_FriendsArray[client] == null)
return -1;

if(IsClientAuthorized(friend))
{
int Steam3ID = GetSteamAccountID(friend);

if(FindValueInArray(g_FriendsArray[client], Steam3ID) != -1)
if(g_FriendsArray[client].FindValue(Steam3ID) != -1)
return 1;
}

Expand All @@ -739,7 +739,7 @@ public int Native_ReadClientFriends(Handle plugin, int numParams)
return -1;
}

if(g_FriendsArray[client] != INVALID_HANDLE)
if(g_FriendsArray[client] != null)
return 1;

return 0;
Expand Down
Loading