From 2f6a51f99b6e7012043fc00405321ba3f839b587 Mon Sep 17 00:00:00 2001 From: nwrl Date: Tue, 29 Jul 2025 20:36:21 -0500 Subject: Make cvar registration easier --- nameblocker.sp | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) (limited to 'nameblocker.sp') diff --git a/nameblocker.sp b/nameblocker.sp index aec6963..366abf9 100644 --- a/nameblocker.sp +++ b/nameblocker.sp @@ -31,10 +31,19 @@ ArrayList patternlist; Database db; -ConVar gcvarOperMode; static const char OPERMODENAME[] = "nameblock_OperatingMode"; const OperatingMode DEFAULTOPERMODE = OP_KICK; -ConVar gcvarAdmCmdFlag; static const char ADMCMDFLAGNAME[] = "nameblock_AdminCommandFlag"; const int DEFAULTADMCMDFLAG = ADMFLAG_BAN; -ConVar gcvarRegexCompFlags; static const char REGEXCOMPFLAGSNAME[] = "nameblock_RegexCompilationFlags"; const int DEFAULTREGEXCOMPFLAGS = (PCRE_CASELESS | PCRE_DOTALL | PCRE_EXTENDED | PCRE_UTF8); -ConVar gcvarAmdImmFlag; static const char ADMINIMMUNITYFLAG[] = "nameblock_AdminImmunityFlag"; const int DEFAULTADMIMMFLAG = ADMFLAG_GENERIC; +ConVar gcvarOperMode; static const char OPERMODENAME[] = "nameblock_OperatingMode"; const OperatingMode DEFAULTOPERMODE = OP_KICK; +ConVar gcvarAdmCmdFlag; static const char ADMCMDFLAGNAME[] = "nameblock_AdminCommandFlag"; const int DEFAULTADMCMDFLAG = ADMFLAG_BAN; +ConVar gcvarRegexCompFlags; static const char REGEXCOMPFLAGSNAME[] = "nameblock_RegexCompilationFlags"; const int DEFAULTREGEXCOMPFLAGS = (PCRE_CASELESS | PCRE_DOTALL | PCRE_EXTENDED | PCRE_UTF8); +ConVar gcvarAmdImmFlag; static const char ADMINIMMUNITYFLAGNAME[] = "nameblock_AdminImmunityFlag"; const int DEFAULTADMIMMFLAG = ADMFLAG_GENERIC; + +int registerIntConVar(ConVar& cv, int defaultVal, const char[] name, const char[] desc) { + static char tmp[32]; // Consider this a byte array + Format(tmp, sizeof(tmp), "%d", defaultVal); + cv = CreateConVar(name, tmp, desc); + cv.IntValue = defaultVal; + + return 0; +} public void OnAllPluginsLoaded() { // Initialize and populate datatypes @@ -42,25 +51,10 @@ public void OnAllPluginsLoaded() { patternlist = new ArrayList(ByteCountToCells(PATTERN_MAX_LEN)); // db = - // Register convars - char tmp[32]; // Consider this a byte array - Format(tmp, sizeof(tmp), "%d", view_as(DEFAULTOPERMODE)); - gcvarOperMode = CreateConVar(OPERMODENAME, tmp, "Operating mode (disabled, kick, ban, etc.)"); - gcvarOperMode.IntValue = view_as(DEFAULTOPERMODE); - - Format(tmp, sizeof(tmp), "%d", DEFAULTADMCMDFLAG); - gcvarAdmCmdFlag = CreateConVar(ADMCMDFLAGNAME, tmp, "Admin flag to modify pattern list"); - gcvarAdmCmdFlag.IntValue = DEFAULTADMCMDFLAG; - - Format(tmp, sizeof(tmp), "%d", DEFAULTREGEXCOMPFLAGS); - gcvarRegexCompFlags = CreateConVar(REGEXCOMPFLAGSNAME, tmp, "Regular expression compilation flags"); - gcvarRegexCompFlags.IntValue = DEFAULTREGEXCOMPFLAGS; - - Format(tmp, sizeof(tmp), "%d", DEFAULTADMIMMFLAG); - gcvarAmdImmFlag = CreateConVar(ADMINIMMUNITYFLAG, tmp, "Admin immunity flag"); - gcvarAmdImmFlag.IntValue = DEFAULTADMIMMFLAG; - - // I should make a function for setting up convars + registerIntConVar(gcvarOperMode, view_as(DEFAULTOPERMODE), OPERMODENAME, "Operating mode (disabled, kick, ban, etc.)"); + registerIntConVar(gcvarAdmCmdFlag, DEFAULTADMCMDFLAG, ADMCMDFLAGNAME, "Admin flag to modify pattern list"); + registerIntConVar(gcvarRegexCompFlags, DEFAULTREGEXCOMPFLAGS, REGEXCOMPFLAGSNAME, "Regular expression compilation flags"); + registerIntConVar(gcvarAmdImmFlag, DEFAULTADMIMMFLAG, ADMINIMMUNITYFLAGNAME, "Admin immunity flag"); AutoExecConfig(true, "nameblocker_cvars"); -- cgit v1.2.3