Jump to content

GriffonHeart

Members
  • Posts

    34
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by GriffonHeart

  1. Revision: 10105 Core: MaNGOS + insider42 + SD2 ACE: enable-builtin-ace CONF: CFLAGS="-O1 -march=core2 -g -mssse3 -mfpmath=sse" CXXFLAGS="-O1 -march=core2 -g -mssse3 -mfpmath=sse" OS: 2.6.34-gentoo-r1 #0 0x00007f8d9170d2d1 in ACE_Configuration_Section_Key (this=<value optimized out>, rhs=...) at ../../../../dep/ACE_wrappers/ace/Configuration.cpp:68 68 key_->add_ref (); (gdb) bt full #0 0x00007f8d9170d2d1 in ACE_Configuration_Section_Key (this=<value optimized out>, rhs=...) at ../../../../dep/ACE_wrappers/ace/Configuration.cpp:68 No locals. #1 0x00000000008c6a66 in GetValueHelper (mConf=0xca7370, name=<value optimized out>, result=...) at ../../../../src/shared/Config/Config.cpp:33 section_name = warning: can't find linker symbol for virtual table for `ACE_String_Base<char>' value warning: found `ACE_Allocator::allocator_' instead {<ACE_String_Base_Const> = {static npos = 18446744073709551615}, allocator_ = 0x7f8d91a03030, len_ = 0, buf_len_ = 0, rep_ = 0xc99e29 "", release_ = false, static NULL_String_ = 0 '\\000'} section_key = {key_ = 0x0} root_key = {key_ = 0xcb3500} i = <value optimized out> #2 0x00000000008c6b80 in Config::GetStringDefault (this=0xca72e0, name=0x94bf98 "BindIP", def=0x94be3e "0.0.0.0") at ../../../../src/shared/Config/Config.cpp:84 val = warning: can't find linker symbol for virtual table for `ACE_String_Base<char>' value warning: found `ACE_Allocator::allocator_' instead {<ACE_String_Base_Const> = {static npos = 18446744073709551615}, allocator_ = 0x7f8d91a03030, len_ = 0, buf_len_ = 0, rep_ = 0xc99e29 "", release_ = false, static NULL_String_ = 0 '\\000'} #3 0x00000000005631cb in Master::Run (this=0xcb3740) at ../../../src/mangosd/Master.cpp:319 world_thread = {m_iThreadId = 140245777360656, m_hThreadHandle = 140245777360656, m_task = 0x7f8d7cef5e30, static m_ThreadStorage = {_vptr.ACE_TSS = 0x9ca7b0, keylock_ = {lock_ = {__data = { __lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\\000' <repeats 39 times>, __align = 0}, removed_ = false}, once_ = true, key_ = 4}, static m_TpEnum = {m_priority = {0, 0, 0, 0, 0, 0, 0}}} rar_thread = 0x0 freeze_thread = 0x16fc72c0 cliThread = 0x0 soap_thread = 0x0 bind_ip = {static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x0}} pidfile = warning: can't find linker symbol for virtual table for `std::basic_string<char, std::char_traits<char>, std::allocator<char> >' value {static npos = 18446744073709551615, _M_dataplus = warning: can't find linker symbol for virtual table for `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_Alloc_hider' value {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xc80058 ""}} wsport = 3724 #4 0x00000000005626c9 in main (argc=<value optimized out>, argv=0x7fff0742de28) at ../../../src/mangosd/Main.cpp:180 cfg_file = 0x7fff0742e658 "/usr/local/mangos_PVP/bin/mangosd_PVP.conf" cmd_opts = {argc_ = 3, argv_ = 0x7fff0742de28, optind = 3, opterr = 0, optarg = 0x0, optstring_ = 0xca7200, long_only_ = 0, has_colon_ = 1, last_option_ = 0xca7250, nextchar_ = 0x0, optopt_ = 99, ordering_ = 2, nonopt_start_ = 3, nonopt_end_ = 3, long_option_ = 0x0, long_opts_ = {<ACE_Array_Base<ACE_Get_Opt::ACE_Get_Opt_Long_Option*>> = {max_size_ = 1, cur_size_ = 1, array_ = 0xca72c0, allocator_ = 0x7f8d91a03030}, <No data fields>}} option = <value optimized out> Crash sometimes after server startup
  2. I agree But do you remeber, from what MaNGOS Revision appears this bug?
  3. When I try to implement achievements in trial_of_crusader, I found bug - CheckAchievementCriteriaMeet does'nt work Can be fixed by patch (may be hack code) diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index 5a0d3ed..124195a 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -1912,6 +1912,7 @@ void AchievementGlobalMgr::LoadAchievementCriteriaRequirements() // this will allocate empty data set storage AchievementCriteriaRequirementSet& dataSet = m_criteriaRequirementMap[criteria_id]; + dataSet.SetCriteriaId(criteria_id); // counting disable criteria requirements if (data.requirementType == ACHIEVEMENT_CRITERIA_REQUIRE_DISABLED) diff --git a/src/game/AchievementMgr.h b/src/game/AchievementMgr.h index be071a2..beda615 100644 --- a/src/game/AchievementMgr.h +++ b/src/game/AchievementMgr.h @@ -186,6 +186,7 @@ struct AchievementCriteriaRequirementSet typedef std::vector<AchievementCriteriaRequirement> Storage; void Add(AchievementCriteriaRequirement const& data) { storage.push_back(data); } bool Meets(Player const* source, Unit const* target, uint32 miscvalue = 0) const; + void SetCriteriaId(uint32 id) {criteria_id = id;} private: uint32 criteria_id; Storage storage;
  4. + Allow use achievements criteria types ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET and ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2 in table achievement_criteria_requirement This is need for allow check achievements criteria in SD2 scripts For exmaple: http://ru.wowhead.com/?achievement=3798 and http://ru.wowhead.com/?achievement=3917 diff --git a/src/game/AchievementMgr.cpp b/src/game/AchievementMgr.cpp index 5a0d3ed..aeeb36e 100644 --- a/src/game/AchievementMgr.cpp +++ b/src/game/AchievementMgr.cpp @@ -93,6 +93,8 @@ bool AchievementCriteriaRequirement::IsValid(AchievementCriteriaEntry const* cri case ACHIEVEMENT_CRITERIA_TYPE_WIN_DUEL: case ACHIEVEMENT_CRITERIA_TYPE_LOOT_TYPE: case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: + case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: break; default: sLog.outErrorDb( "Table `achievement_criteria_requirement` have data for not supported criteria type (Entry: %u Type: %u), ignore.", criteria->ID, criteria->requiredType); @@ -1033,10 +1035,21 @@ void AchievementMgr::UpdateAchievementCriteria(AchievementCriteriaTypes type, ui } case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET: case ACHIEVEMENT_CRITERIA_TYPE_BE_SPELL_TARGET2: + { if (!miscvalue1 || miscvalue1 != achievementCriteria->be_spell_target.spellID) continue; + + // those requirements couldn't be found in the dbc + AchievementCriteriaRequirementSet const* data = sAchievementMgr.GetCriteriaRequirementSet(achievementCriteria); + if(!data) + continue; + + if(!data->Meets(GetPlayer(),unit)) + continue; + SetCriteriaProgress(achievementCriteria, 1, PROGRESS_ACCUMULATE); break; + } case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL: case ACHIEVEMENT_CRITERIA_TYPE_CAST_SPELL2: {
  5. Why teleport to homebind? Player must apear not at graveyard, but at the logout point
  6. I using ACE mtmaps. But what kind is more better? ACE or OpenMP?
  7. I have the same crash Can you provide patch, how to fix this?
  8. Flag save in table characters at player save or logout, but reset at player login
  9. Work nice, but flag not save after player relogin :-\\
  10. This patch for what revision? Does it works correctly after implementing per-map guid storing
  11. I started work with Wintergrasp, but I have a question. Is Wintergrasp already implemented?
  12. Somebody know, how to implement mobs on vehicle?
  13. This patch uses new in 3.1 fields unk1 and unk2. These new fields are KillCredit1 and KillCredit2 This patch will allow to remove many scripts in ACID DOWNLOAD NOW! Patch: diff --git a/src/game/Creature.h b/src/game/Creature.h index 416f747..f171dbd 100644 --- a/src/game/Creature.h +++ b/src/game/Creature.h @@ -157,8 +157,7 @@ struct CreatureInfo { uint32 Entry; uint32 HeroicEntry; - uint32 unk1; - uint32 unk2; + uint32 KillCredit[2]; uint32 DisplayID_A[2]; uint32 DisplayID_H[2]; char* Name; diff --git a/src/game/Player.cpp b/src/game/Player.cpp index f81ef2e..e3f529e 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -13384,6 +13384,16 @@ void Player::ItemRemovedQuestCheck( uint32 entry, uint32 count ) UpdateForQuestWorldObjects(); } +void Player::KilledMonster( uint32 entry1, uint32 entry2, uint32 entry3, uint64 guid ) +{ + if(entry1) + KilledMonster(entry1,guid); + if(entry2) + KilledMonster(entry2,guid); + if(entry3) + KilledMonster(entry3,guid); +} + void Player::KilledMonster( uint32 entry, uint64 guid ) { uint32 addkillcount = 1; @@ -18901,7 +18911,7 @@ bool Player::RewardPlayerAndGroupAtKill(Unit* pVictim) { // normal creature (not pet/etc) can be only in !PvP case if(pVictim->GetTypeId()==TYPEID_UNIT) - pGroupGuy->KilledMonster(pVictim->GetEntry(), pVictim->GetGUID()); + pGroupGuy->KilledMonster(pVictim->GetEntry(), ((Creature*)pVictim)->GetCreatureInfo()->KillCredit[0],((Creature*)pVictim)->GetCreatureInfo()->KillCredit[1], pVictim->GetGUID()); } } } @@ -18926,7 +18936,7 @@ bool Player::RewardPlayerAndGroupAtKill(Unit* pVictim) // normal creature (not pet/etc) can be only in !PvP case if(pVictim->GetTypeId()==TYPEID_UNIT) - KilledMonster(pVictim->GetEntry(),pVictim->GetGUID()); + KilledMonster(pVictim->GetEntry(), ((Creature*)pVictim)->GetCreatureInfo()->KillCredit[0],((Creature*)pVictim)->GetCreatureInfo()->KillCredit[1], pVictim->GetGUID()); } } return xp || honored_kill; @@ -20462,4 +20472,4 @@ void Player::BuildTeleportAckMsg( WorldPacket *data, float x, float y, float z, bool Player::HasMovementFlag( MovementFlags f ) const { return m_movementInfo.HasMovementFlag(f); -} \\ No newline at end of file +} diff --git a/src/game/Player.h b/src/game/Player.h index efe279b..9eba54f 100644 --- a/src/game/Player.h +++ b/src/game/Player.h @@ -1289,6 +1289,7 @@ class MANGOS_DLL_SPEC Player : public Unit void GroupEventHappens( uint32 questId, WorldObject const* pEventObject ); void ItemAddedQuestCheck( uint32 entry, uint32 count ); void ItemRemovedQuestCheck( uint32 entry, uint32 count ); + void KilledMonster( uint32 entry1, uint32 entry2, uint32 entry3, uint64 guid ); void KilledMonster( uint32 entry, uint64 guid ); void CastedCreatureOrGO( uint32 entry, uint64 guid, uint32 spell_id ); void TalkedToCreature( uint32 entry, uint64 guid ); diff --git a/src/game/QueryHandler.cpp b/src/game/QueryHandler.cpp index fd7846b..69be7e1 100644 --- a/src/game/QueryHandler.cpp +++ b/src/game/QueryHandler.cpp @@ -189,8 +189,8 @@ void WorldSession::HandleCreatureQueryOpcode( WorldPacket & recv_data ) data << uint32(ci->type); // CreatureType.dbc data << uint32(ci->family); // CreatureFamily.dbc data << uint32(ci->rank); // Creature Rank (elite, boss, etc) - data << uint32(ci->unk1); // new in 3.1, creature entry? - data << uint32(ci->unk2); // new in 3.1, creature entry? + data << uint32(ci->KillCredit[0]); // new in 3.1, kill credit + data << uint32(ci->KillCredit[1]); // new in 3.1, kill credit data << uint32(ci->DisplayID_A[0]); // modelid_male1 data << uint32(ci->DisplayID_H[0]); // modelid_female1 ? data << uint32(ci->DisplayID_A[1]); // modelid_male2 ? SQL: ALTER TABLE `creature_template` CHANGE COLUMN `unk1` `KillCredit1` int(11) unsigned NOT NULL default '0', CHANGE COLUMN `unk2` `KillCredit2` int(11) unsigned NOT NULL default '0'; ------------------------------------------- Cross posting from http://getmangos.ru/forum/showthread.php?t=20778
  14. vehicleid can only obtain in blizz realms, seat - id from dbc
  15. Support some vehicle (if you need) Argent tournament: UPDATE creature_template SET speed = '1.5', unit_flags = 8 WHERE entry IN (33844,33845); DELETE FROM creature_addon WHERE guid IN (SELECT guid FROM creature WHERE id IN (33844,33845)); DELETE FROM creature WHERE id IN (33844,33845); DELETE FROM vehicle_data WHERE entry in (349); INSERT INTO `vehicle_data` VALUES ('349', '24', '62544', '62575', '62960', '62552', '64077', '62863', '0', '0', '0', '0', '62853'); DELETE FROM vehicle_seat_data WHERE seat in (3129); INSERT INTO `vehicle_seat_data` VALUES ('3129', '1') INSERT INTO `npc_spellclick_spells` VALUES ('33842', '63791', '13829', '1', '0', '3'); INSERT INTO `npc_spellclick_spells` VALUES ('33842', '63791', '13839', '1', '0', '3'); INSERT INTO `npc_spellclick_spells` VALUES ('33842', '63791', '13838', '1', '0', '3'); INSERT INTO `npc_spellclick_spells` VALUES ('33843', '63792', '13828', '1', '0', '3'); INSERT INTO `npc_spellclick_spells` VALUES ('33843', '63792', '13837', '1', '0', '3'); INSERT INTO `npc_spellclick_spells` VALUES ('33843', '63792', '13835', '1', '0', '3'); DELETE FROM creature_template_addon WHERE entry IN (33844,33845); INSERT INTO creature_template_addon (`entry`, `mount`, `bytes1`, `bytes2`, `emote`, `moveflags`, `vehicle_id`, `passengers`, `auras`) VALUES (33844, 0, 0, 2049, 0, 0, 349, '', ''); INSERT INTO creature_template_addon (`entry`, `mount`, `bytes1`, `bytes2`, `emote`, `moveflags`, `vehicle_id`, `passengers`, `auras`) VALUES (33845, 0, 0, 2049, 0, 0, 349, '', ''); Quest Into the Realm of Shadows (12687): UPDATE creature_template SET faction_A = 2082, faction_H = 2082, unit_flags = 0 WHERE entry = 28782; DELETE FROM creature_addon WHERE guid IN (SELECT guid FROM creature WHERE id = 28782); DELETE FROM vehicle_data WHERE entry in (135); INSERT INTO vehicle_data VALUES (135, 12, 52362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); DELETE FROM vehicle_seat_data WHERE seat in (1871); INSERT INTO vehicle_seat_data VALUES (1871, 1); DELETE FROM npc_spellclick_spells WHERE npc_entry in (28782); INSERT INTO npc_spellclick_spells VALUES (28782, 52349, 12687, 1, 12687, 3); DELETE FROM creature_template_addon WHERE entry IN (28782); INSERT INTO creature_template_addon (`entry`, `mount`, `bytes1`, `bytes2`, `emote`, `moveflags`, `vehicle_id`, `passengers`, `auras`) VALUES (28782, 0, 0, 1, 0, 0, 135, '', ''); Quest Grand Theft Palomino (12680): DELETE FROM creature_addon WHERE guid IN (SELECT guid FROM creature WHERE id IN (28605,28606,28607)); INSERT INTO spell_script_target VALUES (52264,1,28653); DELETE FROM vehicle_data WHERE entry in (123); INSERT INTO vehicle_data VALUES (123, 12, 52264, 52268, 0, 0, 0, 0, 0, 0, 0, 0, 0); DELETE FROM vehicle_seat_data WHERE seat in (1782); INSERT INTO vehicle_seat_data VALUES (1782, 1); DELETE FROM npc_spellclick_spells WHERE npc_entry in (28605,28606,28607); INSERT INTO npc_spellclick_spells VALUES (28605, 52263, 12680, 1, 12680, 3); INSERT INTO npc_spellclick_spells VALUES (28606, 52263, 12680, 1, 12680, 3); INSERT INTO npc_spellclick_spells VALUES (28607, 52263, 12680, 1, 12680, 3); DELETE FROM creature_template_addon WHERE entry IN (28605,28606,28607); INSERT INTO creature_template_addon (`entry`, `mount`, `bytes1`, `bytes2`, `emote`, `moveflags`, `vehicle_id`, `passengers`, `auras`) VALUES (28605, 0, 0, 1, 0, 0, 123, '', ''); INSERT INTO creature_template_addon (`entry`, `mount`, `bytes1`, `bytes2`, `emote`, `moveflags`, `vehicle_id`, `passengers`, `auras`) VALUES (28606, 0, 0, 1, 0, 0, 123, '', ''); INSERT INTO creature_template_addon (`entry`, `mount`, `bytes1`, `bytes2`, `emote`, `moveflags`, `vehicle_id`, `passengers`, `auras`) VALUES (28607, 0, 0, 1, 0, 0, 123, '', '');
  16. I have same errors. How I can fix it?
  17. ADDED 3.02.2009 + Fixed: Join to bg-raid group after relogin Patch+SQL on filebeam: DOWNLOAD NOW! Patch on pastebin: http://paste2.org/p/140263 SQL-update on pastebin: http://paste2.org/p/134340 Problem with storing BG-auras (flags, preporation etc) was fixed by another patch (DOWNLOAD NOW!)
  18. It can be any point in the world, near the battlemaster where player join to queue. See SetBattleGroundEntryPoint function. But I think we can move this method from WorldSession::HandleBattleGroundJoinOpcode and WorldSession::HandleBattleGroundArenaJoin to BattleGroundMgr::SendToBattleGround
  19. map,x,y,z,o are BattleGroundEntryPoint. It is coordinates, where the player was before teleport to BG
  20. ADDED 23.01.2009 + Cleanup code + Restore block movement and show stat after relogin when BG ended + Remove cast deserter + Fixed possible crash Patch+SQL on filebeam: DOWNLOAD NOW! Patch on pastebin: http://paste2.org/p/134339 SQL-update on pastebin: http://paste2.org/p/134340
  21. Branch - master Rev - 7103 Modificated files: BattleGround.cpp, BattleGround.h, CharacterHandler.cpp, Player.cpp, WorldSession.cpp
×
×
  • 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