diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/char_sql/char.c | 17 | ||||
-rw-r--r-- | src/char_sql/char.h | 1 | ||||
-rw-r--r-- | src/char_sql/int_party.c | 7 | ||||
-rw-r--r-- | src/map/map.c | 3 | ||||
-rw-r--r-- | src/map/unit.c | 8 |
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)
|