From 1e96fe7d63e6ec25cad98a5b1bef1b81e2c00fb6 Mon Sep 17 00:00:00 2001 From: Lance Date: Thu, 16 Nov 2006 15:26:27 +0000 Subject: * Edited atcommand and charcommand syntax. Now it doesn't need the useless character name and ":". modified Changelog-Trunk.txt modified src/map/atcommand.c modified src/map/atcommand.h modified src/map/charcommand.c modified src/map/charcommand.h modified src/map/clif.c modified src/map/map.c modified src/map/script.c git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9230 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/charcommand.c | 50 ++++++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'src/map/charcommand.c') diff --git a/src/map/charcommand.c b/src/map/charcommand.c index 8264aa6ef..0b6bd8c60 100644 --- a/src/map/charcommand.c +++ b/src/map/charcommand.c @@ -122,33 +122,13 @@ int get_charcommand_level(const CharCommandType type) { return 100; // 100: command can not be used } -/*========================================== - *is_charcommand @コマンドに存在するかどうか確認する - *------------------------------------------ - */ -CharCommandType -is_charcommand(const int fd, struct map_session_data* sd, const char* message, int gmlvl) { - const char* str = message; - int s_flag = 0; +CharCommandType +charcommand_sub(const int fd, struct map_session_data* sd, const char* str, int gmlvl) { CharCommandInfo info; CharCommandType type; - nullpo_retr(CharCommand_None, sd); - - if (!message || !*message) - return CharCommand_None; - malloc_set(&info, 0, sizeof(info)); - str += strlen(sd->status.name); - while (*str && (isspace(*str) || (s_flag == 0 && *str == ':'))) { - if (*str == ':') - s_flag = 1; - str++; - } - if (!*str) - return CharCommand_None; - if (!gmlvl) gmlvl = pc_isGM(sd); type = charcommand(sd, gmlvl, str, &info); if (type != CharCommand_None) { char command[100]; @@ -190,6 +170,32 @@ is_charcommand(const int fd, struct map_session_data* sd, const char* message, i return CharCommand_None; } +/*========================================== + *is_charcommand @コマンドに存在するかどうか確認する + *------------------------------------------ + */ +CharCommandType +is_charcommand(const int fd, struct map_session_data* sd, const char* message) { + const char* str = message; + int s_flag = 0; + + nullpo_retr(CharCommand_None, sd); + + if (!message || !*message) + return CharCommand_None; + + str += strlen(sd->status.name); + while (*str && (isspace(*str) || (s_flag == 0 && *str == ':'))) { + if (*str == ':') + s_flag = 1; + str++; + } + if (!*str) + return CharCommand_None; + + return charcommand_sub(fd,sd,str,pc_isGM(sd)); +} + /*========================================== * *------------------------------------------ -- cgit v1.2.3-70-g09d2