diff --git a/src/char/char.c b/src/char/char.c
index fe17fd1..254f51d 100644
--- a/src/char/char.c
+++ b/src/char/char.c
@@ -2607,7 +2607,7 @@ int parse_fromlogin(int fd) {
return 0;
mapif_parse_accinfo2(false, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14),
- NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, 0, 0);
+ 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -1, 0, 0);
RFIFOSKIP(fd,18);
break;
@@ -2615,11 +2615,11 @@ int parse_fromlogin(int fd) {
if (RFIFOREST(fd) < 183)
return 0;
- mapif_parse_accinfo2(true, RFIFOL(fd,167), RFIFOL(fd,171), RFIFOL(fd,175), RFIFOL(fd,179),
+ mapif_parse_accinfo2(true, RFIFOL(fd,167), RFIFOL(fd,171), RFIFOL(fd,175), RFIFOW(fd,183), RFIFOL(fd,179),
(char*)RFIFOP(fd,2), (char*)RFIFOP(fd,26), (char*)RFIFOP(fd,59),
(char*)RFIFOP(fd,99), (char*)RFIFOP(fd,119), (char*)RFIFOP(fd,151),
(char*)RFIFOP(fd,156), RFIFOL(fd,115), RFIFOL(fd,143), RFIFOL(fd,147));
- RFIFOSKIP(fd,183);
+ RFIFOSKIP(fd,185);
break;
default:
diff --git a/src/char/inter.c b/src/char/inter.c
index c2d8de3..f177494 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -628,7 +628,7 @@ void mapif_parse_accinfo(int fd) {
return;
}
-void mapif_parse_accinfo2(bool success, int map_fd, int u_fd, int u_aid, int account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int group_id, int logincount, int state) {
+void mapif_parse_accinfo2(bool success, int map_fd, int u_fd, int u_aid, int u_group, int account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int group_id, int logincount, int state) {
if (map_fd <= 0 || !session_isActive(map_fd))
return; // check if we have a valid fd
@@ -640,11 +640,8 @@ void mapif_parse_accinfo2(bool success, int map_fd, int u_fd, int u_aid, int acc
inter_msg_to_fd(map_fd, u_fd, u_aid, "-- Account %d --", account_id);
inter_msg_to_fd(map_fd, u_fd, u_aid, "User: %s | GM Group: %d | State: %d", userid, group_id, state);
- if (user_pass && *user_pass != '\0') { /* password is only received if your gm level is greater than the one you're searching for */
- if (pin_code && *pin_code != '\0')
- inter_msg_to_fd(map_fd, u_fd, u_aid, "Password: %s (PIN:%s)", user_pass, pin_code);
- else
- inter_msg_to_fd(map_fd, u_fd, u_aid, "Password: %s", user_pass );
+ if (u_group >= 98) { /* password is only received if your gm level is greater than the one you're searching for */
+ inter_msg_to_fd(map_fd, u_fd, u_aid, "Password: %s (PIN:%s)", user_pass, pin_code);
}
inter_msg_to_fd(map_fd, u_fd, u_aid, "Account e-mail: %s | Birthdate: %s", email, birthdate);
diff --git a/src/char/inter.h b/src/char/inter.h
index 5e65523..0a07869 100644
--- a/src/char/inter.h
+++ b/src/char/inter.h
@@ -16,7 +16,7 @@ int inter_parse_frommap(int fd);
int inter_mapif_init(int fd);
int mapif_send_gmaccounts(void);
int mapif_disconnectplayer(int fd, int account_id, int char_id, int reason);
-void mapif_parse_accinfo2(bool success, int map_fd, int u_fd, int u_aid, int account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int group_id, int logincount, int state);
+void mapif_parse_accinfo2(bool success, int map_fd, int u_fd, int u_aid, int u_group, int account_id, const char *userid, const char *user_pass, const char *email, const char *last_ip, const char *lastlogin, const char *pin_code, const char *birthdate, int group_id, int logincount, int state);
int inter_log(char *fmt,...);
int inter_vlog(char *fmt, va_list ap);
diff --git a/src/login/login.c b/src/login/login.c
index c3f2f60..7c26c9d 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -845,24 +845,21 @@ int parse_fromchar(int fd)
WFIFOHEAD(fd,183);
WFIFOW(fd,0) = 0x2737;
safestrncpy((char*)WFIFOP(fd,2), acc.userid, NAME_LENGTH);
- if (u_group >= acc.group_id) {
- safestrncpy((char*)WFIFOP(fd,26), acc.pass, 33);
- }
+ safestrncpy((char*)WFIFOP(fd,26), acc.pass, 33);
safestrncpy((char*)WFIFOP(fd,59), acc.email, 40);
safestrncpy((char*)WFIFOP(fd,99), acc.last_ip, 16);
WFIFOL(fd,115) = acc.group_id;
safestrncpy((char*)WFIFOP(fd,119), acc.lastlogin, 24);
WFIFOL(fd,143) = acc.logincount;
WFIFOL(fd,147) = acc.state;
- if (u_group >= acc.group_id) {
- safestrncpy((char*)WFIFOP(fd,151), acc.pincode, 5);
- }
+ safestrncpy((char*)WFIFOP(fd,151), acc.pincode, 5);
safestrncpy((char*)WFIFOP(fd,156), acc.birthdate, 11);
WFIFOL(fd,167) = map_fd;
WFIFOL(fd,171) = u_fd;
WFIFOL(fd,175) = u_aid;
WFIFOL(fd,179) = account_id;
- WFIFOSET(fd,183);
+ WFIFOW(fd,183) = u_group;
+ WFIFOSET(fd,185);
} else {
WFIFOHEAD(fd,18);
WFIFOW(fd,0) = 0x2736;