diff options
author | shennetsind <ind@henn.et> | 2013-10-23 04:47:49 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-10-23 04:47:49 -0200 |
commit | 8c5e0386874450ef667adb5155f3b3340d0299f1 (patch) | |
tree | 8e8d8305ae89ffbac4610a0e21bd855cd5e0fc14 | |
parent | f304c3637f82a5a3ab3a979c5d4b463ab26e7d72 (diff) | |
download | hercules-8c5e0386874450ef667adb5155f3b3340d0299f1.tar.gz hercules-8c5e0386874450ef667adb5155f3b3340d0299f1.tar.bz2 hercules-8c5e0386874450ef667adb5155f3b3340d0299f1.tar.xz hercules-8c5e0386874450ef667adb5155f3b3340d0299f1.zip |
Fixed char deletion on latest clients freezing
Newer clients freeze unless the char select list is resent, Haru and I confirmed official servers re-send the list upon deletion (we were not able to identify when this started though, its currently set to 2013 onwards -- if you have info on this please contact us so we can fix the range :D).
Special Thanks to LuLu, Haruna.
Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r-- | src/char/char.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/char/char.c b/src/char/char.c index 574e4f66b..0b35c0143 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -3585,6 +3585,14 @@ void char_delete2_ack(int fd, int char_id, uint32 result, time_t delete_date) /// Any (0x718): An unknown error has occurred. void char_delete2_accept_ack(int fd, int char_id, uint32 result) {// HC: <082a>.W <char id>.L <Msg:0-5>.L + +#if PACKETVER >= 20130000 /* not sure the exact date -- must refresh or client gets stuck */ + if( result == 1 ) { + struct char_session_data* sd = (struct char_session_data*)session[fd]->session_data; + mmo_char_send099d(fd, sd); + } +#endif + WFIFOHEAD(fd,10); WFIFOW(fd,0) = 0x82a; WFIFOL(fd,2) = char_id; |