mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-16 18:52:22 +00:00
Added transactions for corpse creation, added sql to fix a bug in raid member saving in some situations, fixed a bug in encounters
This commit is contained in:
@@ -402,6 +402,7 @@ Corpse::Corpse(Client* client, int32 in_rezexp)
|
||||
}
|
||||
}
|
||||
|
||||
database.TransactionBegin();
|
||||
if(removed_list.size() != 0) {
|
||||
std::stringstream ss("");
|
||||
ss << "DELETE FROM inventory WHERE charid=" << client->CharacterID();
|
||||
@@ -433,6 +434,12 @@ Corpse::Corpse(Client* client, int32 in_rezexp)
|
||||
|
||||
client->CalcBonuses(); // will only affect offline profile viewing of dead characters..unneeded overhead
|
||||
client->Save();
|
||||
|
||||
Rezzed(false);
|
||||
Save();
|
||||
database.TransactionCommit();
|
||||
|
||||
return;
|
||||
} //end "not leaving naked corpses"
|
||||
|
||||
Rezzed(false);
|
||||
|
||||
@@ -146,6 +146,7 @@ void unregister_event(std::string package_name, std::string name, int evt) {
|
||||
iter = elist.erase(iter);
|
||||
break;
|
||||
}
|
||||
++iter;
|
||||
}
|
||||
lua_encounter_events_registered[package_name] = elist;
|
||||
}
|
||||
|
||||
+6
-2
@@ -94,6 +94,10 @@ void Raid::AddMember(Client *c, uint32 group, bool rleader, bool groupleader, bo
|
||||
c->GetName(), groupleader, rleader, looter);
|
||||
auto results = database.QueryDatabase(query);
|
||||
|
||||
if(!results.Success()) {
|
||||
LogFile->write(EQEMuLog::Error, "Error inserting into raid members: %s", results.ErrorMessage().c_str());
|
||||
}
|
||||
|
||||
LearnMembers();
|
||||
VerifyRaid();
|
||||
if (rleader) {
|
||||
@@ -225,12 +229,12 @@ void Raid::SetRaidLeader(const char *wasLead, const char *name)
|
||||
std::string query = StringFormat("UPDATE raid_members SET israidleader = 0 WHERE name = '%s'", wasLead);
|
||||
auto results = database.QueryDatabase(query);
|
||||
if (!results.Success())
|
||||
printf("Set Raid Leader error: %s\n", results.ErrorMessage().c_str());
|
||||
LogFile->write(EQEMuLog::Error, "Set Raid Leader error: %s\n", results.ErrorMessage().c_str());
|
||||
|
||||
query = StringFormat("UPDATE raid_members SET israidleader = 1 WHERE name = '%s'", name);
|
||||
results = database.QueryDatabase(query);
|
||||
if (!results.Success())
|
||||
printf("Set Raid Leader error: %s\n", results.ErrorMessage().c_str());
|
||||
LogFile->write(EQEMuLog::Error, "Set Raid Leader error: %s\n", results.ErrorMessage().c_str());
|
||||
|
||||
strn0cpy(leadername, name, 64);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user