Jump to content

zhenya`

Members
  • Posts

    23
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by zhenya`

  1. where is a part for unapply? this is a bug which can produce boss and mobs freeze
  2. You can implement warden with 1 module or collect modules with keys. Function in every module different from another. you can get new rc4 keys from client memory;) and on this way you can avoid ModuleSpecificHash(..)
  3. ACE library not found! DiamondCore cannot be compiled? wtf?
  4. warden 2 is comming ;( please close this thread, because it will outday at update 3.3.5
  5. warden only detect injected dlls in wow.exe,lua,mod mpq,drivers .. if application direct write something in memory except some constants addresses which warden check, warden will not detect it..
  6. MaNGOS::NearestAssistCreatureInCreatureRangeCheck u_check(this, getVictim(), radius); change to MaNGOS::NearestAssistCreatureInCreatureRangeCheck u_check(getVictim(), radius); for 0-12
  7. after restart server it would be fixed... i catch this with uptime > 2 days
  8. Map::loaded (this=0x0 this=0x0 something bad happend..
  9. try to change if( ihit->missCondition == SPELL_MISS_NONE ) to if( (*ihit).missCondition == SPELL_MISS_NONE )
  10. interesting crash revision last 0.12 (gdb) where #0 0x00002b0841384fb5 in raise () from /lib/libc.so.6 #1 0x00002b0841386bc3 in abort () from /lib/libc.so.6 #2 0x00002b084137dfa9 in __assert_fail () from /lib/libc.so.6 #3 0x000000000052c3f2 in InstanceSave::SaveToDB (this=0x2b089bd3a860) at ../../../src/game/InstanceSaveMgr.cpp:162 #4 0x000000000052c718 in InstanceSaveManager::AddInstanceSave ( this=0x14ce180, mapId=<value optimized out>, instanceId=562, difficulty=1 '\\001', resetTime=1237348800, canReset=true, load=false) at ../../../src/game/InstanceSaveMgr.cpp:104 #5 0x000000000057f46e in InstanceMap::Add (this=0x2b0888444f00, player=0x2b086e1ed8d0) at ../../../src/game/Map.cpp:1727 #6 0x000000000073e27b in WorldSession::HandleMoveWorldportAckOpcode ( this=0x2b0868ebe870) at ../../../src/game/MovementHandler.cpp:82 #7 0x00000000006dc73b in WorldSession::Update (this=0x2b0868ebe870) at ../../../src/game/WorldSession.cpp:206 #8 0x00000000006d1dbf in World::UpdateSessions (this=0xb2a130, diff=163) at ../../../src/game/World.cpp:2631 #9 0x00000000006d5838 in World::Update (this=0xb2a130, diff=163) at ../../../src/game/World.cpp:1486 #10 0x00000000004d602d in WorldRunnable::run (this=<value optimized out>) at ../../../src/mangosd/WorldRunnable.cpp:60 #11 0x00002b084077aa68 in ZThread::ThreadImpl::Dispatch (parent=0xb06500, impl=0x2b084fe4c080, task= (gdb) f 3 #3 0x000000000052c3f2 in InstanceSave::SaveToDB (this=0x2b089bd3a860) at ../../../src/game/InstanceSaveMgr.cpp:162 162 assert(map->IsDungeon()); (gdb) list 157 std::string data; 158 159 Map *map = MapManager::Instance().FindMap(m_instanceid, GetMapId()); 160 if(map) 161 { 162 assert(map->IsDungeon()); 163 InstanceData *iData = ((InstanceMap *)map)->GetInstanceData(); 164 if(iData && iData->Save()) 165 { 166 data = iData->Save(); (gdb) p m_instanceid $1 = 562 (gdb) p m_mapid $2 = 556 562 is arena mapid why it here? Map *map = MapManager::Instance().FindMap(m_instanceid, GetMapId()); m_instanceid==instanceid? why FindMap(m_instanceid, GetMapId());? Map* MapManager::FindMap(uint32 mapid, uint32 instanceId) may be Map *map = MapManager::Instance().FindMap(GetMapId(),m_instanceid);
  11. chat gmtickets social auction mail
  12. 8) access to the world database perform all game server on their own may fail. because how to synchronisation between game servers? :-D
  13. btw fear have same effect with using AI()->AttackStart(victim); mob sometimes freezes... and doesn`t do nothing..
  14. 17:47 <@Zor> No, not CORBA. 17:47 <@Zor> But ACE+TAO? Yes. 17:47 <@Zor> (TAO is a ACE-based CORBA framework)
  15. i think maps isn`t very slow part of project...
  16. database with struct for all types additional conditions is bigger than associative array... may be it`s good idea may be not.
  17. more easy to understand code.. diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index fb66848..d6931d9 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -83,6 +83,11 @@ const CriteriaCastSpellRequirement AchievementGlobalMgr::m_criteriaCastSpellRequ {6662, 31261, 0, 0} }; +const uint32 AchievIdByClass[MAX_CLASSES] = +{ 0, 459, 465 , 462, 458, 464, 461, 467, 460, 463, 0, 466 }; +const uint32 AchievIdByRace[MAX_RACES] = +{ 0, 1408, 1410, 1407, 1409, 1413, 1411, 1404, 1412, 0, 1405, 1406 }; + AchievementMgr::AchievementMgr(Player *player) { m_player = player; @@ -600,29 +605,12 @@ bool AchievementMgr::IsCompletedCriteria(AchievementCriteriaEntry const* achieve switch(achievementCriteria->requiredType) { case ACHIEVEMENT_CRITERIA_TYPE_REACH_LEVEL: - if(achievement->ID == 467 && GetPlayer()->getClass() != CLASS_SHAMAN || - achievement->ID == 466 && GetPlayer()->getClass() != CLASS_DRUID || - achievement->ID == 465 && GetPlayer()->getClass() != CLASS_PALADIN || - achievement->ID == 464 && GetPlayer()->getClass() != CLASS_PRIEST || - achievement->ID == 463 && GetPlayer()->getClass() != CLASS_WARLOCK || - achievement->ID == 462 && GetPlayer()->getClass() != CLASS_HUNTER || - achievement->ID == 461 && GetPlayer()->getClass() != CLASS_DEATH_KNIGHT || - achievement->ID == 460 && GetPlayer()->getClass() != CLASS_MAGE || - achievement->ID == 459 && GetPlayer()->getClass() != CLASS_WARRIOR || - achievement->ID == 458 && GetPlayer()->getClass() != CLASS_ROGUE || - - achievement->ID == 1404 && GetPlayer()->getRace() != RACE_GNOME || - achievement->ID == 1405 && GetPlayer()->getRace() != RACE_BLOODELF || - achievement->ID == 1406 && GetPlayer()->getRace() != RACE_DRAENEI || - achievement->ID == 1407 && GetPlayer()->getRace() != RACE_DWARF || - achievement->ID == 1408 && GetPlayer()->getRace() != RACE_HUMAN || - achievement->ID == 1409 && GetPlayer()->getRace() != RACE_NIGHTELF || - achievement->ID == 1410 && GetPlayer()->getRace() != RACE_ORC || - achievement->ID == 1411 && GetPlayer()->getRace() != RACE_TAUREN || - achievement->ID == 1412 && GetPlayer()->getRace() != RACE_TROLL || - achievement->ID == 1413 && GetPlayer()->getRace() != RACE_UNDEAD_PLAYER ) - return false; - return progress->counter >= achievementCriteria->reach_level.level; + { + if (AchievIdByClass[GetPlayer()->getClass()] == achievement->ID || + AchievIdByRace[GetPlayer()->getRace()] == achievement->ID) + return progress->counter >= achievementCriteria->reach_level.level; + return false; + } case ACHIEVEMENT_CRITERIA_TYPE_BUY_BANK_SLOT: return progress->counter >= achievementCriteria->buy_bank_slot.numberOfSlots; case ACHIEVEMENT_CRITERIA_TYPE_KILL_CREATURE:
×
×
  • Create New...

Important Information

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. Privacy Policy Terms of Use