tried to reorder the program structure and build process
[NeonServV5.git] / src / cmd_neonserv_god.c
diff --git a/src/cmd_neonserv_god.c b/src/cmd_neonserv_god.c
new file mode 100644 (file)
index 0000000..96abaa6
--- /dev/null
@@ -0,0 +1,37 @@
+
+#include "cmd_neonserv.h"
+
+/*
+* argv[0]    (optional) on/off
+*/
+
+CMD_BIND(neonserv_cmd_god) {
+    if(argc > 0) {
+        if(!strcmp(argv[0], "0") || !stricmp(argv[0], "off") || !stricmp(argv[0], get_language_string(user, "NS_SET_OFF"))) {
+            if(isGodMode(user)) {
+                printf_mysql_query("UPDATE `users` SET `user_god` = '0' WHERE `user_user` = '%s'", escape_string(user->auth));
+                user->flags &= ~USERFLAG_GOD_MODE;
+            }
+            reply(getTextBot(), user, "NS_GOD_OFF");
+        } else if(!strcmp(argv[0], "1") || !stricmp(argv[0], "on") || !stricmp(argv[0], get_language_string(user, "NS_SET_ON"))) {
+            if(!isGodMode(user)) {
+                printf_mysql_query("UPDATE `users` SET `user_god` = '1' WHERE `user_user` = '%s'", escape_string(user->auth));
+                user->flags |= USERFLAG_GOD_MODE;
+            }
+            reply(getTextBot(), user, "NS_GOD_ON");
+        } else {
+            reply(getTextBot(), user, "NS_SET_INVALID_BOOLEAN", argv[0]);
+            return;
+        }
+    } else {
+        if(isGodMode(user)) {
+            printf_mysql_query("UPDATE `users` SET `user_god` = '0' WHERE `user_user` = '%s'", escape_string(user->auth));
+            user->flags &= ~USERFLAG_GOD_MODE;
+            reply(getTextBot(), user, "NS_GOD_OFF");
+        } else {
+            printf_mysql_query("UPDATE `users` SET `user_god` = '1' WHERE `user_user` = '%s'", escape_string(user->auth));
+            user->flags |= USERFLAG_GOD_MODE;
+            reply(getTextBot(), user, "NS_GOD_ON");
+        }
+    }
+}
\ No newline at end of file