From 27c7f333121f99ec13acf669db21fecd53b315ec Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 23 Aug 2018 20:55:41 +0300 Subject: Add script command msgtable and msgtable2. New script commands: msgtable msgId [, color] msgtable2 msgId, param [, color] --- src/map/script.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'src/map/script.c') diff --git a/src/map/script.c b/src/map/script.c index 846075c0e..61059b811 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -24655,6 +24655,44 @@ static BUILDIN(openstylist) return true; } +static BUILDIN(msgtable) +{ + struct map_session_data *sd = script_rid2sd(st); + if (sd == NULL) + return false; + + const enum clif_messages msgId = script_getnum(st, 2); + if (script_hasdata(st, 3)) { + clif->msgtable_color(sd, msgId, script_getnum(st, 3)); + } else { + clif->msgtable(sd, msgId); + } + + return true; +} + +static BUILDIN(msgtable2) +{ + struct map_session_data *sd = script_rid2sd(st); + if (sd == NULL) + return false; + + const enum clif_messages msgId = script_getnum(st, 2); + if (script_isstringtype(st, 3)) { + const char *value = script_getstr(st, 3); + if (script_hasdata(st, 4)) { + clif->msgtable_str_color(sd, msgId, value, script_getnum(st, 4)); + } else { + clif->msgtable_str(sd, msgId, value); + } + } else { + const int value = script_getnum(st, 3); + clif->msgtable_num(sd, msgId, value); + } + + return true; +} + /** * Adds a built-in script function. * @@ -25231,6 +25269,8 @@ static void script_parse_builtin(void) BUILDIN_DEF(buyingstore,"i"), BUILDIN_DEF(searchstores,"ii"), BUILDIN_DEF(showdigit,"i?"), + BUILDIN_DEF(msgtable, "i?"), + BUILDIN_DEF(msgtable2, "iv?"), // WoE SE BUILDIN_DEF(agitstart2,""), BUILDIN_DEF(agitend2,""), -- cgit v1.2.3-60-g2f50