Thread Tools Display Modes
06-13-09, 11:43 AM   #1
jaliborc
A Chromatic Dragonspawn
 
jaliborc's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2007
Posts: 196
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

Last edited by jaliborc : 10-16-09 at 09:36 AM.
  Reply With Quote
06-13-09, 01:11 PM   #2
Syzgyn
An Aku'mai Servant
 
Syzgyn's Avatar
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 37
I think most of us would be happy with just IsQuestCompleted(id).
  Reply With Quote
06-13-09, 01:39 PM   #3
Selite
A Fallenroot Satyr
AddOn Author - Click to view addons
Join Date: Aug 2008
Posts: 20
Yeah, a IsQuestCompleted(id) would be fantastic. *Looks at reams of paper with lists of quests on them* Although not strictly necessary.
  Reply With Quote
06-13-09, 02:56 PM   #4
jaliborc
A Chromatic Dragonspawn
 
jaliborc's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2007
Posts: 196
Originally Posted by Syzgyn View Post
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

Last edited by jaliborc : 06-14-09 at 09:38 AM.
  Reply With Quote
06-14-09, 04:04 AM   #5
orionshock
A Wyrmkin Dreamwalker
 
orionshock's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2006
Posts: 50
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.
__________________
"I was there in the beginning... and things were very different back then" --An Echo from a time before.
  Reply With Quote
06-14-09, 06:36 AM   #6
Recluse
A Cliff Giant
 
Recluse's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 70
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.
__________________
We'd be together, but only diamonds last forever...
  Reply With Quote
06-14-09, 09:38 AM   #7
jaliborc
A Chromatic Dragonspawn
 
jaliborc's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2007
Posts: 196
Originally Posted by orionshock View Post
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?

Last edited by jaliborc : 06-14-09 at 09:45 AM.
  Reply With Quote
06-15-09, 12:33 PM   #8
Nafe
A Deviate Faerie Dragon
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 17
Originally Posted by jaliborc View Post
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.

Originally Posted by jaliborc View Post
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.

Last edited by Nafe : 06-15-09 at 12:38 PM.
  Reply With Quote
06-22-09, 12:41 AM   #9
Bluspacecow
Giver of walls of text :)
 
Bluspacecow's Avatar
AddOn Author - Click to view addons
Join Date: Dec 2006
Posts: 770
Originally Posted by jaliborc View Post
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.
__________________
tuba_man on Apple test labs : "I imagine a brushed-aluminum room with a floor made of keyboards, each one plugged into a different test box somewhere. Someone is tasked with tossing a box full of cats (all wearing turtlenecks) into this room. If none of the systems catch fire within 30 minutes, testing is complete. Someone else must remove the cats. All have iPods." (http://community.livejournal.com/tec...t/2018070.html)
  Reply With Quote

WoWInterface » Developer Discussions » Wish List » Quest API Suggestions


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off