summaryrefslogtreecommitdiff
path: root/src/map/send.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/send.c')
-rw-r--r--src/map/send.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/map/send.c b/src/map/send.c
index 9218a21..ccfb052 100644
--- a/src/map/send.c
+++ b/src/map/send.c
@@ -46,3 +46,25 @@ void send_npccommand2 (struct map_session_data *sd, int npcId, int cmd, int id,
WFIFOW (fd, 14) = y;
WFIFOSET (fd, 16);
}
+
+void send_local_message(int fd, struct block_list* bl, const char* msg)
+{
+ unsigned short msg_len = strlen(msg) + 1;
+ uint8 buf[256];
+ if (!bl)
+ return;
+
+ int len = sizeof(buf) - 8;
+ if (msg_len > len)
+ {
+ ShowWarning("clif_message: Truncating too long message '%s' (len=%u).\n", msg, msg_len);
+ msg_len = len;
+ }
+
+ WFIFOHEAD (fd, msg_len + 8);
+ WBUFW (fd, 0) = 0x8d;
+ WBUFW (fd, 2) = msg_len + 8;
+ WBUFL (fd, 4) = bl->id;
+ safestrncpy((char*)WBUFP(fd, 8), msg, msg_len);
+ WFIFOSET (fd, msg_len + 8);
+}