fixed lag when server full by moving the getauthid stuff to only happening on connects, also ensured bots should not run around with tmp's anymore after a surf
This commit is contained in:
parent
cc96bb56a4
commit
3c9470d64c
@ -1,4 +1,6 @@
|
||||
#include <sourcemod>
|
||||
#include <cstrike>
|
||||
#include <smlib>
|
||||
#include <sdktools>
|
||||
#include <sdkhooks>
|
||||
#include <botmimic>
|
||||
@ -12,6 +14,12 @@ public Plugin myinfo =
|
||||
version = "1.1",
|
||||
url = "www.unloze.com"
|
||||
};
|
||||
|
||||
//is botplayer
|
||||
bool is_bot_player[MAXPLAYERS + 1];
|
||||
bool is_player_jenz[MAXPLAYERS + 1];
|
||||
|
||||
|
||||
float bot_finished_surf_coords[MAXPLAYERS + 1][3];
|
||||
char map_coorindates[65][256];
|
||||
char map_recordname[65][256];
|
||||
@ -74,19 +82,24 @@ public Action reset_round_switch(Handle timer, any data)
|
||||
|
||||
stock bool IsValidClient(int client)
|
||||
{
|
||||
if (client > 0 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client))
|
||||
return true;
|
||||
return false;
|
||||
if (client > 0 && client <= MaxClients && IsClientConnected(client) && IsClientInGame(client))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
public void OnClientPostAdminCheck(int client)
|
||||
{
|
||||
reset_bot_finished_surf(client);
|
||||
is_bot_player[client] = false;
|
||||
is_player_jenz[client] = false;
|
||||
is_bot_player_call(client);
|
||||
reset_bot_finished_surf(client);
|
||||
}
|
||||
|
||||
public void OnClientDisconnect(int client)
|
||||
{
|
||||
reset_bot_finished_surf(client);
|
||||
is_bot_player[client] = false;
|
||||
is_player_jenz[client] = false;
|
||||
reset_bot_finished_surf(client);
|
||||
}
|
||||
|
||||
public void reset_bot_finished_surf(int client)
|
||||
@ -101,6 +114,10 @@ public void reset_client(int client)
|
||||
if (BotMimic_IsPlayerMimicing(client))
|
||||
{
|
||||
BotMimic_StopPlayerMimic(client);
|
||||
if (GetClientTeam(client) == CS_TEAM_T)
|
||||
{
|
||||
Client_switch_to_knife(client);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -128,13 +145,15 @@ public int BotMimic_OnPlayerMimicLoops(int client)
|
||||
public Action update_mimic_coords(Handle timer, any data)
|
||||
{
|
||||
for (int i = 1; i <= MaxClients; i++)
|
||||
if (IsValidClient(i) && is_bot_player(i))
|
||||
{
|
||||
if (IsValidClient(i) && is_bot_player[i])
|
||||
{
|
||||
if (bot_finished_surf_coords[i][0] != 0.0)
|
||||
{
|
||||
GetEntPropVector(i, Prop_Send, "m_vecOrigin", bot_finished_surf_coords[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (round_switch)
|
||||
{
|
||||
return Plugin_Continue;
|
||||
@ -153,7 +172,7 @@ public Action update_mimic_coords(Handle timer, any data)
|
||||
coords[2] = StringToFloat(char_coord[2]);
|
||||
for (int j = 1; j <= MaxClients; j++)
|
||||
{
|
||||
if (IsValidClient(j) && bot_finished_surf_coords[j][0] == 0.0 && is_bot_player(j))
|
||||
if (IsValidClient(j) && bot_finished_surf_coords[j][0] == 0.0 && is_bot_player[j])
|
||||
{
|
||||
float distance = get_power_distance(j, coords);
|
||||
if (distance < 225.0)
|
||||
@ -310,60 +329,97 @@ public void SQL_insertQuery(Database db, DBResultSet results, const char[] error
|
||||
|
||||
public void SQL_FinishedQuery_creating_tables(Database db, DBResultSet results, const char[] error, DataPack data)
|
||||
{
|
||||
if (!db || strlen(error))
|
||||
{
|
||||
LogError("Query error: %s", error);
|
||||
}
|
||||
char map_name[256];
|
||||
GetCurrentMap(map_name, sizeof(map_name));
|
||||
if (StrContains(map_name, "ze_surf", false) != -1)
|
||||
{
|
||||
select_map_related_surfs();
|
||||
}
|
||||
if (!db || strlen(error))
|
||||
{
|
||||
LogError("Query error: %s", error);
|
||||
}
|
||||
char map_name[256];
|
||||
GetCurrentMap(map_name, sizeof(map_name));
|
||||
if (StrContains(map_name, "ze_surf", false) != -1)
|
||||
{
|
||||
select_map_related_surfs();
|
||||
}
|
||||
}
|
||||
|
||||
public bool is_bot_player(int client)
|
||||
public void is_bot_player_call(int client)
|
||||
{
|
||||
bool debug_b = false;
|
||||
if (debug_b && is_jenz(client))
|
||||
{
|
||||
return true;
|
||||
is_player_jenz[client] = true;
|
||||
}
|
||||
return is_autism_bot1(client) || is_autism_bot2(client) || is_autism_bot3(client) || is_autism_bot4(client); //change to true for debugging on dev
|
||||
is_autism_bot1(client);
|
||||
is_autism_bot2(client);
|
||||
is_autism_bot3(client);
|
||||
is_autism_bot4(client);
|
||||
}
|
||||
|
||||
public bool is_jenz(int client)
|
||||
{
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
return StrEqual("[U:1:69566635]", auth, false) || StrEqual("STEAM_0:1:34783317", auth, false);
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
if(StrEqual("[U:1:69566635]", auth, false) || StrEqual("STEAM_0:1:34783317", auth, false))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool is_autism_bot1(int client)
|
||||
{
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
return StrEqual("[U:1:120378081]", auth, false) || StrEqual("STEAM_0:1:60189040", auth, false);
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
if (StrEqual("[U:1:120378081]", auth, false) || StrEqual("STEAM_0:1:60189040", auth, false))
|
||||
{
|
||||
is_bot_player[client] = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool is_autism_bot2(int client)
|
||||
{
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
return StrEqual("[U:1:1036189204]", auth, false) || StrEqual("STEAM_0:0:518094602", auth, false);
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
if (StrEqual("[U:1:1036189204]", auth, false) || StrEqual("STEAM_0:0:518094602", auth, false))
|
||||
{
|
||||
is_bot_player[client] = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool is_autism_bot3(int client)
|
||||
{
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
return StrEqual("[U:1:408797742]", auth, false) || StrEqual("STEAM_0:0:204398871", auth, false);
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
if (StrEqual("[U:1:408797742]", auth, false) || StrEqual("STEAM_0:0:204398871", auth, false))
|
||||
{
|
||||
is_bot_player[client] = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool is_autism_bot4(int client)
|
||||
{
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
return StrEqual("[U:1:1221121532]", auth, false) || StrEqual("STEAM_0:0:610560766", auth, false);
|
||||
char auth[50];
|
||||
GetClientAuthId(client, AuthId_Engine, auth, sizeof(auth));
|
||||
if (StrEqual("[U:1:1221121532]", auth, false) || StrEqual("STEAM_0:0:610560766", auth, false))
|
||||
{
|
||||
is_bot_player[client] = true;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
stock Client_switch_to_knife(int client)
|
||||
{
|
||||
//2 is always knife
|
||||
int weapon = GetPlayerWeaponSlot(client, 2);
|
||||
if (Weapon_IsValid(weapon)) {
|
||||
Client_SetActiveWeapon(client, weapon);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user