simple attempt to fix potential teleport bug by excluding all non surf maps
This commit is contained in:
parent
ab8a2359d8
commit
ae9ea5083a
@ -12,8 +12,8 @@ public Plugin myinfo =
|
|||||||
version = "1.0",
|
version = "1.0",
|
||||||
url = "www.unloze.com"
|
url = "www.unloze.com"
|
||||||
};
|
};
|
||||||
float bot_finished_surf_coords[MAXPLAYERS][3];
|
float bot_finished_surf_coords[MAXPLAYERS + 1][3] ;
|
||||||
bool is_forward_called[MAXPLAYERS];
|
bool is_forward_called[MAXPLAYERS + 1];
|
||||||
char map_coorindates[65][256];
|
char map_coorindates[65][256];
|
||||||
char map_recordname[65][256];
|
char map_recordname[65][256];
|
||||||
Database g_dDatabase;
|
Database g_dDatabase;
|
||||||
@ -69,11 +69,17 @@ public void reset_client(int client)
|
|||||||
//BotMimic_IsPlayerMimicing() is true in update_mimic_coords before the BotMimic_OnPlayerMimicLoops forward is called
|
//BotMimic_IsPlayerMimicing() is true in update_mimic_coords before the BotMimic_OnPlayerMimicLoops forward is called
|
||||||
public int BotMimic_OnPlayerMimicLoops(int client)
|
public int BotMimic_OnPlayerMimicLoops(int client)
|
||||||
{
|
{
|
||||||
//PrintToChatAll("BotMimic_OnPlayerMimicLoops bot_finished_surf_coords[client][0]: %f", bot_finished_surf_coords[client][0]);
|
char map_name[256];
|
||||||
|
GetCurrentMap(map_name, sizeof(map_name));
|
||||||
|
if (!is_bot_player(client) || StrContains(map_name, "ze_surf", false) == -1)
|
||||||
|
{
|
||||||
|
reset_client(client);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
if (bot_finished_surf_coords[client][0] != 0.0)
|
if (bot_finished_surf_coords[client][0] != 0.0)
|
||||||
{
|
{
|
||||||
BotMimic_StopPlayerMimic(client);
|
BotMimic_StopPlayerMimic(client);
|
||||||
//on ze2 they were teleported to end of world or maybe 0.0 0.0 0.0
|
|
||||||
TeleportEntity(client, bot_finished_surf_coords[client], NULL_VECTOR, NULL_VECTOR);
|
TeleportEntity(client, bot_finished_surf_coords[client], NULL_VECTOR, NULL_VECTOR);
|
||||||
reset_client(client);
|
reset_client(client);
|
||||||
}
|
}
|
||||||
@ -81,6 +87,7 @@ public int BotMimic_OnPlayerMimicLoops(int client)
|
|||||||
{
|
{
|
||||||
is_forward_called[client] = true;
|
is_forward_called[client] = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action update_mimic_coords(Handle timer, any data)
|
public Action update_mimic_coords(Handle timer, any data)
|
||||||
@ -199,9 +206,11 @@ public void SQL_OnQueryCompleted(Database db, DBResultSet results, const char[]
|
|||||||
|
|
||||||
public void OnMapStart()
|
public void OnMapStart()
|
||||||
{
|
{
|
||||||
|
char map_name[256];
|
||||||
|
GetCurrentMap(map_name, sizeof(map_name));
|
||||||
if (!g_dDatabase)
|
if (!g_dDatabase)
|
||||||
Database.Connect(SQL_OnDatabaseConnect, "bot_surfing");
|
Database.Connect(SQL_OnDatabaseConnect, "bot_surfing");
|
||||||
else
|
else if(StrContains(map_name, "ze_surf", false) != -1)
|
||||||
{
|
{
|
||||||
select_map_related_surfs();
|
select_map_related_surfs();
|
||||||
CreateTimer(0.30, update_mimic_coords, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
CreateTimer(0.30, update_mimic_coords, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
||||||
@ -244,8 +253,13 @@ public void SQL_FinishedQuery_creating_tables(Database db, DBResultSet results,
|
|||||||
{
|
{
|
||||||
LogError("Query error: %s", 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();
|
select_map_related_surfs();
|
||||||
CreateTimer(0.30, update_mimic_coords, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
CreateTimer(0.30, update_mimic_coords, INVALID_HANDLE, TIMER_REPEAT|TIMER_FLAG_NO_MAPCHANGE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user