LogPlayerNPCKill converted to QueryDatabase

This commit is contained in:
Arthur Ice 2014-08-27 23:50:58 -07:00
parent 18dbcf16cc
commit 3a10a0129a

View File

@ -204,23 +204,35 @@ void Database::LogPlayerHandin(QSPlayerLogHandin_Struct* QS, uint32 detailCount)
} }
void Database::LogPlayerNPCKill(QSPlayerLogNPCKill_Struct* QS, uint32 Members){ void Database::LogPlayerNPCKill(QSPlayerLogNPCKill_Struct* QS, uint32 members){
char errbuf[MYSQL_ERRMSG_SIZE];
char* query = 0; std::string query = StringFormat("INSERT INTO `qs_player_npc_kill_record` "
uint32 lastid = 0; "SET `npc_id` = '%i', `type` = '%i', "
if(!RunQuery(query, MakeAnyLenString(&query, "INSERT INTO `qs_player_npc_kill_record` SET `npc_id`='%i', `type`='%i', `zone_id`='%i', `time`=NOW()", QS->s1.NPCID, QS->s1.Type, QS->s1.ZoneID), errbuf, 0, 0, &lastid)) { "`zone_id` = '%i', `time` = NOW()",
_log(QUERYSERV__ERROR, "Failed NPC Kill Log Record Insert: %s", errbuf); QS->s1.NPCID, QS->s1.Type, QS->s1.ZoneID);
_log(QUERYSERV__ERROR, "%s", query); auto results = QueryDatabase(query);
if(!results.Success()) {
_log(QUERYSERV__ERROR, "Failed NPC Kill Log Record Insert: %s", results.ErrorMessage().c_str());
_log(QUERYSERV__ERROR, "%s", query.c_str());
} }
if(Members > 0){ if(members == 0)
for (int i = 0; i < Members; i++) { return;
if(!RunQuery(query, MakeAnyLenString(&query, "INSERT INTO `qs_player_npc_kill_record_entries` SET `event_id`='%i', `char_id`='%i'", lastid, QS->Chars[i].char_id, errbuf, 0, 0))) {
_log(QUERYSERV__ERROR, "Failed NPC Kill Log Entry Insert: %s", errbuf); int lastIndex = results.LastInsertedID();
_log(QUERYSERV__ERROR, "%s", query);
} for (int i = 0; i < members; i++) {
query = StringFormat("INSERT INTO `qs_player_npc_kill_record_entries` "
"SET `event_id` = '%i', `char_id` = '%i'",
lastIndex, QS->Chars[i].char_id);
auto results = QueryDatabase(query);
if(!results.Success()) {
_log(QUERYSERV__ERROR, "Failed NPC Kill Log Entry Insert: %s", results.ErrorMessage().c_str());
_log(QUERYSERV__ERROR, "%s", query.c_str());
} }
} }
} }
void Database::LogPlayerDelete(QSPlayerLogDelete_Struct* QS, uint32 Items) { void Database::LogPlayerDelete(QSPlayerLogDelete_Struct* QS, uint32 Items) {