diff options
-rw-r--r-- | src/char_sql/char.c | 2 | ||||
-rw-r--r-- | src/map/chrif.c | 1 | ||||
-rw-r--r-- | src/map/quest.c | 4 |
3 files changed, 5 insertions, 2 deletions
diff --git a/src/char_sql/char.c b/src/char_sql/char.c index 5ba6c6b29..66bb68cec 100644 --- a/src/char_sql/char.c +++ b/src/char_sql/char.c @@ -1216,7 +1216,7 @@ int mmo_char_fromsql(int char_id, struct mmo_charstatus* p, bool load_everything memcpy(&p->quest_log[i].objectives[j], &tmp_quest_obj, sizeof(tmp_quest_obj)); p->quest_log[i].num_objectives = j+1; } - p->num_quests = i+1; + p->num_quests = i; strcat(t_msg, " quests"); SqlStmt_Free(stmt2); diff --git a/src/map/chrif.c b/src/map/chrif.c index cc75359ef..18c648627 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -164,7 +164,6 @@ static bool chrif_auth_logout(TBL_PC* sd, enum sd_state state) if(sd->fd && state == ST_LOGOUT) { //Disassociate player, and free it after saving ack returns. [Skotlex] //fd info must not be lost for ST_MAPCHANGE as a final packet needs to be sent to the player. - chrif_char_offline(sd); if (session[sd->fd]) session[sd->fd]->session_data = NULL; sd->fd = 0; diff --git a/src/map/quest.c b/src/map/quest.c index 499d78d6c..f01ff4526 100644 --- a/src/map/quest.c +++ b/src/map/quest.c @@ -35,6 +35,10 @@ //Send quest info on login
int quest_pc_login(TBL_PC * sd)
{
+
+ if(sd->num_quests == 0)
+ return 1;
+
clif_send_questlog(sd);
clif_send_questlog_info(sd);
return 0;
|