// CharCopy.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù. // #include "stdafx.h" #include "GameDBTool.h" #include "CharCopy.h" #include "GameDBTool.h" #include "GameDBToolDlg.h" #include ".\charcopy.h" // CCharCopy ´ëÈ­ »óÀÚÀÔ´Ï´Ù. IMPLEMENT_DYNAMIC(CCharCopy, CDialog) CCharCopy::CCharCopy(CWnd* pParent /*=NULL*/) : CDialog(CCharCopy::IDD, pParent) , m_CharID(_T("")) , m_TargetID(_T("")) { } CCharCopy::~CCharCopy() { } void CCharCopy::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); DDX_Text(pDX, IDC_CID, m_CharID); DDX_Text(pDX, IDC_TARGETID, m_TargetID); } BOOL CCharCopy::OnInitDialog() { CDialog::OnInitDialog(); m_CharID.Format("%d", m_CID); UpdateData(FALSE); return TRUE; } BEGIN_MESSAGE_MAP(CCharCopy, CDialog) ON_BN_CLICKED(IDC_FILE_SAVE, OnBnClickedFileSave) ON_BN_CLICKED(IDC_DB_LOAD, OnBnClickedDbLoad) ON_BN_CLICKED(IDC_COPY_TO, OnBnClickedCopyTo) ON_WM_CTLCOLOR() END_MESSAGE_MAP() void CCharCopy::OnBnClickedFileSave() { UpdateData(); CHAR_INFOST CharInfo; // ij¸¯ÅÍ ±âº» Á¤º¸ CHAR_POS CharPos; // ij¸¯ÅÍ À§Ä¡ Á¤º¸ SKILL Skill; // ij¸¯ÅÍ ½ºÅ³ Á¤º¸ QUICK Quick; // ij¸¯ÅÍ Äü ½½·Ô EQUIP Equip; // ij¸¯ÅÍ Àåºñ INVEN Inven; // ij¸¯ÅÍ Àκ¥ EXTRA Extra; // ij¸¯ÅÍ ¿©ºÐ EXCHANGE Exchange; // ij¸¯ÅÍ ±³È¯ CHAR_INFOEX CharInfoEx; // ij¸¯ÅÍ Ãß°¡ Á¤º¸ CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp(); CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd; FileOpen *lpFileOpen = pDlgWnd->m_pFileOpen; if(lpFileOpen->SaveDlg("idump")) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] DB µ¥ÀÌÅÍ ÆÄÀÏ ±â·Ï ½ÃÀÛ"); DWORD dwWritten = 0; char DumpText[256] = ""; HANDLE hLogFile = CreateFile(lpFileOpen->GetFilePathNameFromBuffer(), GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if(hLogFile == NULL) { pDlgWnd->m_Log.LogPrint("[¾ÆÀÌÅÛ] ¾ÆÀÌÅÛ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } unsigned short usEquipView[15] = { 0, }; // ·Îµå if(!DBComponent::GameDB::GetCharInfo(CDBSingleObject::GetInstance(), m_CID, &CharInfo, usEquipView, 15)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Á¤º¸ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetCharPos(CDBSingleObject::GetInstance(), m_CID, &CharPos)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ À§Ä¡ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetCharSkill(CDBSingleObject::GetInstance(), m_CID, &Skill)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ½ºÅ³ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetQuick(CDBSingleObject::GetInstance(), m_CID, &Quick)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Äü ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetEquip(CDBSingleObject::GetInstance(), m_CID, &Equip)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àåºñ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetInven(CDBSingleObject::GetInstance(), m_CID, &Inven)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àκ¥ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetExtra(CDBSingleObject::GetInstance(), m_CID, &Extra)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ¿©ºÐ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetExchange(CDBSingleObject::GetInstance(), m_CID, &Exchange)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ±³È¯ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetCharInfoEx(CDBSingleObject::GetInstance(), m_CID, &CharInfoEx)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Ãß°¡ Á¤º¸ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } // ÀúÀå if(!WriteFile(hLogFile, &CharInfo, sizeof(CHAR_INFOST), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Á¤º¸ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &CharPos, sizeof(CHAR_POS), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ À§Ä¡ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &Skill, sizeof(SKILL), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ½ºÅ³ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &Quick, sizeof(QUICK), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Äü ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &Equip, sizeof(EQUIP), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] Àåºñ ¾ÆÀÌÅÛ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &Inven, sizeof(INVEN), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] Àκ¥ ¾ÆÀÌÅÛ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &Extra, sizeof(EXTRA), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ¿©ºÐ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &Exchange, sizeof(EXCHANGE), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ±³È¯ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!WriteFile(hLogFile, &CharInfoEx, sizeof(CHAR_INFOEX), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Ãß°¡ Á¤º¸ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] DB µ¥ÀÌÅÍ ÆÄÀÏ ±â·Ï ¼º°ø"); } } void CCharCopy::OnBnClickedDbLoad() { CHAR_INFOST CharInfo; // ij¸¯ÅÍ ±âº» Á¤º¸ CHAR_POS CharPos; // ij¸¯ÅÍ À§Ä¡ Á¤º¸ SKILL Skill; // ij¸¯ÅÍ ½ºÅ³ Á¤º¸ QUICK Quick; // ij¸¯ÅÍ Äü ½½·Ô EQUIP Equip; // ij¸¯ÅÍ Àåºñ INVEN Inven; // ij¸¯ÅÍ Àκ¥ EXTRA Extra; // ij¸¯ÅÍ ¿©ºÐ EXCHANGE Exchange; // ij¸¯ÅÍ ±³È¯ CHAR_INFOEX CharInfoEx; // ij¸¯ÅÍ Ãß°¡ Á¤º¸ CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp(); CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd; FileOpen *lpFileOpen = pDlgWnd->m_pFileOpen; if(lpFileOpen->OpenDlg()) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] DB µ¥ÀÌÅÍ ÆÄÀÏ Àб⠽ÃÀÛ"); DWORD dwWritten = 0; char DumpText[256] = ""; HANDLE hLogFile = CreateFile(lpFileOpen->GetFilePathNameFromBuffer(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(hLogFile == NULL) { pDlgWnd->m_Log.LogPrint("[¾ÆÀÌÅÛ] ¾ÆÀÌÅÛ ÆÄÀÏ Àб⠿¡·¯ ¹ß»ý. %d", GetLastError()); return; } // ÀúÀå if(!ReadFile(hLogFile, &CharInfo, sizeof(CHAR_INFOST), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Á¤º¸ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &CharPos, sizeof(CHAR_POS), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ À§Ä¡ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &Skill, sizeof(SKILL), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ½ºÅ³ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &Quick, sizeof(QUICK), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Äü ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &Equip, sizeof(EQUIP), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] Àåºñ ¾ÆÀÌÅÛ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &Inven, sizeof(INVEN), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] Àκ¥ ¾ÆÀÌÅÛ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &Extra, sizeof(EXTRA), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ¿©ºÐ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &Exchange, sizeof(EXCHANGE), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ±³È¯ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } if(!ReadFile(hLogFile, &CharInfoEx, sizeof(CHAR_INFOEX), &dwWritten, NULL)) { CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Ãß°¡ Á¤º¸ ÆÄÀÏ ±â·Ï ¿¡·¯ ¹ß»ý. %d", GetLastError()); return; } // ÀúÀå unsigned short EquipView[15] = {0,}; if(!DBComponent::GameDB::UpdateCharInfo(CDBSingleObject::GetInstance(), m_CID, &CharInfo, EquipView, 15)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Á¤º¸ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateCharPos(CDBSingleObject::GetInstance(), m_CID, &CharPos)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ À§Ä¡ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateCharSkill(CDBSingleObject::GetInstance(), m_CID, &Skill)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ½ºÅ³ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateQuick(CDBSingleObject::GetInstance(), m_CID, &Quick)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Äü ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateEquip(CDBSingleObject::GetInstance(), m_CID, &Equip)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àåºñ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateInven(CDBSingleObject::GetInstance(), m_CID, &Inven)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àκ¥ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateExtra(CDBSingleObject::GetInstance(), m_CID, &Extra)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ¿©ºÐ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateExchange(CDBSingleObject::GetInstance(), m_CID, &Exchange)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ±³È¯ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateCharInfoEx(CDBSingleObject::GetInstance(), m_CID, &CharInfoEx)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Ãß°¡ Á¤º¸ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } CloseHandle(hLogFile); pDlgWnd->m_Log.LogPrint("[¾ÆÀÌÅÛ] DB µ¥ÀÌÅÍ ÆÄÀÏ ±â·Ï ¼º°ø"); } } void CCharCopy::OnBnClickedCopyTo() { UpdateData(); CHAR_INFOST CharInfo; // ij¸¯ÅÍ ±âº» Á¤º¸ CHAR_POS CharPos; // ij¸¯ÅÍ À§Ä¡ Á¤º¸ SKILL Skill; // ij¸¯ÅÍ ½ºÅ³ Á¤º¸ QUICK Quick; // ij¸¯ÅÍ Äü ½½·Ô EQUIP Equip; // ij¸¯ÅÍ Àåºñ INVEN Inven; // ij¸¯ÅÍ Àκ¥ EXTRA Extra; // ij¸¯ÅÍ ¿©ºÐ EXCHANGE Exchange; // ij¸¯ÅÍ ±³È¯ CHAR_INFOEX CharInfoEx; // ij¸¯ÅÍ Ãß°¡ Á¤º¸ CGameDBToolApp* pAppWnd = (CGameDBToolApp*)AfxGetApp(); CGameDBToolDlg* pDlgWnd = (CGameDBToolDlg*)pAppWnd->m_pMainWnd; pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ µ¥ÀÌÅÍ ¿Å±â±â ½ÃÀÛ"); unsigned short usEquipView[15] = { 0, }; // ·Îµå if(!DBComponent::GameDB::GetCharInfo(CDBSingleObject::GetInstance(), m_CID, &CharInfo, usEquipView, 15)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Á¤º¸ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetCharPos(CDBSingleObject::GetInstance(), m_CID, &CharPos)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ À§Ä¡ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetCharSkill(CDBSingleObject::GetInstance(), m_CID, &Skill)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ½ºÅ³ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetQuick(CDBSingleObject::GetInstance(), m_CID, &Quick)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Äü ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetEquip(CDBSingleObject::GetInstance(), m_CID, &Equip)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àåºñ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetInven(CDBSingleObject::GetInstance(), m_CID, &Inven)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àκ¥ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetExtra(CDBSingleObject::GetInstance(), m_CID, &Extra)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ¿©ºÐ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetExchange(CDBSingleObject::GetInstance(), m_CID, &Exchange)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ±³È¯ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::GetCharInfoEx(CDBSingleObject::GetInstance(), m_CID, &CharInfoEx)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Ãß°¡ Á¤º¸ ÀбâÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } // ÀúÀå DWORD TargetCID = atoi(m_TargetID.GetBuffer()); if(!DBComponent::GameDB::UpdateCharInfo(CDBSingleObject::GetInstance(), TargetCID, &CharInfo, usEquipView, 15)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Á¤º¸ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateCharPos(CDBSingleObject::GetInstance(), TargetCID, &CharPos)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ À§Ä¡ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateCharSkill(CDBSingleObject::GetInstance(), TargetCID, &Skill)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ½ºÅ³ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateQuick(CDBSingleObject::GetInstance(), TargetCID, &Quick)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Äü ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateEquip(CDBSingleObject::GetInstance(), TargetCID, &Equip)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àåºñ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateInven(CDBSingleObject::GetInstance(), TargetCID, &Inven)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Àκ¥ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateExtra(CDBSingleObject::GetInstance(), TargetCID, &Extra)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ¿©ºÐ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateExchange(CDBSingleObject::GetInstance(), TargetCID, &Exchange)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ ±³È¯ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } if(!DBComponent::GameDB::UpdateCharInfoEx(CDBSingleObject::GetInstance(), TargetCID, &CharInfoEx)) { pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ Ãß°¡ Á¤º¸ ¾²±âÁß¿¡ ¿À·ù°¡ ¹ß»ý. %s", CDBSingleObject::GetInstance().GetErrorString()); } pDlgWnd->m_Log.LogPrint("[Ä«ÇÇ] ij¸¯ÅÍ µ¥ÀÌÅÍ ¿Å±â±â ¼º°ø"); } HBRUSH CCharCopy::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: ¿©±â¼­ DCÀÇ Æ¯¼ºÀ» º¯°æÇÕ´Ï´Ù. HBRUSH m_hBrush; m_hBrush = CreateSolidBrush(RGB( 255, 169, 128)); switch( nCtlColor ){ case CTLCOLOR_DLG: pDC->SetBkColor(RGB( 255, 255, 255)); pDC->SetTextColor(RGB( 0, 0, 0)); return m_hBrush; break; case CTLCOLOR_STATIC: pDC->SetBkColor(RGB( 255, 169, 128)); pDC->SetTextColor(RGB( 0, 0, 0)); return m_hBrush; break; default: return hbr; break; } }