nasagnilac 1 Posted September 11, 2017 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) { nullpo_retv(userid); nullpo_retv(user_pass); nullpo_retv(email); nullpo_retv(last_ip); nullpo_retv(lastlogin); nullpo_retv(birthdate); if (map_fd <= 0 || !sockt->session_is_active(map_fd)) return; // check if we have a valid fd if (!success) { inter->msg_to_fd(map_fd, u_fd, u_aid, "No account with ID '%d' was found.", account_id); return; } inter->msg_to_fd(map_fd, u_fd, u_aid, "-- Account %d --", account_id); // VIP Information if (SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `group_id`" "FROM login WHERE `account_id` = '%d'", account_id) || SQL->NumRows(inter->sql_handle) == 0) { if (SQL->NumRows(inter->sql_handle) == 0) { inter->msg_to_fd(map_fd, u_fd, u_aid, "This account is invalid"); } else { inter->msg_to_fd(map_fd, u_fd, u_aid, "An error occurred, bother your admin about it."); Sql_ShowDebug(inter->sql_handle); } } else { while (SQL_SUCCESS == SQL->NextRow(inter->sql_handle)) { char *data; int group_id; SQL->GetData(inter->sql_handle, 0, &data, NULL); group_id = atoi(data); if (group_id == 1) { inter->msg_to_fd(map_fd, u_fd, u_aid, "-- VIP Status: %s", "Bronze"); } else if (group_id == 2) { inter->msg_to_fd(map_fd, u_fd, u_aid, "-- VIP Status: %s", "Silver"); } else if (group_id == 3) { inter->msg_to_fd(map_fd, u_fd, u_aid, "-- VIP Status: %s", "Gold"); } } } inter->msg_to_fd(map_fd, u_fd, u_aid, "User: %s | GM Group: %d | State: %d", userid, group_id, state); if (*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 ); } inter->msg_to_fd(map_fd, u_fd, u_aid, "Account e-mail: %s | Birthdate: %s", email, birthdate); inter->msg_to_fd(map_fd, u_fd, u_aid, "Last IP: %s (%s)", last_ip, geoip->getcountry(sockt->str2ip(last_ip))); inter->msg_to_fd(map_fd, u_fd, u_aid, "This user has logged %d times, the last time were at %s", logincount, lastlogin); inter->msg_to_fd(map_fd, u_fd, u_aid, "-- Character Details --"); if ( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `char_id`, `name`, `char_num`, `class`, `base_level`, `job_level`, `online` " "FROM `%s` WHERE `account_id` = '%d' ORDER BY `char_num` LIMIT %d", char_db, account_id, MAX_CHARS) || SQL->NumRows(inter->sql_handle) == 0 ) { if (SQL->NumRows(inter->sql_handle) == 0) { inter->msg_to_fd(map_fd, u_fd, u_aid, "This account doesn't have characters."); } else { inter->msg_to_fd(map_fd, u_fd, u_aid, "An error occurred, bother your admin about it."); Sql_ShowDebug(inter->sql_handle); } } else { while ( SQL_SUCCESS == SQL->NextRow(inter->sql_handle) ) { char *data; int char_id, class; int char_num, base_level, job_level, online; char name[NAME_LENGTH]; SQL->GetData(inter->sql_handle, 0, &data, NULL); char_id = atoi(data); SQL->GetData(inter->sql_handle, 1, &data, NULL); safestrncpy(name, data, sizeof(name)); SQL->GetData(inter->sql_handle, 2, &data, NULL); char_num = atoi(data); SQL->GetData(inter->sql_handle, 3, &data, NULL); class = atoi(data); SQL->GetData(inter->sql_handle, 4, &data, NULL); base_level = atoi(data); SQL->GetData(inter->sql_handle, 5, &data, NULL); job_level = atoi(data); SQL->GetData(inter->sql_handle, 6, &data, NULL); online = atoi(data); inter->msg_to_fd(map_fd, u_fd, u_aid, "[Slot/CID: %d/%d] %s | %s | Level: %d/%d | %s", char_num, char_id, name, inter->job_name(class), base_level, job_level, online?"On":"Off"); } } SQL->FreeResult(inter->sql_handle); return; } On this code I want to add the group of the account. But can find how to reproduce the code. Anyone can help me? Quote Share this post Link to post Share on other sites
On this code I want to add the group of the account. But can find how to reproduce the code. Anyone can help me?
Share this post
Link to post
Share on other sites