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/clif.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/clif.cpp')
-rw-r--r-- | src/map/clif.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/map/clif.cpp b/src/map/clif.cpp index 386ac63..df21a88 100644 --- a/src/map/clif.cpp +++ b/src/map/clif.cpp @@ -3886,6 +3886,40 @@ void clif_npc_send_title(Session *s, BlockId npcid, XString msg) send_buffer(s, buf); } +void clif_server_message(dumb_ptr<map_session_data> sd, uint8_t type, XString msg) +{ + nullpo_retv(sd); + + size_t msg_len = msg.size() + 8; + if (msg_len > 512) + return; + + // for newer clients + Packet_Head<0x0229> head_229; + head_229.message_type = type; + Buffer buf = create_vpacket<0x0229, 5, 1>(head_229, msg); + + // falback for older clients + Packet_Head<0x008d> head_8d; + Buffer altbuf = create_vpacket<0x008d, 8, 1>(head_8d, msg); + + clif_send(buf, sd, SendWho::SELF, wrap<ClientVersion>(5), altbuf); +} + +void clif_remote_command(dumb_ptr<map_session_data> sd, XString cmd) +{ + nullpo_retv(sd); + + size_t msg_len = cmd.size() + 4; + if (msg_len > 512) + return; + + Packet_Head<0x0230> head_230; + Buffer buf = create_vpacket<0x0230, 4, 1>(head_230, cmd); + + clif_send(buf, sd, SendWho::SELF, wrap<ClientVersion>(6)); +} + void clif_change_music(dumb_ptr<map_session_data> sd, XString music) { nullpo_retv(sd); |