From a474caec4e0627a8f4eddfd3e23fa5a116ad3c2a Mon Sep 17 00:00:00 2001 From: shavit Date: Wed, 2 May 2018 12:57:32 +0300 Subject: [PATCH 1/3] Reduced database load by doing other operations after core is loaded. --- addons/sourcemod/scripting/shavit-core.sp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/sourcemod/scripting/shavit-core.sp b/addons/sourcemod/scripting/shavit-core.sp index 2df0744c1..e3d60f9a2 100644 --- a/addons/sourcemod/scripting/shavit-core.sp +++ b/addons/sourcemod/scripting/shavit-core.sp @@ -1673,9 +1673,6 @@ void SQL_DBConnect() // support unicode names gH_SQL.SetCharset("utf8"); - Call_StartForward(gH_Forwards_OnDatabaseLoaded); - Call_Finish(); - char[] sDriver = new char[8]; gH_SQL.Driver.GetIdentifier(sDriver, 8); gB_MySQL = StrEqual(sDriver, "mysql", false); @@ -1727,6 +1724,9 @@ public void SQL_CreateTable_Callback(Database db, DBResultSet results, const cha FormatEx(sQuery, 192, "SELECT map FROM %s%s WHERE map LIKE 'workshop%%' GROUP BY map;", gS_MySQLPrefix, sTables[i]); gH_SQL.Query(SQL_TableMigration3_Callback, sQuery, dp, DBPrio_Low); } + + Call_StartForward(gH_Forwards_OnDatabaseLoaded); + Call_Finish(); } public void SQL_TableMigration1_Callback(Database db, DBResultSet results, const char[] error, any data) From 4bcfae7e94c1dcd0fb69b4b31008cd89b7488dcd Mon Sep 17 00:00:00 2001 From: shavit Date: Wed, 2 May 2018 13:53:53 +0300 Subject: [PATCH 2/3] Don't show perf% for old records. --- addons/sourcemod/scripting/shavit-core.sp | 6 +++--- addons/sourcemod/scripting/shavit-wr.sp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/sourcemod/scripting/shavit-core.sp b/addons/sourcemod/scripting/shavit-core.sp index 2df0744c1..e3d60f9a2 100644 --- a/addons/sourcemod/scripting/shavit-core.sp +++ b/addons/sourcemod/scripting/shavit-core.sp @@ -1673,9 +1673,6 @@ void SQL_DBConnect() // support unicode names gH_SQL.SetCharset("utf8"); - Call_StartForward(gH_Forwards_OnDatabaseLoaded); - Call_Finish(); - char[] sDriver = new char[8]; gH_SQL.Driver.GetIdentifier(sDriver, 8); gB_MySQL = StrEqual(sDriver, "mysql", false); @@ -1727,6 +1724,9 @@ public void SQL_CreateTable_Callback(Database db, DBResultSet results, const cha FormatEx(sQuery, 192, "SELECT map FROM %s%s WHERE map LIKE 'workshop%%' GROUP BY map;", gS_MySQLPrefix, sTables[i]); gH_SQL.Query(SQL_TableMigration3_Callback, sQuery, dp, DBPrio_Low); } + + Call_StartForward(gH_Forwards_OnDatabaseLoaded); + Call_Finish(); } public void SQL_TableMigration1_Callback(Database db, DBResultSet results, const char[] error, any data) diff --git a/addons/sourcemod/scripting/shavit-wr.sp b/addons/sourcemod/scripting/shavit-wr.sp index d00893fe3..16a4c8cad 100644 --- a/addons/sourcemod/scripting/shavit-wr.sp +++ b/addons/sourcemod/scripting/shavit-wr.sp @@ -1724,15 +1724,15 @@ public void SQL_SubMenu_Callback(Database db, DBResultSet results, const char[] // 2 - jumps int style = results.FetchInt(3); int jumps = results.FetchInt(2); + float perfs = results.FetchFloat(9); - if(gA_StyleSettings[style][bAutobhop]) + if(gA_StyleSettings[style][bAutobhop] && perfs > 0.0) { FormatEx(sDisplay, 128, "%T: %d", "WRJumps", client, jumps); } else { - float perfs = results.FetchFloat(9); FormatEx(sDisplay, 128, "%T: %d (%.2f%%)", "WRJumps", client, jumps, perfs); } From e5ab1000531d927b856a18daf4ef54a33e50e34a Mon Sep 17 00:00:00 2001 From: shavit Date: Thu, 3 May 2018 15:58:30 +0300 Subject: [PATCH 3/3] Fixed checkpoints triggers exploit and bumped version to 2.1.1. Thanks @SlidyBat :) --- addons/sourcemod/scripting/include/shavit.inc | 2 +- addons/sourcemod/scripting/shavit-misc.sp | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/addons/sourcemod/scripting/include/shavit.inc b/addons/sourcemod/scripting/include/shavit.inc index feab98339..c43bfd7e3 100644 --- a/addons/sourcemod/scripting/include/shavit.inc +++ b/addons/sourcemod/scripting/include/shavit.inc @@ -23,7 +23,7 @@ #endif #define _shavit_included -#define SHAVIT_VERSION "2.1.0" +#define SHAVIT_VERSION "2.1.1" #define STYLE_LIMIT 256 #define MAX_ZONES 64 diff --git a/addons/sourcemod/scripting/shavit-misc.sp b/addons/sourcemod/scripting/shavit-misc.sp index 81a01a0e7..5f671ce2f 100644 --- a/addons/sourcemod/scripting/shavit-misc.sp +++ b/addons/sourcemod/scripting/shavit-misc.sp @@ -1801,7 +1801,16 @@ bool SaveCheckpoint(int client, int index, bool overflow = false) cpcache[fCPGravity] = GetEntityGravity(target); cpcache[fCPSpeed] = GetEntPropFloat(target, Prop_Send, "m_flLaggedMovementValue"); cpcache[fCPStamina] = (gEV_Type != Engine_TF2)? GetEntPropFloat(target, Prop_Send, "m_flStamina"):0.0; - cpcache[iCPFlags] = GetEntityFlags(target); + + int iFlags = GetEntityFlags(target); + + if(IsFakeClient(target)) + { + iFlags |= FL_CLIENT; + iFlags |= FL_AIMTARGET; + } + + cpcache[iCPFlags] = iFlags; if(gEV_Type != Engine_TF2) {