if (SymDB::Find("InitFromRoInf") != 0) DetourAttach(&(LPVOID&)originalInitFromRoInf, hookInitFromRoInf); if (SymDB::Find("ScriptCompile") != 0) DetourAttach(&(LPVOID&)originalScriptCompile, hookScriptCompile); if (SymDB::Find("OnWM_PAINT") != 0) DetourAttach(&(LPVOID&)originalOnWM_PAINT, hookOnWM_PAINT); if (SymDB::Find("WndProc") != 0) DetourAttach(&(LPVOID&)originalWndProc, hookWndProc); #pragma region CPCPacketHandler if (SymDB::Find("CPCPacketHandler::OnCDServerMessageProcess") != 0) DetourAttach(&(LPVOID&)originalCPCPacketHandler_OnCDServerMessageProcess, hookCPCPacketHandler_OnCDServerMessageProcess); if (SymDB::Find("CPCPacketHandler::DispatchPacket") != 0) DetourAttach(&(LPVOID&)originalCPCPacketHandler_DispatchPacket, hookCPCPacketHandler_DispatchPacket); if (SymDB::Find("CPCPacketHandler::OnActorInit") != 0) DetourAttach(&(LPVOID&)originalCPCPacketHandler_OnActorInit, hookCPCPacketHandler_OnActorInit); if (SymDB::Find("CPCPacketHandler::OnChat") != 0) DetourAttach(&(LPVOID&)originalCPCPacketHandler_OnChat, hookCPCPacketHandler_OnChat); if (SymDB::Find("CPCPacketHandler::OnGuildChat") != 0) DetourAttach(&(LPVOID&)originalCPCPacketHandler_OnGuildChat, hookCPCPacketHandler_OnGuildChat); if (SymDB::Find("CPCPacketHandler::OnChatParty") != 0) DetourAttach(&(LPVOID&)originalCPCPacketHandler_OnChatParty, hookCPCPacketHandler_OnChatParty); #pragma endregion #pragma region CPC if (SymDB::Find("CPC::GetParameterValue") != 0) DetourAttach(&(LPVOID&)originalCPC_GetParameterValue, hookCPC_GetParameterValue); if (SymDB::Find("CPC::SendZCMsg") != 0) DetourAttach(&(LPVOID&)originalCPC_SendZCMsg, hookCPC_SendZCMsg); if (SymDB::Find("CPC::ForceSend") != 0) DetourAttach(&(LPVOID&)originalCPC_ForceSend, hookCPC_ForceSend); if (SymDB::Find("CPC::isNotifyPosition") != 0) DetourAttach(&(LPVOID&)originalCPC_isNotifyPosition, hookCPC_isNotifyPosition); if (SymDB::Find("CPC::GetItemCount") != 0) DetourAttach(&(LPVOID&)originalCPC_GetItemCount, hookCPC_GetItemCount); if (SymDB::Find("CPC::OnNotifyMakableWeaponItemList") != 0) DetourAttach(&(LPVOID&)originalCPC_OnNotifyMakableWeaponItemList, hookCPC_OnNotifyMakableWeaponItemList); if (SymDB::Find("CPC::OnNotifyMakableMetalItemList") != 0) DetourAttach(&(LPVOID&)originalCPC_OnNotifyMakableMetalItemList, hookCPC_OnNotifyMakableMetalItemList); if (SymDB::Find("CPC::OnNotifyMakablePotionItemList") != 0) DetourAttach(&(LPVOID&)originalCPC_OnNotifyMakablePotionItemList, hookCPC_OnNotifyMakablePotionItemList); if (SymDB::Find("CPC::OnNotifyMakableNewPoisonList") != 0) DetourAttach(&(LPVOID&)originalCPC_OnNotifyMakableNewPoisonList, hookCPC_OnNotifyMakableNewPoisonList); if (SymDB::Find("CPC::OnNotifyMakableRuneItemList") != 0) DetourAttach(&(LPVOID&)originalCPC_OnNotifyMakableRuneItemList, hookCPC_OnNotifyMakableRuneItemList); #pragma endregion #pragma region CSkillTypeInfoMgr if (SymDB::Find("CSkillTypeInfoMgr::IsGuildSkill") != 0) DetourAttach(&(LPVOID&)originalCSkillTypeInfoMgr_IsGuildSkill, hookCSkillTypeInfoMgr_IsGuildSkill); #pragma endregion #pragma region CITPMgr if (SymDB::Find("CITPMgr::GetITP") != 0) DetourAttach(&(LPVOID&)originalCITPMgr_GetITP, hookCITPMgr_GetITP); if (SymDB::Find("CITPMgr::GetInventoryItemType") != 0) DetourAttach(&(LPVOID&)originalCITPMgr_GetInventoryItemType, hookCITPMgr_GetInventoryItemType); if (SymDB::Find("CITPMgr::GetItemWeight") != 0) DetourAttach(&(LPVOID&)originalCITPMgr_GetItemWeight, hookCITPMgr_GetItemWeight); #pragma endregion #pragma region CNpcEvent if (SymDB::Find("CNpcEvent::DefaultNpcFunc") != 0) DetourAttach(&(LPVOID&)originalCNpcEvent_DefaultNpcFunc, hookCNpcEvent_DefaultNpcFunc); if (SymDB::Find("CNpcEvent::FuncWarpColor") != 0) DetourAttach(&(LPVOID&)originalCNpcEvent_FuncWarpColor, hookCNpcEvent_FuncWarpColor); if (SymDB::Find("CNpcEvent::FuncCallMonster") != 0) DetourAttach(&(LPVOID&)originalCNpcEvent_FuncCallMonster, hookCNpcEvent_FuncCallMonster); if (SymDB::Find("CNpcEvent::FuncCallMonsterSecondName") != 0) DetourAttach(&(LPVOID&)originalCNpcEvent_FuncCallMonsterSecondName, hookCNpcEvent_FuncCallMonsterSecondName); if (SymDB::Find("CNpcEvent::BarterMarketItem") != 0) DetourAttach(&(LPVOID&)originalCNpcEvent_BarterMarketItem, hookCNpcEvent_BarterMarketItem); if (SymDB::Find("CNpcEvent::FuncRegSellItem") != 0) DetourAttach(&(LPVOID&)originalCNpcEvent_FuncRegSellItem, hookCNpcEvent_FuncRegSellItem); #pragma endregion #pragma region CPCItemInventoryMgr if (SymDB::Find("CPCItemInventoryMgr::MoveItem") != 0) DetourAttach(&(LPVOID&)originalCPCItemInventoryMgr_MoveItem, hookCPCItemInventoryMgr_MoveItem); if (SymDB::Find("CPCItemInventoryMgr::OnReqOpenMCStore2") != 0) DetourAttach(&(LPVOID&)originalCPCItemInventoryMgr_OnReqOpenMCStore2, hookCPCItemInventoryMgr_OnReqOpenMCStore2); if (SymDB::Find("CPCItemInventoryMgr::NotifyMYMCStoreItemInfo") != 0) DetourAttach(&(LPVOID&)originalCPCItemInventoryMgr_NotifyMYMCStoreItemInfo, hookCPCItemInventoryMgr_NotifyMYMCStoreItemInfo); #pragma endregion #pragma region CPCItemInventory if (SymDB::Find("CPCItemInventory::SearchItemByIndex") != 0) DetourAttach(&(LPVOID&)originalCPCItemInventory_SearchItemByIndex, hookCPCItemInventory_SearchItemByIndex); #pragma endregion #pragma region CCharacterMgr if (SymDB::Find("CCharacterMgr::SendMsgFromNPCServer") != 0) DetourAttach(&(LPVOID&)originalCCharacterMgr_SendMsgFromNPCServer, hookCCharacterMgr_SendMsgFromNPCServer); if (SymDB::Find("CCharacterMgr::SendMsg") != 0) DetourAttach(&(LPVOID&)originalCCharacterMgr_SendMsg, hookCCharacterMgr_SendMsg); if (SymDB::Find("CCharacterMgr::SendMsg2") != 0) DetourAttach(&(LPVOID&)originalCCharacterMgr_SendMsg2, hookCCharacterMgr_SendMsg2); if (SymDB::Find("CCharacterMgr::GetVar") != 0) DetourAttach(&(LPVOID&)originalCCharacterMgr_GetVar, hookCCharacterMgr_GetVar); #pragma endregion #pragma region CNpcEvt if (SymDB::Find("CNpcEvt::OnMsg") != 0) DetourAttach(&(LPVOID&)originalCNpcEvt_OnMsg, hookCNpcEvt_OnMsg); #pragma endregion #pragma region CItemRandomOptMgr if (SymDB::Find("CItemRandomOptMgr::Init") != 0) DetourAttach(&(LPVOID&)originalCItemRandomOptMgr_Init, hookCItemRandomOptMgr_Init); #pragma endregion #pragma region CItemRandomOptEnum if (SymDB::Find("CItemRandomOptEnum::InsertRandomOption") != 0) DetourAttach(&(LPVOID&)originalCItemRandomOptEnum_InsertRandomOption, hookCItemRandomOptEnum_InsertRandomOption); #pragma endregion #pragma region CPacketQueue if (SymDB::Find("CPacketQueue::PeekData") != 0) DetourAttach(&(LPVOID&)originalCPacketQueue_PeekData, hookCPacketQueue_PeekData); #pragma endregion #pragma region CScriptCompiler if (SymDB::Find("CScriptCompiler::StdDeclare") != 0) DetourAttach(&(LPVOID&)originalCScriptCompiler_StdDeclare, hookCScriptCompiler_StdDeclare); if (SymDB::Find("CScriptCompiler::InitItemScript") != 0) DetourAttach(&(LPVOID&)originalCScriptCompiler_InitItemScript, hookCScriptCompiler_InitItemScript); if (SymDB::Find("CScriptCompiler::InitNpcScript") != 0) DetourAttach(&(LPVOID&)originalCScriptCompiler_InitNpcScript, hookCScriptCompiler_InitNpcScript); if (SymDB::Find("CScriptCompiler::InitSkillScript") != 0) DetourAttach(&(LPVOID&)originalCScriptCompiler_InitSkillScript, hookCScriptCompiler_InitSkillScript); if (SymDB::Find("CScriptCompiler::InitBuffScript") != 0) DetourAttach(&(LPVOID&)originalCScriptCompiler_InitBuffScript, hookCScriptCompiler_InitBuffScript); if (SymDB::Find("CScriptCompiler::InitDungeonNpcScript") != 0) DetourAttach(&(LPVOID&)originalCScriptCompiler_InitDungeonNpcScript, hookCScriptCompiler_InitDungeonNpcScript); if (SymDB::Find("CScriptCompiler::LoadV2") != 0) DetourAttach(&(LPVOID&)originalCScriptCompiler_LoadV2, hookCScriptCompiler_LoadV2); #pragma endregion #pragma region CPCSkill if (SymDB::Find("CPCSkill::GetSkillLevel") != 0) DetourAttach(&(LPVOID&)originalCPCSkill_GetSkillLevel, hookCPCSkill_GetSkillLevel); if (SymDB::Find("CPCSkill::ManufactureItem") != 0) DetourAttach(&(LPVOID&)originalCPCSkill_ManufactureItem, hookCPCSkill_ManufactureItem); if (SymDB::Find("CPCSkill::IsMakableItemBySkill") != 0) DetourAttach(&(LPVOID&)originalCPCSkill_IsMakableItemBySkill, hookCPCSkill_IsMakableItemBySkill); if (SymDB::Find("CPCSkill::IsMakableItemByItem") != 0) DetourAttach(&(LPVOID&)originalCPCSkill_IsMakableItemByItem, hookCPCSkill_IsMakableItemByItem); #pragma endregion