Jump to content
TrinityCore

[SOLVED]Achievement criteria data


Daniel25
 Share

Recommended Posts

Hello, Im trying to figure which way I can get the Criteriaid for achievement_criteria_data table so I can fix achievements but I cant find the relation between achievement.db2,criteria.db2 and criteriatree.db2 so I cant know the criteriaid for a determined achievement. Maybe am I searching in the wrong dbcs?

I know that before It was in Achievementcriteria.dbc but that file doesnt exist more....can someone show me a little of ligth about it please?

Thanks you in advance.

Link to comment
Share on other sites

The data that was before in Achievement_Criteria.dbc was moved to Criteria.db2 (and similar criterias were merged), CriteriaTree.db2 now has the data that was different for each criteria

The id for achievement_criteria_data is now taken from Criteria.db2

  • Upvote 1
Link to comment
Share on other sites

Ok....I dont get it still.

For example: I want to fix http://www.wowhead.com/achievement=4597

I check in achievement.db2 and I have:

id=4597,faction=-1, mapid=631, parentAchievement=0, Title=The frozen Throne (25 player), description=Defeat the lich king in icecrown citadel in 25-player mode., categoryid=14922,rewardpoints=10, orderincategory=235, flags=0, iconid=4179, reward=Title:The kingslayer, minimuncriteria=0 and Criteria Tree=16658

So I go to CriteriaTree.db2  and I use the criteriatree value:

id=16658, citeriaid=0, amount=0, operator=0, m_parent=4, m_flags=0, description_lang=0 and orderindex=213493

But so i get stuck why if criteriaid in criteriatree is 0 what way i can know the criteriaid in criteria.db2?

Or criteriaid for achievement_criteria_data would be 0 in this case?

Sorry for being so noob, its the first time that i try to fix a achievement criteria.

 

 

 

Link to comment
Share on other sites

First. your structure of CriteriaTree has fields in wrong order - m_ID, m_criteriaID, m_amount, m_operator, m_parent, m_flags, m_description_lang, m_orderIndex

This is how you get to Criteria.db2 id

Take the id of CriteriaTree (16658) and find all CriteriaTree where m_parent = 16658, this gets us CriteriaTree 16659 with m_criteriaID = 12909 (repeat this until you run out of criteria trees)

12909 is your id.

 

  • Upvote 1
Link to comment
Share on other sites

15 hours ago, Shauren said:

First. your structure of CriteriaTree has fields in wrong order - m_ID, m_criteriaID, m_amount, m_operator, m_parent, m_flags, m_description_lang, m_orderIndex

This is how you get to Criteria.db2 id

Take the id of CriteriaTree (16658) and find all CriteriaTree where m_parent = 16658, this gets us CriteriaTree 16659 with m_criteriaID = 12909 (repeat this until you run out of criteria trees)

12909 is your id.

 

A lot of thanks you. I really apreciate your help. You are awesone and I like the trinity project and the way that its. You guys do a really nice job.

Thanks you again ^^. Problem solvented :) .

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...