player.h script.h flags.h
do_list.o: do_list.cpp extern.h config.h options.h player.h script.h \
aClient.h flags.h toplist.h
+do_load.o: do_load.cpp extern.h config.h options.h aClient.h player.h \
+ script.h flags.h
do_logout.o: do_logout.cpp extern.h config.h options.h aClient.h player.h \
script.h flags.h
do_master.o: do_master.cpp extern.h config.h options.h aClient.h player.h \
script.h flags.h level.h
+do_raw.o: do_raw.cpp extern.h config.h options.h aClient.h player.h \
+ script.h flags.h
do_refresh.o: do_refresh.cpp extern.h config.h options.h aClient.h \
player.h script.h flags.h
do_register.o: do_register.cpp extern.h config.h options.h aClient.h \
script.h flags.h
do_run.o: do_run.cpp extern.h config.h options.h aClient.h player.h \
script.h flags.h
+do_save.o: do_save.cpp extern.h config.h options.h aClient.h player.h \
+ script.h flags.h
do_set.o: do_set.cpp extern.h config.h options.h aClient.h player.h \
script.h flags.h
+do_shutdown.o: do_shutdown.cpp extern.h config.h options.h aClient.h \
+ player.h script.h flags.h
do_stats.o: do_stats.cpp extern.h config.h options.h aClient.h player.h \
script.h flags.h
do_store.o: do_store.cpp extern.h config.h options.h aClient.h player.h \
do_identify.cpp \
do_inventory.cpp \
do_list.cpp \
+ do_load.cpp \
do_logout.cpp \
do_master.cpp \
+ do_raw.cpp \
do_refresh.cpp \
do_register.cpp \
do_reset.cpp \
do_run.cpp \
+ do_save.cpp \
do_set.cpp \
+ do_shutdown.cpp \
do_stats.cpp \
do_store.cpp \
do_tavern.cpp \
--- /dev/null
+#include "extern.h"
+#include "aClient.h"
+#include "flags.h"
+#include "options.h"
+
+void do_load(char *u)
+{
+ aClient *user;
+
+ if (!(user = find(u)))
+ {
+ notice(s_GameServ, u, "Error: aClient not found. Contact a <S admin");
+ log("Error: aClient not found: %s", u);
+ }
+ else if (!isAdmin(user))
+ {
+ notice(s_GameServ, u, "You must be a <S admin to use this command!");
+ }
+ else
+ {
+ char *cmd2 = strtok(NULL, " ");
+ if (!cmd2)
+ {
+ notice(s_GameServ, u, "Loading player data from %s", playerdata);
+ load_gs_dbase();
+ }
+ else if (stricmp(cmd2, "MONSTERS") == 0)
+ {
+ notice(s_GameServ, u, "Loading monster data");
+ load_monsters();
+ }
+ else if (stricmp(cmd2, "SCRIPTS") == 0)
+ {
+ // Testing scripts for now
+ script scr;
+ notice(s_GameServ, u, "Loading scripts");
+
+ if (scr.loadScript("test.txt"))
+ scr.executeScript(user->stats);
+ }
+ else
+ {
+ display_help(u, "load");
+ }
+ }
+}
--- /dev/null
+#include "extern.h"
+#include "aClient.h"
+#include "flags.h"
+#include "options.h"
+
+void do_raw(char *u)
+{
+ aClient *user;
+
+ if (!(user = find(u)))
+ {
+ notice(s_GameServ, u, "Error: aClient not found. Contact a <S admin");
+ log("Error: aClient not found: %s", u);
+ }
+ else if (!isAdmin(user))
+ {
+ notice(s_GameServ, u, "You must be a <S admin to use this command!");
+ }
+ else
+ {
+ char *rest = strtok(NULL, "");
+ raw("%s", rest);
+ }
+}
--- /dev/null
+#include "extern.h"
+#include "aClient.h"
+#include "flags.h"
+#include "options.h"
+
+void do_save(char *u)
+{
+ aClient *user;
+
+ if (!(user = find(u)))
+ {
+ notice(s_GameServ, u, "Error: aClient not found. Contact a <S admin");
+ log("Error: aClient not found: %s", u);
+ }
+ else if (!isAdmin(user))
+ {
+ notice(s_GameServ, u, "You must be a <S admin to use this command!");
+ }
+ else
+ {
+ save_gs_dbase();
+ }
+}
--- /dev/null
+#include "extern.h"
+#include "aClient.h"
+#include "flags.h"
+#include "options.h"
+
+void do_shutdown(char *u)
+{
+ aClient *user;
+
+ if (!(user = find(u)))
+ {
+ notice(s_GameServ, u, "Error: aClient not found. Contact a <S admin");
+ log("Error: aClient not found: %s", u);
+ }
+ else if (!isAdmin(user))
+ {
+ notice(s_GameServ, u, "You must be a <S admin to use this command!");
+ }
+ else
+ {
+ save_gs_dbase();
+ #ifdef P10
+ raw("[] SQ %s 0 :leaving: %s used the Shutdown command.",
+ servername, user->getRealNick());
+ #else
+ raw("SQUIT %s :leaving: %s used the Shutdown command.", servername, u);
+ #endif
+ shuttingdown = true;
+ }
+}
/** news.cpp **/
E void addNews(list<string> &news, const char *fmt, ...);
-E void do_news(char *u);
+
E void clearNews(list<string> &news);
E void loadNews(char *filename, list<string> &news);
E void saveNews(char *filename, list<string> &news);
E void do_refresh(char *u);
E void do_register(char *u);
E void do_list(char *u);
+E void do_load(char *u);
E void do_logout(char *u);
E void do_master(char *u);
+E void do_news(char *u);
E void do_dragon(char *u);
E void do_play(char *u);
E void do_quitg(char *u);
+E void do_raw(char *u);
E void do_reset(char *u);
E void do_run(char *u);
+E void do_save(char *u);
E void do_set(char *u);
+E void do_shutdown(char *u);
E void do_stats(char *u);
E void do_store(char *u);
E void do_tavern(char *u);
}
else if (stricmp(cmd, "SHUTDOWN") == 0)
{
- aClient *user;
-
- if (!(user = find(source)))
- {
- notice(s_GameServ, source, "Error: aClient not found. Contact a <S admin");
- log("Error: aClient not found: %s", source);
- }
- else if (!isAdmin(user))
- {
- notice(s_GameServ, source, "You must be a <S admin to use this command!");
- }
- else
- {
- save_gs_dbase();
-#ifdef P10
- raw("[] SQ %s 0 :leaving: %s used the Shutdown command.", servername, user->getRealNick());
-#else
- raw("SQUIT %s :leaving: %s used the Shutdown command.", servername, source);
-#endif
- shuttingdown = true;
- }
+ do_shutdown(source);
}
else if (stricmp(cmd, "SAVE") == 0)
{
- aClient *user;
-
- if (!(user = find(source)))
- {
- notice(s_GameServ, source, "Error: aClient not found. Contact a <S admin");
- log("Error: aClient not found: %s", source);
- }
- else if (!isAdmin(user))
- {
- notice(s_GameServ, source, "You must be a <S admin to use this command!");
- }
- else
- {
- save_gs_dbase();
- }
+ do_save(source);
}
else if (stricmp(cmd, "LOAD") == 0)
{
- aClient *user;
-
- if (!(user = find(source)))
- {
- notice(s_GameServ, source, "Error: aClient not found. Contact a <S admin");
- log("Error: aClient not found: %s", source);
- }
- else if (!isAdmin(user))
- {
- notice(s_GameServ, source, "You must be a <S admin to use this command!");
- }
- else
- {
- char *cmd2 = strtok(NULL, " ");
- if (!cmd2)
- {
- notice(s_GameServ, source, "Loading player data from %s", playerdata);
- load_gs_dbase();
- }
- else if (stricmp(cmd2, "MONSTERS") == 0)
- {
- notice(s_GameServ, source, "Loading monster data");
- load_monsters();
- }
- else if (stricmp(cmd2, "SCRIPTS") == 0)
- {
- // Testing scripts for now
- script scr;
- notice(s_GameServ, source, "Loading scripts");
-
- if (scr.loadScript("test.txt"))
- scr.executeScript(user->stats);
- }
- else
- {
- display_help(source, cmd);
- }
- }
+ do_load(source);
}
#ifdef DEBUGMODE
else if (stricmp(cmd, "RAW") == 0)
{
- aClient *user;
-
- if (!(user = find(source)))
- {
- notice(s_GameServ, source, "Error: aClient not found. Contact a <S admin");
- log("Error: aClient not found: %s", source);
- }
- else if (!isAdmin(user))
- {
- notice(s_GameServ, source, "You must be a <S admin to use this command!");
- }
- else
- {
- char *rest = strtok(NULL, "");
- raw("%s", rest);
- }
+ do_raw(source);
}
- else if (stricmp(cmd, "RANDOM") == 0)
- {
- char *rstr = strtok(NULL, "");
- range trange;
- trange.setRange(rstr);
- notice(s_GameServ, source, "Random number in that range: %d", trange.random());
- }
#endif
else
{
}
#ifndef P10
- source--; // Bring the ':' back so we don't leak memory
+ source--; // Bring the ':' back
#endif
if (z == ':')
cmd--; // Same thing :)
notice(s_GameServ, u, buf);
}
- // Minor recursion
+ // Minor recursion - as long as admin_commands exists, it won't loop
+ // continuously
aClient *user = find(u);
if (user && isAdmin(user))
display_help(u, "admin_commands");