Jump to content

DevSheeN

Inactive Member
  • Posts

    19
  • Joined

  • Last visited

  • Feedback

    0%

About DevSheeN

Informations

  • Gender
    Male

Recent Profile Visitors

1114 profile views

DevSheeN's Achievements

Apprentice

Apprentice (3/16)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

12

Reputation

  1. M2 Download Center Download Here ( Internal ) Difference File Coded By DevSheeN 0008AF92: E8 90 0008AF93: 39 90 0008AF94: AB 90 0008AF95: F9 90 0008AF96: FF 90 0008B08E: E8 90 0008B08F: 3D 90 0008B090: AA 90 0008B091: F9 90 0008B092: FF 90
  2. M2 Download Center Download Here ( Internal ) This difference file has been created by DevSheeN game-34083 00056148: 01 00 00057370: 01 00
  3. This difference file has been created by DeVSheeN game34083-cube 0041EC92: 43 90 0041EC93: 55 90 0041EC94: 42 90 0041EC95: 45 90 0041EC96: 20 90 0041EC97: 43 90 0041EC98: 4F 90 0041EC99: 4D 90 0041EC9A: 4D 90 0041EC9B: 41 90 0041EC9C: 4E 90 0041EC9D: 44 90 0041EC9E: 20 90 0041EC9F: 3C 90 0041ECA0: 25 90 0041ECA1: 73 90 0041ECA2: 3E 90 0041ECA3: 3A 90 0041ECA4: 20 90 0041ECA5: 25 90 0041ECA6: 73 90 0041ECA7: 00 90 0041ECA8: 55 90 0041ECA9: 73 90 0041ECAA: 61 90 0041ECAB: 67 90 0041ECAC: 65 90 0041ECAD: 3A 90 0041ECAE: 20 90 0041ECAF: 63 90 0041ECB0: 75 90 0041ECB1: 62 90 0041ECB2: 65 90 0041ECB3: 20 90 0041ECB4: 6F 90 0041ECB5: 70 90 0041ECB6: 65 90 0041ECB7: 6E 90 0041ECB8: 00 90 0041ECB9: 20 90 0041ECBA: 20 90 0041ECBB: 20 90 0041ECBC: 20 90 0041ECBD: 20 90 0041ECBE: 20 90 0041ECBF: 20 90 0041ECC0: 63 90 0041ECC1: 75 90 0041ECC2: 62 90 0041ECC3: 65 90 0041ECC4: 20 90 0041ECC5: 63 90 0041ECC6: 6C 90 0041ECC7: 6F 90 0041ECC8: 73 90 0041ECC9: 65 90 0041ECCA: 00 90 0041ECCB: 20 90 0041ECCC: 20 90 0041ECCD: 20 90 0041ECCE: 20 90 0041ECCF: 20 90 0041ECD0: 20 90 0041ECD1: 20 90 0041ECD2: 63 90 0041ECD3: 75 90 0041ECD4: 62 90 0041ECD5: 65 90 0041ECD6: 20 90 0041ECD7: 6C 90 0041ECD8: 69 90 0041ECD9: 73 90 0041ECDA: 74 90 0041ECDB: 00 90 0041ECDC: 20 90 0041ECDD: 20 90 0041ECDE: 20 90 0041ECDF: 20 90 0041ECE0: 20 90 0041ECE1: 20 90 0041ECE2: 20 90 0041ECE3: 63 90 0041ECE4: 75 90 0041ECE5: 62 90 0041ECE6: 65 90 0041ECE7: 20 90 0041ECE8: 63 90 0041ECE9: 61 90 0041ECEA: 6E 90 0041ECEB: 63 90 0041ECEC: 65 90 0041ECED: 6C 90 0041ECEE: 00 90 0041ECEF: 20 90 0041ECF0: 20 90 0041ECF1: 20 90 0041ECF2: 20 90 0041ECF3: 20 90 0041ECF4: 20 90 0041ECF5: 20 90 0041ECF6: 63 90 0041ECF7: 75 90 0041ECF8: 62 90 0041ECF9: 65 90 0041ECFA: 20 90 0041ECFB: 6D 90 0041ECFC: 61 90 0041ECFD: 6B 90 0041ECFE: 65 90 0041ECFF: 20 90 0041ED00: 5B 90 0041ED01: 61 90 0041ED02: 6C 90 0041ED03: 6C 90 0041ED04: 5D 90 0041ED05: 00 90 0041ED06: 63 90 0041ED07: 75 90 0041ED08: 62 90 0041ED09: 65 90 0041ED0A: 20 90 0041ED0B: 6D 90 0041ED0C: 61 90 0041ED0D: 6B 90 0041ED0E: 65 90 0041ED0F: 20 90 0041ED10: 73 90 0041ED11: 75 90 0041ED12: 63 90 0041ED13: 63 90 0041ED14: 65 90 0041ED15: 73 90 0041ED16: 73 90 0041ED17: 00 90
  4. Open ClientManager.cpp And Search : int CClientManager::Process() And Full Code Blog Replace int CClientManager::Process() { int pulses; if (!(pulses = thecore_idle())) return 0; while (pulses--) { ++thecore_heart->pulse; /* //30분마다 변경 if (((thecore_pulse() % (60 * 30 * 10)) == 0)) { g_iPlayerCacheFlushSeconds = MAX(60, rand() % 180); g_iItemCacheFlushSeconds = MAX(60, rand() % 180); sys_log(0, "[SAVE_TIME]Change saving time item %d player %d", g_iPlayerCacheFlushSeconds, g_iItemCacheFlushSeconds); } */ if (!(thecore_heart->pulse % thecore_heart->passes_per_sec)) { if (g_test_server) { if (!(thecore_heart->pulse % thecore_heart->passes_per_sec * 10)) { pt_log("[%9d] return %d/%d/%d/%d async %d/%d/%d/%d", thecore_heart->pulse, CDBManager::instance().CountReturnQuery(SQL_PLAYER), CDBManager::instance().CountReturnResult(SQL_PLAYER), CDBManager::instance().CountReturnQueryFinished(SQL_PLAYER), CDBManager::instance().CountReturnCopiedQuery(SQL_PLAYER), CDBManager::instance().CountAsyncQuery(SQL_PLAYER), CDBManager::instance().CountAsyncResult(SQL_PLAYER), CDBManager::instance().CountAsyncQueryFinished(SQL_PLAYER), CDBManager::instance().CountAsyncCopiedQuery(SQL_PLAYER)); if ((thecore_heart->pulse % 50) == 0) sys_log(0, "[%9d] return %d/%d/%d async %d/%d/%d", thecore_heart->pulse, CDBManager::instance().CountReturnQuery(SQL_PLAYER), CDBManager::instance().CountReturnResult(SQL_PLAYER), CDBManager::instance().CountReturnQueryFinished(SQL_PLAYER), CDBManager::instance().CountAsyncQuery(SQL_PLAYER), CDBManager::instance().CountAsyncResult(SQL_PLAYER), CDBManager::instance().CountAsyncQueryFinished(SQL_PLAYER)); } } else { pt_log("[%9d] return %d/%d/%d/%d async %d/%d/%d%/%d", thecore_heart->pulse, CDBManager::instance().CountReturnQuery(SQL_PLAYER), CDBManager::instance().CountReturnResult(SQL_PLAYER), CDBManager::instance().CountReturnQueryFinished(SQL_PLAYER), CDBManager::instance().CountReturnCopiedQuery(SQL_PLAYER), CDBManager::instance().CountAsyncQuery(SQL_PLAYER), CDBManager::instance().CountAsyncResult(SQL_PLAYER), CDBManager::instance().CountAsyncQueryFinished(SQL_PLAYER), CDBManager::instance().CountAsyncCopiedQuery(SQL_PLAYER)); if ((thecore_heart->pulse % 50) == 0) sys_log(0, "[%9d] return %d/%d/%d async %d/%d/%d", thecore_heart->pulse, CDBManager::instance().CountReturnQuery(SQL_PLAYER), CDBManager::instance().CountReturnResult(SQL_PLAYER), CDBManager::instance().CountReturnQueryFinished(SQL_PLAYER), CDBManager::instance().CountAsyncQuery(SQL_PLAYER), CDBManager::instance().CountAsyncResult(SQL_PLAYER), CDBManager::instance().CountAsyncQueryFinished(SQL_PLAYER)); } CDBManager::instance().ResetCounter(); DWORD dwCount = CClientManager::instance().GetUserCount(); g_dwUsageAvg += dwCount; g_dwUsageMax = MAX(g_dwUsageMax, dwCount); memset(&thecore_profiler[0], 0, sizeof(thecore_profiler)); if (!(thecore_heart->pulse % (thecore_heart->passes_per_sec * 3600))) UsageLog(); m_iCacheFlushCount = 0; //플레이어 플러쉬 UpdatePlayerCache(); //아이템 플러쉬 UpdateItemCache(); //로그아웃시 처리- 캐쉬셋 플러쉬 UpdateLogoutPlayer(); // MYSHOP_PRICE_LIST UpdateItemPriceListCache(); // END_OF_MYSHOP_PRICE_LIST CGuildManager::instance().Update(); CPrivManager::instance().Update(); marriage::CManager::instance().Update(); } if (!(thecore_heart->pulse % (thecore_heart->passes_per_sec * 5))) { ItemAwardManager::instance().RequestLoad(); } if (!(thecore_heart->pulse % (thecore_heart->passes_per_sec * 10))) { /* char buf[4096 + 1]; int len itertype(g_query_info.m_map_info) it; ///////////////////////////////////////////////////////////////// buf[0] = '0'; len = 0; it = g_query_info.m_map_info.begin(); int count = 0; while (it != g_query_info.m_map_info.end()) { len += snprintf(buf + len, sizeof(buf) - len, "%2d %3dn", it->first, it->second); count += it->second; it++; } pt_log("QUERY:n%s-------------------- MAX : %dn", buf, count); g_query_info.Reset(); */ pt_log("QUERY: MAIN[%d] ASYNC[%d]", g_query_count[0], g_query_count[1]); g_query_count[0] = 0; g_query_count[1] = 0; ///////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////// /* buf[0] = '0'; len = 0; it = g_item_info.m_map_info.begin(); count = 0; while (it != g_item_info.m_map_info.end()) { len += snprintf(buf + len, sizeof(buf) - len, "%5d %3dn", it->first, it->second); count += it->second; it++; } pt_log("ITEM:n%s-------------------- MAX : %dn", buf, count); g_item_info.Reset(); */ pt_log("ITEM:%dn", g_item_count); g_item_count = 0; ///////////////////////////////////////////////////////////////// } if (!(thecore_heart->pulse % (thecore_heart->passes_per_sec * 60))) // 60초에 한번 { // 유니크 아이템을 위한 시간을 보낸다. CClientManager::instance().SendTime(); } if (!(thecore_heart->pulse % (thecore_heart->passes_per_sec * 3600))) // 한시간에 한번 { CMoneyLog::instance().Save(); } } int num_events = fdwatch(m_fdWatcher, 0); int idx; CPeer * peer; for (idx = 0; idx < num_events; ++idx) // 인풋 { peer = (CPeer *) fdwatch_get_client_data(m_fdWatcher, idx); if (!peer) { if (fdwatch_check_event(m_fdWatcher, m_fdAccept, idx) == FDW_READ) { AddPeer(m_fdAccept); fdwatch_clear_event(m_fdWatcher, m_fdAccept, idx); } else { sys_err("FDWATCH: peer null in event: ident %d", fdwatch_get_ident(m_fdWatcher, idx)); } continue; } switch (fdwatch_check_event(m_fdWatcher, peer->GetFd(), idx)) { case FDW_READ: if (peer->Recv() < 0) { sys_err("Recv failed"); RemovePeer(peer); } else { if (peer == m_pkAuthPeer) if (g_log) sys_log(0, "AUTH_PEER_READ: size %d", peer->GetRecvLength()); ProcessPackets(peer); } break; case FDW_WRITE: if (peer == m_pkAuthPeer) if (g_log) sys_log(0, "AUTH_PEER_WRITE: size %d", peer->GetSendLength()); if (peer->Send() < 0) { sys_err("Send failed"); RemovePeer(peer); } break; case FDW_EOF: RemovePeer(peer); break; default: sys_err("fdwatch_check_fd returned unknown result"); RemovePeer(peer); break; } } #ifdef __WIN32__ if (_kbhit()) { int c = _getch(); switch (c) { case 0x1b: // Esc return 0; // shutdown break; default: break; } } #endif VCardProcess(); return 1; }
  5. case USE_ADD_ATTRIBUTE : if (item2->GetAttributeSetIndex() == -1) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성을 변경할 수 없는 아이템입니다.")); return false; } if (item2->GetAttributeCount() < 4) { // 연재가 특수처리 // 절대로 연재가 추가 안될거라 하여 하드 코딩함. if (item->GetVnum() == 71152 || item->GetVnum() == 76024) { if ((item2->GetType() == ITEM_WEAPON) || (item2->GetType() == ITEM_ARMOR && item2->GetSubType() == ARMOR_BODY)) { bool bCanUse = true; for (int i = 0; i < ITEM_LIMIT_MAX_NUM; ++i) { if (item2->GetLimitType(i) == LIMIT_LEVEL && item2->GetLimitValue(i) > 40) { bCanUse = false; break; } } if (false == bCanUse) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("적용 레벨보다 높아 사용이 불가능합니다.")); break; } } else { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("무기와 갑옷에만 사용 가능합니다.")); break; } } char buf[21]; snprintf(buf, sizeof(buf), "%u", item2->GetID()); if (number(1, 100) <= 100) { item2->AddAttribute(); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 성공하였습니다.")); int iAddedIdx = item2->GetAttributeCount() - 1; LogManager::instance().ItemLog( GetPlayerID(), item2->GetAttributeType(iAddedIdx), item2->GetAttributeValue(iAddedIdx), item->GetID(), "ADD_ATTRIBUTE_SUCCESS", buf, GetDesc()->GetHostName(), item->GetOriginalVnum()); } else { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("속성 추가에 실패하였습니다.")); LogManager::instance().ItemLog(this, item, "ADD_ATTRIBUTE_FAIL", buf); } item->SetCount(item->GetCount() - 1); } else { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("더이상 이 아이템을 이용하여 속성을 추가할 수 없습니다.")); } break;
  6. M2 Download Center Download Here ( Internal ) Hi Devs. İnvisible Fix Diff vanila Core 55170 000206EC: E8 90 000206ED: 8F 90 000206EE: 25 90 000206EF: 01 90 000206F0: 00 90 000206F1: 84 90 000206F2: C0 90 0002070C: E8 90 0002070D: CF 90 0002070E: 1B 90 0002070F: 01 90 00020710: 00 90 Backdoor Fix Diff Vanilla Core 55170 00075F88: E8 90 00075F89: 33 90 00075F8A: C7 90 00075F8B: 0E 90 00075F8C: 00 90 00075F8D: 80 90 00075F8E: 7C 90 00075F8F: 24 90 00075F90: 30 90 00075F91: 00 90 00075F92: 74 90 00075F93: 1D 90 00075F94: 80 90 00075F95: BC 90 00075F96: 24 90 00075F97: 30 90 00075F98: 01 90 00075F99: 00 90 00075F9A: 00 90 00075F9B: 00 90 00075F9C: 89 90 00075F9D: 1C 90 00075F9E: 24 90 Vanilla Core 55170 Syserr Disable Diff 003BA7F0: 53 C3 Vanilla Core 55170 Syslog Disable Diff 003BA940: 53 C3 Vanilla Core 55170 Pts Log Disable Diff 003BAA80: A1 C3 BEST Regards DevSheeN
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.