From cc8dd17c077c082e419c128d12744fb5ff12947a Mon Sep 17 00:00:00 2001 From: shavit Date: Mon, 19 Mar 2018 17:35:33 +0200 Subject: [PATCH 1/5] Fixed CS:S HUD not showing empty line instead of track name. --- addons/sourcemod/scripting/shavit-hud.sp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sourcemod/scripting/shavit-hud.sp b/addons/sourcemod/scripting/shavit-hud.sp index 78fe518f..7229b7fc 100644 --- a/addons/sourcemod/scripting/shavit-hud.sp +++ b/addons/sourcemod/scripting/shavit-hud.sp @@ -677,6 +677,7 @@ void UpdateHUD(int client) { int track = Shavit_GetClientTrack(target); char[] sTrack = new char[32]; + GetTrackName(client, track, sTrack, 32); if(!IsFakeClient(target)) { @@ -728,7 +729,6 @@ void UpdateHUD(int client) if(track != Track_Main) { - GetTrackName(client, track, sTrack, 32); Format(sHintText, 512, "%s[%s] ", sHintText, sTrack); } From fdeceabcf0b33fc897c9aaf766007dd88e5790f7 Mon Sep 17 00:00:00 2001 From: shavit Date: Tue, 20 Mar 2018 04:32:47 +0200 Subject: [PATCH 2/5] Fixed CS:S HUD breaking apart after adding new styles without restart. --- addons/sourcemod/scripting/shavit-core.sp | 20 +++++++------------- addons/sourcemod/scripting/shavit-wr.sp | 17 +++++++---------- 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/addons/sourcemod/scripting/shavit-core.sp b/addons/sourcemod/scripting/shavit-core.sp index 4abbbc88..b9577ce6 100644 --- a/addons/sourcemod/scripting/shavit-core.sp +++ b/addons/sourcemod/scripting/shavit-core.sp @@ -400,24 +400,11 @@ public void OnMapStart() SetFailState("Could not load the styles configuration file. Make sure it exists (addons/sourcemod/configs/shavit-styles.cfg) and follows the proper syntax!"); } - else - { - Call_StartForward(gH_Forwards_OnStyleConfigLoaded); - Call_PushCell(gI_Styles); - Call_Finish(); - } - // messages if(!LoadMessages()) { SetFailState("Could not load the chat messages configuration file. Make sure it exists (addons/sourcemod/configs/shavit-messages.cfg) and follows the proper syntax!"); } - - else - { - Call_StartForward(gH_Forwards_OnChatConfigLoaded); - Call_Finish(); - } } public void OnMapEnd() @@ -1511,6 +1498,10 @@ bool LoadStyles() gI_Styles = i; gB_Registered = true; + Call_StartForward(gH_Forwards_OnStyleConfigLoaded); + Call_PushCell(gI_Styles); + Call_Finish(); + return true; } @@ -1572,6 +1563,9 @@ bool LoadMessages() ReplaceString(gS_ChatStrings[i], 128, "{RGBA}", "\x08"); } + Call_StartForward(gH_Forwards_OnChatConfigLoaded); + Call_Finish(); + return true; } diff --git a/addons/sourcemod/scripting/shavit-wr.sp b/addons/sourcemod/scripting/shavit-wr.sp index 6dda74f0..466db154 100644 --- a/addons/sourcemod/scripting/shavit-wr.sp +++ b/addons/sourcemod/scripting/shavit-wr.sp @@ -173,15 +173,6 @@ public void OnPluginStart() // cache gA_ValidMaps = new ArrayList(192); - for(int i = 0; i < STYLE_LIMIT; i++) - { - for(int j = 0; j < TRACKS_SIZE; j++) - { - gA_Leaderboard[i][j] = new ArrayList(); - gI_RecordAmount[i][j] = 0; - } - } - SQL_SetPrefix(); } @@ -370,7 +361,13 @@ public void Shavit_OnStyleConfigLoaded(int styles) { if(i < styles) { + if(gA_Leaderboard[i][j] == null) + { + gA_Leaderboard[i][j] = new ArrayList(); + } + gA_Leaderboard[i][j].Clear(); + gI_RecordAmount[i][j] = 0; } else @@ -544,7 +541,7 @@ public int Native_GetRankForTime(Handle handler, int numParams) int style = GetNativeCell(1); int track = GetNativeCell(3); - if(gA_Leaderboard[style][track].Length == 0) + if(gA_Leaderboard[style][track] == null || gA_Leaderboard[style][track].Length == 0) { return 1; } From 8a7d3d4de01e565adb9302a302482b7a3573ac3a Mon Sep 17 00:00:00 2001 From: shavit Date: Sat, 24 Mar 2018 01:42:08 +0300 Subject: [PATCH 3/5] Fixed targetname exploit. Thanks Reeve/acer. --- addons/sourcemod/scripting/shavit-misc.sp | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/addons/sourcemod/scripting/shavit-misc.sp b/addons/sourcemod/scripting/shavit-misc.sp index 0078b342..75bc35a7 100644 --- a/addons/sourcemod/scripting/shavit-misc.sp +++ b/addons/sourcemod/scripting/shavit-misc.sp @@ -1498,19 +1498,6 @@ public Action Command_Tele(int client, int args) } } - CheckpointsCache cpcache[PCPCACHE_SIZE]; - GetCheckpoint(client, index, cpcache); - - float pos[3]; - CopyArray(cpcache[fCPPosition], pos, 3); - - if(IsNullVector(pos)) - { - Shavit_PrintToChat(client, "%T", "MiscCheckpointsEmpty", client, (index + 1), gS_ChatStrings[sMessageWarning], gS_ChatStrings[sMessageText]); - - return Plugin_Handled; - } - TeleportToCheckpoint(client, index, false); return Plugin_Handled; @@ -1737,7 +1724,13 @@ void TeleportToCheckpoint(int client, int index, bool suppressMessage) } CheckpointsCache cpcache[PCPCACHE_SIZE]; - GetCheckpoint(client, index, cpcache); + + if(!GetCheckpoint(client, index, cpcache)) + { + Shavit_PrintToChat(client, "%T", "MiscCheckpointsEmpty", client, (index + 1), gS_ChatStrings[sMessageWarning], gS_ChatStrings[sMessageText]); + + return; + } float pos[3]; CopyArray(cpcache[fCPPosition], pos, 3); From 4176d68b86677c30568de0c896545a99e40ca64c Mon Sep 17 00:00:00 2001 From: shavit Date: Sat, 24 Mar 2018 01:46:09 +0300 Subject: [PATCH 4/5] Fixed errors when saving checkpoints on inactive bots. --- addons/sourcemod/scripting/shavit-misc.sp | 7 +++++++ addons/sourcemod/scripting/shavit-replay.sp | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/addons/sourcemod/scripting/shavit-misc.sp b/addons/sourcemod/scripting/shavit-misc.sp index 75bc35a7..f3eba2bb 100644 --- a/addons/sourcemod/scripting/shavit-misc.sp +++ b/addons/sourcemod/scripting/shavit-misc.sp @@ -1692,6 +1692,13 @@ bool SaveCheckpoint(int client, int index) int style = Shavit_GetReplayBotStyle(target); int track = Shavit_GetReplayBotTrack(target); + if(style < 0 || track < 0) + { + Shavit_PrintToChat(client, "%T", "CommandAliveSpectate", client, gS_ChatStrings[sMessageVariable], gS_ChatStrings[sMessageText], gS_ChatStrings[sMessageVariable], gS_ChatStrings[sMessageText]); + + return false; + } + snapshot[bTimerEnabled] = true; snapshot[fCurrentTime] = Shavit_GetReplayTime(style, track); snapshot[bClientPaused] = false; diff --git a/addons/sourcemod/scripting/shavit-replay.sp b/addons/sourcemod/scripting/shavit-replay.sp index ab653a21..fdc096e8 100644 --- a/addons/sourcemod/scripting/shavit-replay.sp +++ b/addons/sourcemod/scripting/shavit-replay.sp @@ -401,6 +401,11 @@ public int Native_GetReplayTime(Handle handler, int numParams) int style = GetNativeCell(1); int track = GetNativeCell(2); + if(style < 0 || track < 0) + { + return view_as(0.0); + } + if(gB_CentralBot) { if(gA_CentralCache[iCentralReplayStatus] == Replay_End) From e004dd3d610a8a0cf476e9ef4bb198f9e9ed6959 Mon Sep 17 00:00:00 2001 From: shavit Date: Sat, 24 Mar 2018 01:48:19 +0300 Subject: [PATCH 5/5] Bumped version to 2.0.1 --- addons/sourcemod/scripting/include/shavit.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sourcemod/scripting/include/shavit.inc b/addons/sourcemod/scripting/include/shavit.inc index 9d019bf6..5e815b48 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.0.0" +#define SHAVIT_VERSION "2.0.1" #define STYLE_LIMIT 256 #define MAX_ZONES 64