diff --git a/Client/Client/GlobalScript/Quest/QuestList.cpp b/Client/Client/GlobalScript/Quest/QuestList.cpp index f87c8bb..aa0c729 100644 --- a/Client/Client/GlobalScript/Quest/QuestList.cpp +++ b/Client/Client/GlobalScript/Quest/QuestList.cpp @@ -616,6 +616,11 @@ static void Event_MonsterDrop(int nAmount, int nItemID) lpEventNode->m_fPosZ = 0.0f; lpEventNode->m_strWord = NULL; + // Add debug log for item drop event (English) + char logMsg[128]; + sprintf(logMsg, "[ITEM] Item dropped: ItemID=%d, Amount=%d\n", nItemID, nAmount); + OutputDebugStringA(logMsg); + if (bFalseEvent) g_QuestList.m_lpTriggerNode->m_lstFalseEvent.push_back(lpEventNode); else @@ -926,7 +931,7 @@ BOOL CQuestList::Load(const char *strQuestScriptFile) _SE_RegisterFunction(Script, QuestAward, T_VOID, "QuestAward", T_STRING, 0); _SE_RegisterFunction(Script, QuestSkillPointBonus, T_VOID, "QuestSkillPointBonus", T_INT, 0); _SE_RegisterFunction(Script, QuestCancelItemDel, T_VOID, "QuestCancelItemDel", T_BOOL, 0); - // ¾îºô¸®Æ¼ ½Ã½ºÅÛ + // �����Ƽ �ý��� _SE_RegisterFunction(Script, QuestAbilityPoint, T_VOID, "QuestAbilityPoint", T_INT, 0); @@ -978,7 +983,7 @@ unsigned long QuestNode::CheckQuest(unsigned long dwLevel, unsigned long dwFame, unsigned long count = 0; unsigned long i = 0; - // ¼öÇàÇÒ ¼ö ÀÖ´Â ±¹ÀûÀÎÁö üũ + // ������ �� �ִ� �������� üũ bool bEnableQuest = false ; if ( 0 == m_usNation ) { @@ -1004,22 +1009,22 @@ unsigned long QuestNode::CheckQuest(unsigned long dwLevel, unsigned long dwFame, if ( !bEnableQuest ) { - // ±¹ÀûÀÌ ¸ÂÁö ¾Ê´Â´Ù. + // ������ ���� �ʴ´�. return QuestNode::RES_MISMATCH_NATION ; } if ( !(m_dwClass & (0x00000001 << (dwClass - 1))) ) { - // Ŭ·¡½º°¡ ¸ÂÁö ¾Ê´Â´Ù. + // Ŭ������ ���� �ʴ´�. return QuestNode::RES_MISMATCH_CLASS ; } - // ÀÌ¹Ì ÇÑ Äù½ºÆ®ÀÎÁö °Ë»ç¿Í ¼±°á Äù½ºÆ®¸¦ Çß´ÂÁö °Ë»ç + // �̹� �� ����Ʈ���� �˻�� ���� ����Ʈ�� �ߴ��� �˻� for (unsigned long t = 0; t < wNumCompleted ; t++) { if (lstCompleted[t] == m_wQuestID) { - // ÀÌ¹Ì ÇÑ Äù½ºÆ®ÀÌ´Ù. + // �̹� �� ����Ʈ�̴�. return QuestNode::RES_ALREADY_TAKEN ; } } @@ -1028,7 +1033,7 @@ unsigned long QuestNode::CheckQuest(unsigned long dwLevel, unsigned long dwFame, { if (lstQuestList[t] == m_wQuestID) { - // Áö±Ý Çϰí ÀÖ´Â Äù½ºÆ®ÀÌ´Ù. + // ���� �ϰ� �ִ� ����Ʈ�̴�. return QuestNode::RES_ALREADY_TAKEN ; } } @@ -1046,7 +1051,7 @@ unsigned long QuestNode::CheckQuest(unsigned long dwLevel, unsigned long dwFame, if ( !bCompletePriorQuest ) { - // ¼±°á Äù½ºÆ®¸¦ ÇÏÁö ¾Ê¾Ò´Ù. + // ���� ����Ʈ�� ���� �ʾҴ�. return QuestNode::RES_NOT_COMPLETE_PRIOR_QUEST ; } } @@ -1055,42 +1060,42 @@ unsigned long QuestNode::CheckQuest(unsigned long dwLevel, unsigned long dwFame, { if (m_wMinLevel <= dwLevel && dwLevel <= m_wMaxLevel) { - // Äù½ºÆ®¸¦ ÇÒ ¼ö ÀÖ´Ù. + // ����Ʈ�� �� �� �ִ�. return QuestNode::RES_SUCCESS ; } if ( dwLevel > m_wMaxLevel ) { - // ¼öÇà °¡´ÉÇÑ ÃÖ°í ·¹º§º¸´Ù ³ô´Ù. + // ���� ������ �ְ� �������� ����. return QuestNode::RES_HIGH_THAN_MAX_LEVEL ; } if ( dwLevel + 10 <= m_wMinLevel ) { - // ¼öÇà °¡´ÉÇÑ ÃÖÀú ·¹º§º¸´Ù 10 ·¹º§ ÀÌ»ó ³·´Ù. + // ���� ������ ���� �������� 10 ���� �̻� ����. return QuestNode::RES_10_LOW_THAN_MIN_LEVEL ; } - // ·¹º§¿¡ Á» ³·´Ù. + // ������ �� ����. return QuestNode::RES_LOW_LEVEL ; } if(m_dwMinFame != 0 && m_dwMaxFame != 0) { - // ¸í¼ºÃ¼Å© + // ����üũ if (m_dwMinFame <= dwFame && dwFame <= m_dwMaxFame) { - // Äù½ºÆ®¸¦ ÇÒ ¼ö ÀÖ´Ù. + // ����Ʈ�� �� �� �ִ�. return QuestNode::RES_SUCCESS ; } if ( dwFame > m_dwMaxFame ) { - // ¼öÇà °¡´ÉÇÑ ÃÖ°í ·¹º§º¸´Ù ³ô´Ù. + // ���� ������ �ְ� �������� ����. return QuestNode::RES_HIGH_THAN_MAX_FAME ; } - // ¸í¼ºÀÌ ³·´Ù + // ������ ���� return QuestNode::RES_LOW_FAME; } diff --git a/Client/Client/RYLClient/EventHandler/GameHandler.cpp b/Client/Client/RYLClient/EventHandler/GameHandler.cpp index 4361717..13cdf01 100644 --- a/Client/Client/RYLClient/EventHandler/GameHandler.cpp +++ b/Client/Client/RYLClient/EventHandler/GameHandler.cpp @@ -32,14 +32,14 @@ #include "RYLProfile.h" /* -// Rodin : Å×½ºÆ® ÄÚµå #1 +// Rodin : �׽�Ʈ �ڵ� #1 #include "../GUITextEdit.h" #include "RYLChattingDlg.h" #include "GMMemory.h" */ -// °ÔÀÓ¼­¹ö À̺¥Æ® Çڵ鷯 +// ���Ӽ��� �̺�Ʈ �ڵ鷯 CGameEventHandler::CGameEventHandler() { @@ -57,7 +57,7 @@ int CGameEventHandler::OnOpen(int iErrorCode) CRYLGameData* pGame = CRYLGameData::Instance() ; CRYLNetworkData* pNetworkData = CRYLNetworkData::Instance(); - // µé°í ÀÖ´Â ¾ÆÀÌÅÛ »èÁ¦. + // ��� �ִ� ������ ����. if (pGame->m_lpPickItem) { delete pGame->m_lpPickItem; pGame->m_lpPickItem = 0; } pGame->DeleteAllFieldItem(); @@ -89,10 +89,14 @@ int CGameEventHandler::OnClose() int CGameEventHandler::OnDispatch(PktBase* lpPktBase, INET_Addr& peerAddr) { unsigned long dwCmd = lpPktBase->GetCmd(); + // Debug log for packet dispatch + char logMsg[128]; + sprintf(logMsg, "[PACKET] Dispatch: Cmd=0x%02lx, Len=%d\n", dwCmd, lpPktBase->GetLen()); + OutputDebugStringA(logMsg); /* - // Rodin : Å×½ºÆ® ÄÚµå #1 - // => °ÔÀÓ ¼­¹ö·ÎºÎÅÍ ¹ÞÀº ÆÐŶÀÇ Ä¿¸Çµå¸¦ Âï¾îÁØ´Ù. + // Rodin : �׽�Ʈ �ڵ� #1 + // => ���� ������� ���� ��Ŷ�� Ŀ�ǵ带 ����ش�. if (0x2f != dwCmd && 0x3d != dwCmd && 0x49 != dwCmd) @@ -105,7 +109,7 @@ int CGameEventHandler::OnDispatch(PktBase* lpPktBase, INET_Addr& peerAddr) if (dwCmd == CmdCompressedPacket) { - // µ¹¸é¼­ ÀüºÎ ó¸®ÇØÁØ´Ù. + // ���鼭 ���� ó�����ش�. char* szPacketPos = reinterpret_cast(lpPktBase + 1); char* szPacketEnd = reinterpret_cast(lpPktBase) + lpPktBase->GetLen(); @@ -151,20 +155,20 @@ int CGameEventHandler::OnDispatch(PktBase* lpPktBase, INET_Addr& peerAddr) { if(0 == (find->m_dwIgnoreStatus & BIT(CRYLGameData::Instance()->m_dwClientMode))) { - //by Hades Kang ¿¹¿ÜÀûÀÎ Cmd°¡ ÀÖ´Ù¸é ¿©±â¼­ ó¸® ÇØ¾ß ÇÒµí. + //by Hades Kang �������� Cmd�� �ִٸ� ���⼭ ó�� �ؾ� �ҵ�. ClientSocket::SetNSFlagOff( dwCmd ); find->m_fnEvent(this, lpPktBase); } } } - // rc¸¦ °¡Áö°í ÆÐŶ ó¸® ¼º°ø ¿©ºÎ¸¦ ÆÄ¾Ç. - if(CRYLNetworkData::Instance()->m_dwNetworkError == 1) //1 = ¼­¹ö ¿¡·¯ + // rc�� ������ ��Ŷ ó�� ���� ���θ� �ľ�. + if(CRYLNetworkData::Instance()->m_dwNetworkError == 1) //1 = ���� ���� { CRYLMessageBox *lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[296]); - // edith 2009.01.29 Server Error Modal Á¦°Å - // °ÔÀÓÁß ¾Ë¼ö¾ø´Â ¿¡·¯ Áï Server Error°¡ ¶ß°ÔµÇ¸é ¿òÁ÷Àϼö ¾ø¾î¼­ ÁװԵǹǷΠ¿òÁ÷Àϼö ÀÖ°Ô ¼öÁ¤. + // edith 2009.01.29 Server Error Modal ���� + // ������ �˼����� ���� �� Server Error�� �߰ԵǸ� �����ϼ� ��� �װԵǹǷ� �����ϼ� �ְ� ����. lpMessageBox->SetModal(FALSE); } diff --git a/Client/Client/RYLClient/EventHandler/GameProcess/LoginoutProcess.cpp b/Client/Client/RYLClient/EventHandler/GameProcess/LoginoutProcess.cpp index 455f29d..daf987e 100644 --- a/Client/Client/RYLClient/EventHandler/GameProcess/LoginoutProcess.cpp +++ b/Client/Client/RYLClient/EventHandler/GameProcess/LoginoutProcess.cpp @@ -95,8 +95,8 @@ GAME_EVENT_FUNC(ParseCharLogin) &cRealmWarFlag, &cRealmPoint, &cTacticsFlag, - &dwPlayTime, // Ãß°¡. - &lPremiumTime, // ÇÁ¸®¹Ì¾ö¼­ºñ½º Ãß°¡ + &dwPlayTime, // �߰�. + &lPremiumTime, // �����̾����� �߰� &iPremiumType, &pGame->m_csStatus.m_Info, &pGame->m_csStatus.m_Skill, @@ -118,7 +118,8 @@ GAME_EVENT_FUNC(ParseCharLogin) if (0 == CRYLNetworkData::Instance()->m_dwNetworkError) { - // Broadcast µ¥ÀÌÅ͸¦ ÃʱâÈ­ÇÑ´Ù. + OutputDebugStringA("[GAME] Login successful\n"); + // Broadcast �����͸� �ʱ�ȭ�Ѵ�. g_ClientCellMgr.Clear(); GRYLTimer.m_dwStartTime = timeGetTime() ; @@ -130,11 +131,11 @@ GAME_EVENT_FUNC(ParseCharLogin) CRYLCommunityData::Instance()->m_bCheckRelation = bCheckRelation ; pGame->m_vecStartPosition.x = Pos.LastPoint.fPointX * 100.0f; - // edith 2009.05.19 ·Î±×Àνà À§¿¡¼­ ij¸¯ÅÍ ¶³¾îÁö´Â°Å ¼öÁ¤. + // edith 2009.05.19 �α��ν� ������ ij���� �������°� ����. pGame->m_vecStartPosition.y = (Pos.LastPoint.fPointY+2.0f) * 100.0f; pGame->m_vecStartPosition.z = Pos.LastPoint.fPointZ * 100.0f; - // edith 2009.05.19 ³ôÀ̰¡ 1¹ÌÅÍ ÀÌÇϸé 10¹ÌÅÍ·Î ¹Ù²Þ. + // edith 2009.05.19 ���̰� 1���� ���ϸ� 10���ͷ� �ٲ�. if(pGame->m_vecStartPosition.y < 100.0f) pGame->m_vecStartPosition.y = 1000.0f; @@ -144,7 +145,7 @@ GAME_EVENT_FUNC(ParseCharLogin) pGame->m_cTempAdminFlag = cAdminFlag; - // Àӽ÷Π±â¾ïÇØµÒ.. ³ªÁß¿¡ SelfCreature ¿¡ °ªÀ» ¼¼ÆÃÇØÁØ´Ù. + // �ӽ÷� ����ص�.. ���߿� SelfCreature �� ���� �������ش�. pGame->m_cTempGuildWarFlag = cGuildWarFlag; pGame->m_cTempRealmWarFlag = cRealmWarFlag; pGame->m_cTempRealmPoint = cRealmPoint; @@ -157,7 +158,7 @@ GAME_EVENT_FUNC(ParseCharLogin) CRYLGameData::Instance()->m_cChangeNameCount = cNameChangeCount; - // Àåºñ ¾ÆÀÌÅÛ + // ��� ������ unsigned short wBufferSize = 0; while(wBufferSize < wEquipSize) { @@ -175,7 +176,7 @@ GAME_EVENT_FUNC(ParseCharLogin) } } - // Àκ¥ ¾ÆÀÌÅÛ + // �κ� ������ wBufferSize = 0; while(wBufferSize < wInvenSize) { @@ -190,7 +191,7 @@ GAME_EVENT_FUNC(ParseCharLogin) pGame->m_csStatus.AddInventoryItem(lpItem, FALSE); } - // Extra ¾ÆÀÌÅÛ + // Extra ������ wBufferSize = 0; while(wBufferSize < wExtraSize) { @@ -213,7 +214,7 @@ GAME_EVENT_FUNC(ParseCharLogin) break; } } - // Àӽà Àκ¥Å丮 + // �ӽ� �κ��丮 wBufferSize = 0; while( wBufferSize < wTempInvenSize ) { @@ -242,7 +243,7 @@ GAME_EVENT_FUNC(ParseCharLogin) } } - // Exchange ¾ÆÀÌÅÛ + // Exchange ������ wBufferSize = 0; while(wBufferSize < wExchangeSize) { @@ -347,17 +348,17 @@ GAME_EVENT_FUNC(ParseCharLogin) CRYLMessageBox *lpMessageBox; switch(CRYLNetworkData::Instance()->m_dwNetworkError) { - case 2: //2 = µ¥ÀÌÅÍ ¾ò±â ½ÇÆÐ + case 2: //2 = ������ ��� ���� lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[307]); break; - case 4: //4 = ÀÌ¹Ì Á¢¼ÓÁß + case 4: //4 = �̹� ������ lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[308]); break; - case 24: // Æ÷ÀÎÆ® Ä«µå »ç¿ëÀÚ°¡ ¾Æ´Ô + case 24: // ����Ʈ � ����ڰ� �ƴ� lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[445]); break; @@ -433,8 +434,8 @@ GAME_EVENT_FUNC(ParseCharMoveZone) } else { - // edith 2008.07.08 1°³ ä³Î¸¸ ÀÖ´Â ¼­¹ö¸¦ °ËÃâÇÏ´Â ·ÎÁ÷. ÇöÀç 8, 16¹ø¸¸ »ç¿ëÇϰí À־ ´Ù Áö¿î´Ù. - // edith 2009.07.21 Á¸ÀÌ Ãß°¡µÆÀ¸´Ï Ãß 17, 18¹ø Á¸ Ãß°¡ + // edith 2008.07.08 1�� ä�θ� �ִ� ������ �����ϴ� ����. ���� 8, 16���� ����ϰ� �־ �� �����. + // edith 2009.07.21 ���� �߰������� �� 17, 18�� �� �߰� if (CRYLNetworkData::Instance()->m_dwNextZone == 8 || CRYLNetworkData::Instance()->m_dwNextZone == 16 || CRYLNetworkData::Instance()->m_dwNextZone == 17 || CRYLNetworkData::Instance()->m_dwNextZone == 18) { @@ -468,29 +469,29 @@ GAME_EVENT_FUNC(ParseCharMoveZone) CRYLMessageBox *lpMessageBox; switch(CRYLNetworkData::Instance()->m_dwNetworkError) { - case 1: //1 = ±¹°¡Àü¿¡ ±Í¼ÓµÈ »óÅ + case 1: //1 = �������� �ͼӵ� ���� lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[388]); break; - case 3: //3 = Á¸ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ½. + case 3: //3 = ���� �������� ����. lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[482]); break; - case 5: //5 = ¼¼¼ÇÀÌ ¿­·Á ÀÖÁö ¾ÊÀ½ + case 5: //5 = ������ ���� ���� ���� lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[388]); break; // ichabod code - // 6 error : ¹èƲ±×¶ó¿îµå ÀοøÁ¦ÇÑÀ¸·Î ÀÎÇÑ ·Î±×ÀÎ Á¦ÇÑ. + // 6 error : ��Ʋ�׶��� ��������� ���� ��� ����. case 6: lpMessageBox = new CRYLMessageBox; lpMessageBox->Create( CRYLStringTable::m_strString[1581]); break; // hackermz code - // 7 error : ·¹º§Á¦ÇÑÀ¸·Î ÀÎÇÑ ·Î±×ÀÎ Á¦ÇÑ. + // 7 error : ������������ ���� ��� ����. case 7: lpMessageBox = new CRYLMessageBox; lpMessageBox->Create( CRYLStringTable::m_strString[4120]); @@ -520,18 +521,18 @@ GAME_EVENT_FUNC(ParseServerZone) pGame->FadeIn(); pGame->m_bSelectChar = TRUE; - // LagreMap ´Ý±â + // LagreMap �ݱ� CRYLGameScene* pGameScene = static_cast( CRYLSceneManager::Instance()->FindScene( GAME_SCENE ) ) ; pGameScene->GetLargeMapDlg()->SetVisible( FALSE ) ; - // ä³Î ´Ý±â + // � �ݱ� CRYLCharacterSelectScene* pCharacterSelectScene = static_cast( CRYLSceneManager::Instance()->FindScene( CHARACTERSELECT_SCENE ) ) ; pCharacterSelectScene->GetChannelDlg()->SetVisible( FALSE ) ; g_pClientSocket->SetStatusFlag(NS_SERVERMOVE); - // Disconnect() ÇÏ°í ¿Ï·áµÇ¸é ¿¬°á + // Disconnect() �ϰ� �Ϸ�Ǹ� ���� g_pClientSocket->Disconnect(ClientSocket::GameEventHandler); ClientNet::CClientEventHandler* lpGameHandler = CGameEventHandler::Create(); @@ -552,17 +553,17 @@ GAME_EVENT_FUNC(ParseServerZone) CRYLMessageBox *lpMessageBox; switch(CRYLNetworkData::Instance()->m_dwNetworkError) { - case 2: // 2 = ij¸¯ÅÍ Á¸ÀÌ À߸ø µÇ¾î ÀÖ½À´Ï´Ù. + case 2: // 2 = ij���� ���� �߸� �Ǿ� �ֽ��ϴ�. lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[389]); break; - case 4: // 4 = ÀοøÀÌ Ãʰú + case 4: // 4 = ��� �ʰ� lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[390]); break; - case 5: // 5 = ¼¼¼ÇÀÌ ¿­·Á ÀÖÁö ¾ÊÀ½ + case 5: // 5 = ������ ���� ���� ���� lpMessageBox = new CRYLMessageBox; lpMessageBox->Create(CRYLStringTable::m_strString[388]); break; @@ -591,7 +592,7 @@ GAME_EVENT_FUNC(ParseCSAuth) { // DWORD result1 = lpNPGameLib->Auth( dwAuthCode ) ; // AUTH 1.0 // DWORD result2 = lpNPGameLib->Auth2( &authCode2 ) ; // AUTH 2.0 - // edith 2009.08.11 °ÔÀÓ°¡µå 2.5 ¾÷±×·¹À̵å + // edith 2009.08.11 ���Ӱ��� 2.5 ���׷��̵� DWORD result1 = 0; DWORD result2 = lpNPGameLib->Auth2( &authCode2 ) ; // AUTH 2.0 /* diff --git a/Client/Client/RYLClient/ItemInstance.cpp b/Client/Client/RYLClient/ItemInstance.cpp index 7d78038..8d0fdf4 100644 --- a/Client/Client/RYLClient/ItemInstance.cpp +++ b/Client/Client/RYLClient/ItemInstance.cpp @@ -59,6 +59,16 @@ CItemInstance::CItemInstance() m_cCountCooldown = 0; m_wGrade = 0; + // Output detailed info if possible + if (m_lpItemBase) { + const Item::ItemInfo& info = m_lpItemBase->GetItemInfo(); + char logMsg[256]; + sprintf(logMsg, "[ITEM] CItemInstance created: UID=%lld, Type=%d, Name=%s, TypeName=%s\n", m_lpItemBase->GetUID(), info.m_DetailData.m_cItemType, info.m_StringData.m_szTypeName, info.m_StringData.m_szItemDescribe); + OutputDebugStringA(logMsg); + } else { + OutputDebugStringA("[ITEM] CItemInstance created\n"); + } + m_wPutX = 0; m_wPutY = 0; @@ -96,6 +106,16 @@ CItemInstance::~CItemInstance() { GM_DELETE( ( *it ) ) ; } + + // Output detailed info if possible + if (m_lpItemBase) { + const Item::ItemInfo& info = m_lpItemBase->GetItemInfo(); + char logMsg[256]; + sprintf(logMsg, "[ITEM] CItemInstance destroyed: UID=%lld, Type=%d, Name=%s, TypeName=%s\n", m_lpItemBase->GetUID(), info.m_DetailData.m_cItemType, info.m_StringData.m_szTypeName, info.m_StringData.m_szItemDescribe); + OutputDebugStringA(logMsg); + } else { + OutputDebugStringA("[ITEM] CItemInstance destroyed\n"); + } } Skill::ProtoType* CItemInstance::Render(LPDIRECT3DDEVICE8 lpD3DDevice, bool bAlterSkill ) @@ -111,13 +131,13 @@ Skill::ProtoType* CItemInstance::Render(LPDIRECT3DDEVICE8 lpD3DDevice, bool bAlt { if (m_bSkill) { - // edith 2008.01.21 Äü½½·Ô Desable ¾ÆÀÌÄÜ ÀÛ¾÷ Ãß°¡ÀÛ¾÷À» ÇØÁà¾ßÇÑ´Ù. + // edith 2008.01.21 ������ Desable ������ �۾� �߰��۾��� ������Ѵ�. m_lpSprite->m_lpTexture = g_ItemStorage.GetSkillTexture(GetItemInfo().m_SpriteData.m_szSpriteName, true); if (!m_lpDSprite->m_lpTexture) { - // edith 2008.01.21 Äü½½·Ô Desable ¾ÆÀÌÄÜ ÀÛ¾÷ Ãß°¡ÀÛ¾÷À» ÇØÁà¾ßÇÑ´Ù. - // desable ÅØ½ºÃÄ + // edith 2008.01.21 ������ Desable ������ �۾� �߰��۾��� ������Ѵ�. + // desable �ؽ��� m_lpDSprite->m_lpTexture = g_ItemStorage.GetSkillTexture(GetItemInfo().m_SpriteData.m_szSpriteName, false); } } @@ -130,7 +150,7 @@ Skill::ProtoType* CItemInstance::Render(LPDIRECT3DDEVICE8 lpD3DDevice, bool bAlt CRYLSprite* lpSprite = m_lpSprite; if(m_bSkill && !m_bSkillEnable) { - // ½ºÅ³ÀÌ°í ½ºÅ³ÀÌ Deable µÇ¾îÀÖÀ½ + // ��ų�̰� ��ų�� Deable �Ǿ����� lpSprite = m_lpDSprite; } @@ -434,11 +454,17 @@ int CItemInstance::SetItemInfo(const char* lpSerializedItem_In, size_t& nParseLe GetItemInfo().m_SpriteData.m_nSpriteMaxX, GetItemInfo().m_SpriteData.m_nSpriteMaxY, NULL ) ; - std::vector m_vecSpriteEx ; + std::vector m_vecSpriteEx ; m_lpTooltip = new CGUITooltipItem; ((CGUITooltipItem *)m_lpTooltip)->SetItem(this); + // Output detailed info + const Item::ItemInfo& info = m_lpItemBase->GetItemInfo(); + char logMsg[256]; + sprintf(logMsg, "[ITEM] SetItemInfo: UID=%lld, Type=%d, Name=%s, TypeName=%s\n", m_dwItemUID, GetItemType(), info.m_StringData.m_szTypeName, info.m_StringData.m_szItemDescribe); + OutputDebugStringA(logMsg); + if (GetItemType() == Item::ItemType::POTION) { m_lCoolDownTime = 14000; @@ -625,7 +651,7 @@ BOOL CItemInstance::SetSkillInfo(unsigned short wSkillID, unsigned char cGrade, ((Item::CSkillItem *)m_lpItemBase)->SetMaxNumOrDurability(cGrade); SetNowDurability(cLevel); - // À̵𽺠Ãß°¡ + // �̵� �߰� m_wGrade = cGrade; m_lCoolDownTime = lpSkillProtoType->m_dwCoolDownTime; @@ -726,7 +752,7 @@ bool CItemInstance::GetIsEnableUpgrade(void) cItemType == Item::ItemType::SKILL_A_GUARD || cItemType == Item::ItemType::SKILL_A_ATTACK || cItemType == Item::ItemType::SKILL_A_GUN || cItemType == Item::ItemType::SKILL_A_KNIFE || - // edith 2008.01.14 edith ¾÷±×·¹ÀÌµå °¡´ÉÇÑ ¾ÆÀÌÅÛ Ãß°¡ + // edith 2008.01.14 edith ���׷��̵� ������ ������ �߰� cItemType == Item::ItemType::CON_HELM || cItemType == Item::ItemType::DEX_HELM || cItemType == Item::ItemType::CON_HEAD || cItemType == Item::ItemType::DEX_HEAD || @@ -743,7 +769,7 @@ bool CItemInstance::GetIsEnableUpgrade(void) bool CItemInstance::GetIsEnableAddOption(void) { - // edith 2008.01.14 À§¿¡ ¾÷±×·¹À̵å Ãß°¡·Î ÀÎÇØ¼­ ÁÖ¼®Ã³¸®µÊ. + // edith 2008.01.14 ���� ���׷��̵� �߰��� ���ؼ� �ּ�ó����. if (true == GetIsEnableUpgrade() // || // GetItemType() == Item::ItemType::CON_HELM || @@ -936,7 +962,7 @@ unsigned short CItemInstance::GetSkillID( bool bAlterSkill ) { const Skill::ProtoType* lpSkillBase = g_SkillMgr.GetSkillProtoType(m_lpItemBase->GetPrototypeID()); - // ¾óÅÍ³ÊÆ¼ºê ½ºÅ³ + // ���ͳ�Ƽ�� ��ų if ( 0 != lpSkillBase->m_usChildSkill ) { m_wPreProtoTypeID = lpSkillBase->m_usChildSkill; diff --git a/Client/Client/RYLClient/RYLClient.vcxproj b/Client/Client/RYLClient/RYLClient.vcxproj index 4f9b073..5e42065 100644 --- a/Client/Client/RYLClient/RYLClient.vcxproj +++ b/Client/Client/RYLClient/RYLClient.vcxproj @@ -130,7 +130,7 @@ Effect.lib;SoundLib.lib;Caldron.lib;Zalla3DBaseClass.lib;GlobalScript.lib;ScriptEngine.lib;CharacterActionControl.lib;ws2_32.lib;dsound.lib;eaxguid.lib;d3d8.lib;d3dx8.lib;dxguid.lib;dinput8.lib;shlwapi.lib;ole32.lib;wbemuuid.lib;winmm.lib;dxerr8.lib;odbc32.lib;odbccp32.lib;iphlpapi.lib;ijl15.lib;imm32.lib;../../Engine/SoundLib/vorbis_sdk/lib/ogg_static_d.lib;../../Engine/SoundLib/vorbis_sdk/lib/vorbis_static_d.lib;../../Engine/SoundLib/vorbis_sdk/lib/vorbisfile_static_d.lib;luad.lib;%(AdditionalDependencies) - F:\YouxiLand\ROW(playon)\Client.exe + F:\YouxiLand\ROW\Client.exe ../../Engine/SoundLib/vorbis_sdk/lib;../../Library/$(Configuration) LIBC;LIBCD;MSVCRT;MSVCRTD;LIBCMT;%(IgnoreSpecificDefaultLibraries) true diff --git a/Client/Client/RYLClient/RYLClient.vcxproj.user b/Client/Client/RYLClient/RYLClient.vcxproj.user index ea9194d..a7dbb60 100644 --- a/Client/Client/RYLClient/RYLClient.vcxproj.user +++ b/Client/Client/RYLClient/RYLClient.vcxproj.user @@ -5,10 +5,10 @@ WindowsLocalDebugger - F:\YouxiLand\ROW(playon)\Client.exe + F:\YouxiLand\ROW\Client.exe WindowsLocalDebugger 192.168.219.226 false - F:\YouxiLand\ROW(playon) + F:\YouxiLand\ROW \ No newline at end of file diff --git a/Client/Client/RYLClient/SkillSystem.cpp b/Client/Client/RYLClient/SkillSystem.cpp index 4d19115..4839e28 100644 --- a/Client/Client/RYLClient/SkillSystem.cpp +++ b/Client/Client/RYLClient/SkillSystem.cpp @@ -64,11 +64,11 @@ void CSkillSystem::Update() { bActive = CSceneManager::m_EffectManager.ProcessScript(scnt); - if (bActive == 2)// S - M - E ±¸Á¶ÀÇ Script À϶§ targetÀÇ ¸ö¿¡ Ãæµ¹ÇÏ´Â ¼ø°£ + if (bActive == 2)// S - M - E ������ Script �϶� target�� ���� �浹�ϴ� ���� { /* char *esf_name = NULL; esf_name = CSceneManager::m_EffectManager.GetEsfName(scnt); - if (esf_name != NULL) { //È­»ì ²ÉÈ÷´Â È¿°ú¸¦ À§ÇÑ °Í + if (esf_name != NULL) { //ȭ�� ������ ȿ���� ���� �� if (strstr(esf_name,"arrow_normal")!= NULL) { for (int cChr = 0; cChr < g_CharacterData.m_lstCharData.num; cChr++) { if (!g_CharacterData.m_lstCharData[cChr]->m_lpChrModel) continue; @@ -88,12 +88,12 @@ void CSkillSystem::Update() if (CSceneManager::m_EffectManager.CheckScript(scnt, (*it)->m_lpEffectIndex)) { - // ´ë°Å ÆÄÀÌ¾î °ü·Ã ¹ÚÈ÷´Â effect setting(ÃßÈÄ »èÁ¦ÇÑµÚ effect script ¾È¿¡ µé¾î°¡¾ß ÇÒ °ÍÀÓ) + // ��� ���̾� ���� ������ effect setting(���� �����ѵ� effect script �ȿ� ���� �� ����) char *esf_name = NULL; esf_name = CSceneManager::m_EffectManager.GetEsfName(scnt); if (esf_name != NULL) { - // È­»ì ²ÈÈ÷´Â È¿°ú¸¦ À§ÇÑ °Í + // ȭ�� ������ ȿ���� ���� �� int arrow_value = -1; if (strstr(esf_name,"A_Dfire1.esf") != NULL) { arrow_value = 1; } @@ -169,8 +169,8 @@ void CSkillSystem::Update() } } - BOOL bGod = TRUE; // ¹«Àû »óÅ - BOOL bCanDead = FALSE; // Á×Àº »ç¶÷ + BOOL bGod = TRUE; // ���� ���� + BOOL bCanDead = FALSE; // ���� ��� if (lpSkillNode->m_wSkill & 0x8000) { if (lpSkillProtoType) @@ -192,19 +192,19 @@ void CSkillSystem::Update() if (lpSkillNode->m_wSkill == 0x9502 || lpSkillNode->m_wSkill == 0x9506) { - // ÆÄÀ̾/ºí·¡½ºÆ® ½ºÅ³ »ç¿ë½Ã źȯ ¼Òºñ + // ���̾/������Ʈ ��ų ���� źȯ �Һ� unsigned short wAmmo = 4003; CItemInstance *lpItem = pGame->m_csStatus.GetInventoryItemfromID(wAmmo); if (lpItem && !ClientSocket::IsNSFlagChainChecked(CmdCharUseItem) ) { - // ¾ÆÀÌÅÛÀÌ Á¸ÀçÇϰí, ¾ÆÀÌÅÛ »ç¿ëÁßÀÌ ¾Æ´Ò °æ¿ì ¹ß»ç °¡´É + // �������� �����ϰ�, ������ ������� �ƴ� ��� �߻� ���� SendPacket::CharUseItem(g_GameSession, CRYLNetworkData::Instance()->m_dwMyChrID, CRYLNetworkData::Instance()->m_dwMyChrID, &lpItem->m_lpItemBase->GetPos()); - // ÆÄÀ̾ »ç¿ë½Ã ½ºÅ³ »ç¿ëµÇ´Â ºÎºÐ. + // ���̾ ���� ��ų ���Ǵ� �κ�. g_CharacterData.MakeSkillAttackInfo(lpSkillNode->m_dwTargetChrID, lpSkillNode->m_wSkill, lpSkillNode->m_wSkillGrade, lpSkillNode->m_cLevel, lpSkillNode->m_wNumAttack, bGod, bCanDead); @@ -214,7 +214,7 @@ void CSkillSystem::Update() { if (NULL != lpSkillNode->m_lpUseItem) { - // ½ºÅ³ ¾ÆÀÌÅÛÀ» »ç¿ëÇØ¼­ ½ºÅ³À» »ç¿ëÇÏ´Â °æ¿ì + // ��ų �������� ����ؼ� ��ų�� ����ϴ� ��� g_pClientSocket->SetStatusFlag( NS_USEITEM ) ; SendPacket::CharUseItem( g_GameSession, CRYLNetworkData::Instance()->m_dwMyChrID, lpSkillNode->m_dwTargetChrID, @@ -223,7 +223,7 @@ void CSkillSystem::Update() else { // edith - // ÀϹÝÀûÀÎ ½ºÅ³ »ç¿ë½Ã + // �Ϲ����� ��ų ���� g_CharacterData.MakeSkillAttackInfo(lpSkillNode->m_dwTargetChrID, lpSkillNode->m_wSkill, lpSkillNode->m_wSkillGrade, lpSkillNode->m_cLevel, lpSkillNode->m_wNumAttack, bGod, bCanDead); @@ -234,7 +234,7 @@ void CSkillSystem::Update() } } } - // ȰºÎºÐ¿¡ ´ëÇÑ. ½ºÅ³ ÃʱâÈ­. + // Ȱ�κп� ����. ��ų �ʱ�ȭ. pGame->m_bSkillFlag = FALSE; CRYLGameScene* pScene = (CRYLGameScene*)CRYLSceneManager::Instance()->FindScene(GAME_SCENE); @@ -250,7 +250,7 @@ void CSkillSystem::Update() lpSkillNode->m_wSkill != 0x8805 && Skill::Type::CHANT != lpSkillProtoType->m_eSkillType) { - // ForceFeedback : ÆÄÀ̾/½ºÅÚ½º/ij¸ðÇöóÁã/æƮ Á¦¿Ü ÀÏ¹Ý ½ºÅ³ »ç¿ë + // ForceFeedback : ���̾/���ڽ�/ij���ö���/æƮ ���� �Ϲ� ��ų ��� KeyControl::StartForceFeedback(2000, 2000, 1000); } } @@ -320,16 +320,17 @@ void CSkillSystem::Update() if ( !pSelfModel ) return; - int nResult = CSceneManager::GetCharacterEvent( pSelfModel, EVENT_SHOT ); + int nResult = CSceneManager::GetCharacterEvent( pSelfModel, EVENT_SHOT ); if ( nResult ) { + OutputDebugStringA("[GAME] Monster attack event triggered\n"); if ( pGame->m_lpInterface->m_dwRangedWeaponTargetChrID != 0xFFFFFFFF ) { BOOL bAttackable = FALSE; if ( pGame->m_csStatus.m_lstEquipment[ Item::EquipmentPos::WEAPON_HAND1 + pGame->m_csStatus.m_cWeaponPos ] ) - { + { unsigned long dwType = pGame->m_csStatus.m_lstEquipment[Item::EquipmentPos::WEAPON_HAND1 + pGame->m_csStatus.m_cWeaponPos]->GetItemType(); if ( pGame->m_csStatus.m_lstEquipment[ Item::EquipmentPos::SHIELD_HAND1 + pGame->m_csStatus.m_cWeaponPos ] ) @@ -339,23 +340,23 @@ void CSkillSystem::Update() switch(dwType) { case Item::ItemType::BOW: - { + { if ( dwArrowType == Item::ItemType::ARROW ) { lpSkillNode = new CSkillNode; lpSkillNode->Create( pGame->m_lpInterface->m_dwRangedWeaponTargetChrID, AtType::BOW, 0, 0, NULL ); } - } - break; + } + break; case Item::ItemType::CROSSBOW: - { + { if (dwArrowType == Item::ItemType::BOLT) { lpSkillNode = new CSkillNode; lpSkillNode->Create( pGame->m_lpInterface->m_dwRangedWeaponTargetChrID, AtType::CROSSBOW, 0, 0, NULL ); } - } + } break; } } @@ -363,8 +364,11 @@ void CSkillSystem::Update() } } - nResult = CSceneManager::GetCharacterEvent( pSelfModel, EVENT_JUST); + nResult = CSceneManager::GetCharacterEvent( pSelfModel, EVENT_JUST); + if ( nResult ) { + OutputDebugStringA("[GAME] Monster attack judgement event\n"); + } #ifdef _NEW_KEY_ if ( nResult && (g_DeviceInput.GetSkillHold() || KeyControl::IsKeyState(KeyControl::KEY_COLUM_CASTING)) ) #else @@ -384,7 +388,7 @@ void CSkillSystem::Update() if ( pSelfCreature->GetUpperActionID() + 1 == ulAction ) { - // ¾´ ½ºÅ³°ú Áö±Ý ¼±ÅÃµÈ°Ô °°Àº ½ºÅ³À϶§ Ŭ¸®¾î + // �� ��ų�� ���� ���õȰ� ���� ��ų�϶� Ŭ���� g_CharacterData.m_bComboSuccess = TRUE; if ( strcmp( lpSkill->m_szCastingFileName, "NULL" ) ) @@ -392,7 +396,7 @@ void CSkillSystem::Update() pSelfCreature->EndSkill( (char *)lpSkill->m_szCastingFileName ); } - // ½ºÅ³À» Áý¾î³Ö´Â´Ù. + // ��ų�� ����ִ´�. unsigned long ulGrade, ulLevel; ulGrade = pSelfCreature->m_ulSkillComboCount; @@ -460,7 +464,7 @@ void CSkillSystem::Update() lpSkillNode = GetNormalSkillNode(); if (!lpSkillNode) { - // ÀÏ¹Ý °ø°Ý + // �Ϲ� ���� lpSkillNode = new CSkillNode; if ( isLeftAttack ) { @@ -474,7 +478,7 @@ void CSkillSystem::Update() if (!lpSkillNode->m_bFirstAttack) { - // óÀ½ °ø°Ý À϶§ ÆÐŶÀ» º¸³½´Ù. + // ó�� ���� �϶� ��Ŷ�� ������. float fAttackRotation[6]; fAttackRotation[0] = -55.0f; fAttackRotation[1] = 30.0f; @@ -526,7 +530,7 @@ void CSkillSystem::Update() if ( lpSkillNode->m_wNumAttack <= lpSkillNode->m_wNumAttackCount || lpSkillNode->m_wSkill == 0x9305 ) { - // °ø°Ý ¼ö°¡ ³¡³µÀ» ¶§ ½ºÅ³ ³ëµå¸¦ ¾ø¾Ø´Ù. + // ���� ���� ������ �� ��ų ��带 ���ش�. for ( it = m_lstSkillNode.begin(); it != m_lstSkillNode.end(); it++ ) { if ( (*it) == lpSkillNode ) @@ -554,9 +558,9 @@ void CSkillSystem::Update() } else { - if ( bAttack && ( g_DeviceInput.GetIsLeftMousePress() || g_CharacterData.m_bAutoTargetAttack || KeyControl::IsKeyState(KeyControl::KEY_COLUM_ATTACK)) ) // ŸÀ̹ÖÀÌ ¸Â¾ÒÀ»¶§ + if ( bAttack && ( g_DeviceInput.GetIsLeftMousePress() || g_CharacterData.m_bAutoTargetAttack || KeyControl::IsKeyState(KeyControl::KEY_COLUM_ATTACK)) ) // Ÿ�̹��� �¾����� { - // °è¼Ó ÄÞº¸°¡ ´©ÀûµÈ´Ù. + // ��� �޺��� �����ȴ�. if ( pGame->m_csStatus.m_lstEquipment[ 11 + pGame->m_csStatus.m_cWeaponPos ] ) { if ( ++pSelfCreature->m_ulAttackCombo >= g_CharacterData.m_dwMaxCombo ) @@ -595,7 +599,7 @@ void CSkillSystem::Update() { (*itEffect)->m_lpEffect->SetStartPos( pSelfCreature->GetPosition()->x, pSelfCreature->GetPosition()->y, pSelfCreature->GetPosition()->z); - // ½ºÅ³ ÀÌÆåÆ® »çÀÌÁî ¼³Á¤ + // ��ų ����Ʈ ������ ���� if ( CRYLGameData::GetClientIdentity( pSelfCreature->GetCharID() ) == Creature::CT_MONSTER ) { const CMonsterMgr::MonsterProtoType *lpMonster = g_MonsterMgr.GetMonsterProtoType( pSelfCreature->GetCharID() & 0x0000FFFF ); diff --git a/Server/RylServerProject/RylServerProject.sdf b/Server/RylServerProject/RylServerProject.sdf index a9b8771..92e8724 100644 Binary files a/Server/RylServerProject/RylServerProject.sdf and b/Server/RylServerProject/RylServerProject.sdf differ diff --git a/Server/RylServerProject/RylServerProject.suo b/Server/RylServerProject/RylServerProject.suo index 623898a..a2bc1b1 100644 Binary files a/Server/RylServerProject/RylServerProject.suo and b/Server/RylServerProject/RylServerProject.suo differ