Page 1 of 1

[ Dataquest ] Difficulty understanding the course

PostPosted: Sun Jan 25, 2015 10:22 am
by Eudes
Hello DOL,

After hours of trying to figure out how to fill the fields and after reading dozens of Tolakram guide, I do not understand what field starts a step...

I watched a lot of quests, tried to dismantle them, test them, but it remains unclear in my mind.

So, here is where I am...

1. AcceptText and Description are not considered being part of step 1. Right?

2. SourceName does not seem to be part of either. As I understand it, we can use this field to turn the OFF / ON indicator indicate SearchStart / SearchFinish. I have often seen a NPC name but is it mandatory?

3. And if so, is it to start Step 1?

4. If SourceName does not start step 1, what field does the job? SourceText? StepType? TargetName?

5. What ends each step and which can not remain empty (NULL)?

Thanks a lot!

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Sun Jan 25, 2015 7:18 pm
by HunabKu
I'm not expert in so i leave Tolakram respond to you.

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Mon Jan 26, 2015 6:05 am
by Eudes
Thanks anyway Hunab :)

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Wed Jan 28, 2015 3:03 pm
by Tolakram
SourceName is no longer used as it was first intended.
Name, StartType, StartName, StartRegionID, AcceptText and Description. These determine who offers the quest and what text is displayed
to the player considering accepting the quest. StartRegion of 0 indicates every GameObject with the given name will have this quest.


The fields above determine how a quest starts. You need to make sure the StartName matched the name of the NPC or Object you attach the quest too, and the startregionid is accurate.

Here is an example of a quest that starts when you whisper some text to an NPC, or click the text in the dialog.

Name, StartType, StartRegionID, AcceptText, Description

Tools of the Trade, 0, Charsi, 10012, hammer, When I fled the Monastery I left behind a Horadric Malus, an enchanted smithing [hammer].

Here is an example of a quest that gives an item just by interacting with a named object (a sign). There's a clue here for D2 players. :)

Gone Fishing, 4, Gone Fishing, 10012,,

The steps start after the quest is accepted, so the first step begins after the initial quest acceptance.

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Wed Jan 28, 2015 8:33 pm
by Eudes
Hi Tolakram and thanks for your help.

Ok for SourceName.

I have no trouble to start a quest, any kind of quest. My problem is for the steps after... the first one looks ok, and for each step I fill in every field except some than can be {NULL}. But I'm still having trouble with double pipe or single pipe or text content for the others DQ fields, I guess there is always something missing somewhere but as stupid as it can look, I do not understand where and why.

Here is what I'm having:
Image

A part is in french but maybe you can understand the point where I'm not filling in the right field.
Code: Select all
INSERT INTO `dataquest` (`ID`, `Name`, `StartType`, `StartName`, `StartRegionID`, `AcceptText`, `Description`, `SourceName`, `SourceText`, `StepType`, `StepText`, `StepItemTemplates`, `AdvanceText`, `TargetName`, `TargetText`, `CollectItemTemplate`, `MaxCount`, `MinLevel`, `MaxLevel`, `RewardMoney`, `RewardXP`, `RewardCLXP`, `RewardRP`, `RewardBP`, `OptionalRewardItemTemplates`, `FinalRewardItemTemplates`, `FinishText`, `QuestDependency`, `AllowedClasses`, `ClassType`, `LastTimeRowUpdated`) VALUES (3, 'Le gardien du phare', 0, 'Yarie', 0, 'aidez-moi', 'S’il vous plait, [aidez-moi] !', 'NO_INDICATOR|Yarie;0', 'Je n’ai plus aucune nouvelle de [mon mari] depuis l’invasion.|\r\nC’est un vieux pêcheur, il s’occupe du phare… J’oubliais, vous êtes nouveau dans la région, vous ne pouvez pas connaître mon bon Liger… Trouvez le, je vous en supplie...', '6|4', 'Tu as rencontré Yarie qui recherche son mari, Liger, le gardien du phare.|\r\nYarie est catastrophée, elle te demande de retrouver Liger dont elle n\'a plus de nouvelles.', '', 'mon mari||', 'Yarie;0|Liger;0', 'Fin étape 1|Fin étape 2', '', 0, 50, 50, '0|0', '0|0', '0|0', '0|0', '0|0', '', '', '', NULL, NULL, NULL, '2000-01-01 00:00:00');
Thanks!

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Wed Jan 28, 2015 11:24 pm
by Tolakram
Add Another | in all of your steps and see if it goes away. I think you are probably missing the right number of arguments.

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Thu Jan 29, 2015 6:12 am
by Eudes
I will do.

How do you define how much data you need in the fields? If it is missing one | in every field, it means that I have one field somewhere with 1 more data than the others fields, right?

Thanks

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Thu Jan 29, 2015 6:30 am
by Leodagan
If I understand well your quest have "three step" ? Start|Step1|Step2 ?

Or is it Start ; then Step1|Step2 ?

Any way in the field "AdvanceText" you have "mon mari||" which means three arguments... "mon mari|[empty]|[empty]"

In most other fields you have only two arguments "0|0", "Fin étape 1|Fin étape 2", there has to be only one way that works fine ;)

You should try starting from a simpler quest, like a Start-Finish Quest, then add only one step then test, then add each step and test each time to see where you start having errors :)

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Thu Jan 29, 2015 7:57 am
by Eudes
Thanks Leo!

I did try a lot of things, for hours, but I always got trouble, and I see now what I misunderstood!
Code: Select all
mon mari|| = mon mari|[empty]|[empty]
I did not understand that double | that way... I though it was required for a void data.

So i was thinking that way (which I understand now as wrong).
mon mari|| = mon mari|[empty]
Then, the right way is (would you confirm that please?):
Code: Select all
mon mari| = mon mari|[empty]

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Thu Jan 29, 2015 8:18 am
by Leodagan
Well I checked the code, and the DQ guide (I never played too much with DataQuests....)

I don't understand why the Guide always speaks of "||" empty values, the code use string.Split('|') everywhere in DataQuest parsing, this should behave like I described :

"args0|args1|args2|||args5" => [ 'args0', 'args1', 'args2', '', '', 'args5' ]

Maybe this "||" in the guide was intended for being understood by non-developer but I think it's pretty less understandable...

Or maybe I'm totally wrong and this double "||" is really needed for some reason, and I hope Tolakram won't slap me :D

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Thu Jan 29, 2015 10:43 am
by Eudes
Well... I'm very interested to well understand that point, it is definitely where I'm doing wrong...

Thanks to both of you :)

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Tue Mar 03, 2015 9:19 pm
by Eudes
I'm still rellay interested by the final explanation :)

By the way, is there a way to serialize the CollectItemTemplate to make the player giving more than one item to the NPC to finish the quest?

I have tried item1;item2 but it does not work.

Thanks

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Wed Mar 04, 2015 10:57 am
by Argo
I'm still rellay interested by the final explanation :)

By the way, is there a way to serialize the CollectItemTemplate to make the player giving more than one item to the NPC to finish the quest?

I have tried item1;item2 but it does not work.

Thanks
you can do that in a reward quest. under optional quest reward items you can do something like:

3Item1|item2|item3|item4

the very first 3 to the left says that the player gets offered 4 items from which he MUST take 3

hope that it helps you

Argo

Re: [ Dataquest ] Difficulty understanding the course

PostPosted: Wed Mar 04, 2015 12:38 pm
by Eudes
Hello Argo and thanks for the information. It is interesting but not what I'm looking for.

I'm willing to start a new thread, will be easier to discuss :)