From cbe15f5cc7338e9f1b7744bfd6bbbe44c9db115c Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 28 Jan 2016 23:44:35 +0300 Subject: Change script function requestlang to return value. --- src/emap/init.c | 2 +- src/emap/script.c | 25 ++----------------------- src/emap/scriptdefines.h | 2 +- 3 files changed, 4 insertions(+), 25 deletions(-) (limited to 'src/emap') diff --git a/src/emap/init.c b/src/emap/init.c index f9f264b..a3a3a10 100644 --- a/src/emap/init.c +++ b/src/emap/init.c @@ -96,7 +96,7 @@ HPExport void plugin_init (void) addScriptCommand("getinvindexlink", "i", getInvIndexLink); addScriptCommand("l", "s*", l); addScriptCommand("lg", "s*", lg); - addScriptCommand("requestlang", "v", requestLang); + addScriptCommand("requestlang", "", requestLang); addScriptCommand("requestitem", "v", requestItem); addScriptCommand("requestitems", "v*", requestItems); addScriptCommand("requestitemindex", "v", requestItemIndex); diff --git a/src/emap/script.c b/src/emap/script.c index 26a0246..f079215 100644 --- a/src/emap/script.c +++ b/src/emap/script.c @@ -613,28 +613,7 @@ BUILDIN(getItemLink) BUILDIN(requestLang) { - getSD(); - struct script_data* data; - int64 uid; - const char* name; - - data = script_getdata(st, 2); - if (!data_isreference(data)) - { - ShowError("script:requestlang: not a variable\n"); - script->reportsrc(st); - st->state = END; - return false; - } - uid = reference_getuid(data); - name = reference_getname(data); - - if (is_string_variable(name)) - { - ShowError("script:requestlang: not a variable\n"); - script->reportsrc(st); - return false; - } + getSDReturn(-1); if (!sd->state.menu_or_input) { @@ -654,7 +633,7 @@ BUILDIN(requestLang) int lng = -1; if (*sd->npc_str) lng = lang_getId(sd->npc_str); - script->set_reg(st, sd, uid, name, (void*)h64BPTRSIZE(lng), script_getref(st,2)); + script_pushint(st, lng); st->state = RUN; } return true; diff --git a/src/emap/scriptdefines.h b/src/emap/scriptdefines.h index 9a21313..54d8a33 100644 --- a/src/emap/scriptdefines.h +++ b/src/emap/scriptdefines.h @@ -4,7 +4,7 @@ #ifndef EVOL_MAP_SCRIPTDEFINES #define EVOL_MAP_SCRIPTDEFINES -#define getSessionDataReturn(def) \ +#define getSessionDataReturn(data, def) \ if (!st->rid) \ { \ ShowWarning("!st->rid\n"); \ -- cgit v1.2.3-60-g2f50