diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-01-04 02:29:06 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-01-04 02:29:06 +0000 |
commit | 683dbd2fad6c911b279e87f03ec8a6d0a17a435d (patch) | |
tree | 557f00ec9fe0b487dd29f5d51f50de880c66121d /src/char_sql/char.c | |
parent | 9948c02946e55229d5c9951ab9aaec3184611734 (diff) | |
download | hercules-683dbd2fad6c911b279e87f03ec8a6d0a17a435d.tar.gz hercules-683dbd2fad6c911b279e87f03ec8a6d0a17a435d.tar.bz2 hercules-683dbd2fad6c911b279e87f03ec8a6d0a17a435d.tar.xz hercules-683dbd2fad6c911b279e87f03ec8a6d0a17a435d.zip |
Pets & Homun renaming with empty name fix, bugreport:3032
Also:
- Fixed client crash when sending weapon + dragon/mado/newmount
- Fixed 2011-11-16 charinfo_size bug on char selection screen
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15377 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/char_sql/char.c')
-rw-r--r-- | src/char_sql/char.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c index 78cd67d79..99a6cc669 100644 --- a/src/char_sql/char.c +++ b/src/char_sql/char.c @@ -937,6 +937,7 @@ int mmo_chars_fromsql(struct char_session_data* sd, uint8* buf) { if( p.delete_date && p.delete_date < time(NULL) ) { delete_char_sql(p.char_id); + i--; continue; } p.last_point.map = mapindex_name2id(last_map); @@ -1644,7 +1645,10 @@ int mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p) WBUFW(buf,50) = DEFAULT_WALK_SPEED; // p->speed; WBUFW(buf,52) = p->class_; WBUFW(buf,54) = p->hair; - WBUFW(buf,56) = p->option&0x20 ? 0 : p->weapon; //When the weapon is sent and your option is riding, the client crashes on login!? + + //When the weapon is sent and your option is riding, the client crashes on login!? + WBUFW(buf,56) = p->option&(0x20|0x80000|0x100000|0x200000|0x400000|0x800000|0x1000000|0x2000000|0x4000000|0x8000000) ? 0 : p->weapon; + WBUFW(buf,58) = p->base_level; WBUFW(buf,60) = min(p->skill_point, INT16_MAX); WBUFW(buf,62) = p->head_bottom; @@ -1677,14 +1681,17 @@ int mmo_char_tobuf(uint8* buffer, struct mmo_charstatus* p) WBUFL(buf,128) = p->robe; offset += 4; #endif -#if PACKETVER >= 20110928 - WBUFL(buf,132) = 0; // change slot feature (0 = disabled, otherwise enabled) - offset += 4; -#endif -#if PACKETVER >= 20111025 - WBUFL(buf,136) = 0; // unknown purpose (0 = disabled, otherwise displays "Add-Ons" sidebar) - offset += 4; +#if PACKETVER != 20111116 //2011-11-16 wants 136, ask gravity. + #if PACKETVER >= 20110928 + WBUFL(buf,132) = 0; // change slot feature (0 = disabled, otherwise enabled) + offset += 4; + #endif + #if PACKETVER >= 20111025 + WBUFL(buf,136) = 0; // unknown purpose (0 = disabled, otherwise displays "Add-Ons" sidebar) + offset += 4; + #endif #endif + return 106+offset; } |