diff --git a/ReservedSlot/scripting/ReservedSlot.sp b/ReservedSlot/scripting/ReservedSlot.sp index 7370b716..08b26d82 100644 --- a/ReservedSlot/scripting/ReservedSlot.sp +++ b/ReservedSlot/scripting/ReservedSlot.sp @@ -4,6 +4,7 @@ #undef REQUIRE_PLUGIN #include +#include #include #tryinclude #define REQUIRE_PLUGIN @@ -12,6 +13,7 @@ #pragma newdecls required bool g_Plugin_AFKManager; +bool g_Plugin_Break; bool g_Plugin_UNLOZE; bool g_Plugin_entWatch; @@ -39,11 +41,13 @@ public void OnPluginStart() public void OnAllPluginsLoaded() { g_Plugin_AFKManager = LibraryExists("AFKManager"); + g_Plugin_Break = LibraryExists("Break"); g_Plugin_UNLOZE = LibraryExists("UNLOZE_ForumIntegration"); g_Plugin_entWatch = LibraryExists("entWatch-core"); - LogMessage("ReservedSlots capabilities:\nAFKManager: %s\nUNLOZE: %s\n", + LogMessage("ReservedSlots capabilities:\nAFKManager: %s\nBreak: %s\nUNLOZE: %s\n", (g_Plugin_AFKManager ? "loaded" : "not loaded"), + (g_Plugin_Break ? "loaded" : "not loaded"), (g_Plugin_UNLOZE ? "loaded" : "not loaded")); } @@ -51,6 +55,8 @@ public void OnLibraryAdded(const char[] name) { if(StrEqual(name, "AFKManager")) g_Plugin_AFKManager = true; + else if(StrEqual(name, "Break")) + g_Plugin_Break = true; else if(StrEqual(name, "UNLOZE_ForumIntegration")) g_Plugin_UNLOZE = true; else if(StrEqual(name, "entWatch-core")) @@ -61,6 +67,8 @@ public void OnLibraryRemoved(const char[] name) { if(StrEqual(name, "AFKManager")) g_Plugin_AFKManager = false; + else if(StrEqual(name, "Break")) + g_Plugin_Break = false; else if(StrEqual(name, "UNLOZE_ForumIntegration")) g_Plugin_UNLOZE = false; else if(StrEqual(name, "entWatch-core")) @@ -110,6 +118,12 @@ public EConnect OnClientPreConnectEx(const char[] sName, char sPassword[255], co return k_OnClientPreConnectEx_Accept; } + if(g_Plugin_Break && Break_IsBreakActive()) + { + Format(sRejectReason, sizeof(sRejectReason), "No reserved slot available, sorry."); + return k_OnClientPreConnectEx_Reject; + } + if(g_Plugin_UNLOZE) { DataPack pack = new DataPack();