Napster 5 Posted March 29, 2013 this code in chrif.c void chrif_authok(int fd) in //Check if both servers agree on the struct's size if( RFIFOW(fd,2) - 29 != sizeof(struct mmo_charstatus) ) { ShowError("chrif_authok: Data size mismatch! %d != %dn", RFIFOW(fd,2) - 29, sizeof(struct mmo_charstatus)); return; } thank you Quote Share this post Link to post Share on other sites
0 Ind 945 Posted March 29, 2013 well pretty much you'd need to send that data through a different packet and, on map-server end where it receives such data, you append it to mmo_charstatus. This has been a common occurrence since eathena when people increased their normal storage sizes, I think I'll consider this a bug and commit a fix to send storage data separately 1 Napster reacted to this Quote Share this post Link to post Share on other sites
0 Ind 945 Posted March 29, 2013 if you mean that your sizeof(struct mmo_charstatus) is higher than USHORT_MAX (65kb) its sort of problematic to increase .-. well you'd need to split the packet in char server to send mmo_charstatus split in multiple parts since you can't add more than 65kb to a single packet Quote Share this post Link to post Share on other sites
0 Napster 5 Posted March 29, 2013 Ok Sir Ind I understand.I'm clone 2 storage in sizeof(struct mmo_charstatus) but higher buffer sizei don't know split in multiple parts 65kb to a single packet #define MAX_RENT1_STORAGE 900#define MAX_RENT2_STORAGE 900struct rentstorage1_data { int storage_amount; struct item items[MAX_RENT1_STORAGE];};struct rentstorage2_data { int storage_amount; struct item items[MAX_RENT2_STORAGE];}; Thank you for your answer Quote Share this post Link to post Share on other sites
this code in chrif.c
in
thank you
Share this post
Link to post
Share on other sites