summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-07 13:19:12 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-06-07 13:19:12 +0000
commit32d5d6568057bf8a832e2c8566f3e4147544063b (patch)
tree30b074e51a8b4ca4b4274c3e95373d3cdaccb893 /src
parentfda081264f919912287ce1b0cd2ef4c008912d25 (diff)
downloadhercules-32d5d6568057bf8a832e2c8566f3e4147544063b.tar.gz
hercules-32d5d6568057bf8a832e2c8566f3e4147544063b.tar.bz2
hercules-32d5d6568057bf8a832e2c8566f3e4147544063b.tar.xz
hercules-32d5d6568057bf8a832e2c8566f3e4147544063b.zip
- Removed char_nick2id from char-sql server as it's no longer needed.
- Fixed quitting the map server not properly saving the storage before deleting it. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7030 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/char_sql/char.c17
-rw-r--r--src/char_sql/char.h1
-rw-r--r--src/char_sql/int_party.c7
-rw-r--r--src/map/map.c3
-rw-r--r--src/map/unit.c8
5 files changed, 9 insertions, 27 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c
index 4b5e2be59..1a0d2de74 100644
--- a/src/char_sql/char.c
+++ b/src/char_sql/char.c
@@ -4398,20 +4398,3 @@ int char_married(int pl1,int pl2) {
else
return 0;
}
-
-int char_nick2id (char *name) {
- int char_id = 0;
- sprintf (tmp_sql, "SELECT `char_id` FROM `%s` WHERE `name` = '%s'", char_db, name);
- if (mysql_query (&mysql_handle, tmp_sql)) {
- ShowSQL("DB error - %s\n",mysql_error(&mysql_handle));
- ShowDebug("at %s:%d - %s\n", __FILE__,__LINE__,tmp_sql);
- }
- sql_res = mysql_store_result (&mysql_handle);
- sql_row = sql_res?mysql_fetch_row(sql_res):NULL;
- if (sql_row)
- char_id = atoi (sql_row[0]);
- else
- ShowError ("CHAR: nick2id Failed!\n");
- if (sql_res) mysql_free_result (sql_res);
- return char_id;
-}
diff --git a/src/char_sql/char.h b/src/char_sql/char.h
index 620e5ccd1..0eb896d76 100644
--- a/src/char_sql/char.h
+++ b/src/char_sql/char.h
@@ -52,7 +52,6 @@ int mapif_sendall(unsigned char *buf,unsigned int len);
int mapif_sendallwos(int fd,unsigned char *buf,unsigned int len);
int mapif_send(int fd,unsigned char *buf,unsigned int len);
-int char_nick2id (char *name);
int char_married(int pl1,int pl2);
int char_child(int parent_id, int child_id);
diff --git a/src/char_sql/int_party.c b/src/char_sql/int_party.c
index 2960fe30d..f54ddfe20 100644
--- a/src/char_sql/int_party.c
+++ b/src/char_sql/int_party.c
@@ -291,10 +291,9 @@ int party_check_exp_share(struct party *p)
if((dudes/1000 >= 2) && (dudes%1000 == 3) && maxlv-minlv>party_share_level)
{
int pl1=0,pl2=0,pl3=0;
- pl1=char_nick2id(p->member[oi[0]].name);
- pl2=char_nick2id(p->member[oi[1]].name);
- pl3=char_nick2id(p->member[oi[2]].name);
- ShowDebug("PARTY: group of 3 Id1 %d lv %d name %s Id2 %d lv %d name %s Id3 %d lv %d name %s\n",pl1,p->member[oi[0]].lv,p->member[oi[0]].name,pl2,p->member[oi[1]].lv,p->member[oi[1]].name,pl3,p->member[oi[2]].lv,p->member[oi[2]].name);
+ pl1=p->member[oi[0]].char_id;
+ pl2=p->member[oi[1]].char_id;
+ pl3=p->member[oi[2]].char_id;
if (char_married(pl1,pl2) && char_child(pl1,pl3))
return 1;
if (char_married(pl1,pl3) && char_child(pl1,pl2))
diff --git a/src/map/map.c b/src/map/map.c
index 3833acb34..a26430776 100644
--- a/src/map/map.c
+++ b/src/map/map.c
@@ -1662,9 +1662,6 @@ int map_quit(struct map_session_data *sd) {
npc_script_event(sd, NPCE_LOGOUT);
if (sd->pd) unit_free(&sd->pd->bl);
unit_free(&sd->bl);
- pc_clean_skilltree(sd);
- if(sd->pet.intimate > 0)
- intif_save_petdata(sd->status.account_id,&sd->pet);
chrif_save(sd,1);
} else { //Try to free some data, without saving anything (this could be invoked on map server change. [Skotlex]
if (sd->bl.prev != NULL)
diff --git a/src/map/unit.c b/src/map/unit.c
index 4703820cc..a87dfa16b 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1618,9 +1618,9 @@ int unit_free(struct block_list *bl) {
pc_cleareventtimer(sd);
pc_delspiritball(sd,sd->spiritball,1);
chrif_save_scdata(sd); //Save status changes, then clear'em out from memory. [Skotlex]
- storage_delete(sd->status.account_id);
pc_makesavestatus(sd);
sd->state.waitingdisconnect = 1;
+ pc_clean_skilltree(sd);
} else if( bl->type == BL_PET ) {
struct pet_data *pd = (struct pet_data*)bl;
struct map_session_data *sd = pd->msd;
@@ -1662,7 +1662,11 @@ int unit_free(struct block_list *bl) {
aFree (pd->loot);
pd->loot = NULL;
}
- if (sd) sd->pd = NULL;
+ if (sd) {
+ if(sd->pet.intimate > 0)
+ intif_save_petdata(sd->status.account_id,&sd->pet);
+ sd->pd = NULL;
+ }
} else if(bl->type == BL_MOB) {
struct mob_data *md = (struct mob_data*)bl;
if(md->deletetimer!=-1)