summaryrefslogtreecommitdiff
path: root/src/emap/console.c
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-08-10 19:44:15 +0300
committerAndrei Karas <akaras@inbox.ru>2016-08-10 19:44:15 +0300
commit5a06329b9d01b7c250e27843f0634b238aac90b7 (patch)
tree75c704416a4647b4b2e527598ab8262cfc0d9857 /src/emap/console.c
parent409da45527ce8b6ba82523d4f3ce1abaf4650906 (diff)
downloadevol-hercules-5a06329b9d01b7c250e27843f0634b238aac90b7.tar.gz
evol-hercules-5a06329b9d01b7c250e27843f0634b238aac90b7.tar.bz2
evol-hercules-5a06329b9d01b7c250e27843f0634b238aac90b7.tar.xz
evol-hercules-5a06329b9d01b7c250e27843f0634b238aac90b7.zip
Add console command serverexit.
It works in same way with gm command serverexit.
Diffstat (limited to 'src/emap/console.c')
-rw-r--r--src/emap/console.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/emap/console.c b/src/emap/console.c
new file mode 100644
index 0000000..80dbab3
--- /dev/null
+++ b/src/emap/console.c
@@ -0,0 +1,31 @@
+// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL.
+// Copyright (c) 2014 - 2015 Evol developers
+
+#include "common/hercules.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "common/HPMi.h"
+#include "common/memmgr.h"
+#include "common/socket.h"
+#include "map/map.h"
+
+#include "emap/console.h"
+#include "emap/inter.h"
+
+CPCMD(serverExit)
+{
+ int code = 0;
+ if (!line || !*line || sscanf(line, "%5d", &code) < 1)
+ {
+ ShowError("Wrong parameter\n");
+ return;
+ }
+
+ send_char_exit(code);
+
+ map->retval = code;
+ map->do_shutdown();
+}