summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2014-03-14 16:33:42 -0300
committershennetsind <ind@henn.et>2014-03-14 16:33:42 -0300
commit82e5f6d59d607f35283751c14587b944c702952f (patch)
tree6a0280aeeeef99428d442d8904ad4693f48a0abc
parent8e412fcc26499eda20530445d7bf8ae0e80c7d06 (diff)
downloadhercules-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.c6
-rw-r--r--src/map/chrif.c5
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;
}