From 790cd65db9cd68f6d541120a492542dfc73aa2c0 Mon Sep 17 00:00:00 2001 From: amber Date: Thu, 30 Dec 2004 03:58:08 +0000 Subject: Update git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@867 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/intif.c | 7 +++++++ src/map/storage.c | 14 ++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'src/map') diff --git a/src/map/intif.c b/src/map/intif.c index 379589556..8e0267781 100644 --- a/src/map/intif.c +++ b/src/map/intif.c @@ -734,6 +734,13 @@ int intif_parse_LoadStorage(int fd) { struct map_session_data *sd; stor = account2storage( RFIFOL(fd,4)); + + if (stor->storage_status == 1) { // Already open.. lets ignore this update + if (battle_config.error_log) + printf("intif_parse_LoadStorage: storage received for a client already open\n"); + return 0; + } + if (RFIFOW(fd,2)-8 != sizeof(struct storage)) { if (battle_config.error_log) printf("intif_parse_LoadStorage: data size error %d %d\n", RFIFOW(fd,2)-8, sizeof(struct storage)); diff --git a/src/map/storage.c b/src/map/storage.c index 501a16709..3944f1ac1 100644 --- a/src/map/storage.c +++ b/src/map/storage.c @@ -110,12 +110,14 @@ int storage_storageopen(struct map_session_data *sd) nullpo_retr(0, sd); if((stor = numdb_search(storage_db,sd->status.account_id)) != NULL) { - stor->storage_status = 1; - sd->state.storage_flag = 0; - clif_storageitemlist(sd,stor); - clif_storageequiplist(sd,stor); - clif_updatestorageamount(sd,stor); - return 0; + if (stor->storage_status == 0) { + stor->storage_status = 1; + sd->state.storage_flag = 0; + clif_storageitemlist(sd,stor); + clif_storageequiplist(sd,stor); + clif_updatestorageamount(sd,stor); + return 0; + } } else intif_request_storage(sd->status.account_id); -- cgit v1.2.3-70-g09d2