GriffonHeart
-
Posts
34 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by GriffonHeart
-
-
Hello Together, I have a problem that I had not yet had
I can not fly on this vehicle http://www.wowhead.com/?npc=28670
previously it has always worked
UDB 386 and last Core rev
Perhaps someone can help me
I agree But do you remeber, from what MaNGOS Revision appears this bug?
-
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;
-
+ 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: {
-
Hello,
Player on the BG (Warsong) captures flag, logout and appears at home base graveyard with flag near player,
takes flag and go to base.
Should be (as on the off server):
Logout on the BG caused teleport to home bind location.
Patch:
--- WorldSession.cpp.bak 2009-12-24 01:33:29.000000000 +0200 +++ WorldSession.cpp 2009-12-24 01:32:41.000000000 +0200 @@ -355,10 +355,13 @@ _player->BuildPlayerRepop(); _player->RepopAtGraveyard(); } - //drop a flag if player is carrying it + //also teleport player to home location (prevent cheating) if(BattleGround *bg = _player->GetBattleGround()) + { bg->EventPlayerLoggedOut(_player); + _player->TeleportTo(_player->m_homebindMapId, _player->m_homebindX, _player->m_homebindY, _player->m_homebindZ, _player->GetOrientation()); + } ///- Remove from OutdoorPvP sOutdoorPvPMgr.HandlePlayerLeaveZone(_player,_player->GetZoneId());
Any suggestions are welcome.
Why teleport to homebind? Player must apear not at graveyard, but at the logout point
-
P.S.: By the way... just for curiosity , what kind of mtmaps patch are you using? (Ace mtmaps or OpenMP mtmaps)
I using ACE mtmaps. But what kind is more better? ACE or OpenMP?
-
In fact there is a crash log of what i'm talking about, using ACE mtmaps. With 7XX characters... it crash like 5 times by day (some days less).. but like a said before once that i move Players:Update from Map:Update...I got like 3day uptimes.
To infinfny, thanks for your suggestions i will try it with your patch.
I have the same crash Can you provide patch, how to fix this?
-
Yes, me too... but you can remove from guild_member all GUID with "zone-data broken"... then server will run ^^
Yes, but crash at first player login
-
Server can't start, crash at guild loading
-
It saves for me and works fine. Dunno about your issue.
Flag save in table characters at player save or logout, but reset at player login
-
Work nice, but flag not save after player relogin :-\\
-
hello just want to note here, that we're running mangos with latest 3.1.3 commit
very stable with this patch by derex: http://pastebin.com/m7d3df483
stable means in this case no crash for 48h with 1200 user peak
actualy i had to implement two patches (but are hacks ) for some long known crashes/freeze - but don't know if they are related to the patch so i won't post them here
This patch for what revision? Does it works correctly after implementing per-map guid storing
-
I started work with Wintergrasp, but I have a question. Is Wintergrasp already implemented?
-
and 1 more thing.. can u post the flang number and description for it?
Try to use it - http://paste2.org/p/317294
-
Somebody know, how to implement mobs on vehicle?
-
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
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
-
I try create vehicle but have a problem
I means the table for separate
my problem is: How can I know which the vehicleid, seat of each NPC
help please
vehicleid can only obtain in blizz realms, seat - id from dbc
-
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, '', '');
-
I have same errors. How I can fix it?
-
wrong link , i think
Already in git
-
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!)
-
Can there be more than one location for a player of a certain faction to be teleported to a specific battleground ?
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
-
Why all those extra columns ? I might understand id and team but why map,x,y,z,o ? Isn't the player location enough ?
map,x,y,z,o are BattleGroundEntryPoint. It is coordinates, where the player was before teleport to BG
-
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
-
Can you please say for which rev and branch of MaNGOS it is for? And which files modifies?
Branch - master
Rev - 7103
Modificated files:
BattleGround.cpp, BattleGround.h, CharacterHandler.cpp, Player.cpp, WorldSession.cpp
Linux crash dumps
in OldBug reports
Posted
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
Crash sometimes after server startup