From 5a06329b9d01b7c250e27843f0634b238aac90b7 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 10 Aug 2016 19:44:15 +0300 Subject: Add console command serverexit. It works in same way with gm command serverexit. --- src/Makefile.am | 2 ++ src/emap/console.c | 31 +++++++++++++++++++++++++++++++ src/emap/console.h | 11 +++++++++++ src/emap/init.c | 3 +++ 4 files changed, 47 insertions(+) create mode 100644 src/emap/console.c create mode 100644 src/emap/console.h diff --git a/src/Makefile.am b/src/Makefile.am index 9888bcf..7d164d8 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -40,6 +40,8 @@ MAP_SRC = emap/atcommand.c \ emap/clif.h \ emap/config.c \ emap/config.h \ + emap/console.c \ + emap/console.h \ emap/craft.c \ emap/craft.h \ emap/craftconf.c \ 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 +#include +#include + +#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(); +} diff --git a/src/emap/console.h b/src/emap/console.h new file mode 100644 index 0000000..012b0af --- /dev/null +++ b/src/emap/console.h @@ -0,0 +1,11 @@ +// Copyright (c) Copyright (c) Hercules Dev Team, licensed under GNU GPL. +// Copyright (c) 2014 - 2015 Evol developers + +#ifndef EVOL_MAP_CONSOLE +#define EVOL_MAP_CONSOLE + +#include "common/console.h" + +CPCMD(serverExit); + +#endif // EVOL_MAP_CONSOLE diff --git a/src/emap/init.c b/src/emap/init.c index cb14450..0082bd8 100644 --- a/src/emap/init.c +++ b/src/emap/init.c @@ -48,6 +48,7 @@ #include "emap/battleground.h" #include "emap/clif.h" #include "emap/config.h" +#include "emap/console.h" #include "emap/craft.h" #include "emap/craftconf.h" #include "emap/hashtable.h" @@ -96,6 +97,8 @@ HPExport void plugin_init (void) addAtcommand("mapexit", mapExit); addAtcommand("serverexit", serverExit); + addCPCommand("serverexit", serverExit); + addScriptCommand("chatjoin", "i*", chatJoin); addScriptCommand("setcamnpc", "*", setCamNpc); addScriptCommand("setcam", "ii", setCam); -- cgit v1.2.3-60-g2f50