From 06e6e45a311e61ec698f0342f0f68fd1bcbc1460 Mon Sep 17 00:00:00 2001 From: GokuWeedLord Date: Wed, 22 Nov 2017 21:34:36 +1100 Subject: [PATCH] fix UPDATE_DATE in charainfo not being updated --- .../Server_Common/Database/CharaDbConnection.cpp | 2 +- src/servers/Server_Zone/Actor/PlayerSql.cpp | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/servers/Server_Common/Database/CharaDbConnection.cpp b/src/servers/Server_Common/Database/CharaDbConnection.cpp index 7ed7aada..f8683f99 100644 --- a/src/servers/Server_Common/Database/CharaDbConnection.cpp +++ b/src/servers/Server_Common/Database/CharaDbConnection.cpp @@ -44,7 +44,7 @@ void Core::Db::CharaDbConnection::doPrepareStatements() "ActiveTitle = ?, TitleList = ?, Achievement = ?, Aetheryte = ?, HowTo = ?, Minions = ?, Mounts = ?, " "EquippedMannequin = ?, ConfigFlags = ?, QuestCompleteFlags = ?, OpeningSequence = ?, " "QuestTracking = ?, GrandCompany = ?, GrandCompanyRank = ?, Discovery = ?, GMRank = ?, Unlocks = ?, " - "CFPenaltyUntil = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); + "CFPenaltyUntil = ?, UPDATE_DATE = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_SEL_MINIMAL, "SELECT Name, Customize, ModelEquip, TerritoryId, GuardianDeity, " diff --git a/src/servers/Server_Zone/Actor/PlayerSql.cpp b/src/servers/Server_Zone/Actor/PlayerSql.cpp index 737c9754..40cacdee 100644 --- a/src/servers/Server_Zone/Actor/PlayerSql.cpp +++ b/src/servers/Server_Zone/Actor/PlayerSql.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include @@ -403,7 +403,16 @@ void Core::Entity::Player::updateSql() stmt->setInt( 53, m_cfPenaltyUntil ); - stmt->setInt( 54, m_id ); + // 54 = UPDATE_DATE + auto date_time = boost::posix_time::microsec_clock::universal_time(); + std::string time_out = boost::str( + boost::format{ "%1%-%2%-%3% %4%:%5%:%6%" } + % date_time.date().year() % date_time.date().month().as_number() % date_time.date().day().as_number() + % date_time.time_of_day().hours() % date_time.time_of_day().minutes() % date_time.time_of_day().seconds() + ); + stmt->setString( 54, time_out ); + + stmt->setInt( 55, m_id ); g_charaDb.execute( stmt );