Page 1 of 3
New DataQuest Designer
PostPosted: Thu Jul 29, 2010 9:34 pm
by stephenxpimentel
Heya, i would be more than happy to do this, i think i'll need to mess around with the system a little though to completely understand how it even works.. But
Tolakram, feel free to tell me how u want the program to work, and i'll deffinately try to get it how u want it

Re: New DataQuest Designer
PostPosted: Fri Jul 30, 2010 2:28 am
by Tolakram
Thanks Stephen
Here's the comment block from code I should commit tonight.
- Code: Select all
/// <summary>
/// This represents a data driven quest
/// DataQuests are defined in the database instead of a script.
///
/// Each Quest should have a complete set of startup parameters. All of these are non serialized.
///
/// 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.
///
/// Once a quest is started each step behaves in a set order.
///
/// Source -> Target -> Advance to Next Step
///
/// Step 1 is considered the first step, and for each step
/// Source is considered who started the Step and Target is considered who ends the Step. For each Step the following columns must
/// have serialized values, separated by | for each Step, including Step 1. If the last value for any step is empty then the string should
/// end with a double pipe |
///
/// SourceName;RegionID - both the SourceName and TargetName fields must be in the format Name;RegionID|Name;RegionID...
///
/// SourceText - what the source says to you when beginning a step. If a source starting the next step has no text then an empty
/// string can be provided using || with nothing between the pipes.
///
/// StepType - The type of step from eStepType
///
/// StepText - The text for the step that appears in the players quest journal
///
/// StepItemTemplates - Any items that need to be given to the player at the start of the step. If no items are given to a player
/// at any of the steps then this can be null, otherwise it must have values for each step. Empty values || are ok.
///
/// AdvanceText - The text needed, if any, to advance this step. If no step requires advance text then this can be null, otherwise
/// text must be provided for every step. Empty values || are ok.
///
/// TargetName;RegionID
///
/// TargetText - Text shown to player when current step ends.
///
/// CollectItemTemplate - Item that needs to be collected to end the current step. If no items are ever collected this can be kept null,
/// otherwise it needs an entry for each step. Empty values || are ok.
///
/// MaxCount, MinLevel, MaxLevel - Single values to determine who can do quest. All must be provided.
///
/// RewardMoney - Serialized list of money rewarded for each step. All steps must have a value, 0 is ok.
///
/// RewardXP - Serialized list of XP rewarded each step. All steps must have a value, 0 is ok.
///
/// OptionalRewardItemTemplates - A serialized list of optional rewards to be presented to the player at the end of a Reward quest.
/// The first value must be a number from 0 to 8 followed by the item list. ex: 2id_nb|id_nb For quests without optional rewards
/// this field can be null.
///
/// FinalRewardItemTemplates - A serialized list of rewards to be given to the player at the end of a quest. For quests without
/// rewards this field can be null.
///
/// </summary>
Take a look at DataQuest.cs to get an idea how I deserialize the data.
Here's what I'm thinking ... I'd like the interface to be 3 tabs. The first tab will be all the non serialized starting fields.
/// Name, eStartType, StartName, StartRegionID, AcceptText and Description.
The second tab will contain all the serialized fields, but only show a single step at a time, with the ability to add a step. I picture a drop down in the upper left of steps, and when selecting the steps you see the data for that step. The user of the quest designer should never have to deal with serialized data. There should be a button on this tab to add a new step, so the user can add as many steps as they want. When the quest is saved the program simply serializes all the data and places it in the appropriate fields.
The 3rd tab will be for rewards. It will have reward XP, money, the final item rewards and the optional item rewards (not used yet).
I figure that if you store all the individual step pieces in Dictionary<int, string> it ought to be easy to both show the individual pieces on the interface and serialize / deserialize the data when saved or loaded.
That's my general overview, anyway. This might become clearer as I provide more examples in the next week or so.
Re: New DataQuest Designer
PostPosted: Wed Dec 01, 2010 10:16 pm
by bedrock1977
Is this in and working? Been looking to find a post that stated this or not because I want to start recreating the live quests a bit more than we have now.
Re: New DataQuest Designer
PostPosted: Wed Dec 01, 2010 10:18 pm
by Tolakram
Yes, in and working. I have a post in the contributors forum with example quests.
Re: New DataQuest Designer
PostPosted: Sat Dec 11, 2010 10:24 pm
by stephenxpimentel
hey guys, i have like 0 time due to work to finish this... but i have a good amount of it (i think) done.. so i'm posting what i have so far incase someone wants to finish it. There isn't much to it, but it can atleast connect to SQL, via Preferences menu, and it adds all the steps into a dictionary, just needs support for saving to database (requires some serializing), and the ability to import a quest that already exists in the DB.
EDIT: Website now allows me to attach it.

Great.
Re: New DataQuest Designer
PostPosted: Sat Dec 11, 2010 10:52 pm
by geshi
Where is it ?
Re: New DataQuest Designer
PostPosted: Sun Dec 12, 2010 9:04 am
by Graveen
PM Darty, he was interested to do so, perhaps you could join your efforts
required: use DOLDatabase
interesting: use some elements from old quest designer
Re: New DataQuest Designer
PostPosted: Sun Dec 12, 2010 9:11 am
by Etaew
He was having some trouble uploading attachments and I've been having trouble uploading files on FTP. Sometimes instant sometimes fails to connect for minutes. Anything you can do Grav?
Re: New DataQuest Designer
PostPosted: Sun Dec 12, 2010 9:17 am
by Graveen
Yes i can, it seems we have a problem.
Re: New DataQuest Designer
PostPosted: Sun Dec 12, 2010 9:28 am
by Graveen
Feedback me about this Tom, i have to go out, but it seems the MTA was used as a spam relay: i shutdowned it, no time to write ACL or look at qmail's doc to forward relaying except from localhost.
-> consequence: emails from the website won't work for now
Re: New DataQuest Designer
PostPosted: Sun Dec 12, 2010 5:52 pm
by stephenxpimentel
See Above Post - Its Uploaded.
Re: New DataQuest Designer
PostPosted: Sun Dec 12, 2010 6:01 pm
by Etaew
See Above Post - Its Uploaded.
Can you attach it to first post please? Will work on having it auto include to user files section.
Re: New DataQuest Designer
PostPosted: Mon Dec 13, 2010 4:25 am
by stephenxpimentel
done.
Re: New DataQuest Designer
PostPosted: Fri Dec 17, 2010 4:49 pm
by Trick
Hey, I didn't read up that much stephen but you had asked me to add the database connection etc. I basically redid your programs layout, added a database search function for searching for specific npcs and utilized uthgard's ID list pictures (thx metty

) it now properly saves the quests to the database by going to File -> Save, also fixed File->New, and set up most basic features (made preferences actually save MySQL Connection info now!). For the testing stages I'd say the quest designer is ready, but I didn't look much into how dataquests are set up in the server so a lot of the simplification is cut in half, but that can easily be fixed later. I have no place to upload the source code unfortunately tho
edit
-------------------------- Ahh attachments got it..

Re: New DataQuest Designer
PostPosted: Fri Dec 17, 2010 6:03 pm
by Graveen
Trick you made a software based on the actual QD ?
