diff --git a/src/map/intif.c b/src/map/intif.c index 84fad6c6fa7..ed4c0e2d201 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -513,7 +513,7 @@ static void intif_parse_account_storage(int fd) * @packet 0x3011 [out] .W .L .P * @param sd [in] pointer to session data. */ -static void intif_send_account_storage(const struct map_session_data *sd) +static void intif_send_account_storage(struct map_session_data *sd) { int len = 0, i = 0, c = 0; @@ -541,6 +541,8 @@ static void intif_send_account_storage(const struct map_session_data *sd) } WFIFOSET(inter_fd, len); + + sd->storage.save = false; // Save request has been sent } /** @@ -562,10 +564,9 @@ static void intif_parse_account_storage_save_ack(int fd) if (saved == 0) { ShowError("intif_parse_account_storage_save_ack: Storage has not been saved! (AID: %d)\n", account_id); + sd->storage.save = true; // Flag it as unsaved, to re-attempt later return; } - - sd->storage.save = false; // Storage has been saved. } //================================================================= diff --git a/src/map/intif.h b/src/map/intif.h index 1e98d11f818..21f7a494c57 100644 --- a/src/map/intif.h +++ b/src/map/intif.h @@ -68,7 +68,7 @@ struct intif_interface { int (*saveregistry) (struct map_session_data *sd); int (*request_registry) (struct map_session_data *sd, int flag); void (*request_account_storage) (const struct map_session_data *sd); - void (*send_account_storage) (const struct map_session_data *sd); + void (*send_account_storage) (struct map_session_data *sd); int (*request_guild_storage) (int account_id, int guild_id); int (*send_guild_storage) (int account_id, struct guild_storage *gstor); int (*create_party) (struct party_member *member, const char *name, int item, int item2);