diff --git a/AutismBotIngame/scripting/bot_surfing.sp b/AutismBotIngame/scripting/bot_surfing.sp index 95e0441a..c37fbf32 100644 --- a/AutismBotIngame/scripting/bot_surfing.sp +++ b/AutismBotIngame/scripting/bot_surfing.sp @@ -1,4 +1,6 @@ #include +#include +#include #include #include #include @@ -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); + } +} + +