Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
#include "stdafx.h"
|
||||
#include "ItemSerialMgr.h"
|
||||
|
||||
#include <Network/Packet/PacketStruct/ServerInfo.h>
|
||||
|
||||
#include <DB/DBComponent.h>
|
||||
#include <DB/GameDBComponent.h>
|
||||
|
||||
namespace Item
|
||||
{
|
||||
|
||||
CItemSerialMgr::CItemSerialMgr()
|
||||
: m_dwItemSerial(0LL), m_dwServerID(0)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CItemSerialMgr::~CItemSerialMgr()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool CItemSerialMgr::SetItemSerial(unsigned __int64 dwItemSerial)
|
||||
{
|
||||
if(m_dwItemSerial < dwItemSerial)
|
||||
{
|
||||
m_dwItemSerial = dwItemSerial;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool CItemSerialMgr::LoadItemSerial(CDBComponent& DBComponent, unsigned long dwServerID)
|
||||
{
|
||||
m_dwItemSerial = 0LL;
|
||||
m_dwServerID = dwServerID;
|
||||
|
||||
using namespace DBComponent;
|
||||
|
||||
if (!GameDB::GetItemUID(DBComponent, dwServerID, &m_dwItemSerial, true))
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD> <20><> Ŀ<><C4BF><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><D7BF><EFBFBD>.. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> / ä<><C3A4> 2byteü<65><C3BC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
|
||||
SERVER_ID serverID;
|
||||
serverID.dwID = dwServerID;
|
||||
|
||||
m_dwItemSerial = ((static_cast<unsigned __int64>(serverID.GetZone()) << 56) & 0xFF00000000000000LL) |
|
||||
((static_cast<unsigned __int64>(serverID.GetChannel()) << 48) & 0x00FF000000000000LL);
|
||||
|
||||
|
||||
// <20><><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
if (!GameDB::InsertItemUID(DBComponent, dwServerID, m_dwItemSerial))
|
||||
{
|
||||
ERRLOG1(g_Log, "ServerID:0x%08X / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>", m_dwServerID);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD> <20>ߺ<EFBFBD><DFBA><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD>Ƿ<EFBFBD> <20>ణ <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>
|
||||
m_dwItemSerial += 10LL;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CItemSerialMgr::SaveItemSerial(CDBComponent& DBComponent, unsigned long dwServerID)
|
||||
{
|
||||
if(m_dwServerID != dwServerID)
|
||||
{
|
||||
ERRLOG2(g_Log, "OldServerID:0x%08X / NewServerID:0x%08X / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD> ID<49><44> <20>ٸ<EFBFBD><D9B8>ϴ<EFBFBD>",
|
||||
m_dwServerID, dwServerID);
|
||||
}
|
||||
else
|
||||
{
|
||||
using namespace DBComponent;
|
||||
|
||||
if(GameDB::SetItemUID(DBComponent, dwServerID, m_dwItemSerial))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
ERRLOG2(g_Log, "ServerID:0x%08X / ItemSerial : 0x016I64X / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : DB<44><42> <20>ø<EFBFBD><C3B8><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||
m_dwServerID, m_dwItemSerial);
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user