WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Carbonite: Dev Talk (https://www.wowinterface.com/forums/forumdisplay.php?f=167)
-   -   Quests database (https://www.wowinterface.com/forums/showthread.php?t=50841)

ircdirk 12-24-14 03:30 AM

Quests database
 
We all know that there is a issue with missing or NIL objectives. I'm working on it with atl77, but thats not so easy, as wowhead doesnt properly display objetives on quest page.

Ill search wow CASC files for real wow dbc with objectives but i dont know if there is this kind of file there.

Maybe someone have another sollution? Where to look for the real wow quests objective database?

Vis 12-24-14 05:39 PM

I've seen this suggested several times in the past couple of years so it's just a thought.. Instead of trying to redesign the wheel, why not take advantage of an addon like Grail, whose sole purpose is to supply a database of quests and quest related information? It may give better results.

At the very least it couldn't hurt to ask Nimhfree about it. Maybe s/he has an idea that could help you out.

Rythal 12-24-14 06:12 PM

Quote:

Originally Posted by Vis (Post 303166)
I've seen this suggested several times in the past couple of years so it's just a thought.. Instead of trying to redesign the wheel, why not take advantage of an addon like Grail, whose sole purpose is to supply a database of quests and quest related information? It may give better results.

At the very least it couldn't hurt to ask Nimhfree about it. Maybe s/he has an idea that could help you out.

It's the same problem it always has been, objective locations. Grail doesn't have it either.

samyonair 12-24-14 06:30 PM

a bit off topic
 
1 Attachment(s)
since new github release at apexis daily in Evergreen Wilds , Gorgrond overlay with quest one for bonus and some (3 if I track it right with Obj nil

as you can see on this screenshot




all with same Questtitle for apexisdaily

ircdirk 12-25-14 04:19 AM

Quote:

Originally Posted by Rythal (Post 303167)
It's the same problem it always has been, objective locations. Grail doesn't have it either.

Thats right z Grail doesnt have information about quest objectives.

Nimhfree 12-25-14 09:34 AM

However, you might want to think about adding the quest objectives to Grail as a loadable add-on. You need to determine whether it is better to (1) change Carbonite to use Grail, and add quest objectives to Grail, or (2) add all the new information for quests and quest objectives to Carbonite.

ircdirk 12-26-14 08:13 AM

There is project called WodCore ... they have MySQL database with quest and quest objectives, maybe blobs too. Im checking it right now. Maybe we can use this to get quests database.

Vis 12-26-14 09:35 AM

Quote:

Originally Posted by ircdirk (Post 303268)
There is project called WodCore ... they have MySQL database with quest and quest objectives, maybe blobs too. Im checking it right now. Maybe we can use this to get quests database.

I just googled that project.. the only thing that came up was a listing for a group dealing with private servers. I'm not sure I would use that as a base for reliable quest information.

ircdirk 12-26-14 09:41 AM

Yep, thats only TrinityCore no quests for Pandaria or Dreanor. But TrinityCore goes 6.x.x so they will soon have db for 6.x.x.

So for now searching another solution.

ircdirk 12-27-14 05:27 AM

Ok for know i will use wowdb not wowhead as their database is more consistent.

Im thinking not to add quests which doesnt have all objectives marked on map. Then fall back function to blizz quests will work for all objectives and not only one which is in wowdb.

nelegalno2 12-27-14 05:56 AM

Quote:

Originally Posted by ircdirk (Post 303363)
Ok for know i will use wowdb not wowhead as their database is more consistent.

Im thinking not to add quests which doesnt have all objectives marked on map. Then fall back function to blizz quests will work for all objectives and not only one which is in wowdb.

When you have a working solution and free time do you think you can also do the lvl 01-90 quests?

ircdirk 12-27-14 06:01 AM

Quote:

Originally Posted by nelegalno2 (Post 303368)
When you have a working solution and free time do you think you can also do the lvl 01-90 quests?

0-85 ;) Yes will we redo them but dont know if result will be good.

nelegalno2 12-27-14 08:28 AM

Quote:

Originally Posted by ircdirk (Post 303370)
0-85 ;) Yes will we redo them but dont know if result will be good.

We can allays keep the old ones if they are better.

atl77 12-27-14 09:11 AM

Quote:

Originally Posted by nelegalno2 (Post 303382)
We can allays keep the old ones if they are better.

This'll gonna require an awful lot of testing...

ircdirk 12-27-14 09:56 AM

Quote:

Originally Posted by atl77 (Post 303387)
This'll gonna require an awful lot of testing...

Yep. I will do site for quests reporting and tool for repairing bad quests with option to recover old quest data if it was correct.

Rythal 12-27-14 12:23 PM

Quote:

Originally Posted by ircdirk (Post 303388)
Yep. I will do site for quests reporting and tool for repairing bad quests with option to recover old quest data if it was correct.

This was on my list of wanted things, an online quest editor so the databases could be dumped. But before doing such I wanted to fix up QuestNPCs so they reflected the real NPC ID instead of carbonites own table.

and while it's beyond my web programming skill I had even pondered showing the zone maps when quest editing in the way Wowhead does so the objective area's can be drawn / added in a graphical way and cut down on how many objective lines there are.

Xrystal 12-27-14 12:58 PM

If you need someone to fill up a questDB for levels 1 to 90 let me know. I don't do end game stuff at the moment, just level lots of alts and do crafting. I can't promise constant and quick updates but I can reserve a character just for this. I don't use carbonite myself but I can understand the need for testing and correct information.

Nimhfree 12-27-14 01:03 PM

Xrystal, if you want to do testing please try out Grail (and Wholly if you want). :-)

Xrystal 12-27-14 01:36 PM

rofl, I'll put aside a character for those 2 addons .. I used them for a while last year

nelegalno2 12-27-14 02:34 PM

Is it possible to make a module that will collect quest data from the game so players can submit it for addition to the db? I believe Grail and a few other addons have similar functions.

P.S. Maybe even share it among them automatically so it won't be a problem if only a few share it? I have a few chars that I intend to level up and can use to collect some info with.

Xrystal 12-27-14 02:57 PM

Quote:

Originally Posted by nelegalno2 (Post 303410)
Is it possible to make a module that will collect quest data from the game so players can submit it for addition to the db? I believe Grail and a few other addons have similar functions.

P.S. Maybe even share it among them automatically so it won't be a problem if only a few share it? I have a few chars that I intend to level up and can use to collect some info with.

That was the sort of thing I was thinking of. Would be good to be able to catch these quests and any possible changes early on and then have things in place when/if blizzard decide to spruce up the early questing experience again. I would like to see the story zone quest achievements and those bonus objectives you can go back to if you so choose in the 1 to 90 areas so maybe someday they'll have marked up what quests constitute which achievement etc.

ircdirk 12-27-14 06:57 PM

Quote:

Originally Posted by Xrystal (Post 303413)
That was the sort of thing I was thinking of. Would be good to be able to catch these quests and any possible changes early on and then have things in place when/if blizzard decide to spruce up the early questing experience again. I would like to see the story zone quest achievements and those bonus objectives you can go back to if you so choose in the 1 to 90 areas so maybe someday they'll have marked up what quests constitute which achievement etc.

I think we can do this, we discused this with atl77 on PM. But this may lower Quest Module performance, as its allready low...

Xrystal 12-27-14 07:03 PM

Quote:

Originally Posted by ircdirk (Post 303421)
I think we can do this, we discused this with atl77 on PM. But this may lower Quest Module performance, as its allready low...

Well I know that could be a bad thing for some people. Not everyone is like me and is a altoquestoholic :)

Nimhfree 12-27-14 09:15 PM

Collecting quest information can slow the UI down or not depending on what information is collected. For Grail, the NPC and quest information that is gathered does not really slow anything down as it does the basic location, name, level, reputation type of thing. However, if you started recording areas where quest objectives are being satisfied (which Grail does not do), I imagine you might start slowing the user experience down. I would definitely make such collection an option so only those serious about adding to the database would sacrifice the game play for the good of all.

atl77 12-28-14 01:52 AM

Quote:

Originally Posted by Nimhfree (Post 303429)
Collecting quest information can slow the UI down or not depending on what information is collected. For Grail, the NPC and quest information that is gathered does not really slow anything down as it does the basic location, name, level, reputation type of thing. However, if you started recording areas where quest objectives are being satisfied (which Grail does not do), I imagine you might start slowing the user experience down. I would definitely make such collection an option so only those serious about adding to the database would sacrifice the game play for the good of all.

Carbonite.Quest already requests all required data (except position, but that is easily gathered from the map), but doesn't store or transmit it. Storing it wouldn't have much impact on performance, as long as it is done in an asynchronous manner (coroutine). Transmission can also be decoupled, e.g. via web browser outside of the game.

ircdirk 12-28-14 10:09 AM

Quote:

Originally Posted by atl77 (Post 303437)
Carbonite.Quest already requests all required data (except position, but that is easily gathered from the map), but doesn't store or transmit it. Storing it wouldn't have much impact on performance, as long as it is done in an asynchronous manner (coroutine). Transmission can also be decoupled, e.g. via web browser outside of the game.

I think some of data is already stored in Carbonite.Quests.lua in WTF folder.

What we need to gather:
- quest name + if its available quest id
- quest starter (name, coords, zone)
- quest ender (name, coord, zone)
- quest objectives (text for each objective as ids may not be available)
+ maybe objectives coords like in wowdb or wowhead (but collecting this data may lower overall module performance)

Storing this data localy.

How we could make trasmiting this data to our server:
- make an in-game notice to player if he wants to transfer his quest data to our server
- this in game notice would show periodically
- not in dungs, raids, bgs and not in combat
- user sould have option to totally disable this notices and to set how much the time between notices
- transfering data could show progress of transmiting data to our server

gOOvER 12-28-14 10:22 AM

Maybe create a new Carbonite. Collect Modul. So not everyone need to install.

Also, did you take a look into WoWHead Collector Addon? Maybe we can use this one for collecting these Data's

ircdirk 12-28-14 10:27 AM

Quote:

Originally Posted by gOOvER (Post 303460)
Maybe create a new Carbonite. Collect Modul. So not everyone need to install.

Also, did you take a look into WoWHead Collector Addon? Maybe we can use this one for collecting these Data's

Wowhead has separate application not addon for this. But wowdb has addon that we could use/change to what we need.

The thing is that some users will not install this addon, so no data gathering there. Better solution is to have it in Quests module and if user doesnt want to collect data he will just disable this option. But by default it is enabled.

gOOvER 12-28-14 10:50 AM

There is alao a WoW Addon and an uploader ;)

ircdirk 12-28-14 10:55 AM

Quote:

Originally Posted by gOOvER (Post 303465)
There is alao a WoW Addon and an uploader ;)

Link please...

samyonair 12-28-14 11:02 AM

1 Attachment(s)
http://de.wowhead.com/client it is both included

http://www.wowinterface.com/forums/a...1&d=1419786123

here the addon itself

ircdirk 12-28-14 11:09 AM

Quote:

Originally Posted by samyonair (Post 303470)

Ok, thanks. But still im not a pro in lua so maybe atl77 will help me with this data gathering.

atl77 12-29-14 06:15 AM

Quote:

Originally Posted by ircdirk (Post 303472)
Ok, thanks. But still im not a pro in lua so maybe atl77 will help me with this data gathering.

I'm all yours.

Nimhfree 12-29-14 10:14 AM

Quote:

Originally Posted by ircdirk (Post 303458)
I think some of data is already stored in Carbonite.Quests.lua in WTF folder.

What we need to gather:
- quest name + if its available quest id
- quest starter (name, coords, zone)
- quest ender (name, coord, zone)
- quest objectives (text for each objective as ids may not be available)
+ maybe objectives coords like in wowdb or wowhead (but collecting this data may lower overall module performance)

<SNIP>

In case you are considering Grail options, Grail has the first three pieces of information. It makes unique the NPCs so it only records one copy of an NPC no matter how many quests are used. However, you will find Blizzard sometimes uses the same NPC ID even when the NPC moves locations (not necessarily phased), so Grail handles this by using "alias" NPC IDs which can be displayed as the Blizzard NPC ID as needed. [By the way, the whole concept of quest givers, etc. gets really complicated with all the things Blizzard does, and for the best accuracy you might not want to recreate this yourself. I can go into much detail if you really want it.]

Personally I believe the quest objective information from Blizzard APIs can be used as needed, so recording that information may not be needed.

The last piece of information Blizzard now provides in its own way that may be adequate assuming you can get it to put onto the Carbonite map instead of Blizzard's maps. However, if that information cannot be gotten, this is where you need to determine it for the new quests to record for the addon. This might be recordable when you accomplish one of the objectives for a quest by noting your current location, and just make a list. Turning that list into a region instead of a bunch of points will take your gathering data from a lot of users, and either some fancy algorithms or a lot of manual region making. For single points, you should be ok.

ircdirk 12-29-14 10:33 AM

Quote:

Originally Posted by Nimhfree (Post 303546)
In case you are considering Grail options, Grail has the first three pieces of information. It makes unique the NPCs so it only records one copy of an NPC no matter how many quests are used. However, you will find Blizzard sometimes uses the same NPC ID even when the NPC moves locations (not necessarily phased), so Grail handles this by using "alias" NPC IDs which can be displayed as the Blizzard NPC ID as needed. [By the way, the whole concept of quest givers, etc. gets really complicated with all the things Blizzard does, and for the best accuracy you might not want to recreate this yourself. I can go into much detail if you really want it.]

The Quest NPCs are not the problem, as they have starting position recorded when accepting (or completing) quest and this data is connected with Quest not NPC. I think there is no need to use other addon, as this data is already colected by Quest Module.

Quote:

Originally Posted by Nimhfree (Post 303546)
Personally I believe the quest objective information from Blizzard APIs can be used as needed, so recording that information may not be needed.

What do u mean no recording? There is no Blizzard database of quest objectives...

Quote:

Originally Posted by Nimhfree (Post 303546)
The last piece of information Blizzard now provides in its own way that may be adequate assuming you can get it to put onto the Carbonite map instead of Blizzard's maps. However, if that information cannot be gotten, this is where you need to determine it for the new quests to record for the addon. This might be recordable when you accomplish one of the objectives for a quest by noting your current location, and just make a list. Turning that list into a region instead of a bunch of points will take your gathering data from a lot of users, and either some fancy algorithms or a lot of manual region making. For single points, you should be ok.

Thats no problem. We have algoritm to make blobs from point already. We only have to record those points for respective objectives location.

atl77 12-29-14 10:44 AM

I'm a sucker for fancy algorithms ;)

Nimhfree 12-29-14 05:53 PM

Quote:

Originally Posted by ircdirk (Post 303547)
<SNIP>

What do u mean no recording? There is no Blizzard database of quest objectives...

<SNIP>

You can use the Blizzard API GetQuestLogLeaderBoard() for any quest in your quest log to get each of the individual quest requirements and the status of each. Depending on how you use them, you probably do not need to have the addon keep them in a database.

nelegalno2 12-30-14 01:30 AM

The only way Carbonite can show you where are the locations of a quest givers that still have uncompleted quests for you're player is if it have them all in a DB and can check which ones are you still missing.

ircdirk 12-30-14 10:52 AM

Just added pull request for Quest Data Gathering.

Added new setting in Quest Module (default its off), so please enable it to gather test data:



All gathering goes to SavedVariables/Carbonite.lua.

nelegalno2 12-30-14 10:58 AM

Quote:

Originally Posted by ircdirk (Post 303938)
Just added pull request for Quest Data Gathering.

Added new setting in Quest Module (default its off), so please enable it to gather test data:

IMG removed

All gathering goes to SavedVariables/Carbonite.lua.

Any chance this could go to a different file - Carbonite.Quests.lua for example?

BTW You should probably remove the Carbonite.Quests/NxQuest.lua.bak file from the pull request.

ircdirk 12-30-14 11:08 AM

Quote:

Originally Posted by nelegalno2 (Post 303939)
Any chance this could go to a different file - Carbonite.Quests.lua for example?

BTW You should probably remove the Carbonite.Quests/NxQuest.lua.bak file from the pull request.

Yes, i think i can do that. It was a function for Gathering data, just made it work.

Just remove pull this request for now.

nelegalno2 12-30-14 11:26 AM

Quote:

Originally Posted by ircdirk (Post 303941)
Yes, i think i can do that. It was a function for Gathering data, just made it work.

Just remove pull this request for now.

You should probably coordinate this with Rythal because if I remember he was working on the profile system and it'll be nice if each module kept it's data in a different file instead of Carbonite.lua

atl77 12-30-14 03:04 PM

He just told me he was already looking into it...

Rythal 12-30-14 04:12 PM

A lot of things are still stored in Carbonite.lua that should be in it's own file, across all the modules.

If it was just profiles, it wouldn't be so bad and up and running. The problem is if you delete a profile, to also make the modules delete the same profile. If you change profiles, make the modules change to the same profile.

The easy solution would be to not do this, and keep everything separate. Profile options for every module.

nelegalno2 12-30-14 05:11 PM

Quote:

Originally Posted by Rythal (Post 303972)
A lot of things are still stored in Carbonite.lua that should be in it's own file, across all the modules.

If it was just profiles, it wouldn't be so bad and up and running. The problem is if you delete a profile, to also make the modules delete the same profile. If you change profiles, make the modules change to the same profile.

The easy solution would be to not do this, and keep everything separate. Profile options for every module.

I think the logical solution now that Carbonite is modular is that each module should have a file with the profile and module data that is independent of the rest. Maybe also an option to reset settings to default values for emergences. An option to have the same profile assigned to multiple characters where it won't be a problem is also a good idea since I like to have an uniform UI for all my characters but some people prefer to customize the UI per character or class.

That way if someone for example decided not to use the wherehouse anymore the collected inventory data won't be loaded and take space, also having a ~1MB Carbonite.lua file is a bit to much for me when the rest are 1-2KB.

P.S. At some time in the future you might consider renaming the directories to Carbonite_ModuleName for grouping in addon control addons. I don't know if spiting the configuration by modues would help or not - might get too confusing for some users but if it helps the development process...

ircdirk 12-31-14 04:45 AM

Quote:

Originally Posted by nelegalno2 (Post 303977)
I think the logical solution now that Carbonite is modular is that each module should have a file with the profile and module data that is independent of the rest. Maybe also an option to reset settings to default values for emergences. An option to have the same profile assigned to multiple characters where it won't be a problem is also a good idea since I like to have an uniform UI for all my characters but some people prefer to customize the UI per character or class.

That way if someone for example decided not to use the wherehouse anymore the collected inventory data won't be loaded and take space, also having a ~1MB Carbonite.lua file is a bit to much for me when the rest are 1-2KB.

P.S. At some time in the future you might consider renaming the directories to Carbonite_ModuleName for grouping in addon control addons. I don't know if spiting the configuration by modues would help or not - might get too confusing for some users but if it helps the development process...

Ok, changed to save to Carbonite.Quests.lua ;) Pull is waiting on git.

ircdirk 12-31-14 11:40 AM

One thing: please all developers turn on Quest Data Gathering.


All times are GMT -6. The time now is 10:10 PM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI