summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/clif.c3
-rw-r--r--src/map/intif.c15
2 files changed, 7 insertions, 11 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index ee64a802e..c2f91478f 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -11826,13 +11826,14 @@ int clif_parse(int fd) {
(pc_isGM(sd))?"GM ":"",sd->status.name);
} else
if (sd->state.auth) {
- clif_quitsave(fd, sd); // the function doesn't send to inter-server/char-server if it is not connected [Yor]
// Player logout display [Valaris]
ShowInfo("%sCharacter '"CL_WHITE"%s"CL_RESET"' logged off.\n",
(pc_isGM(sd))?"GM ":"",sd->status.name);
+ clif_quitsave(fd, sd);
} else {
ShowInfo("Player AID:%d/CID:%d (not authenticated) logged off.\n",
sd->bl.id, sd->char_id);
+ map_quit(sd);
}
} else {
unsigned char *ip = (unsigned char *) &session[fd]->client_addr.sin_addr;
diff --git a/src/map/intif.c b/src/map/intif.c
index 40cd52136..b1a147d0f 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -934,8 +934,7 @@ int intif_parse_Registers(int fd) {
int *qty;
RFIFOHEAD(fd);
- if( (sd=map_id2sd(RFIFOL(fd,4)))==NULL ||
- !session_isValid(sd->fd)) // Invalid session
+ if( (sd=map_id2sd(RFIFOL(fd,4)))==NULL)
return 1;
if (RFIFOB(fd,12) == 3 && sd->status.char_id != RFIFOL(fd,8))
@@ -992,9 +991,8 @@ int intif_parse_LoadStorage(int fd) {
return 1;
}
- if (sd->state.finalsave || //Player is already scheduled to leave the server.
- !session_isValid(sd->fd)) // Invalid session
- return 1;
+ if (sd->state.finalsave)
+ return 1; //Player is already scheduled to leave the server.
stor = account2storage( RFIFOL(fd,4));
@@ -1049,9 +1047,7 @@ int intif_parse_LoadGuildStorage(int fd)
if(battle_config.error_log)
ShowError("intif_parse_LoadGuildStorage: user not found %d\n",RFIFOL(fd,4));
return 1;
- } else if(!session_isValid(sd->fd))
- return 1; // Invalid session
-
+ }
gstor=guild2storage(guild_id);
if(!gstor) {
if(battle_config.error_log)
@@ -1424,8 +1420,7 @@ int intif_parse_RenamePetOk(int fd)
struct map_session_data *sd = NULL;
RFIFOHEAD(fd);
if((sd=map_id2sd(RFIFOL(fd,2)))==NULL ||
- sd->status.char_id != RFIFOL(fd,6) ||
- !session_isValid(sd->fd)) // Invalid session
+ sd->status.char_id != RFIFOL(fd,6))
return 0;
if (RFIFOB(fd,10) == 0) {
clif_displaymessage(sd->fd, msg_txt(280)); // You cannot use this name for your pet.