Jump to content

[Idea] Store guid for quests objectives


Guest Siegels

Recommended Posts

Hello,

I had an idea: Currently, players can validate a quest by speaking several times to the same creature or several times using a spell on a single creature or object (eg a player can behead several times a single humanoid ).

Why not create a table in which we store the GUID of creatures / objects on which targets have been validated for unfinished quests ?

A player has quest: Speak to 5 guards.

Guards have ID : 15 and GUID: 21 22 23 24 25

Player speaks to a guard: his guid is saved to character_questobjectives (idea) and +1 to the quest objective

Player speaks to another guard: same

Player speaks to the first guard: the guid is already in character_questobjectives : no add and no +1 to objective

at the end, when quest is finished and validated, occurs in character_questobjectives have to be deleted

It's just an idea but I think it would have to solve many problems in this regard.

On this, sorry for my broken English and I expect reactions =)

Siegels

Link to comment
Share on other sites

I think he's referring to quests where the objective is to gather a certain number of an item, such as stacks of lumber for the quest at Eastvale Logging Camp, or to kill a given number of a certain creature, i.e.: 12 Murloc Fins for the Murloc Bounty quest given by the guard at the bridge leading to Eastvale, in Elwynn Forest.

As it stands, you can simply stand next to the spawn point for a stack of lumber, wait for it to respawn, pick it up as many times as you wish and, each time, it counts toward your objective until you have fulfilled the requirements. Same goes for creature kills. You can kill the same spawn again and again to get credit for the quest objective.

I believe his idea would be for each item gathered or creature killed to have a unique identifier ( GUID ) that is stored in a table for that quest to prevent you from "camping" a spawn point and forcing the player to move on to the next target if they wish to gain credit for completion. Perhaps achieving this by preventing a gathered item or creature part/loot from respawning at the coordinates of the GUID for the item/creature part/loot.

Link to comment
Share on other sites

I think he's referring to quests where the objective is to gather a certain number of an item, such as stacks of lumber for the quest at Eastvale Logging Camp, or to kill a given number of a certain creature, i.e.: 12 Murloc Fins for the Murloc Bounty quest given by the guard at the bridge leading to Eastvale, in Elwynn Forest.

As it stands, you can simply stand next to the spawn point for a stack of lumber, wait for it to respawn, pick it up as many times as you wish and, each time, it counts toward your objective until you have fulfilled the requirements. Same goes for creature kills. You can kill the same spawn again and again to get credit for the quest objective.

I believe his idea would be for each item gathered or creature killed to have a unique identifier ( GUID ) that is stored in a table for that quest to prevent you from "camping" a spawn point and forcing the player to move on to the next target if they wish to gain credit for completion. Perhaps achieving this by preventing a gathered item or creature part/loot from respawning at the coordinates of the GUID for the item/creature part/loot.

This is not official-like behaviour. On official you can get respawns all you want; they have respawn timers and most likely pool behaviour anyway.

As for the two quests linked as examples, they both require and could more easily be done with scripts, rather than add completely new and wasteful behaviour into core which 99.9% of quests do not need.

Link to comment
Share on other sites

i think you did not understood intention. there ARE quests and quite much of them that requires such a support. lets say we've got npcs corpse and you have to stake a snapshot with Q item, those corpses are not supposed to despawn after spell cast (it was even disussed at udb irc channel long time ago) How will you solve this problem at ScriptedAI level? it would be as natural and generic solution as sending loot recepient.

Link to comment
Share on other sites

i think right way to implement this is some flag on creature that forbids usage by player, no? best would be to get some packet log showing what happens when one guard is talked to. I think if no flag or such is set then we should think about saving guids

Link to comment
Share on other sites

As Gotisch said, it can be done by flag. It's needed for more than two quests. For example: http://www.wowhead.com/quest=5441 [Lazy Peons] - now you can wait for cooldown and wake the same peon... This feature can be good. Just get it to work - flag will be nice for DB handling...

From reading the comments of that quest, it would seem that you can just wait for them to fall asleep and them hit them again, so again this would not be official-like behaviour.

Link to comment
Share on other sites

/agree, this isn't good example but,

on offy they are working and because they are lazy, they fall asleep. But with today's Databases/Scriptdev2 they only sleep. That's what I'm talking about. I know this isn't core problem, but while it's not done by scriptdev, with this idea - simply add flag to NPC and bye to all "one NPC campers" :)

Link to comment
Share on other sites

/agree, this isn't good example but,

on offy they are working and because they are lazy, they fall asleep. But with today's Databases/Scriptdev2 they only sleep. That's what I'm talking about. I know this isn't core problem, but while it's not done by scriptdev, with this idea - simply add flag to NPC and bye to all "one NPC campers" :)

No, this is bad idea. Better fix something properly than do hack fix and ignore problem.

Link to comment
Share on other sites

While some admins might like this idea as being more "hardcore" than retail, I see Patman's point. Why does the core need modifying to support this behavior when proper scripting could achieve the same effect?

There is a third way. I for example do not care if players interact only with one NPC. Only thing i care about is the quest itself working as it should (aside from the fact that you can talk to one NPC instead of 5 and still complete the quest).

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use