void MapPersistentState::SaveGORespawnTime(uint32 loguid, time_t t) { SetGORespawnTime(loguid, t); // BGs/Arenas always reset at server restart/unload, so no reason store in DB if (GetMapEntry()->IsBattleGround()) return; CharacterDatabase.BeginTransaction(); CharacterDatabase.PExecute("DELETE FROM gameobject_respawn WHERE guid = '%u' AND instance = '%u'", loguid, m_instanceid); if(t > sWorld.GetGameTime()) CharacterDatabase.PExecute("INSERT INTO gameobject_respawn VALUES ( '%u', '" UI64FMTD "', '%u' )", loguid, uint64(t), m_instanceid); CharacterDatabase.CommitTransaction(); }
void MapPersistentState::SaveGORespawnTime(uint32 loguid, time_t t) { SetGORespawnTime(loguid, t); // BGs/Arenas always reset at server restart/unload, so no reason store in DB if (GetMapEntry()->IsBattleGroundOrArena()) return; CharacterDatabase.BeginTransaction(); static SqlStatementID delSpawnTime ; static SqlStatementID insSpawnTime ; SqlStatement stmt = CharacterDatabase.CreateStatement(delSpawnTime, "DELETE FROM gameobject_respawn WHERE guid = ? AND instance = ?"); stmt.PExecute(loguid, m_instanceid); if (t > sWorld.GetGameTime()) { stmt = CharacterDatabase.CreateStatement(insSpawnTime, "INSERT INTO gameobject_respawn VALUES ( ?, ?, ? )"); stmt.PExecute(loguid, uint64(t), m_instanceid); } CharacterDatabase.CommitTransaction(); }