Jump to content
M2Tec Community

Thorek

Members
  • Content count

    20
  • Posts on chatbox

    3
  • Joined

  • Last visited

  • Days Won

    3

Thorek last won the day on November 8

Thorek had the most liked content!

Community Reputation

418 M2tec Professional

About Thorek

  • Rank
    M2tec Member

Recent Profile Visitors

87 profile views
  1. Hi. One of the skills that is called: Enchanted Blade it has have bug in the code. Open char_battle.cpp Find: pAttacker->PointChange(POINT_HP, i); Replace to: pAttacker->PointChange(POINT_HP, abs(i)); btw. Sorry for my English xD
  2. Hi. If you log in to the game and start to attack with the sword, the character will be invisible until you take off the sword or use on another item. open game/char_affect.cpp Find: if (AFFECT_REVIVE_INVISIBLE != pkAff->dwType) { ComputePoints(); } Replace: if (AFFECT_REVIVE_INVISIBLE != pkAff->dwType) ComputePoints(); else UpdatePacket();
  3. Hi, if you add a system, like hide a costume, and you do not fix questflag, the game channel will be crash. Open char.cpp Find: int CHARACTER::GetQuestFlag(const std::string& flag) const { quest::CQuestManager& q = quest::CQuestManager::instance(); quest::PC* pPC = q.GetPC(GetPlayerID()); return pPC->GetFlag(flag); } void CHARACTER::SetQuestFlag(const std::string& flag, int value) { quest::CQuestManager& q = quest::CQuestManager::instance(); quest::PC* pPC = q.GetPC(GetPlayerID()); pPC->SetFlag(flag, value); } Replace on: int CHARACTER::GetQuestFlag(const std::string& flag) const { quest::CQuestManager& q = quest::CQuestManager::instance(); quest::PC* pPC = q.GetPC(GetPlayerID()); if (!pPC) return 0; return pPC->GetFlag(flag); } void CHARACTER::SetQuestFlag(const std::string& flag, int value) { quest::CQuestManager& q = quest::CQuestManager::instance(); quest::PC* pPC = q.GetPC(GetPlayerID()); if (!pPC) return; pPC->SetFlag(flag, value); }
  4. Hi, today I will show you how to decrease the time of disappearance of killed monsters. The default time for monsters to disappear is 10 seconds. So, open game / char_battle.cpp Find: m_pkDeadEvent = event_create(dead_event, pEventInfo, bImmediateDead ? 1 : PASSES_PER_SEC(10)); Where there is a number of 10, you set the time of disappearance of killed monsters.
  5. I think it was about a crash core or something similar, but I can be wrong.
  6. Hi Today i'm show you how to fix Cube System in you server. Ok, so go to: /src/cube.cpp And search: if (resultText.size() - 20 >= CHAT_MAX_LEN) Replace this function on: size_t resultsize = (resultText.size() < 20) ? (20 - resultText.size()) : (resultText.size() - 20); if (resultsize >= CHAT_MAX_LEN) { sys_err("[CubeInfo] Too long cube result list text. (NPC: %d, resultsize: %d, length: %d)", npcVNUM, resultsize, resultText.size()); resultText.clear(); resultCount = 0; } Next, find: if (materialInfoText.size() - 20 >= CHAT_MAX_LEN) Replace this function on: size_t materialInfoTextSize = materialInfoText.size() < 20 ? 20 - materialInfoText.size() : materialInfoText.size() - 20; if (materialInfoTextSize >= CHAT_MAX_LEN) { sys_err("[CubeInfo] Too long material info. (NPC: %d, requestStart: %d, requestCount: %d, length: %d)", npcVNUM, requestStartIndex, requestCount, materialInfoText.size()); } Finished.
  7. + map/index core crach fixxed ( newline ) + guild_add_member ( check is ns npc or mob ) + when player die is the hp after not negative ( Offical like ) + removed some useless syserr + can't swap equipment when inv. is full + mount backport fixx + fixed the unsigned bug ( do_war ) + material skip exploit + kick Player when use Ghostmode + kick Player when use Wallhack + Player can not use DropHack + Yangdrop EXPLOIT fixxed + Removed unused Packets + Removed all AUCTION Oh, man, you have too few corrections. J'm gonna to upload more fixes in the days on the forum. p.s. Sorry for my bad english.
  8. No, this patch is not useless. You know, I'm not putting things here that I have not tested :P
  9. if someone uses a script, throw yang is able to disable the game channel. open /src/char_item.cpp Search: bool CHARACTER::DropGold(int gold) { if (gold <= 0 || gold > GetGold()) return false; if (!CanHandleItem()) return false; if (0 != g_GoldDropTimeLimitValue) { if (get_dword_time() < m_dwLastGoldDropTime+g_GoldDropTimeLimitValue) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ľĆÁ÷ °ńµĺ¸¦ ąö¸± Ľö ľř˝Ŕ´Ď´Ů.")); return false; } } m_dwLastGoldDropTime = get_dword_time(); LPITEM item = ITEM_MANAGER::instance().CreateItem(1, gold); if (item) { PIXEL_POSITION pos = GetXYZ(); if (item->AddToGround(GetMapIndex(), pos)) { //Motion(MOTION_PICKUP); PointChange(POINT_GOLD, -gold, true); // şę¶óÁúżˇ µ·ŔĚ ľřľîÁř´Ů´Â ąö±×°ˇ ŔִµĄ, // °ˇ´ÉÇŃ ˝ĂłŞ¸żŔ Áßżˇ ÇĎłŞ´Â, // ¸ŢĹ·ÎłŞ, ÇŮŔ» ˝áĽ­ 1000żř ŔĚÇĎŔÇ µ·Ŕ» °čĽÓ ąö·Á °ńµĺ¸¦ 0Ŕ¸·Î ¸¸µé°í, // µ·ŔĚ ľřľîÁł´Ů°í şą±¸ ˝ĹĂ»ÇĎ´Â °ÍŔĎ Ľöµµ ŔÖ´Ů. // µű¶óĽ­ ±×·± °ćżě¸¦ Ŕâ±â Ŕ§ÇŘ ł·Ŕş ĽöġŔÇ °ńµĺżˇ ´ëÇŘĽ­µµ ·Î±×¸¦ ł˛±č. if (LC_IsBrazil() == true) { if (gold >= 213) LogManager::instance().CharLog(this, gold, "DROP_GOLD", ""); } else { if (gold > 1000) // õżř ŔĚ»ó¸¸ ±â·ĎÇŃ´Ů. LogManager::instance().CharLog(this, gold, "DROP_GOLD", ""); } if (false == LC_IsBrazil()) { item->StartDestroyEvent(150); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¶łľîÁř ľĆŔĚĹŰŔş %dşĐ ČÄ »ç¶óÁý´Ď´Ů."), 150/60); } else { item->StartDestroyEvent(60); ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¶łľîÁř ľĆŔĚĹŰŔş %dşĐ ČÄ »ç¶óÁý´Ď´Ů."), 1); } } Save(); return true; } return false; } Replace to: bool CHARACTER::DropGold(int gold) { return false; }
  10. if you do not fix it someone can create a guild using a script bellow 40 level. open /src/input_main.cpp search: if (ch->GetGold() < 200000) return; under add: if (ch->GetLevel() < 40) return; enjoy.
  11. Today i'm show you how to fix Ghost Hack. open /src/input_main.cpp Search: DWORD dwCurTime = get_dword_time(); Add the following code above this line: if (ch->IsPC() && ch->IsDead()) { sys_log(0, "MOVE: %s trying to move as dead", ch->GetName()); ch->Show(ch->GetMapIndex(), ch->GetX(), ch->GetY(), ch->GetZ()); ch->Stop(); return; } And repaired :]
  12. Hi, it will show you how to patch Drop Hack (If we don't fix it, someone can steal item our drop for example boss). Go to /src/char_item.cpp and then search: LPCHARACTER owner = funcFindOwnership.owner; Under this line, add: if (!owner) return false;
  13. If do not fix it, when someone use bug can put shutdown the channel through the party in the dungeon. btw. sorry for my english Okay, so open it: /src/char.cpp In function: void CHARACTER::SetParty(LPPARTY pkParty) Search: //if (m_pkDungeon && IsPC()) //SetDungeon(NULL); Replace to: if (m_pkDungeon && IsPC() && !pkParty) SetDungeon(NULL);
  14. When you enter command /war in game (and the corresponding digits) you can turn off the channel. I will show you how to prevent this Okay, so go to /src/cmd_general.cpp Search: if (type >= GUILD_WAR_TYPE_MAX_NUM) Replace to: if (type >= GUILD_WAR_TYPE_MAX_NUM || type < 0)
×