diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-11-07 01:51:49 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-11-07 01:51:49 +0300 |
commit | d90e0eb2f1b54b06cd7d4d1bbee3462889f5a7d0 (patch) | |
tree | 83651271683ab1fd15610c5f8da08cbd5600ade4 /src/map/script.c | |
parent | b30129688a0e8b6e353447d7af579a6b2c2505c8 (diff) | |
download | plugin-d90e0eb2f1b54b06cd7d4d1bbee3462889f5a7d0.tar.gz plugin-d90e0eb2f1b54b06cd7d4d1bbee3462889f5a7d0.tar.bz2 plugin-d90e0eb2f1b54b06cd7d4d1bbee3462889f5a7d0.tar.xz plugin-d90e0eb2f1b54b06cd7d4d1bbee3462889f5a7d0.zip |
Impliment script command: setlang.
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 24 |
1 files changed, 19 insertions, 5 deletions
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); +} |