diff options
author | mekolat <mekolat@users.noreply.github.com> | 2016-04-15 11:42:02 -0400 |
---|---|---|
committer | mekolat <mekolat@users.noreply.github.com> | 2016-04-15 11:42:02 -0400 |
commit | c3e06ffe6437d27a2a7c6ddb2dc487ff2f007adf (patch) | |
tree | b54e989cae9eaee8f3e7695300bd7e75d90b0d6b /src/map/script-fun.cpp | |
parent | f54f335c541ecb61f9e9888848eb21b8d43877b7 (diff) | |
parent | d3c96421dd371db34119de1437fe7f25a05dc4bc (diff) | |
download | tmwa-c3e06ffe6437d27a2a7c6ddb2dc487ff2f007adf.tar.gz tmwa-c3e06ffe6437d27a2a7c6ddb2dc487ff2f007adf.tar.bz2 tmwa-c3e06ffe6437d27a2a7c6ddb2dc487ff2f007adf.tar.xz tmwa-c3e06ffe6437d27a2a7c6ddb2dc487ff2f007adf.zip |
Merge pull request #207 from mekolat/scriptmsg
implement SMSG_SCRIPT_MESSAGE, SMSG_PLAYER_CLIENT_COMMAND
Diffstat (limited to 'src/map/script-fun.cpp')
-rw-r--r-- | src/map/script-fun.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/map/script-fun.cpp b/src/map/script-fun.cpp index fe5a961..07076d5 100644 --- a/src/map/script-fun.cpp +++ b/src/map/script-fun.cpp @@ -2950,6 +2950,42 @@ void builtin_title(ScriptState *st) } static +void builtin_smsg(ScriptState *st) +{ + dumb_ptr<map_session_data> sd = script_rid2sd(st); + if (HARG(2)) + { + CharName player = stringish<CharName>(ZString(conv_str(st, &AARG(2)))); + sd = map_nick2sd(player); + } + + int type = HARG(1) ? conv_num(st, &AARG(0)) : 0; + ZString msg = ZString(conv_str(st, (HARG(1) ? &AARG(1) : &AARG(0)))); + if (sd == nullptr) + return; + if (type < 0 || type > 0xFF) + type = 0; + + clif_server_message(sd, type, msg); +} + +static +void builtin_remotecmd(ScriptState *st) +{ + dumb_ptr<map_session_data> sd = script_rid2sd(st); + if (HARG(1)) + { + CharName player = stringish<CharName>(ZString(conv_str(st, &AARG(1)))); + sd = map_nick2sd(player); + } + + ZString msg = ZString(conv_str(st, &AARG(0))); + if (sd == nullptr) + return; + clif_remote_command(sd, msg); +} + +static void builtin_music(ScriptState *st) { dumb_ptr<map_session_data> sd = script_rid2sd(st); @@ -3490,6 +3526,8 @@ BuiltinFunction builtin_functions[] = BUILTIN(message, "Ps"_s, '\0'), BUILTIN(npctalk, "ss?"_s, '\0'), BUILTIN(title, "s"_s, '\0'), + BUILTIN(smsg, "e??"_s, '\0'), + BUILTIN(remotecmd, "s?"_s, '\0'), BUILTIN(music, "s"_s, '\0'), BUILTIN(mapmask, "i?"_s, '\0'), BUILTIN(getmask, ""_s, 'i'), |