diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/char/char.c | 4 | ||||
-rw-r--r-- | src/char_sql/char.c | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 69789a602..bc05a05f4 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -1,5 +1,7 @@ Date Added +2011/04/17 + * Fixed char-server missing some WFIFOHEAD (partially due to r10909 being reverted by r11245, follow up to r9307 and r14618). [Ai4rei] 2011/04/16 * Added support for visible garments/robes. [Ai4rei] - For SQL apply upgrade_svn14797.sql to upgrade table `char`; for TXT no action is necessary, as it upgrades itself. diff --git a/src/char/char.c b/src/char/char.c index 178a20262..6599a6258 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -2026,6 +2026,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd) mapif_disconnectplayer(server[character->server].fd, character->account_id, character->char_id, 2); if (character->waiting_disconnect == INVALID_TIMER) character->waiting_disconnect = add_timer(gettick()+20000, chardb_waiting_disconnect, character->account_id, 0); + WFIFOHEAD(fd,3); WFIFOW(fd,0) = 0x81; WFIFOB(fd,2) = 8; WFIFOSET(fd,3); @@ -2033,6 +2034,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd) } if (character->fd >= 0 && character->fd != fd) { //There's already a connection from this account that hasn't picked a char yet. + WFIFOHEAD(fd,3); WFIFOW(fd,0) = 0x81; WFIFOB(fd,2) = 8; WFIFOSET(fd,3); @@ -2167,6 +2169,7 @@ int parse_fromlogin(int fd) if( max_connect_user && count_users() >= max_connect_user && sd->gmlevel < gm_allow_level ) { // refuse connection (over populated) + WFIFOHEAD(i,3); WFIFOW(i,0) = 0x6c; WFIFOW(i,2) = 0; WFIFOSET(i,3); @@ -2701,6 +2704,7 @@ int parse_frommap(int fd) data = status_search_scdata(aid, cid); if (data->count > 0) { //Deliver status change data. + WFIFOHEAD(fd,14 + data->count*sizeof(struct status_change_data)); WFIFOW(fd,0) = 0x2b1d; WFIFOW(fd,2) = 14 + data->count*sizeof(struct status_change_data); WFIFOL(fd,4) = aid; diff --git a/src/char_sql/char.c b/src/char_sql/char.c index 3b2e508b6..5ad5a273b 100644 --- a/src/char_sql/char.c +++ b/src/char_sql/char.c @@ -1744,6 +1744,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd) mapif_disconnectplayer(server[character->server].fd, character->account_id, character->char_id, 2); if (character->waiting_disconnect == INVALID_TIMER) character->waiting_disconnect = add_timer(gettick()+20000, chardb_waiting_disconnect, character->account_id, 0); + WFIFOHEAD(fd,3); WFIFOW(fd,0) = 0x81; WFIFOB(fd,2) = 8; WFIFOSET(fd,3); @@ -1751,6 +1752,7 @@ static void char_auth_ok(int fd, struct char_session_data *sd) } if (character->fd >= 0 && character->fd != fd) { //There's already a connection from this account that hasn't picked a char yet. + WFIFOHEAD(fd,3); WFIFOW(fd,0) = 0x81; WFIFOB(fd,2) = 8; WFIFOSET(fd,3); @@ -1885,6 +1887,7 @@ int parse_fromlogin(int fd) if( max_connect_user && count_users() >= max_connect_user && sd->gmlevel < gm_allow_level ) { // refuse connection (over populated) + WFIFOHEAD(i,3); WFIFOW(i,0) = 0x6c; WFIFOW(i,2) = 0; WFIFOSET(i,3); @@ -3530,6 +3533,7 @@ int parse_char(int fd) //can't delete the char //either SQL error or can't delete by some CONFIG conditions //del fail + WFIFOHEAD(fd,3); WFIFOW(fd, 0) = 0x70; WFIFOB(fd, 2) = 0; WFIFOSET(fd, 3); |