diff --git a/src/servers/Server_Common/Database/Database.h b/src/servers/Server_Common/Database/Database.h index 6bc8b11c..0d6e45ce 100644 --- a/src/servers/Server_Common/Database/Database.h +++ b/src/servers/Server_Common/Database/Database.h @@ -33,7 +33,26 @@ namespace Db { return static_cast< T >( atol( m_pValue ) ); } + + uint64_t getUInt64() + { + if( m_pValue ) + { + #ifdef _WIN32 + uint64_t value; + sscanf( m_pValue, "%I64d", &value ); + return value; + #else + uint64_t value; + sscanf( m_pValue, "%Lu", &value ); + return value; + #endif + } + else + return 0; + } + uint32_t getLength() const; private: diff --git a/src/servers/Server_REST/PlayerMinimal.cpp b/src/servers/Server_REST/PlayerMinimal.cpp index d7fc2f27..9643a35b 100644 --- a/src/servers/Server_REST/PlayerMinimal.cpp +++ b/src/servers/Server_REST/PlayerMinimal.cpp @@ -70,7 +70,7 @@ namespace Core { setBirthDay( field[2].get< int8_t >(), field[3].get< int8_t >() ); m_guardianDeity = field[4].get< int8_t >(); m_class = field[5].get< int8_t >(); - m_contentId = field[7].get< uint64_t >(); + m_contentId = field[7].getUInt64(); m_zoneId = field[8].get< uint16_t >(); auto pQR2 = g_database.query( "SELECT * FROM characlass WHERE CharacterId = " + std::to_string( charId ) + ";" ); diff --git a/src/servers/Server_REST/SapphireAPI.cpp b/src/servers/Server_REST/SapphireAPI.cpp index 38dd0bb7..bf415fbb 100644 --- a/src/servers/Server_REST/SapphireAPI.cpp +++ b/src/servers/Server_REST/SapphireAPI.cpp @@ -277,7 +277,7 @@ uint64_t Core::Network::SapphireAPI::getNextContentId() return 0x0040000001000001; } - contentId = pQR->fetch()[0].get< uint64_t >() + 1; + contentId = pQR->fetch()[0].getUInt64() + 1; if( contentId < 0x0040000001000001 ) { return 0x0040000001000001; diff --git a/src/servers/Server_Zone/Actor/PlayerSql.cpp b/src/servers/Server_Zone/Actor/PlayerSql.cpp index 4de7d019..7d5db611 100644 --- a/src/servers/Server_Zone/Actor/PlayerSql.cpp +++ b/src/servers/Server_Zone/Actor/PlayerSql.cpp @@ -131,7 +131,7 @@ bool Core::Entity::Player::load( uint32_t charId, Core::SessionPtr pSession ) field[11].getBinary( reinterpret_cast< char* >( m_customize ), sizeof( m_customize ) ); - m_modelMainWeapon = field[12].get< uint64_t >(); + m_modelMainWeapon = field[12].getUInt64(); field[14].getBinary( reinterpret_cast< char* >( m_modelEquip ), sizeof( m_modelEquip ) ); @@ -144,7 +144,7 @@ bool Core::Entity::Player::load( uint32_t charId, Core::SessionPtr pSession ) field[21].getBinary( reinterpret_cast< char* >( m_howTo ), sizeof( m_howTo ) ); - m_contentId = field[22].get< uint64_t >(); + m_contentId = field[22].getUInt64(); m_voice = field[23].get< uint32_t >();