PDA

View Full Version : A guide to modifying a non tradeskill combine...


gatorman
01-21-2008, 10:44 AM
I'm trying to figure out how the 'combines' of non tradeskill items work. I have my own server, and am trying to fix/update some quests. One particular quest given by Lysbith McNaff in Halas (Warrior GM) is to collect 6 Goblin Ice Necklaces and combine in an 'Empty Bag'. This bag, according to the database notes, has ID: 17944 . The Goblin Ice Necklace has ID: 13897.

The combine did not work, so I'm wondering if there is anything I can do to MY database (peq_db latest release as of this date)

I would like to be able to fix this, and test it out... once it works, submit the bug /quest submission request so it can be fixed.

I thought I would be able to find a table in the database which listed the combine container, the combine components, and the combine item produced.

Anyone have an idea?

Thanks!

Blaz

ChaosSlayer
01-21-2008, 11:36 AM
why don't you use GeorgeS tradeskill editor? It far simpler to constrcut combines with it that in DB

also note that combines combining are not in anyway related to quests coding.

gatorman
01-21-2008, 11:50 AM
Thanks, I'll give that a try.

I was able to fix the quest (yes, it isn't really a part of the quest script, but is related to the quest itself)

I created a few entries into the tradeskill_entries database and a new recipe.. bingo. I'm sure thats what the editor does... but makes it a lot simpler.

The more you know =/

Thanks for your reply!

-Blaz

So_1337
01-21-2008, 12:12 PM
This is an example that I recently used to write part of the Greenmist quest. These values get inserted directly into the database, and we'll follow right along with them.
INSERT INTO tradeskill_recipe VALUES(9712,'Greenmist Khukri Blade',75,0,0,1,0,'Greenmist Quest #8');
The first query you'll have to run will add the tradeskill combine's general information to the tradeskill_recipe table.

In the example above, the first number is just the next sequential number in the database.
The second entry is the name of the combine.
The third signifies the tradeskill, which in this case (75) means that it is a quest combine.
The next two entries show what skill is needed and which skill rank it would trivial at (0 in both cases, as it's a quest combine).
The '1' signifies that the combine is no fail, and the following '0' shows that it does not replace the container (which you will want it to do in your case).
The last entry is just a note to help everyone understand what the combine is, or who submitted it.

The second bit of code goes into the tradeskill_recipe_entries table.

INSERT INTO tradeskill_recipe_entries VALUES(124067,9712,3894,1,0,0,0);
INSERT INTO tradeskill_recipe_entries VALUES(124068,9712,3886,0,0,1,0);
INSERT INTO tradeskill_recipe_entries VALUES(124069,9712,3890,0,0,1,0);
INSERT INTO tradeskill_recipe_entries VALUES(124070,9712,3891,0,0,1,0);
INSERT INTO tradeskill_recipe_entries VALUES(124071,9712,18320,0,0,1,0);
INSERT INTO tradeskill_recipe_entries VALUES(124072,9712,3891,1,0,0,0);
INSERT INTO tradeskill_recipe_entries VALUES(124073,9712,18320,1,0,0,0);
INSERT INTO tradeskill_recipe_entries VALUES(124074,9712,30,0,0,0,1);

Again, the first entry is the next sequential set of numbers in the database to show that they are the most recently added for this table.
The second number comes from the entry we put in the tradeskill_recipe table. Make sure the number matches for all of the entries that correspond to the same recipe.
The third number is the item number of each entry.
Successcount -- How many of this item are returned on a successful combine.
Failcount -- How many are returned on a failure.
Componentcount -- How many must be in the tradeskill container to do the combine.
Iscontainer -- Signifies that this is the container that the combine is intended to be done in.

All that said, these would be the entries that you would need to add to your database. Please note the variables, which I will explain afterwards.

INSERT INTO tradeskill_recipe VALUES(XXXX,'Bag of Ice Necklaces',75,0,0,1,1,'Ice Goblin Beads Quest');

INSERT INTO tradeskill_recipe_entries VALUES(YYYYYY,XXXX,13898,1,0,0,0);
INSERT INTO tradeskill_recipe_entries VALUES(YYYYYY,XXXX,13897,0,0,6,0);
INSERT INTO tradeskill_recipe_entries VALUES(YYYYYY,XXXX,17944,0,0,0,1);
This would give you what you want, you just have to make sure that the XXXXs correspond to the next available spot in your tradeskill_recipe table. Then, plug that number into the next three queries. Be sure that the YYYYYYs correspond to the next three entries available in your tradeskill_recipe_entries table. And you're done :)

Hope this little tutorial has helped!