2024-12-21 10:04:04 +08:00
# include "StdAfx.h"
# include "DNStatusTask.h"
# include "DNConnection.h"
# include "DNSQLConnectionManager.h"
# include "DNSQLMembership.h"
# include "DNSQLWorld.h"
# include "Util.h"
# include "Log.h"
CDNStatusTask : : CDNStatusTask ( CDNConnection * pConnection )
: CDNMessageTask ( pConnection )
{
}
CDNStatusTask : : ~ CDNStatusTask ( void )
{
}
void CDNStatusTask : : OnRecvMessage ( int nThreadID , int nMainCmd , int nSubCmd , char * pData )
{
CDNSQLMembership * pMembershipDB = NULL ;
CDNSQLWorld * pWorldDB = NULL ;
int nRet = ERROR_DB ;
TQHeader * pHeader = ( TQHeader * ) pData ;
if ( pHeader - > nAccountDBID > 0 )
{
// <20> <> <EFBFBD> ⸦ <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ°<CFB4> <20> <> <EFBFBD> <EFBFBD> Save <20> <> Ŷ<EFBFBD> <C5B6> <20> <> <EFBFBD> <EFBFBD> ó<EFBFBD> <C3B3> <EFBFBD> ؼ<EFBFBD> <20> ٸ<EFBFBD> <D9B8> <EFBFBD> <20> <> <EFBFBD> °<EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ..
if ( nSubCmd ! = QUERY_LASTUPDATEUSERDATA & & g_pSPErrorCheckManager - > bIsError ( pHeader - > nAccountDBID ) = = true )
{
//g_Log.Log(LogType::_ERROR, pHeader->cWorldSetID, pHeader->nAccountDBID, 0, 0, L"[SP_ERRORCHECK] Main:%d, Sub:%d\r\n", nMainCmd, nSubCmd);
return ;
}
}
switch ( nSubCmd )
{
case QUERY_SELECTCHARACTER :
{
TQSelectCharacter * pSelect = ( TQSelectCharacter * ) pData ;
TASelectCharacter Select ;
memset ( & Select , 0 , sizeof ( TASelectCharacter ) ) ;
Select . nAccountDBID = pSelect - > nAccountDBID ;
Select . biCharacterDBID = pSelect - > biCharacterDBID ;
# if !defined( PRE_PARTY_DB )
Select . PartyID = pSelect - > PartyID ;
# endif
Select . nRetCode = ERROR_DB ;
for ( UINT i = 0 ; i < DNNotifier : : RegisterCount : : Total ; + + i )
Select . UserData . Status . NotifierData [ i ] . Clear ( ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pSelect - > cWorldSetID ) ;
if ( pWorldDB ) {
// EffectItem
std : : vector < TEffectItemInfo > vEffectInfo ;
nRet = pWorldDB - > QueryGetListEffectItem ( pSelect - > biCharacterDBID , vEffectInfo ) ;
if ( nRet = = ERROR_NONE )
{
for ( UINT i = 0 ; i < vEffectInfo . size ( ) ; + + i )
{
TAEffectItem TxPacket ;
TxPacket . nRetCode = ERROR_NONE ;
TxPacket . nAccountDBID = pSelect - > nAccountDBID ;
TxPacket . iOffset = i ;
TxPacket . ItemInfo = vEffectInfo [ i ] ;
m_pConnection - > AddSendData ( nMainCmd , QUERY_GETLISTEFFECTITEM , reinterpret_cast < char * > ( & TxPacket ) , sizeof ( TxPacket ) ) ;
}
# if defined(PRE_ADD_SERVER_WAREHOUSE)
Select . nRetCode = pWorldDB - > QuerySelectCharacter ( pSelect - > cWorldSetID , pSelect - > biCharacterDBID , pSelect - > nLastServerType , & Select , pSelect - > nAccountDBID ) ;
# else
Select . nRetCode = pWorldDB - > QuerySelectCharacter ( pSelect - > cWorldSetID , pSelect - > biCharacterDBID , pSelect - > nLastServerType , & Select , 0 ) ;
# endif
}
}
else {
g_Log . Log ( LogType : : _ERROR , pSelect - > cWorldSetID , pSelect - > nAccountDBID , pSelect - > biCharacterDBID , 0 , L " [ADBID:%u CDBID:%lld] [QUERY_SELECTCHARACTER:%d] pWorldDB not found \r \n " , pSelect - > nAccountDBID , pSelect - > biCharacterDBID , pSelect - > cWorldSetID ) ;
}
if ( Select . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pSelect - > cWorldSetID , pSelect - > nAccountDBID , pSelect - > biCharacterDBID , 0 , L " [ADBID:%u CDBID:%lld] [QUERY_SELECTCHARACTER:%d] Result:%d \r \n " , pSelect - > nAccountDBID , pSelect - > biCharacterDBID , pSelect - > cWorldSetID , Select . nRetCode ) ;
else
{
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
if ( pMembershipDB )
{
// M/W <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ResetDate <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ~
__time64_t tResetdate = - 1 ;
if ( pMembershipDB - > QueryGetSecondAuthStatus ( pSelect - > nAccountDBID , Select . bIsSetSecondAuthPW , Select . bIsSetSecondAuthLock , tResetdate ) ! = ERROR_NONE )
Select . nRetCode = ERROR_DB ;
if ( pMembershipDB - > QueryGetKeySettingOption ( pSelect - > nAccountDBID , & Select . KeySetting ) ! = ERROR_NONE )
Select . nRetCode = ERROR_DB ;
if ( pMembershipDB - > QueryGetPadSettingOption ( pSelect - > nAccountDBID , & Select . PadSetting ) ! = ERROR_NONE )
Select . nRetCode = ERROR_DB ;
# if defined(PRE_ADD_VIP)
pMembershipDB - > QueryGetVIPPoint ( pSelect - > biCharacterDBID , Select . nVIPTotalPoint , Select . tVIPEndDate , Select . bAutoPay ) ;
# endif // #if defined(PRE_ADD_VIP)
# if defined(_CH)
pMembershipDB - > QueryCheckIntroducedAccount ( pSelect - > nAccountDBID , Select . bIntroducer ) ;
# endif // #if defined(_CH)
int nRestraintCount = 0 ;
std : : vector < TRestraintForAccountAndCharacter > VecAccountRestraint ;
for ( int nQueryRestraint = 0 ; nQueryRestraint < 2 ; nQueryRestraint + + )
{
if ( nQueryRestraint = = 0 )
pMembershipDB - > QueryGetListRestraintForAccount ( pSelect - > nAccountDBID , VecAccountRestraint ) ;
else
pMembershipDB - > QueryGetListRestraintForCharacter ( pSelect - > biCharacterDBID , VecAccountRestraint ) ;
if ( VecAccountRestraint . empty ( ) = = false )
{
for ( std : : vector < TRestraintForAccountAndCharacter > : : iterator RestraintItor = VecAccountRestraint . begin ( ) ; RestraintItor ! = VecAccountRestraint . end ( ) ; RestraintItor + + )
{
Select . RestraintData . Restraint [ nRestraintCount ] . nRestraintType = ( * RestraintItor ) . cLevelCode ;
Select . RestraintData . Restraint [ nRestraintCount ] . nRestraintKey = ( * RestraintItor ) . iReasonID ;
_wcscpy ( Select . RestraintData . Restraint [ nRestraintCount ] . wszRestraintReason , RESTRAINTREASONMAX , \
( * RestraintItor ) . wszRestraintReason , RESTRAINTREASONMAX ) ;
Select . RestraintData . Restraint [ nRestraintCount ] . _tBegineTime = ( * RestraintItor ) . _tStartDate ;
Select . RestraintData . Restraint [ nRestraintCount ] . _tEndTime = ( * RestraintItor ) . _tEndDate ;
nRestraintCount + + ;
if ( nRestraintCount > = RESTRAINTMAX )
break ;
}
}
}
}
else
g_Log . Log ( LogType : : _ERROR , pSelect - > cWorldSetID , pSelect - > nAccountDBID , pSelect - > biCharacterDBID , 0 , L " [ADBID:%u CDBID:%lld] [QUERY_SELECTCHARACTER:%d] AccountDB not found \r \n " , pSelect - > nAccountDBID , pSelect - > biCharacterDBID , pSelect - > cWorldSetID ) ;
}
int nSelectLen = sizeof ( TASelectCharacter ) - sizeof ( Select . ItemList ) + ( sizeof ( DBPacket : : TMaterialItemInfo ) * Select . nItemListCount ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Select , nSelectLen ) ;
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ͱ<EFBFBD> <20> <> <EFBFBD> õ<EFBFBD> <20> ڿ<EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ѵ <EFBFBD>
if ( pMembershipDB ) {
TAGetListGiveFailItem FailItemList ;
memset ( & FailItemList , 0 , sizeof ( TAGetListGiveFailItem ) ) ;
FailItemList . nAccountDBID = pSelect - > nAccountDBID ;
nRet = pMembershipDB - > QueryGetListGiveFailItem ( pSelect - > biCharacterDBID , & FailItemList ) ;
if ( ( nRet = = ERROR_NONE ) & & ( FailItemList . nCount > 0 ) ) {
FailItemList . nRetCode = nRet ;
int nLen = sizeof ( TAGetListGiveFailItem ) - sizeof ( FailItemList . CashFailItem ) + ( sizeof ( DBPacket : : TCashFailItem ) * FailItemList . nCount ) ;
m_pConnection - > AddSendData ( MAINCMD_CASH , QUERY_GETLISTGIVEFAILITEM , ( char * ) & FailItemList , nLen ) ;
}
}
if ( pWorldDB )
{
TAOwnChracterLevel LevelList ;
memset ( & LevelList , 0 , sizeof ( TAOwnChracterLevel ) ) ;
LevelList . nAccountDBID = pSelect - > nAccountDBID ;
LevelList . nRetCode = ERROR_DB ;
std : : map < int , int > MapWorldUserCount ;
if ( pMembershipDB )
pMembershipDB - > QueryGetCharacterCount ( pSelect - > wszAccountName , MapWorldUserCount ) ;
if ( ! MapWorldUserCount . empty ( ) ) {
nRet = ERROR_DB ;
std : : vector < TChracterLevel > VecLevelList ;
VecLevelList . clear ( ) ;
for ( std : : map < int , int > : : iterator iter = MapWorldUserCount . begin ( ) ; iter ! = MapWorldUserCount . end ( ) ; iter + + ) {
LevelList . nRetCode = pWorldDB - > QueryGetCharacterLevelList ( pSelect - > nAccountDBID , iter - > first , VecLevelList ) ;
}
if ( ! VecLevelList . empty ( ) ) {
LevelList . cCount = ( int ) VecLevelList . size ( ) ;
if ( LevelList . cCount > CHARCOUNTMAX )
LevelList . cCount = CHARCOUNTMAX ;
int nCount = 0 ;
for ( int i = 0 ; i < LevelList . cCount ; i + + ) {
LevelList . Level [ nCount ] = VecLevelList [ i ] ;
nCount + + ;
}
}
}
if ( ( LevelList . nRetCode = = ERROR_NONE ) & & ( LevelList . cCount > 0 ) ) {
int nLen = sizeof ( TAOwnChracterLevel ) - sizeof ( LevelList . Level ) + ( sizeof ( TChracterLevel ) * LevelList . cCount ) ;
m_pConnection - > AddSendData ( MAINCMD_STATUS , QUERY_OWNCHRACTERLEVEL , ( char * ) & LevelList , nLen ) ;
}
TAMissingItemList Missing ;
memset ( & Missing , 0 , sizeof ( TAMissingItemList ) ) ;
Missing . nAccountDBID = pSelect - > nAccountDBID ;
Missing . nRetCode = pWorldDB - > QueryGetListMissingItem ( pSelect - > biCharacterDBID , Missing . cCount , Missing . MissingList ) ;
if ( ( Missing . nRetCode = = ERROR_NONE ) & & ( Missing . cCount > 0 ) )
m_pConnection - > AddSendData ( MAINCMD_ITEM , QUERY_MISSINGITEMLIST , ( char * ) & Missing , sizeof ( TAMissingItemList ) ) ;
# if defined(PRE_ADD_EQUIPLOCK)
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <20> <> <EFBFBD> Ŀ<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EEB0A1> <EFBFBD> <EFBFBD> ó<> <C3B3>
TAGetListLockedItems LockedItemList ;
memset ( & LockedItemList , 0 , sizeof ( LockedItemList ) ) ;
LockedItemList . nAccountDBID = pSelect - > nAccountDBID ;
LockedItemList . nRetCode = pWorldDB - > QueryGetListLockedItems ( pSelect - > biCharacterDBID , & LockedItemList ) ;
if ( ERROR_NONE ! = LockedItemList . nRetCode )
g_Log . Log ( LogType : : _ERROR , pSelect - > cWorldSetID , pSelect - > nAccountDBID , pSelect - > biCharacterDBID , 0 , L " [QUERY_GET_LIST_LOCKEDITEMS] query error (ret:%d) \r \n " , LockedItemList . nRetCode ) ;
m_pConnection - > AddSendData ( MAINCMD_ITEM , QUERY_GET_LIST_LOCKEDITEMS , reinterpret_cast < char * > ( & LockedItemList ) , sizeof ( TAGetListLockedItems ) - sizeof ( TDBLockItemInfo ) * ( EQUIPMAX + CASHEQUIPMAX - LockedItemList . nCount ) ) ;
# endif // #if defined(PRE_ADD_EQUIPLOCK)
}
}
break ;
case QUERY_UPDATEUSERDATA :
case QUERY_CHANGESERVERUSERDATA :
case QUERY_LASTUPDATEUSERDATA :
{
TQUpdateCharacter * pUpdate = ( TQUpdateCharacter * ) pData ;
TAUpdateCharacter Update ;
memset ( & Update , 0 , sizeof ( TAUpdateCharacter ) ) ;
Update . nAccountDBID = pUpdate - > nAccountDBID ;
Update . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
Update . nRetCode = pWorldDB - > QueryMoveIntoNewServer ( pUpdate ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [ADBID:%u CDBID:%lld] [QUERY_UPDATE:%d] pWorldDB not found (Cmd:%d) \r \n " , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nSubCmd ) ;
}
if ( Update . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [ADBID:%u CDBID:%lld] [QUERY_UPDATE:%d] DB Error (Cmd:%d) Result:%d \r \n " , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nSubCmd , Update . nRetCode ) ;
switch ( nSubCmd )
{
case QUERY_LASTUPDATEUSERDATA :
case QUERY_CHANGESERVERUSERDATA : // <20> <> <EFBFBD> <EFBFBD> <20> ٲܶ<D9B2> <DCB6> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ˷<EFBFBD> <CBB7> ָ<EFBFBD> <20> ȴ<EFBFBD> .
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Update , sizeof ( TAUpdateCharacter ) ) ;
}
if ( nSubCmd = = QUERY_LASTUPDATEUSERDATA )
{
// <20> <> <EFBFBD> ⼭ Ȥ<> ó<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ³<CFB4> <C2B3> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ݴϴ<DDB4> .
g_pSPErrorCheckManager - > Del ( pUpdate - > nAccountDBID ) ;
}
}
break ;
case QUERY_CHANGESTAGEUSERDATA : // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
TQChangeStageUserData * pUpdate = ( TQChangeStageUserData * ) pData ;
TAChangeStageUserData Update ;
memset ( & Update , 0 , sizeof ( TAChangeStageUserData ) ) ;
Update . nAccountDBID = pUpdate - > nAccountDBID ;
Update . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
Update . nRetCode = pWorldDB - > QueryMoveIntoNewZone ( pUpdate , Update . cRebirthCoin , Update . cPCBangRebirthCoin ) ;
if ( Update . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [ADBID:%u] [QUERY_CHANGESTAGEUSERDATA:%d] Result:%d \r \n " , pUpdate - > nAccountDBID , pUpdate - > cWorldSetID , Update . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [ADBID:%u] [QUERY_CHANGESTAGEUSERDATA:%d] pWorldDB not found \r \n " , pUpdate - > nAccountDBID , pUpdate - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Update , sizeof ( TAChangeStageUserData ) ) ;
}
break ;
case QUERY_GETCHARACTERPARTIALYBYNAME :
{
TQGetCharacterPartialyByName * pStatus = ( TQGetCharacterPartialyByName * ) pData ;
TAGetCharacterPartialy Status ;
memset ( & Status , 0 , sizeof ( Status ) ) ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . cReqType = pStatus - > cReqType ;
Status . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB ) {
Status . nRetCode = pWorldDB - > QueryGetCharacterPartialy1 ( 0 , pStatus - > wszName , & Status ) ;
if ( Status . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETCHARACTERPARTIALYBYNAME:%d] Result:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , 0 , 0 , L " [ADBID:%u] [QUERY_GETCHARACTERPARTIALYBYNAME:%d] pWorldDB not found \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( TAGetCharacterPartialy ) ) ;
}
break ;
case QUERY_GETCHARACTERPARTIALYBYDBID :
{
TQGetCharacterPartialyByDBID * pStatus = ( TQGetCharacterPartialyByDBID * ) pData ;
TAGetCharacterPartialy Status ;
memset ( & Status , 0 , sizeof ( Status ) ) ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . cReqType = pStatus - > cReqType ;
Status . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB ) {
Status . nRetCode = pWorldDB - > QueryGetCharacterPartialy1 ( pStatus - > biCharacterDBID , NULL , & Status ) ;
if ( Status . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [ADBID:%u] [QUERY_GETCHARACTERPARTIALYBYDBID:%d] Result:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
}
else {
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [ADBID:%u] [QUERY_GETCHARACTERPARTIALYBYDBID:%d] pWorldDB not found \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( TAGetCharacterPartialy ) ) ;
}
break ;
case QUERY_LEVEL :
{
TQLevel * pUpdate = ( TQLevel * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryModCharacterLevel ( pUpdate - > biCharacterDBID , pUpdate - > cChangeCode , pUpdate - > cLevel , pUpdate - > nChannelID , pUpdate - > nMapID ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , 0 , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_LEVEL:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
else
{
TQGetMasterAndFavorPoint TxPacket ;
memset ( & TxPacket , 0 , sizeof ( TxPacket ) ) ;
TxPacket . cThreadID = pUpdate - > cThreadID ;
TxPacket . cWorldSetID = pUpdate - > cWorldSetID ;
TxPacket . nAccountDBID = pUpdate - > nAccountDBID ;
TxPacket . cLevel = pUpdate - > cLevel ;
TxPacket . biPupilCharacterDBID = pUpdate - > biCharacterDBID ;
_wcscpy ( TxPacket . wszPupilCharName , _countof ( TxPacket . wszPupilCharName ) , pUpdate - > wszCharName , ( int ) wcslen ( pUpdate - > wszCharName ) ) ;
CDNMessageTask * pTask = m_pConnection - > GetMessageTask ( MAINCMD_MASTERSYSTEM ) ;
if ( pTask )
pTask - > OnRecvMessage ( pUpdate - > cThreadID , MAINCMD_MASTERSYSTEM , QUERY_GET_MASTERANDFAVORPOINT , reinterpret_cast < char * > ( & TxPacket ) ) ;
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_LEVEL:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_EXP :
{
TQExp * pUpdate = ( TQExp * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB )
{
nRet = pWorldDB - > QueryModCharacterExp ( pUpdate - > biCharacterDBID , pUpdate - > cChangeCode , pUpdate - > nExp , pUpdate - > nChannelID , pUpdate - > nMapID , pUpdate - > biFKey ) ;
if ( nRet ! = ERROR_NONE ) {
# if !defined( _FINAL_BUILD )
// <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> ġ<EFBFBD> <C4A1> <20> <> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> ġ<EFBFBD> <C4A1> <EFBFBD> <EFBFBD> <20> ۽<EFBFBD> <DBBD> ϴ<EFBFBD> .
if ( nRet = = 103289 )
break ;
# endif // #if !defined( _FINAL_BUILD )
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_LEVEL:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_LEVEL:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_COIN :
{
TQCoin * pCoin = ( TQCoin * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pCoin - > cWorldSetID ) ;
if ( pWorldDB ) {
INT64 biTotalCoin = 0 ;
nRet = pWorldDB - > QueryModCoin ( pCoin - > biCharacterDBID , pCoin - > cCoinChangeCode , pCoin - > biChangeKey , pCoin - > nChangeCoin , pCoin - > nChannelID , pCoin - > nMapID , biTotalCoin ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pCoin - > cWorldSetID , pCoin - > nAccountDBID , pCoin - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_COIN:%d] Query Error Ret:%d \r \n " , pCoin - > biCharacterDBID , pCoin - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pCoin - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pCoin - > cWorldSetID , pCoin - > nAccountDBID , pCoin - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_COIN:%d] pWorldDB not found \r \n " , pCoin - > biCharacterDBID , pCoin - > cWorldSetID ) ;
}
}
break ;
case QUERY_WAREHOUSECOIN :
{
TQWarehouseCoin * pUpdate = ( TQWarehouseCoin * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
INT64 biCurrentCoin = 0 , biCurrentWarehouseCoin = 0 ;
nRet = pWorldDB - > QueryModWarehouseCoin ( pUpdate - > biCharacterDBID , pUpdate - > cCoinChangeCode , pUpdate - > nChangeCoin , pUpdate - > nChannelID , pUpdate - > nMapID , biCurrentCoin , biCurrentWarehouseCoin ) ;
/*
if ( biCurrentCoin ! = pUpdate - > nTotalCoin ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , 0 , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_WAREHOUSECOIN:%d] (%d:%d) \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , biCurrentCoin , pUpdate - > nTotalCoin ) ;
}
*/
if ( biCurrentWarehouseCoin ! = pUpdate - > nTotalWarehouseCoin ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_WAREHOUSECOIN:%d] (%d:%d) \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , biCurrentWarehouseCoin , pUpdate - > nTotalWarehouseCoin ) ;
}
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_WAREHOUSECOIN:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_WAREHOUSECOIN:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_MAPINFO :
{
TQMapInfo * pUpdate = ( TQMapInfo * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
TPosition Pos = { 0 , } ;
nRet = pWorldDB - > QueryModCharacterStatus ( pUpdate - > biCharacterDBID , 120 , 0 , 0 , 0 , pUpdate - > nMapIndex , pUpdate - > nLastVillageMapIndex , pUpdate - > nLastSubVillageMapIndex , pUpdate - > cLastVillageGateNo , Pos , 0 , 0 , 0 , false , false , 0 ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_MAPINFO:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_MAPINFO:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_CASHREBIRTHCOIN :
{
TQCashRebirthCoin * pUpdate = ( TQCashRebirthCoin * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryUseCashRebirthCoin ( pUpdate - > biCharacterDBID , pUpdate - > nChannelID , pUpdate - > nMapID , pUpdate - > wszIP ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_REBIRTHCASHCOIN:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_REBIRTHCASHCOIN:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_ADDCASHREBIRTHCOIN :
{
TQAddCashRebirthCoin * pUpdate = ( TQAddCashRebirthCoin * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryAddCashRebirthCoin ( pUpdate - > biCharacterDBID , pUpdate - > nRebirthCount , pUpdate - > nRebirthPrice , pUpdate - > nRebirthCode , pUpdate - > nRebirthKey ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_ADDCASHREBIRTHCOIN:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_ADDCASHREBIRTHCOIN:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_FATIGUE :
{
TQFatigue * pUpdate = ( TQFatigue * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryModFatigue ( pUpdate ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_FATIGUE(%d):%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cFatigueTypeCode , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_FATIGUE(%d):%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cFatigueTypeCode , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_EVENTFATIGUE :
{
TQEventFatigue * pUpdate = ( TQEventFatigue * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryModEventFatigue ( pUpdate ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_EVENTFATIGUE:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_EVENTFATIGUE:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_JOB :
{
TQJob * pUpdate = ( TQJob * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryModJobCode ( pUpdate - > biCharacterDBID , pUpdate - > cJob ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_JOB:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_JOB:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_GLYPHDELAYTIME :
{
TQGlyphAttributeTime * pUpdate = ( TQGlyphAttributeTime * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryUpsEquipmentAttribute ( pUpdate - > biCharacterDBID , 20 , DBDNWorldDef : : EquipmentAttributeCode : : DelayTime , pUpdate - > nTime ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_GLYPHDELAYTIME:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_GLYPHDELAYTIME:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_GLYPHREMAINTIME :
{
TQGlyphAttributeTime * pUpdate = ( TQGlyphAttributeTime * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryUpsEquipmentAttribute ( pUpdate - > biCharacterDBID , 20 , DBDNWorldDef : : EquipmentAttributeCode : : RemainTime , pUpdate - > nTime ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_GLYPHREMAINTIME:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_GLYPHREMAINTIME:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUEST_NOTIFIER :
{
TQNotifier * pUpdate = ( TQNotifier * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB )
{
nRet = pWorldDB - > QueryModNotifier ( pUpdate - > biCharacterDBID , pUpdate - > cNotifierSlot , pUpdate - > cNotifierType , pUpdate - > nID ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUEST_NOTIFIER:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUEST_NOTIFIER:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
# if !defined(PRE_DELETE_DUNGEONCLEAR)
case QUERY_DUNGEONCLEAR :
{
TQDungeonClear * pUpdate = ( TQDungeonClear * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryUpsDungeonClear ( pUpdate - > biCharacterDBID , pUpdate - > nMapIndex , pUpdate - > cType ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_DUNGEONCLEAR:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_DUNGEONCLEAR:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
# endif // #if !defined(PRE_DELETE_DUNGEONCLEAR)
case QUERY_ETERNITYITEM :
{
TQEternityItem * pUpdate = ( TQEternityItem * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryUpsCharacterAbility ( pUpdate - > biCharacterDBID , pUpdate - > cEternityCode , pUpdate - > nEternityValue ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_ETERNITYITEM:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_ETERNITYITEM:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_CHECKFIRSTVILLAGE :
{
TQCheckFirstVillage * pUpdate = ( TQCheckFirstVillage * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryVisitFirstVillage ( pUpdate - > biCharacterDBID ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_CHECKFIRSTVILLAGE:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_CHECKFIRSTVILLAGE:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_COLOR :
{
TQColor * pUpdate = ( TQColor * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
TPosition Pos = { 0 , } ;
switch ( pUpdate - > cItemType ) {
case ITEMTYPE_HAIRDYE :
nRet = pWorldDB - > QueryModCharacterStatus ( pUpdate - > biCharacterDBID , 1 , pUpdate - > dwColor , 0 , 0 , 0 , 0 , 0 , 0 , Pos , 0 , 0 , 0 , false , false , 0 ) ;
break ;
case ITEMTYPE_EYEDYE :
nRet = pWorldDB - > QueryModCharacterStatus ( pUpdate - > biCharacterDBID , 2 , 0 , pUpdate - > dwColor , 0 , 0 , 0 , 0 , 0 , Pos , 0 , 0 , 0 , false , false , 0 ) ;
break ;
case ITEMTYPE_SKINDYE :
nRet = pWorldDB - > QueryModCharacterStatus ( pUpdate - > biCharacterDBID , 4 , 0 , 0 , pUpdate - > dwColor , 0 , 0 , 0 , 0 , Pos , 0 , 0 , 0 , false , false , 0 ) ;
break ;
}
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_COLOR:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_COLOR:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
# ifdef PRE_FIX_63822
TAColor packet ;
memset ( & packet , 0 , sizeof ( TAColor ) ) ;
packet . nAccountDBID = pUpdate - > nAccountDBID ;
packet . nRetCode = nRet ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , reinterpret_cast < char * > ( & packet ) , sizeof ( TAColor ) ) ;
# endif //#ifdef PRE_FIX_63822
}
break ;
case QUERY_REBIRTHCOIN :
{
TQRebirthCoin * pUpdate = ( TQRebirthCoin * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryModRebirthCoin ( pUpdate - > biCharacterDBID , pUpdate - > cRebirthCoin , pUpdate - > cPCBangRebirthCoin ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_REBIRTHCOIN:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_REBIRTHCOIN:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_NESTCLEARCOUNT :
{
TQNestClearCount * pUpdate = ( TQNestClearCount * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryUpsNestClear ( pUpdate - > biCharacterDBID , pUpdate - > nMapIndex , pUpdate - > cClearType ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_NESTCLEARCOUNT:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_NESTCLEARCOUNT:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_INITNESTCLEARCOUNT :
{
TQInitNestClearCount * pUpdate = ( TQInitNestClearCount * ) pData ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pUpdate - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryInitNestClearCount ( pUpdate - > biCharacterDBID ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_INITNESTCLEARCOUNT:%d] Query Error Ret:%d \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID , nRet ) ;
m_pConnection - > QueryResultError ( pUpdate - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pUpdate - > cWorldSetID , pUpdate - > nAccountDBID , pUpdate - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_INITNESTCLEARCOUNT:%d] pWorldDB not found \r \n " , pUpdate - > biCharacterDBID , pUpdate - > cWorldSetID ) ;
}
}
break ;
case QUERY_CHANGECHARACTERNAME : // ij<> <C4B3> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
{
TQChangeCharacterName * pStatus = reinterpret_cast < TQChangeCharacterName * > ( pData ) ;
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pMembershipDB & & pWorldDB )
{
TAChangeCharacterName Status ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . cWorldSetID = pStatus - > cWorldSetID ;
Status . nCharacterDBID = pStatus - > nCharacterDBID ;
Status . biItemSerial = pStatus - > biItemSerial ;
_wcscpy ( Status . wszOriginName , _countof ( Status . wszOriginName ) , pStatus - > wszOriginName , ( int ) wcslen ( pStatus - > wszOriginName ) ) ;
_wcscpy ( Status . wszCharacterName , _countof ( Status . wszCharacterName ) , pStatus - > wszCharacterName , ( int ) wcslen ( pStatus - > wszCharacterName ) ) ;
nRet = pMembershipDB - > QueryModCharacterName ( pStatus , & Status ) ;
switch ( nRet )
{
case ERROR_NONE :
{
nRet = pWorldDB - > QueryModCharacterName ( pStatus ) ;
switch ( nRet )
{
case ERROR_NONE :
break ;
default :
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > nCharacterDBID , 0 , L " [QUERY_CHANGECHARACTERNAME(World):%d Result:%d] Query Error \r \n " , pStatus - > cWorldSetID , nRet ) ;
break ;
}
}
break ;
case 101116 : // <20> ̹<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ϴ<EFBFBD> ij<> <C4B3> <EFBFBD> <EFBFBD> <20> ̸<EFBFBD> <CCB8> Դϴ<D4B4> .
break ;
default :
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > nCharacterDBID , 0 , L " [QUERY_CHANGECHARACTERNAME(Member):%d Result:%d] Query Error \r \n " , pStatus - > cWorldSetID , nRet ) ;
break ;
}
Status . nRetCode = nRet ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , reinterpret_cast < char * > ( & Status ) , sizeof ( TAChangeCharacterName ) ) ;
}
else
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > nCharacterDBID , 0 , L " [QUERY_CHANGECHARACTERNAME:%d] Member & Char DB not found \r \n " , pStatus - > cWorldSetID ) ;
}
}
break ;
case QUERY_GETLIST_ETCPOINT :
{
TQGetListEtcPoint * pStatus = reinterpret_cast < TQGetListEtcPoint * > ( pData ) ;
TAGetListEtcPoint Status ;
memset ( & Status , 0 , sizeof ( Status ) ) ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . nCharacterDBID = pStatus - > nCharacterDBID ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
Status . nRetCode = pWorldDB - > QueryGetListEtcPoint ( pStatus , & Status ) ;
if ( Status . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > nCharacterDBID , 0 , L " [ADBID:%u] [QUERY_GETLISTPOINT:%d] Result:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , reinterpret_cast < char * > ( & Status ) , sizeof ( TAGetListEtcPoint ) ) ;
}
else
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > nCharacterDBID , 0 , L " [ADBID:%u] [QUERY_GETLISTPOINT:%d] pWorldDB not found \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID ) ;
}
}
break ;
case QUERY_ADD_ETCPOINT :
{
TQAddEtcPoint * pStatus = reinterpret_cast < TQAddEtcPoint * > ( pData ) ;
TAAddEtcPoint Status ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . nRetCode = ERROR_DB ;
Status . cType = pStatus - > cType ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
Status . nRetCode = pWorldDB - > QueryAddEtcPoint ( pStatus , & Status ) ;
if ( Status . nRetCode ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [ADBID:%u] [QUERY_ADD_ETCPOINT:%d] Result:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
}
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [ADBID:%d] [QUERY_ADD_ETCPOINT:%d] WorldDB not found \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( Status ) ) ;
}
break ;
case QUERY_USE_ETCPOINT :
{
TQUseEtcPoint * pStatus = reinterpret_cast < TQUseEtcPoint * > ( pData ) ;
TAUseEtcPoint Status ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . nRetCode = ERROR_DB ;
Status . cType = pStatus - > cType ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
Status . nRetCode = pWorldDB - > QueryUseEtcPoint ( pStatus , & Status ) ;
if ( Status . nRetCode ! = ERROR_NONE )
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [ADBID:%u] [QUERY_USE_ETCPOINT:%d] Result:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
m_pConnection - > QueryResultError ( pStatus - > nAccountDBID , Status . nRetCode , nMainCmd , nSubCmd ) ;
}
}
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [ADBID:%d] [QUERY_USE_ETCPOINT:%d] WorldDB not found \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( Status ) ) ;
}
break ;
case QUERY_MOD_TIMEEVENT_DATE :
{
TQModTimeEventDate * pStatus = reinterpret_cast < TQModTimeEventDate * > ( pData ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB ) {
nRet = pWorldDB - > QueryModTimeEventDate ( pStatus ) ;
if ( nRet ! = ERROR_NONE ) {
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_MOD_TIMEEVENT_DATE] Query Error Ret:%d \r \n " , pStatus - > biCharacterDBID , nRet ) ;
m_pConnection - > QueryResultError ( pStatus - > nAccountDBID , nRet , nMainCmd , nSubCmd ) ; // <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
}
}
else {
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_MOD_TIMEEVENT_DATE:%d] pWorldDB not found \r \n " , pStatus - > biCharacterDBID , pStatus - > cWorldSetID ) ;
}
break ;
}
# ifdef PRE_ADD_CHANGEJOB_CASHITEM
case QUERY_CHANGEJOBCODE :
{
TQChangeJobCode * pStatus = reinterpret_cast < TQChangeJobCode * > ( pData ) ;
TAChangeJobCode Status ;
memset ( & Status , 0 , sizeof ( Status ) ) ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
Status . nRetCode = pWorldDB - > QueryChangeJobCode ( pStatus - > biCharacterDBID , pStatus - > nChannelID , pStatus - > nMapID , pStatus - > nFirstJobIDBefore , pStatus - > nFirstJobIDAfter ,
pStatus - > nSecondJobIDBefore , pStatus - > nSecondJobIDAfter , 2 , Status . wSkillPoint , Status . wTotalSkillPoint ) ;
}
else
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_CHANGEJOBCODE:%d] pWorldDB not found \r \n " , pStatus - > biCharacterDBID , pStatus - > cWorldSetID ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( Status ) ) ;
}
break ;
# endif // #ifdef PRE_ADD_CHANGEJOB_CASHITEM
case QUERY_GETLIST_VARIABLERESET :
{
TQGetListVariableReset * pStatus = reinterpret_cast < TQGetListVariableReset * > ( pData ) ;
TAGetListVariableReset Status ;
memset ( & Status , 0 , sizeof ( Status ) ) ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . nRetCode = ERROR_DB ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
Status . nRetCode = pWorldDB - > QueryGetListVariableReset ( pStatus , & Status ) ;
}
else
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_GETLIST_VARIABLERESET:%d] pWorldDB not found \r \n " , pStatus - > biCharacterDBID , pStatus - > cWorldSetID ) ;
}
int iSize = sizeof ( Status ) - sizeof ( Status . Data ) + Status . cCount * sizeof ( Status . Data [ 0 ] ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , reinterpret_cast < char * > ( & Status ) , iSize ) ;
break ;
}
case QUERY_MOD_VARIABLERESET :
{
TQModVariableReset * pStatus = reinterpret_cast < TQModVariableReset * > ( pData ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
int nRetCode = ERROR_DB ;
if ( pWorldDB )
{
nRetCode = pWorldDB - > QueryModVariableReset ( pStatus ) ;
}
else
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_MOD_VARIABLERESET:%d] pWorldDB not found \r \n " , pStatus - > biCharacterDBID , pStatus - > cWorldSetID ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʿ<EFBFBD> <CABF> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Ŷ<EFBFBD> ε<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ΰ<EFBFBD> <CEB0> <EFBFBD> Disconnect ó<> <C3B3> <EFBFBD> <EFBFBD> <20> ʿ<EFBFBD> <CABF> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ȣ <> <C8A3>
if ( nRetCode ! = ERROR_NONE )
m_pConnection - > QueryResultError ( pStatus - > nAccountDBID , nRetCode , nMainCmd , nSubCmd ) ;
break ;
}
case QUERY_CHANGE_SKILLPAGE :
{
TQChangeSkillPage * pStatus = reinterpret_cast < TQChangeSkillPage * > ( pData ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
int nRetCode = ERROR_DB ;
TPosition Pos = { 0 , } ;
if ( pWorldDB )
{
pStatus - > cSkillPage + + ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 1<> <31> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ̶<EFBFBD> <CCB6> <EFBFBD>
nRetCode = pWorldDB - > QueryModCharacterStatus ( pStatus - > biCharacterDBID , 65536 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , Pos , 0 , 0 , 0 , false , false , pStatus - > cSkillPage ) ;
}
else
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_CHANGE_SKILLPAGE:%d] pWorldDB not found \r \n " , pStatus - > biCharacterDBID , pStatus - > cWorldSetID ) ;
}
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ʿ<EFBFBD> <CABF> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> Ŷ<EFBFBD> ε<EFBFBD> <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ΰ<EFBFBD> <CEB0> <EFBFBD> Disconnect ó<> <C3B3> <EFBFBD> <EFBFBD> <20> ʿ<EFBFBD> <CABF> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> ȣ <> <C8A3>
if ( nRetCode ! = ERROR_NONE )
m_pConnection - > QueryResultError ( pStatus - > nAccountDBID , nRetCode , nMainCmd , nSubCmd ) ;
}
break ;
# if defined(PRE_ADD_DOORS_PROJECT)
case QUERY_SAVE_CHARACTER_ABILITY :
{
TQSaveCharacterAbility * pStatus = reinterpret_cast < TQSaveCharacterAbility * > ( pData ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
int nRetCode = ERROR_DB ;
if ( pWorldDB )
nRetCode = pWorldDB - > QuerySaveCharacterAbility ( pStatus ) ;
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%lld] [QUERY_SAVE_CHARACTER_ABILITY:%d] pWorldDB not found \r \n " , pStatus - > biCharacterDBID , pStatus - > cWorldSetID ) ;
}
break ;
# endif
# if defined( PRE_ADD_TOTAL_LEVEL_SKILL )
case QUERY_GET_TOTALSKILLLEVEL :
{
TQGetTotalLevelSkill * pStatus = reinterpret_cast < TQGetTotalLevelSkill * > ( pData ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
int nRetCode = ERROR_DB ;
TAGetTotalLevelSkill Status ;
memset ( & Status , 0 , sizeof ( Status ) ) ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
if ( pWorldDB )
nRetCode = pWorldDB - > QueryGetTotalSkillLevel ( pStatus , & Status ) ;
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%d] [QUERY_GET_TOTALSKILLLEVEL:%d] Query Error Ret:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , nRetCode ) ;
if ( nRetCode = = ERROR_NONE )
{
nRetCode = pWorldDB - > QueryGetTotalSkillList ( pStatus , & Status ) ;
}
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( Status ) ) ;
}
break ;
case QUERY_ADD_TOTALSKILLLEVEL :
{
TQAddTotalLevelSkill * pStatus = reinterpret_cast < TQAddTotalLevelSkill * > ( pData ) ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
int nRetCode = ERROR_DB ;
if ( pWorldDB )
nRetCode = pWorldDB - > QueryAddTotalSkill ( pStatus ) ;
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%d] [QUERY_GET_TOTALSKILLLEVEL:%d] Query Error Ret:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , nRetCode ) ;
}
break ;
# endif
# ifdef PRE_ADD_PRESET_SKILLTREE
case QUERY_GET_SKILLPRESET_LIST :
{
TQGetSKillPreSetList * pStatus = ( TQGetSKillPreSetList * ) pData ;
TAGetSKillPreSetList Status ;
memset ( & Status , 0 , sizeof ( TAGetSKillPreSetList ) ) ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
Status . nRetCode = ERROR_DB ;
int nTotalCount = 0 ;
for ( int i = 0 ; i < SKILLPRESETMAX ; i + + )
Status . SKillIndex [ i ] . cIndex = i ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
if ( pWorldDB - > QueryGetSKillPresetIndexList ( pStatus , & Status ) ! = ERROR_NONE )
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%d] [QueryGetSKillPresetIndexList:%d] Query Error Ret:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
else
{
for ( int i = 0 ; i < SKILLPRESETMAX ; i + + )
{
if ( wcslen ( Status . SKillIndex [ i ] . wszSetName ) < = 0 ) continue ;
int nRet = pWorldDB - > QueryGetSKillPresetList ( pStatus , Status . SKillIndex [ i ] . cIndex , & Status . SKills [ nTotalCount ] , Status . SKillIndex [ i ] . cCount ) ;
if ( nRet ! = ERROR_NONE )
{
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%d] [QueryGetSKillPresetList:%d] Query Error Ret:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
Status . nRetCode = nRet ;
nTotalCount = 0 ;
break ;
}
nTotalCount + = Status . SKillIndex [ i ] . cCount ;
if ( nTotalCount > = SKILLMAX * SKILLPRESETMAX )
{
_DANGER_POINT ( ) ;
break ;
}
}
}
}
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%d] [QUERY_GET_SKILLPRESET_LIST:%d] Query Error Ret:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( Status ) - sizeof ( Status . SKills ) + ( sizeof ( TSkillSetPartialData ) * nTotalCount ) ) ;
}
break ;
case QUERY_ADD_SKILLPRESET :
{
TQAddSkillPreSet * pStatus = ( TQAddSkillPreSet * ) pData ;
TAAddSkillPreSet Status ;
memset ( & Status , 0 , sizeof ( TAAddSkillPreSet ) ) ;
Status . nRetCode = ERROR_DB ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
Status . nRetCode = pWorldDB - > QueryAddSkillPreset ( pStatus ) ;
}
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%d] [QUERY_ADD_SKILLPRESET:%d] Query Error Ret:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( Status ) ) ;
}
break ;
case QUERY_DEL_SKILLPRESET :
{
TQDelSkillPreSet * pStatus = ( TQDelSkillPreSet * ) pData ;
TADelSkillPreSet Status ;
memset ( & Status , 0 , sizeof ( TADelSkillPreSet ) ) ;
Status . nRetCode = ERROR_DB ;
Status . nAccountDBID = pStatus - > nAccountDBID ;
pWorldDB = g_SQLConnectionManager . FindWorldDB ( nThreadID , pStatus - > cWorldSetID ) ;
if ( pWorldDB )
{
Status . nRetCode = pWorldDB - > QueryDelSkillPreset ( pStatus ) ;
}
else
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , pStatus - > biCharacterDBID , 0 , L " [CDBID:%d] [QUERY_ADD_SKILLPRESET:%d] Query Error Ret:%d \r \n " , pStatus - > nAccountDBID , pStatus - > cWorldSetID , Status . nRetCode ) ;
m_pConnection - > AddSendData ( nMainCmd , nSubCmd , ( char * ) & Status , sizeof ( Status ) ) ;
}
break ;
# endif //#ifdef PRE_ADD_PRESET_SKILLTREE
# if defined( PRE_ADD_NEWCOMEBACK )
case QUERY_MOD_COMEBACKFLAG : // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> (<28> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <20> ̵<EFBFBD> <20> <> <EFBFBD> <EFBFBD> ) (GA, VI <20> <> <EFBFBD> <EFBFBD> )
{
TQModComebackFlag * pStatus = reinterpret_cast < TQModComebackFlag * > ( pData ) ;
pMembershipDB = g_SQLConnectionManager . FindMembershipDB ( nThreadID ) ;
if ( pMembershipDB ) {
int nRetCode = pMembershipDB - > QueryModComebackFlag ( pStatus - > nAccountDBID , pStatus - > bRewardComeback ) ;
if ( ERROR_NONE ! = nRetCode ) {
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , 0 , 0 , L " [ADBID:%d] [QUERY_MOD_COMEBACKFLAG] Query Error Result:%d \r \n " , pStatus - > nAccountDBID , nRetCode ) ;
}
}
else {
g_Log . Log ( LogType : : _ERROR , pStatus - > cWorldSetID , pStatus - > nAccountDBID , 0 , 0 , L " [ADBID:%d] [QUERY_MOD_COMEBACKFLAG] Query not found \r \n " , pStatus - > nAccountDBID ) ;
}
}
break ;
# endif
}
}