summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/char_sql/char.c6
-rw-r--r--src/map/storage.c3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index 6b14b9192..47dba6f85 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -329,6 +329,12 @@ int mmo_char_tosql(int char_id, struct mmo_charstatus *p){
cp = numdb_search(char_db_,char_id);
+ if (cp == NULL) {
+ cp = (struct mmo_charstatus *) malloc(sizeof(struct mmo_charstatus));
+ memset(cp, 0, sizeof(struct mmo_charstatus));
+ numdb_insert(char_db_, char_id,cp);
+ }
+
save_flag = p->char_id;
printf("(\033[1;32m%d\033[0m) %s \trequest save char data - ",char_id,char_dat[0].name);
diff --git a/src/map/storage.c b/src/map/storage.c
index 9c960f6d1..abc0a56e9 100644
--- a/src/map/storage.c
+++ b/src/map/storage.c
@@ -134,6 +134,8 @@ int storage_additem(struct map_session_data *sd,struct storage *stor,struct item
nullpo_retr(1, stor);
nullpo_retr(1, item_data);
+ stor->dirty = 1;
+
if(item_data->nameid <= 0 || amount <= 0)
return 1;
nullpo_retr(1, data = itemdb_search(item_data->nameid));
@@ -172,7 +174,6 @@ int storage_additem(struct map_session_data *sd,struct storage *stor,struct item
return 1;
}
- stor->dirty = 1;
return 0;
}
/*==========================================