WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Wish List (https://www.wowinterface.com/forums/forumdisplay.php?f=15)
-   -   Quest API Suggestions (https://www.wowinterface.com/forums/showthread.php?t=24731)

jaliborc 06-13-09 11:43 AM

Quest API Suggestions
 
This are some quest API suggestions I have, which were based in the currently avaiable gossip and achievements API functions:
  • GetSelectedQuestLink() - returns quest link for the currently selected quest in the gossip or quest log
  • GetAvaiableQuestLink(i) - returns the quest link for the given gossip avaiable quest
  • GetActiveQuestLink(i) - returns the quest link for the given gossip active quest
  • GetQuestInfo(id) - returns quest information (name, level, summary, description) for the given quest id (saw this somewhere, sounds like a good idea)
  • GetNumQuestRequirements(id) - returns number of quest requirements for the given quest id
  • GetQuestRequirement(id, index) - returns quest requirement description for the given qiest id and requirement index (from 1 to GetNumQuestRequirements)
  • QueryQuestsCompleted() - implemented by blizzard in patch 3.3

Syzgyn 06-13-09 01:11 PM

I think most of us would be happy with just IsQuestCompleted(id).

Selite 06-13-09 01:39 PM

Yeah, a IsQuestCompleted(id) would be fantastic. *Looks at reams of paper with lists of quests on them* Although not strictly necessary.

jaliborc 06-13-09 02:56 PM

Quote:

Originally Posted by Syzgyn (Post 142903)
I think most of us would be happy with just IsQuestCompleted(id).

I'm developing an addon which wouldn't require an huge database if blizzard provided GetAvaiableQuestLink. Some may find IsQuestCompleted more usefull, some will find GetQuestInfo, others GetQuestRequirements. In fact, I never felt necessity for a IsQuestCompleted function, but that's just me.
This is why I suggested all of them. We should not say to Blizzard "we would be happy just if you had x", we should say "we have the following ideas, can you implement them?".

P.S: Added IsQuestCompleted to the list

orionshock 06-14-09 04:04 AM

To add my 2c in.

[true|false on Completion]= GetQuestStatus(id)
GetHistoricQuestLog()

The various query functions prolly will never be implemented due to server load. However All that we really need to know can be sumed up in these 2 api functions that work similar to the guild roster. Where one calls GetHistoricQuestLog() and it fires an event for when the client has all of the quest that are completed. Anything that isn't completed is either available or not applicable (faction/race specific ones). That's about all I foresee blizzard giving us.

Tho I'd have to agree with the Gossip API request, those would be nice.

Recluse 06-14-09 06:36 AM

Well, you do have the one I am most interested in already: IsQuestCompleted(id). If I had that function available, I would be tremendously happy.

jaliborc 06-14-09 09:38 AM

Quote:

Originally Posted by orionshock (Post 142996)
The various query functions prolly will never be implemented due to server load.

I don't understand nothing about server querying, so this may seem stupid, but I though that the client already queried the server for completed quests, to know if the quest givers can offer us such quests.
As a second thought, the server already has to provide a lot of information about completed achievements, would this not cause also an overload?

EDIT: But I think that the event is also a good idea (added it to the list). And the gossip functions wouldn't cause any overload, am I right?

Nafe 06-15-09 12:33 PM

Quote:

Originally Posted by jaliborc (Post 143031)
I don't understand nothing about server querying, so this may seem stupid, but I though that the client already queried the server for completed quests, to know if the quest givers can offer us such quests.

More likely is that the server only sends the client information about nearby quests when necessary (and applicable).

This makes a LOT more sense when you also factor in pre-reqs, level ranges, class-only quests, etc.
Just have the server do the calculation (since it has all the data) and return what the client needs to know, rather than send all the data to the client and have it do the calculations.

Quote:

Originally Posted by jaliborc (Post 143031)
EDIT: But I think that the event is also a good idea (added it to the list). And the gossip functions wouldn't cause any overload, am I right?

I wouldn't consider this to be much overload. In addition to simply passing the gossip text and type (note how it's !/? mark?), the server also sends the quest id, and that's enough to generate a link from.

jaliborc 06-18-09 11:50 AM

Quote:

Originally Posted by Nafe (Post 143185)
More likely is that the server only sends the client information about nearby quests when necessary

That makes sense... so give us an event, Blizzard! ;)

Bluspacecow 06-22-09 12:41 AM

Quote:

Originally Posted by jaliborc (Post 143031)
I don't understand nothing about server querying, so this may seem stupid, but I though that the client already queried the server for completed quests, to know if the quest givers can offer us such quests.

It really depends on what sort of data is gotten from the server , how big it is and how often it's queried.

With Millions of players I think you can understand that even the smallest amount of data transferred can quickly add up to a lot of data to be transferred.

You'd want it designed in such a way as it doesn't bring a server to it's knees when the entire wow population of a server all logon and click their "check quests complete" button. Even worse if they decide to do it every 5-10 minutes or so.

Maybe a system where you have to request a token from the server before running the query. And the query just sends up a list of quest ids and gets an array of boolen values back. The token you get from the server could be pretty much a "yes you can ask me now" or a "no i'm busy" sort of thing.

jaliborc 06-22-09 06:38 AM

Quote:

Originally Posted by honem (Post 144172)
It really depends on what sort of data is gotten from the server , how big it is and how often it's queried.

With Millions of players I think you can understand that even the smallest amount of data transferred can quickly add up to a lot of data to be transferred.

You'd want it designed in such a way as it doesn't bring a server to it's knees when the entire wow population of a server all logon and click their "check quests complete" button. Even worse if they decide to do it every 5-10 minutes or so.

Maybe a system where you have to request a token from the server before running the query. And the query just sends up a list of quest ids and gets an array of boolen values back. The token you get from the server could be pretty much a "yes you can ask me now" or a "no i'm busy" sort of thing.

"That makes sense... so give us an event, Blizzard!"

orionshock 07-08-09 11:34 PM

To kinda bump this again.

imo it would be more like you request all the data for your toon from the server. the client then keeps track of that request / server keeps track of that request. Then it only gives you information current from last server reset / restart, and only let's you quiry it once. from there the client caches all that information on a per account / per toon bassis and lets the client interact with it as needs be.

so you'd login, and request the historical data. if it's not available, the client downloads it from the server, when it's done then we throw an event. If it's already got the cache sense last reset it imidately throws an event.

that could lessen the load by only allowing the client to cache upto the last reset and make it a persistant cache between sessions like the item cache.

front243 10-14-09 10:50 AM

One of your wishes granted in latest PTR patch:

Quote:

You can now query for a list of completed quests with "QueryQuestsCompleted()" then wait for the "QUEST_QUERY_COMPLETE" event, and call "GetQuestsCompleted(<luatable>)".

jaliborc 10-14-09 12:50 PM

Quote:

Originally Posted by front243 (Post 162085)
One of your wishes granted in latest PTR patch:

Hip, hip, hurray! :)
Anyway, where did you find that information?

EDIT: Found it at http://forums.worldofwarcraft.com/th...37376853&sid=1

front243 10-14-09 03:03 PM

Quote:

Originally Posted by jaliborc (Post 162100)
Hip, hip, hurray! :)
Anyway, where did you find that information?

EDIT: Found it at http://forums.worldofwarcraft.com/th...37376853&sid=1

I saw it at wow.com where they posted the full patch notes. I suppose they are also at mmo-champion, etc. But you found it too :)

CalciumIRL 10-19-09 03:48 PM

Anyone got an idea of an AddOn to help with the Loremaster achievement then? It would be quite a challenge but now we are given the resources, has anyone got an idea or are willing to attempt this AddOn? :D

Seerah 10-19-09 04:28 PM

http://www.wowinterface.com/download...tedQuests.html

front243 10-21-09 01:27 AM

I saw a post in the Carbonite forums that the carbonite devs wants to do something similar with its database.

wurmfood 10-21-09 01:44 AM

The API is very easy to use, though the table returned on the PTR is a little strange and has to be compensated for (which is easy). I would be surprised if most of the quest addons didn't incorporate it. The hardest part of getting it to work with EveryQuest was understanding the import function and overriding it without making CompeltedQuests an ACE3 addon.

xelepart 08-17-10 12:31 PM

Has anyone suggested (and has Blizzard responded) to an idea for "GetAvailableQuests()" -- nearly the opposite of get completed quests, but this would only return a list of quests which the quest givers would give you right now. No description of what prereqs you're missing or where to get them or anything, just a list of ids that are quests you could pick up, if you knew where to get 'em. This seems to go along nicely with the GetCompletedQuests() function, in my mind, and would allow quest-assist mods some very nice (and much needed, in my opinion) cleanup...


All times are GMT -6. The time now is 09:45 AM.

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