diff options
author | gumi <mekolat@users.noreply.github.com> | 2017-04-25 23:48:59 -0400 |
---|---|---|
committer | gumi <mekolat@users.noreply.github.com> | 2017-05-12 09:43:38 -0400 |
commit | 8669002016bc60019a317124ae088a8053a0238b (patch) | |
tree | 96d582f96ccb3cadda920072f71ed07d93530e9b /src/map/channel.c | |
parent | adc7a02c7896fe8984c64d2a74f804cfaae34fc7 (diff) | |
download | hercules-8669002016bc60019a317124ae088a8053a0238b.tar.gz hercules-8669002016bc60019a317124ae088a8053a0238b.tar.bz2 hercules-8669002016bc60019a317124ae088a8053a0238b.tar.xz hercules-8669002016bc60019a317124ae088a8053a0238b.zip |
add channel handler events
Diffstat (limited to 'src/map/channel.c')
-rw-r--r-- | src/map/channel.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/map/channel.c b/src/map/channel.c index ee8242b23..9ec415883 100644 --- a/src/map/channel.c +++ b/src/map/channel.c @@ -26,6 +26,7 @@ #include "map/instance.h" #include "map/irc-bot.h" #include "map/map.h" +#include "map/npc.h" #include "map/pc.h" #include "common/cbasetypes.h" #include "common/conf.h" @@ -278,12 +279,21 @@ void channel_send(struct channel_data *chan, struct map_session_data *sd, const clif->messagecolor_self(sd->fd, COLOR_RED, msg_sd(sd,1455)); return; } else if (sd) { + int i; + safesnprintf(message, 150, "[ #%s ] %s : %s", chan->name, sd->status.name, msg); clif->channel_msg(chan,sd,message); if (chan->type == HCS_TYPE_IRC) ircbot->relay(sd->status.name,msg); if (chan->msg_delay != 0) sd->hchsysch_tick = timer->gettick(); + + for (i = 0; i < MAX_EVENTQUEUE; i++) { + if (chan->handlers[i][0] != '\0') { + pc->setregstr(sd, script->add_str("@channelmes$"), msg); + npc->event(sd, chan->handlers[i], 0); + } + } } else { safesnprintf(message, 150, "[ #%s ] %s", chan->name, msg); clif->channel_msg2(chan, message); |