diff options
author | shennetsind <ind@henn.et> | 2014-03-14 16:33:42 -0300 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2014-03-14 16:33:42 -0300 |
commit | 82e5f6d59d607f35283751c14587b944c702952f (patch) | |
tree | 6a0280aeeeef99428d442d8904ad4693f48a0abc | |
parent | 8e412fcc26499eda20530445d7bf8ae0e80c7d06 (diff) | |
download | hercules-82e5f6d59d607f35283751c14587b944c702952f.tar.gz hercules-82e5f6d59d607f35283751c14587b944c702952f.tar.bz2 hercules-82e5f6d59d607f35283751c14587b944c702952f.tar.xz hercules-82e5f6d59d607f35283751c14587b944c702952f.zip |
Fixed Bug 8078
gms relogging while char server is on char_server_type will no longer get rejected.
Special Thanks to Beret.
http://hercules.ws/board/tracker/issue-8078-maintenance-mode-enabled/
Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r-- | src/char/char.c | 6 | ||||
-rw-r--r-- | src/map/chrif.c | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/char/char.c b/src/char/char.c index a24e198bf..a42524444 100644 --- a/src/char/char.c +++ b/src/char/char.c @@ -3153,14 +3153,15 @@ int parse_frommap(int fd) break; case 0x2b02: // req char selection - if( RFIFOREST(fd) < 18 ) + if( RFIFOREST(fd) < 22 ) return 0; { int account_id = RFIFOL(fd,2); uint32 login_id1 = RFIFOL(fd,6); uint32 login_id2 = RFIFOL(fd,10); uint32 ip = RFIFOL(fd,14); - RFIFOSKIP(fd,18); + int32 group_id = RFIFOL(fd, 18); + RFIFOSKIP(fd,22); if( runflag != CHARSERVER_ST_RUNNING ) { @@ -3180,6 +3181,7 @@ int parse_frommap(int fd) node->char_id = 0; node->login_id1 = login_id1; node->login_id2 = login_id2; + node->group_id = group_id; //node->sex = 0; node->ip = ntohl(ip); /* sounds troublesome. */ diff --git a/src/map/chrif.c b/src/map/chrif.c index 059255fde..80ee50a20 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -694,13 +694,14 @@ bool chrif_charselectreq(struct map_session_data* sd, uint32 s_ip) { chrif_check(false); - WFIFOHEAD(chrif->fd,18); + WFIFOHEAD(chrif->fd,22); WFIFOW(chrif->fd, 0) = 0x2b02; WFIFOL(chrif->fd, 2) = sd->bl.id; WFIFOL(chrif->fd, 6) = sd->login_id1; WFIFOL(chrif->fd,10) = sd->login_id2; WFIFOL(chrif->fd,14) = htonl(s_ip); - WFIFOSET(chrif->fd,18); + WFIFOL(chrif->fd,18) = sd->group_id; + WFIFOSET(chrif->fd,22); return true; } |