1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-05-06 10:47:45 +00:00

Merge pull request #100 from AcedArmy/master

Fixed the Lobby ContentID Problem
This commit is contained in:
Mordred 2017-09-15 11:17:02 +02:00 committed by GitHub
commit 82d8ded088
5 changed files with 27 additions and 8 deletions

View file

@ -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:

View file

@ -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 ) + ";" );

View file

@ -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;

View file

@ -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 >();

View file

@ -673,7 +673,7 @@ bool Core::Inventory::load()
for( int32_t i = 1; i <= 14; i++ )
{
uint64_t uItemId = field[i].get< uint64_t >();
uint64_t uItemId = field[i].getUInt64();
if( uItemId == 0 )
continue;
@ -710,7 +710,7 @@ bool Core::Inventory::load()
uint16_t storageId = bagField[0].get< uint16_t >();
for( int32_t i = 1; i <= 25; i++ )
{
uint64_t uItemId = bagField[i].get< uint64_t >();
uint64_t uItemId = bagField[i].getUInt64();
if( uItemId == 0 )
continue;
@ -743,7 +743,7 @@ bool Core::Inventory::load()
uint16_t storageId = curField[0].get< uint16_t >();
for( int32_t i = 1; i <= 12; i++ )
{
uint64_t uItemId = curField[i].get< uint64_t >();
uint64_t uItemId = curField[i].getUInt64();
if( uItemId == 0 )
continue;
@ -777,7 +777,7 @@ bool Core::Inventory::load()
uint16_t storageId = crystalField[0].get< uint16_t >();
for( int32_t i = 1; i <= 17; i++ )
{
uint64_t uItemId = crystalField[i].get< uint64_t >();
uint64_t uItemId = crystalField[i].getUInt64();
if( uItemId == 0 )
continue;