From d90e0eb2f1b54b06cd7d4d1bbee3462889f5a7d0 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 7 Nov 2014 01:51:49 +0300 Subject: Impliment script command: setlang. --- src/map/script.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) (limited to 'src/map/script.c') diff --git a/src/map/script.c b/src/map/script.c index 8499411..bbc2b52 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -17,20 +17,28 @@ #include "map/session.h" #include "map/sessionext.h" -#define getData(def) \ +#define getDataReturn(def) \ if (!st->rid) \ { \ - script_pushint(st, 0); \ + script_pushint(st, def); \ return true; \ } \ TBL_PC *sd = script->rid2sd(st); \ if (!sd) \ { \ - script_pushint(st, 0); \ + script_pushint(st, def); \ return true; \ } \ struct SessionExt *data = session_get(sd->fd) +#define getData() \ + if (!st->rid) \ + return true; \ + TBL_PC *sd = script->rid2sd(st); \ + if (!sd) \ + return true; \ + struct SessionExt *data = session_get(sd->fd) + BUILDIN(l) { // for now not translate and not use format parameters @@ -40,12 +48,18 @@ BUILDIN(l) BUILDIN(getClientVersion) { - getData(0); + getDataReturn(0); script_pushint(st, data->clientVersion); } BUILDIN(getLang) { - getData(0); + getDataReturn(0); script_pushint(st, data->language); } + +BUILDIN(setLang) +{ + getData(); + data->language = script_getint(st, 2); +} -- cgit v1.2.3-60-g2f50