nasagnilac
New member
- Messages
- 121
- Points
- 0
- Github
- gmblank
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?
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?