From 6204831e1625177feab54a77d3a251d113b51c96 Mon Sep 17 00:00:00 2001 From: Shavitush Date: Tue, 11 Aug 2015 23:19:41 +0300 Subject: [PATCH] Added leftright/autobhop cvar --- scripting/shavit-core.sp | 40 ++++++++++++++++++++++++++++++++++++---- scripting/shavit-wr.sp | 2 +- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/scripting/shavit-core.sp b/scripting/shavit-core.sp index 0f8e9926..0356a7f0 100644 --- a/scripting/shavit-core.sp +++ b/scripting/shavit-core.sp @@ -62,6 +62,13 @@ bool gB_Late; // zones lateload support bool gB_Zones; +// cvars +ConVar gCV_Autobhop = null; +bool gB_Autobhop; + +ConVar gCV_Leftright = null; +bool gB_Leftright; + public Plugin myinfo = { name = "[shavit] Core", @@ -97,7 +104,7 @@ public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max // prevent errors from shavit-zones MarkNativeAsOptional("Shavit_InsideZone"); - // registers library, check "LibraryExists(const String:name[])" in order to use with other plugins + // registers library, check "bool LibraryExists(const char[] name)" in order to use with other plugins RegPluginLibrary("shavit"); gB_Late = late; @@ -183,6 +190,17 @@ public void OnPluginStart() #endif CreateConVar("shavit_version", SHAVIT_VERSION, "Plugin version.", FCVAR_PLUGIN|FCVAR_NOTIFY|FCVAR_DONTRECORD); + + gCV_Autobhop = CreateConVar("shavit_core_autobhop", "1", "Enable autobhop?", FCVAR_PLUGIN|FCVAR_NOTIFY); + HookConVarChange(gCV_Autobhop, OnConVarChanged); + + gCV_Leftright = CreateConVar("shavit_core_blockleftright", "1", "Block +left/right?", FCVAR_PLUGIN|FCVAR_NOTIFY); + HookConVarChange(gCV_Leftright, OnConVarChanged); + + AutoExecConfig(); + + gB_Autobhop = GetConVarBool(gCV_Autobhop); + gB_Leftright = GetConVarBool(gCV_Leftright); // late if(gB_Late) @@ -198,6 +216,20 @@ public void OnPluginStart() gB_Zones = LibraryExists("shavit-zones"); } +public void OnConVarChanged(ConVar cvar, const char[] sOld, const char[] sNew) +{ + // using an if() statement just incase I'll add more cvars. + if(cvar == gCV_Autobhop) + { + gB_Autobhop = view_asStringToInt(sNew); + } + + else if(cvar == gCV_Leftright) + { + gB_Leftright = view_asStringToInt(sNew); + } +} + public void OnLibraryAdded(const char[] name) { if(StrEqual(name, "shavit-zones")) @@ -441,7 +473,7 @@ public int Native_GetTimer(Handle handler, int numParams) // 4 - style SetNativeCellRef(4, gBS_Style[client]); - // 5 - style + // 5 - enabled? SetNativeCellRef(5, gB_TimerEnabled[client]); } @@ -681,7 +713,7 @@ public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3 bool bOnLadder = (GetEntityMoveType(client) == MOVETYPE_LADDER); - if(gB_Zones && gB_TimerEnabled[client] && !Shavit_InsideZone(client, Zone_Start) && (buttons & IN_LEFT || buttons & IN_RIGHT)) + if(gB_Leftright && gB_Zones && gB_TimerEnabled[client] && !Shavit_InsideZone(client, Zone_Start) && (buttons & IN_LEFT || buttons & IN_RIGHT)) { StopTimer(client); PrintToChat(client, "%s I've stopped your timer for using +left/+right. No cheating!", PREFIX); @@ -698,7 +730,7 @@ public Action OnPlayerRunCmd(int client, int &buttons, int &impulse, float vel[3 } // autobhop - if(gB_Auto[client] && buttons & IN_JUMP && !(GetEntityFlags(client) & FL_ONGROUND) && !bOnLadder && GetEntProp(client, Prop_Send, "m_nWaterLevel") <= 1) + if(gB_Autobhop && gB_Auto[client] && buttons & IN_JUMP && !(GetEntityFlags(client) & FL_ONGROUND) && !bOnLadder && GetEntProp(client, Prop_Send, "m_nWaterLevel") <= 1) { buttons &= ~IN_JUMP; } diff --git a/scripting/shavit-wr.sp b/scripting/shavit-wr.sp index 270bfb15..907aba3d 100644 --- a/scripting/shavit-wr.sp +++ b/scripting/shavit-wr.sp @@ -73,7 +73,7 @@ public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max MarkNativeAsOptional("Shavit_GetWRName"); MarkNativeAsOptional("Shavit_GetPlayerPB"); - // registers library, check "LibraryExists(const String:name[])" in order to use with other plugins + // registers library, check "bool LibraryExists(const char[] name)" in order to use with other plugins RegPluginLibrary("shavit-wr"); gB_Late = late;