mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 09:31:30 +00:00
LearnMembers converted to QueryDatabase
This commit is contained in:
parent
4b1d3592d4
commit
a90babbae1
@ -1256,39 +1256,43 @@ void Raid::GetRaidDetails()
|
|||||||
bool Raid::LearnMembers()
|
bool Raid::LearnMembers()
|
||||||
{
|
{
|
||||||
memset(members, 0, (sizeof(RaidMember)*MAX_RAID_MEMBERS));
|
memset(members, 0, (sizeof(RaidMember)*MAX_RAID_MEMBERS));
|
||||||
char errbuf[MYSQL_ERRMSG_SIZE];
|
|
||||||
char* query = 0;
|
std::string query = StringFormat("SELECT name, groupid, _class, level, "
|
||||||
MYSQL_RES *result;
|
"isgroupleader, israidleader, islooter "
|
||||||
MYSQL_ROW row;
|
"FROM raid_members WHERE raidid = %lu",
|
||||||
if (database.RunQuery(query,MakeAnyLenString(&query, "SELECT name, groupid, _class, level, isgroupleader, israidleader, islooter FROM raid_members WHERE raidid=%lu", (unsigned long)GetID()),errbuf,&result)){
|
(unsigned long)GetID());
|
||||||
safe_delete_array(query);
|
auto results = database.QueryDatabase(query);
|
||||||
if(mysql_num_rows(result) < 1) {
|
if (!results.Success())
|
||||||
mysql_free_result(result);
|
return false;
|
||||||
LogFile->write(EQEMuLog::Error, "Error getting raid members for raid %lu: %s", (unsigned long)GetID(), errbuf);
|
|
||||||
disbandCheck = true;
|
if(results.RowCount() == 0) {
|
||||||
return(false);
|
LogFile->write(EQEMuLog::Error, "Error getting raid members for raid %lu: %s", (unsigned long)GetID(), results.ErrorMessage().c_str());
|
||||||
}
|
disbandCheck = true;
|
||||||
int i = 0;
|
return false;
|
||||||
while((row = mysql_fetch_row(result))) {
|
}
|
||||||
if(!row[0])
|
|
||||||
continue;
|
int index = 0;
|
||||||
members[i].member = nullptr;
|
for(auto row = results.begin(); row != results.end(); ++row) {
|
||||||
strn0cpy(members[i].membername, row[0], 64);
|
if(!row[0])
|
||||||
int GroupNum = atoi(row[1]);
|
continue;
|
||||||
if(GroupNum > 11)
|
|
||||||
members[i].GroupNumber = 0xFFFFFFFF;
|
members[index].member = nullptr;
|
||||||
else
|
strn0cpy(members[index].membername, row[0], 64);
|
||||||
members[i].GroupNumber = GroupNum;
|
int groupNum = atoi(row[1]);
|
||||||
members[i]._class = atoi(row[2]);
|
if(groupNum > 11)
|
||||||
members[i].level = atoi(row[3]);
|
members[index].GroupNumber = 0xFFFFFFFF;
|
||||||
members[i].IsGroupLeader = atoi(row[4]);
|
else
|
||||||
members[i].IsRaidLeader = atoi(row[5]);
|
members[index].GroupNumber = groupNum;
|
||||||
members[i].IsLooter = atoi(row[6]);
|
|
||||||
i++;
|
members[index]._class = atoi(row[2]);
|
||||||
}
|
members[index].level = atoi(row[3]);
|
||||||
mysql_free_result(result);
|
members[index].IsGroupLeader = atoi(row[4]);
|
||||||
}
|
members[index].IsRaidLeader = atoi(row[5]);
|
||||||
return(true);
|
members[index].IsLooter = atoi(row[6]);
|
||||||
|
++index;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Raid::VerifyRaid()
|
void Raid::VerifyRaid()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user