This is a read only copy without any forum functionality of the old Modcraft forum.
If there is anything that you would like to have removed, message me on Discord via Kaev#5208.
Big thanks to Alastor for making this copy!

Menu

Author Topic: [TUTORIAL] Custom achievement  (Read 5080 times)

Deuzz

  • Registred Member
  • GM Isle Explorer
  • *****
  • Posts: 21
    • View Profile
[TUTORIAL] Custom achievement
« on: July 21, 2013, 11:56:38 am »
I want to tell you, how you can create a custom achievement.
(Sorry for my bad English ._.)

You need:
-MyDbcEditor
-The files Achievement.dbc, Achievement_Category.dbc and Achievement_Criteria.dbc

Let's start with the category (Achievement_Category.dbc).
After you opened the file, you click on "Edit" -> "Insert Line...".
Enter an unused ID and hit "OK".
You have to edit the rows:
- 1 - ID
- 2 - ParentID - If it's a sub category, enter the ID of the main category.
- 6 - Name
- 20 - ui_order

In row 2, we enter '-1'. That means, that our category is a main category.
In row 6, we enter the name. Choose what you want.
In row 20, we enter a 13. Our category will appear at the last place.

Save the file.

Now we open the Achievement.dbc file.
We create again a new entry ("Edit" -> "Insert Line...")
Enter an unused ID and hit "OK".


You have to edit the rows:
- 1 - ID
- 2 - Faction - Alliance or Horde
- 3 - Map
- 4 - Previous achievement
- 8 - Name
- 25 - Description
- 39 - Category
- 40 - Points - 0,5,10,15,20,25,30,50
- 41 - Order
- 42 - Flags
- 43 - Icon
- 47 - Reward text
- 61 - Demands
- 62 - Referenced achievement

That are many things, but it won't take much time.

NOTE: -1 is both, 0 is Horde and 1 is Alliance

Let's start:
I want that both factions can get this achievement.
I enter '-1'.
In the field map we enter '-1'. The -1 means, that you get the achievement on every map.
In the 4th row we write '0'. 0 means, that you don't have to complete another achievement before.
Now the name in row 8.
In row 39, we enter the ID of our custom category, that we created before.

I want that the achievement will give the players some points.
So, i write the amount in row 40.
NOTE: You can only use the amounts: 0,5,10,15,20,25,30,50

Now, in row 41 you write '1' in the field.
1 means, that the achievement is on position one in our category.
When you add another achievement, use the value '2'.
NOTE: You can only have 111 achievements per category.

In row 42 (flag), you can enter the numbers 0-768.

NOTE: 256 - one person per realm can get the achievement.
           768 - one raid per realm can get the achievement.

I'll enter '0'.

Now choose an icon and tip the ID in row 43.
I use 1927, that is the icon of the Al'ar achievement.

In row 47 you can enter the name of the reward.
I leave the field blank, because my achievement don't have any rewards.
In row 60, you enter (if your achievement has a reward) the amount and the item ID.
Example: 2,1234  -  You will get the item 1234, 2 times. (<AMOUNT>,<ID>)

The next step is important:

In the row 61 (Demands) you enter the amount of criteria that the player have to complete.
In my case it's just 1 criteria.

In the row 62 (Referenced achievement) you enter '0'.

Don't forget to save it.

Now, our achievement is created.
You can insert it already into the client and the server, but then you can only get the achievement by the gm command.
We don't want that only the gms can have it, so we open the Achievement_Criteria.dbc file.

Add a new entry.
You have to edit the rows:
- 1 - ID
- 2 - Achievement ID
- 3 - Type
- 4 - asset_id - What you need to kill or to get ...
- 5 - quantity - How much you have to kill or to get ...
- 13 - Description
- 31 - ui_order - Set it to 1 and it will be at the first position

I think that i don't have to say anything about row 1 and 2.
I want that the player have to kill 2 times the same creature.
So, I enter in the row for the type '0'.
(For a list with the types, look below)

In row 4, the ID of the creature and in row 5, I enter '2'.
Now the description, you can enter what you want.

Set the value of row 31 to '1' if it's the first criteria.

Save the file.

Add the achievement to the core:
Go into the Core folder and open DBC folder.
Insert and replace the DBC files with the existing ones.
Start the server.


Types:
Code: [Select]

- 0 - Kill creature
  - row 4 is the ID and row 5 the amount
- 1 - Win battleground
  - row 4 is the Map ID and row 5 the amount of needed wins
- 5 - Reach level
  - row 4 is unused (enter '0') and row 5 the level
- 29 - Cast spell
  - row 4 is the spell ID and row 5 the amount of needed casts
- 46 - Reputation
  - row 4 is faction ID and row 5 the amount of needed reputation (42000 - exalted)

- 36 - Own item
- 41 - Use item
- 42 - Loot item
- 57 - Equip item
  - row 4 is item ID and row 5 the amount of needed uses/loots/equipped or owned item

Have fun with your own achievements ^-^
« Last Edit: July 21, 2013, 06:21:02 pm by Admin »

noc

  • Registred Member
  • Wiki Incarnate
  • *****
  • Posts: 121
    • View Profile
Re: [TUTORIAL] Custom achievement
« Reply #1 on: July 21, 2013, 12:24:59 pm »
Tanks a lot

XxXGenesisXxX

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 204
    • View Profile
Re: [TUTORIAL] Custom achievement
« Reply #2 on: July 21, 2013, 05:43:43 pm »
Thanks for sharing.

I thought you add one line to add in the core, although I never tried it without doing that, guess that must just be for if it's needed to be referenced elsewhere in the core.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Deuzz

  • Registred Member
  • GM Isle Explorer
  • *****
  • Posts: 21
    • View Profile
Re: [TUTORIAL] Custom achievement
« Reply #3 on: July 21, 2013, 06:04:59 pm »
Okay, I have added it^^
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

XxXGenesisXxX

  • Contributors
  • Model Change Addict
  • *****
  • Posts: 204
    • View Profile
Re: [TUTORIAL] Custom achievement
« Reply #4 on: July 21, 2013, 08:56:25 pm »
Not what I meant. xD

There is a list of Achievements in the core (possibly in "SharedDefines.h"), that has a list of all Achievements and their ID number.
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Deuzz

  • Registred Member
  • GM Isle Explorer
  • *****
  • Posts: 21
    • View Profile
Re: [TUTORIAL] Custom achievement
« Reply #5 on: July 21, 2013, 09:57:08 pm »
I think i'm too stupid to find the list o0.
I will try to find it and then I add it^^
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

faiver

  • Registred Member
  • MS Paint Freak
  • *****
  • Posts: 4
    • View Profile
Re: [TUTORIAL] Custom achievement
« Reply #6 on: April 09, 2014, 07:29:21 pm »
For some reason I do not work the achievement :/
http ://puu.sh/82emC.png
http ://puu.sh/82eut.png
http ://puu.sh/82eze.png
http ://puu.sh/82eCp.png
map bg id: 1200
https ://fbcdn-sphotos-h-a.akamaihd. net/hphotos-ak-frc3/t1.0-9/10153224_10202776279864522_1212846724062953660_n.jpg
http ://emudevs. com/attachment.php?attachmentid=167&d=1397055160
winning the bg does not work achievement
thanks for any help
« Last Edit: January 01, 1970, 01:00:00 am by Admin »

Alastor

  • Contributors
  • Creator of Worlds
  • *****
  • Posts: 1105
    • View Profile
Re: [TUTORIAL] Custom achievement
« Reply #7 on: April 11, 2014, 08:52:48 pm »
idc
you was describing rows in DBCs
for this i'm using this site
you can get here some info about Rows in most of DBCs
http://www.wowdev.wiki/index.php?title=Category:DBC_WotLK
« Last Edit: January 01, 1970, 01:00:00 am by Admin »
No matter how fast light travels it finds the darkness has always got there first and is waiting for it
Star Citizen Referral Code : STAR-XNFS-HVL9