(Guide) New DataQuest feature with latest DOL rev. 3611
PostPosted: Sun Apr 30, 2017 9:37 pm
Hi peoples,
With the latest DOL revision 3611 https://github.com/Dawn-of-Light/DOLSharp/releases/ we added the use of more fields in the "Collection" quest type.
A few things to note: The changes are only additions to the "Collection" type quest. All other types have not changed.
An existing "Collection" type quest in your database will not be affected by the change - they will still
work. They can however, have the new customisation added to them.
So for anyone who doesn't know, the old "Collection" quest could only have one "text" field to display quest text to the player. This was when you handed in the required item.
This new patch adds 3 more text fields where you can have text displayed at different interaction types with the player. This brings these "Collection" quests ( XP item quests) a little more live like, and some nicer interactions. I'll explain them with an example quest
ID: 4 - unique ID of this quest, assigned automatically.
Name: Bandit Ear - name of the quest. This is not shown anywhere in game so keep that in mind.
StartType: 1 -start type 1 = Collection quest
StartName: Hunter Derwyn - the name of the NPC or object that has this quest
StartRegionID: 1 - the region of the NPC that has quest
AcceptText: null - this field is not used.
Description: "Bandits have been attacking travellers along the roads lately. The realm is offering a reward to brave citizens who take the fight to the bandits. Bring me one of their ears to prove the kill and receive the reward."
- This is the text that will display to a player interacts(right click) with the quest NPC and meets the requirements: is >= minimum level for quest, and has not handed in any of the collection item. This field can also be NULL and nothing will show.
SourceName: NULL - this field is not used.
SourceText: "You did well, the realm thanks you!"
- this is the text that is shown when a player is of minimum level for quest, and hands the NPC the correct item. This can be NULL, but recommended to have some text here .
Step Type: NULL - this field is not used.
StepText: NULL - this field will display text to a player who tries to hand in the item, but is below the minimum level for the quest. This field can also be NULL, and is null in my example. An example might be "You lack experience. Come back to me when you are of at least the sixth season" displayed when a level 5 tries to hand the item.
StepItemTemplates: This field is not used.
AdvanceText: This field is not used
TargetName: This field is not used.
TargetText: "There are still too many bandits plaguing Camelot hills. The offer of reward still stands."
This is some text that will be displayed if a player interacts(right click) with the NPC, after they have already handed in at least one of the collection items.
CollectItemTemplate: Bandit_Ear - this is the collection item `In_db`value in the `ItemTemplate` table. The XP item the mob drops that you hand in for the reward.
MaxCount: 10 - how often the player can hand in one of the collection items to receive the reward. 10 in my example.
MinLevel: 6 - the minimum level a player can hand in the collection item and receive the reward. level 6 in my example. Its also a good idea to put something about the min level /max level in the items itemtemplate "Description" field. This will be displayed when a player delves the item.
MaxLevel: 50 - The maximum level a player can hand in the item and receive a reward. 50 in my example.
Reward fields - any of the reward fields can be null. But have at least one with a value. This is what the player will receive for each collection item they hand the NPC. In my example, 205 XP and 15 silver per bandit ear.
OptionalRewardItemTemplates: null - this field is not used. Can these be used with collection quests? Im not sure.
FinalRewardItemTemplates: null - again im not sure if these worked with previous collection quests. i leave it null.
FinishText: "Reported attcks on the roads have dropped dramatically. The realm will not forget your bravery. Good day!"
- This is text that will display when the player hands in the "Maxcount" of items for this collection quest.
QuestDependency: NULL -this field is not used.
ClassType: null - I guess this could be used? but in my example no.
AllowedClasses: NULL - the allowed classes for this quest. it is their enum value, not "paladin|armsman" but "1|2". left null, all classes can do it. Null in my example.
here is my example in sql format.
Anyway, hopefully this is pretty clear cut. Like I said, this latest revision will not break existing quests, as all the fields support added can be NULL
With the latest DOL revision 3611 https://github.com/Dawn-of-Light/DOLSharp/releases/ we added the use of more fields in the "Collection" quest type.
A few things to note: The changes are only additions to the "Collection" type quest. All other types have not changed.
An existing "Collection" type quest in your database will not be affected by the change - they will still
work. They can however, have the new customisation added to them.
So for anyone who doesn't know, the old "Collection" quest could only have one "text" field to display quest text to the player. This was when you handed in the required item.
This new patch adds 3 more text fields where you can have text displayed at different interaction types with the player. This brings these "Collection" quests ( XP item quests) a little more live like, and some nicer interactions. I'll explain them with an example quest
ID: 4 - unique ID of this quest, assigned automatically.
Name: Bandit Ear - name of the quest. This is not shown anywhere in game so keep that in mind.
StartType: 1 -start type 1 = Collection quest
StartName: Hunter Derwyn - the name of the NPC or object that has this quest
StartRegionID: 1 - the region of the NPC that has quest
AcceptText: null - this field is not used.
Description: "Bandits have been attacking travellers along the roads lately. The realm is offering a reward to brave citizens who take the fight to the bandits. Bring me one of their ears to prove the kill and receive the reward."
- This is the text that will display to a player interacts(right click) with the quest NPC and meets the requirements: is >= minimum level for quest, and has not handed in any of the collection item. This field can also be NULL and nothing will show.
SourceName: NULL - this field is not used.
SourceText: "You did well, the realm thanks you!"
- this is the text that is shown when a player is of minimum level for quest, and hands the NPC the correct item. This can be NULL, but recommended to have some text here .
Step Type: NULL - this field is not used.
StepText: NULL - this field will display text to a player who tries to hand in the item, but is below the minimum level for the quest. This field can also be NULL, and is null in my example. An example might be "You lack experience. Come back to me when you are of at least the sixth season" displayed when a level 5 tries to hand the item.
StepItemTemplates: This field is not used.
AdvanceText: This field is not used
TargetName: This field is not used.
TargetText: "There are still too many bandits plaguing Camelot hills. The offer of reward still stands."
This is some text that will be displayed if a player interacts(right click) with the NPC, after they have already handed in at least one of the collection items.
CollectItemTemplate: Bandit_Ear - this is the collection item `In_db`value in the `ItemTemplate` table. The XP item the mob drops that you hand in for the reward.
MaxCount: 10 - how often the player can hand in one of the collection items to receive the reward. 10 in my example.
MinLevel: 6 - the minimum level a player can hand in the collection item and receive the reward. level 6 in my example. Its also a good idea to put something about the min level /max level in the items itemtemplate "Description" field. This will be displayed when a player delves the item.
MaxLevel: 50 - The maximum level a player can hand in the item and receive a reward. 50 in my example.
Reward fields - any of the reward fields can be null. But have at least one with a value. This is what the player will receive for each collection item they hand the NPC. In my example, 205 XP and 15 silver per bandit ear.
OptionalRewardItemTemplates: null - this field is not used. Can these be used with collection quests? Im not sure.
FinalRewardItemTemplates: null - again im not sure if these worked with previous collection quests. i leave it null.
FinishText: "Reported attcks on the roads have dropped dramatically. The realm will not forget your bravery. Good day!"
- This is text that will display when the player hands in the "Maxcount" of items for this collection quest.
QuestDependency: NULL -this field is not used.
ClassType: null - I guess this could be used? but in my example no.
AllowedClasses: NULL - the allowed classes for this quest. it is their enum value, not "paladin|armsman" but "1|2". left null, all classes can do it. Null in my example.
here is my example in sql format.
- Code: Select all
INSERT INTO `dataquest` (`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 ('Bandit Ear', 1, 'Hunter Derwyn', 1, NULL, 'Bandits have been attacking travellers along the roads lately. The realm is offering a reward to brave citizens who take the fight to the bandits. Bring me one of their ears to prove the kill and receive the reward.', NULL, 'You did well, the realm thanks you!', NULL, '', NULL, NULL, NULL, 'There are still too many bandits plaguing Camelot hills. The offer of reward still stands.', 'Bandit_Ear', 10, 6, 50, '1500', '205', NULL, NULL, NULL, NULL, NULL, 'Reported attcks on the roads have dropped dramatically. The realm will not forget your bravery. Good day!', NULL, NULL, NULL, '2000-01-01 00:00:00');
Anyway, hopefully this is pretty clear cut. Like I said, this latest revision will not break existing quests, as all the fields support added can be NULL