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;