Skip to content

Commit

Permalink
Read char_name from adventurer agency db
Browse files Browse the repository at this point in the history
  • Loading branch information
4144 committed Apr 11, 2023
1 parent cd85417 commit 11c5bab
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
25 changes: 14 additions & 11 deletions src/char/int_adventurer_agency.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,17 +87,19 @@ static int inter_adventurer_agency_entry_delete(int char_id, int master_aid)
return 1;
}

bool inter_adventurer_agency_entry_tosql(int char_id, int party_id, const struct party_add_data *entry)
bool inter_adventurer_agency_entry_tosql(int char_id, const char *char_name, int party_id, const struct party_add_data *entry)
{
nullpo_retr(false, entry);

char message_esc[NAME_LENGTH];
SQL->EscapeStringLen(inter->sql_handle, message_esc, entry->message, strlen(entry->message));
char char_name_esc[NAME_LENGTH];
SQL->EscapeStringLen(inter->sql_handle, char_name_esc, char_name, strlen(char_name));

const int flags = inter_adventurer_agency->entry_to_flags(char_id, entry);
if (SQL_ERROR == SQL->Query(inter->sql_handle,
"INSERT INTO `%s` (`char_id`,`party_id`,`min_level`,`max_level`,`type`,`flags`,`message`) VALUES ('%d','%d','%u','%u','%d','%d','%s')",
adventurer_agency_db, char_id, party_id, entry->min_level, entry->max_level, entry->type, flags, message_esc)) {
"INSERT INTO `%s` (`char_id`,`char_name`,`party_id`,`min_level`,`max_level`,`type`,`flags`,`message`) VALUES ('%d','%s','%d','%u','%u','%d','%d','%s')",
adventurer_agency_db, char_id, char_name_esc, party_id, entry->min_level, entry->max_level, entry->type, flags, message_esc)) {
Sql_ShowDebug(inter->sql_handle);
return false;
}
Expand Down Expand Up @@ -139,7 +141,7 @@ bool inter_adventurer_agency_entry_add(int char_id, const struct party_add_data
inter_adventurer_agency->entry_delete_existing(char_id, cp->party_id);
}

return inter_adventurer_agency->entry_tosql(char_id, cp->party_id, entry);
return inter_adventurer_agency->entry_tosql(char_id, cp->name, cp->party_id, entry);
}

void inter_adventurer_agency_get_page(int char_id, int page, struct adventuter_agency_page *packet)
Expand All @@ -151,7 +153,7 @@ void inter_adventurer_agency_get_page(int char_id, int page, struct adventuter_a
if (page > 0)
page --;
if (SQL_SUCCESS != SQL->Query(inter->sql_handle,
"SELECT `char_id`, `min_level`, `max_level`, `type`, `flags`, `message` FROM `%s` LIMIT %d, %d",
"SELECT `char_id`, `char_name`, `min_level`, `max_level`, `type`, `flags`, `message` FROM `%s` LIMIT %d, %d",
adventurer_agency_db, page * ADVENTURER_AGENCY_PAGE_SIZE, ADVENTURER_AGENCY_PAGE_SIZE)) {
Sql_ShowDebug(inter->sql_handle);
return;
Expand All @@ -169,22 +171,23 @@ void inter_adventurer_agency_get_page(int char_id, int page, struct adventuter_a
// do not access any methods for avoid new db connections
struct mmo_charstatus *cp = (struct mmo_charstatus*)idb_get(chr->char_db_, packet->entry[index].char_id);
if (cp == NULL) {
safestrncpy(packet->entry[index].char_name, "offline", NAME_LENGTH);
// add offline char
packet->entry[index].account_id = 0;
} else {
safestrncpy(packet->entry[index].char_name, cp->name, NAME_LENGTH);
packet->entry[index].account_id = cp->account_id;
}

SQL->GetData(inter->sql_handle, 1, &data, NULL);
packet->entry[index].min_level = atoi(data);
safestrncpy(packet->entry[index].char_name, data, NAME_LENGTH);
SQL->GetData(inter->sql_handle, 2, &data, NULL);
packet->entry[index].max_level = atoi(data);
packet->entry[index].min_level = atoi(data);
SQL->GetData(inter->sql_handle, 3, &data, NULL);
packet->entry[index].type = atoi(data);
packet->entry[index].max_level = atoi(data);
SQL->GetData(inter->sql_handle, 4, &data, NULL);
packet->entry[index].flags = atoi(data);
packet->entry[index].type = atoi(data);
SQL->GetData(inter->sql_handle, 5, &data, NULL);
packet->entry[index].flags = atoi(data);
SQL->GetData(inter->sql_handle, 6, &data, NULL);
safestrncpy(packet->entry[index].message, data, NAME_LENGTH);

index ++;
Expand Down
2 changes: 1 addition & 1 deletion src/char/int_adventurer_agency.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ struct inter_adventurer_agency_interface {
bool (*entry_add) (int char_id, const struct party_add_data *entry);
bool (*entry_check_existing) (int char_id, int party_id);
void (*entry_delete_existing) (int char_id, int party_id);
bool (*entry_tosql) (int char_id, int party_id, const struct party_add_data *entry);
bool (*entry_tosql) (int char_id, const char *char_name, int party_id, const struct party_add_data *entry);
int (*entry_delete) (int char_id, int master_aid);
void (*get_page) (int char_id, int page, struct adventuter_agency_page *packet);
int (*entry_to_flags) (int char_id, const struct party_add_data *entry);
Expand Down

0 comments on commit 11c5bab

Please sign in to comment.