summaryrefslogtreecommitdiff
path: root/sourcemod/scripting/include/smlib/concommands.inc
diff options
context:
space:
mode:
Diffstat (limited to 'sourcemod/scripting/include/smlib/concommands.inc')
-rw-r--r--sourcemod/scripting/include/smlib/concommands.inc45
1 files changed, 45 insertions, 0 deletions
diff --git a/sourcemod/scripting/include/smlib/concommands.inc b/sourcemod/scripting/include/smlib/concommands.inc
new file mode 100644
index 0000000..2bd708f
--- /dev/null
+++ b/sourcemod/scripting/include/smlib/concommands.inc
@@ -0,0 +1,45 @@
+#if defined _smlib_concommands_included
+ #endinput
+#endif
+#define _smlib_concommands_included
+
+#include <sourcemod>
+#include <smlib/clients>
+
+/**
+ * Checks if a ConCommand has one or more flags set.
+ *
+ * @param command ConCommand name.
+ * @param flags Flags to check.
+ * @return True if flags are set, false otherwise.
+ */
+stock bool ConCommand_HasFlags(const char[] command, int flags)
+{
+ return GetCommandFlags(command) & flags > 0;
+}
+
+/**
+ * Adds one or more flags to a ConCommand.
+ *
+ * @param command ConCommand name.
+ * @param flags Flags to add.
+ */
+stock void ConCommand_AddFlags(const char[] command, int flags)
+{
+ int newFlags = GetCommandFlags(command);
+ newFlags |= flags;
+ SetCommandFlags(command, newFlags);
+}
+
+/**
+ * Removes one ore more flags from a ConCommand.
+ *
+ * @param command ConCommand name.
+ * @param flags Flags to remove
+ */
+stock void ConCommand_RemoveFlags(const char[] command, int flags)
+{
+ int newFlags = GetCommandFlags(command);
+ newFlags &= ~flags;
+ SetCommandFlags(command, newFlags);
+}