Author Topic: I'm whiny?  (Read 4494 times)

Bereror

  • Hydlaa Notable
  • *
  • Posts: 773
    • View Profile
    • Planeshift API
Re: I'm whiny?
« Reply #15 on: October 05, 2007, 09:30:39 pm »
Draklar,

I don't know the quests code too well, but as far as I know it includes steps and once you complete a step, it gets stored in your character's data. Steps can include several actions, including giving an item and also saying magic words. If you manage to give the item and logout or crash without magic words, the quest is lost for you. You can't go back to the previous step since it is already completed and you don't have the item because you got it from your previous step.
PlaneShift Sources
PlaneShift API
"Words never spoken
Are the strongest resounding"

Draklar

  • Forum Legend
  • *
  • Posts: 4422
    • View Profile
Re: I'm whiny?
« Reply #16 on: October 05, 2007, 09:39:11 pm »
Bereror, what I think is the issue here is that the quest step contains more than one action:
1) give item
2) respond
Such combination should be avoided, lest it gives the results like in the reported bug (if you log out or move away from the NPC, the quest will be locked out). You gave an item, but you didn't finish a step -- quest goes into a dead point.
The only thing you need to do in such a case is split the step into two (plus some other small details).

Of course this may not be the case, but the symptoms seem to be the same.
« Last Edit: October 05, 2007, 09:41:33 pm by Draklar »
AKA Skald

theirah

  • Hydlaa Resident
  • *
  • Posts: 191
    • View Profile
Re: I'm whiny?
« Reply #17 on: October 05, 2007, 09:40:47 pm »
perhaps one way of finishing this would be to code all quests with "please repeat your last words regarding [nameofquestorkeyword]" to have them repeat teh last recorded step

Ver

  • Hydlaa Resident
  • *
  • Posts: 156
    • View Profile
Re: I'm whiny?
« Reply #18 on: October 05, 2007, 09:45:24 pm »
There's several good ways to do it.

Why not just store the fact that the NPC has already received the item in the database? Items, you'd think, are more concrete "steps" within a quest than magic words.

Draklar

  • Forum Legend
  • *
  • Posts: 4422
    • View Profile
Re: I'm whiny?
« Reply #19 on: October 05, 2007, 09:50:23 pm »
Ver, I don't think that would actually work.
If the step is in fact split up, then the database should already contain information that you finished this part of quest.
If it isn't, then unless you split it, you need the item to trigger the step.
AKA Skald

Ver

  • Hydlaa Resident
  • *
  • Posts: 156
    • View Profile
Re: I'm whiny?
« Reply #20 on: October 05, 2007, 09:53:52 pm »
It should permanently store the fact that you have given that item to that NPC, so that you can later use the trigger phrase at any time.

Draklar

  • Forum Legend
  • *
  • Posts: 4422
    • View Profile
Re: I'm whiny?
« Reply #21 on: October 05, 2007, 09:58:29 pm »
It does.
AKA Skald

Ver

  • Hydlaa Resident
  • *
  • Posts: 156
    • View Profile
Re: I'm whiny?
« Reply #22 on: October 05, 2007, 10:03:43 pm »
So then how come the NPC "forgot" I ever did it in this case?

A logout apparently removed the data that stored her having received the item.

Draklar

  • Forum Legend
  • *
  • Posts: 4422
    • View Profile
Re: I'm whiny?
« Reply #23 on: October 05, 2007, 10:12:01 pm »
If it is what I suspect it is, then it's because you didn't finish the step. If the step itself is triggered by giving an item, then no matter what you store within the database, it won't fix the problem as you need the item. In such case the database also lacks info about you giving the item, but even if it did contain it, this wouldn't change anything. It's just how the quest code works.
But this should be easy to fix.

If it really is something else, then I have no idea. But your finishing step should be stored in the database no matter whether you logged out or not. I never had any problems with this anyway. Maybe crash could cause some damage to your quest database, but that again would be a bug, especially that nothing of this sort happened in the past.
AKA Skald

Bereror

  • Hydlaa Notable
  • *
  • Posts: 773
    • View Profile
    • Planeshift API
Re: I'm whiny?
« Reply #24 on: October 05, 2007, 10:22:36 pm »
It does store that you have completed the step, but not the fact that you gave an item to the NPC. It is not hard to write a simple quest with two or three steps only.

STEP #1
Trigger: Gimme a quest
NPC: I need 3 apples.
Step 1 completed and stored in the database.

Now it doesn't matter how the step 1 was completed, just the fact that step 1 was completed matters.

STEP #2
Trigger: Player gives 3 apples to the NPC.
NPC: Ah, thank you. I really needed these.
NPC gives player 100 tria.
Step 2 completed and stored in the database. Quest completed

However, it becomes much more complicated with more complex quests and splitting the quest into smaller steps is not that easy. Especially when the quest writer wants to give players more freedom, like offering 4 apples instead of 3. These have to be handled in the same step and cannot be split into two, at least by my current knowledge. Anything more complex within the same step and you are doomed if you logout or crash.
PlaneShift Sources
PlaneShift API
"Words never spoken
Are the strongest resounding"

Draklar

  • Forum Legend
  • *
  • Posts: 4422
    • View Profile
Re: I'm whiny?
« Reply #25 on: October 05, 2007, 10:30:02 pm »
It does store that you have completed the step, but not the fact that you gave an item to the NPC.
Which basically is the same, unless the step contains more than one action. But that should be fixed.

However, it becomes much more complicated with more complex quests and splitting the quest into smaller steps is not that easy. Especially when the quest writer wants to give players more freedom, like offering 4 apples instead of 3. These have to be handled in the same step and cannot be split into two, at least by my current knowledge. Anything more complex within the same step and you are doomed if you logout or crash.
This is either impossible to handle with one step, and can only be done with two, or it can be done with the same ease using one or two seperate steps.

A clarification of what exactly the problem is would be a good etiquette :P

Edit: also, "STEP #1" <-- this doesn't exist ;)
« Last Edit: October 05, 2007, 10:32:11 pm by Draklar »
AKA Skald

Bereror

  • Hydlaa Notable
  • *
  • Posts: 773
    • View Profile
    • Planeshift API
Re: I'm whiny?
« Reply #26 on: October 05, 2007, 10:48:17 pm »
Draklar,

It all might be. What I mean is that it is a limitation of the engine and not the way how quests are written. One could force the settings team to write quests that never fail when the player logs out or crashes, but it would most likely end up with very simple quests like "give me 3 apples", "here are your 3 apples". Any more complex quests either would be impossible to write or they would fail the crash test. Xillix, Jeraphon and Co. are doing a wonderful job adding new quality quests to the game and it is up to us, the engine team members, to improve the engine so that it works well even if the player crashes or logs out.

And I'm really sorry, but "if you want it so much, sign up for the team and program it yourself" is still valid :P
PlaneShift Sources
PlaneShift API
"Words never spoken
Are the strongest resounding"

Draklar

  • Forum Legend
  • *
  • Posts: 4422
    • View Profile
Re: I'm whiny?
« Reply #27 on: October 05, 2007, 10:53:59 pm »
So the case here isn't step being written in such a way?


Step #n
Trigger: Player gives the drink.
NPC makes a response
Trigger: Player says "Allelia sent me"
NPC makes a response
Step n completed and stored in the database.
AKA Skald

Marqsaynt

  • Hydlaa Citizen
  • *
  • Posts: 335
    • View Profile
Re: I'm whiny?
« Reply #28 on: October 05, 2007, 11:52:00 pm »
In my mind this situation doesn't really point out any major flaw in the devs coding work, etc. but more an example of less than stellar, for lack of a better term, public relations. While I feel certain that given enough time the talented people working on PS can figure out a way to fix this quest crash limitation and any other bugs/annoyances/etc. The thing that really stands out to me is that a polite response like Bereror gave (see below, important points highlighted) explaining the situation would probably have caused the whole dialog that lead up to the "whiny bitch" comment/potential hurt feelings/frustration to never even occur.

I know that people that work on this project are volunteers (and sometimes put up with a lot of crap from players suffering from a major sense of entitlement) but like it our not, if a person is a dev or a GM they are an ambassador for Planeshift. People are human, people have bad days, sometimes people get frustrated and call people names. This is just a fact of life but, next time it may be better to toss that drafted response out before clicking the "submit" button and drafting a new response that isn't simply going to antagonize a person or escalate the situation needlessly.

I'm not sure if this already exists or not but, it seems to me that it may not be a half-bad idea to create some sort of short manual (When Everybody Wants Something From You: Dealing with the Impossible to Satisfy Public :P) that not only reminds the "ambassadors" of this project that very rarely does the person doing the name calling end up looking like the more rational and bigger person but, also has standard responses for those complaints that disgruntled players/former players always seem to use in an attempt to start a massive flame war. i.e "This Project isn't Really Opensource!!!1111, The GMs are corrupt and banned my grandmother!"

Anyway, just my two tria. ;) Thanks for reading.   

Ver,

This is not a broken quest, but a limitation in our engine and there is nothing that Jeraphon can do about it. He has done a great job adding new quests and fixing existing ones, but he can't change the limitations in the engine. One day the engine will be improved and things get better. Until then, just take a deep breath, wait couple of hours and life will be as good as it was :P

theirah

  • Hydlaa Resident
  • *
  • Posts: 191
    • View Profile
Re: I'm whiny?
« Reply #29 on: October 05, 2007, 11:56:16 pm »
I dont really get what the engine actually does in quests. does it just do the storing of quest steps? or does it have other functions as well?