diff options
author | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-03-25 17:31:28 +0000 |
---|---|---|
committer | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-03-25 17:31:28 +0000 |
commit | 7df6d6df2e5a4073a1e6518330d7fabf3a363f70 (patch) | |
tree | 3ccaa2ef942951dcad725b63b4eb8e43a74c2665 /src/map | |
parent | e3858c34c1a4ee83ad40c00c14ac34958f386c89 (diff) | |
download | hercules-7df6d6df2e5a4073a1e6518330d7fabf3a363f70.tar.gz hercules-7df6d6df2e5a4073a1e6518330d7fabf3a363f70.tar.bz2 hercules-7df6d6df2e5a4073a1e6518330d7fabf3a363f70.tar.xz hercules-7df6d6df2e5a4073a1e6518330d7fabf3a363f70.zip |
* Fixed battlegrounds chat packet 0x2dc (ZC_BATTLEFIELD_CHAT) being sent with the battleground id rather than the account id of the talking player (since r13593).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14760 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/battleground.c | 4 | ||||
-rw-r--r-- | src/map/clif.c | 7 | ||||
-rw-r--r-- | src/map/clif.h | 2 |
3 files changed, 8 insertions, 5 deletions
diff --git a/src/map/battleground.c b/src/map/battleground.c index 1c2a90d90..58e3b469c 100644 --- a/src/map/battleground.c +++ b/src/map/battleground.c @@ -130,7 +130,7 @@ int bg_team_leave(struct map_session_data *sd, int flag) sprintf(output, "Server : %s has quit the game...", sd->status.name); else sprintf(output, "Server : %s is leaving the battlefield...", sd->status.name); - clif_bg_message(bg, "Server", output, strlen(output) + 1); + clif_bg_message(bg, 0, "Server", output, strlen(output) + 1); if( bg->logout_event[0] && flag ) npc_event(sd, bg->logout_event, 0); @@ -212,7 +212,7 @@ int bg_send_message(struct map_session_data *sd, const char *mes, int len) nullpo_ret(sd); if( sd->state.bg_id == 0 || (bg = bg_team_search(sd->state.bg_id)) == NULL ) return 0; - clif_bg_message(bg, sd->status.name, mes, len); + clif_bg_message(bg, sd->bl.id, sd->status.name, mes, len); return 0; } diff --git a/src/map/clif.c b/src/map/clif.c index 29404a373..eed800534 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -13759,7 +13759,10 @@ int clif_bg_xy_remove(struct map_session_data *sd) return 0; } -int clif_bg_message(struct battleground_data *bg, const char *name, const char *mes, int len) + +/// Notifies clients of a battleground message (ZC_BATTLEFIELD_CHAT) +/// 02dc <packet len>.W <account id>.L <name>.24B <message>.?B +int clif_bg_message(struct battleground_data *bg, int src_id, const char *name, const char *mes, int len) { struct map_session_data *sd; unsigned char *buf; @@ -13770,7 +13773,7 @@ int clif_bg_message(struct battleground_data *bg, const char *name, const char * WBUFW(buf,0) = 0x2dc; WBUFW(buf,2) = len + NAME_LENGTH + 8; - WBUFL(buf,4) = sd->state.bg_id; + WBUFL(buf,4) = src_id; memcpy(WBUFP(buf,8), name, NAME_LENGTH); memcpy(WBUFP(buf,32), mes, len); clif_send(buf,WBUFW(buf,2), &sd->bl, BG); diff --git a/src/map/clif.h b/src/map/clif.h index 85293405d..2d90eb522 100644 --- a/src/map/clif.h +++ b/src/map/clif.h @@ -451,7 +451,7 @@ int clif_guild_xy_remove(struct map_session_data *sd); int clif_bg_hp(struct map_session_data *sd); int clif_bg_xy(struct map_session_data *sd); int clif_bg_xy_remove(struct map_session_data *sd); -int clif_bg_message(struct battleground_data *bg, const char *name, const char *mes, int len); +int clif_bg_message(struct battleground_data *bg, int src_id, const char *name, const char *mes, int len); int clif_bg_updatescore(int m); int clif_bg_updatescore_single(struct map_session_data *sd); int clif_sendbgemblem_area(struct map_session_data *sd); |