diff --git a/addons/sourcemod/scripting/shavit-misc.sp b/addons/sourcemod/scripting/shavit-misc.sp index 063fc982..67256727 100644 --- a/addons/sourcemod/scripting/shavit-misc.sp +++ b/addons/sourcemod/scripting/shavit-misc.sp @@ -786,7 +786,7 @@ public Action Timer_PersistKZCP(Handle Timer) { for(int i = 1; i <= MaxClients; i++) { - if(gA_StyleSettings[gI_Style[i]].bKZCheckpoints && GetClientMenu(i) == MenuSource_None) + if(gA_StyleSettings[gI_Style[i]].bKZCheckpoints && GetClientMenu(i) == MenuSource_None && IsClientInGame(i) && IsPlayerAlive(i)) { OpenKZCPMenu(i); } @@ -2138,12 +2138,21 @@ bool SaveCheckpoint(int client, int index, bool overflow = false) return false; } - if(gA_StyleSettings[gI_Style[client]].bKZCheckpoints && - ((iFlags & FL_ONGROUND) == 0 || client != target)) + if(gA_StyleSettings[gI_Style[client]].bKZCheckpoints) { - Shavit_PrintToChat(client, "%T", "CommandSaveCPKZInvalid", client); + if((iFlags & FL_ONGROUND) == 0 || client != target) + { + Shavit_PrintToChat(client, "%T", "CommandSaveCPKZInvalid", client); - return false; + return false; + } + + else if(Shavit_InsideZone(client, Zone_Start, -1)) + { + Shavit_PrintToChat(client, "%T", "CommandSaveCPKZZone", client); + + return false; + } } Action result = Plugin_Continue; @@ -2528,7 +2537,7 @@ void OpenStopWarningMenu(int client, StopTimerCallback after) gH_AfterWarningMenu[client] = after; Menu hMenu = new Menu(MenuHandler_StopWarning); - hMenu.SetTitle("%T\n", "StopTimerWarning", client); + hMenu.SetTitle("%T\n ", "StopTimerWarning", client); char sDisplay[64]; FormatEx(sDisplay, 64, "%T", "StopTimerYes", client); diff --git a/addons/sourcemod/translations/shavit-misc.phrases.txt b/addons/sourcemod/translations/shavit-misc.phrases.txt index a47c02d0..f85eb5a5 100644 --- a/addons/sourcemod/translations/shavit-misc.phrases.txt +++ b/addons/sourcemod/translations/shavit-misc.phrases.txt @@ -13,7 +13,11 @@ } "CommandSaveCPKZInvalid" { - "en" "You cannot perform this when airborne or while watching another player." + "en" "You cannot perform this action when airborne or while watching another player." + } + "CommandSaveCPKZZone" + { + "en" "You cannot perform this action while in the start zone." } "CommandTeleCPInvalid" {