Full Version : quest problem
xmlspawner >>Q&A >>quest problem


<< Prev | Next >>

Kalen- 02-21-2006
First I just want to say that this is a great system!! I am having so much fun with it and the possiblities are endless with creativity. My problem is I have to mix some intelligence with my creativity LOL. This forums seems very friendly and helpful, unlike certain other forums to remain nameless *Grin*. I am making a quest npc that you have to find an item and drop it on the quest npc then it will give you another item. You don't have to kill anything just find a certain item to bring back to the npc. I drop the item on him but he just puts it back in my pack. I"m at work so I don't have what I have written so far but could you give an example of how this would work?

ArteGordon- 02-21-2006
check out this thread. I'm guessing its the same issue.
http://xmlspawner.15.forumer.com/index.php?showtopic=296

Kalen- 02-21-2006
my npc is the xmlquestnpc.......would that be the same issue?

ArteGordon- 02-21-2006
no. then it should work.

What does your objective string look like for your quest?

Kalen- 02-21-2006
GIVE/<questholder/name/visit mage shop/notestring/visit the mage shop in haven and talk to LeeAnn/objective1/COLLECTNAMED,tailortoken,1/autoreward/true/rewardstring/magetoken

ArteGordon- 02-22-2006
this kind of objective

objective1/COLLECTNAMED,tailortoken,1

just requires them to collect the item using the Collect button in the quest gump. If you want them to have to give it to an npc, use the GIVENAMED objective.

GIVENAMED,mobname,itemname[,itemtype][,count][,proptest]

Kalen- 02-28-2006
Ok after a solid week of working on this with no prevail I'm asking for help plz. I've tried all the different things ppl have tried here but it just isn't working. I'm making a newbie quest where upon creation they a quest npc will start talking to them then ask them if they would like to do an easy quest to earn nice starting items. What they have to do is visit 6 shops in haven and talk with the questnpc's there and hand them a token specific for that npc, such as magetoken, tailortoken, smithytoken, bakertoken etc. Script name is magetoken but name shown in game is Mage Token. This is how I have the starting npc:

blah blah blah talking then this:

asks: Would you like an easy quest to get some very nice items to start here with?

then:
CODE

keywords: yes
Depends on 40
Gump=GUMP,Ringo,3/You must travel to the different vendor shops in Haven and hand them a token, so they can tell you info about the shard. They will then give you the next token for the next vendor. The last token you bring back to me for your prize.;accept;ok;No, Thanks;No


Then:

CODE

keywards= accept
GIVE/<questholder/name/Newbie Quest/notestring/Visit the different mage shops in Haven and speak with NPC's/objective1/GIVENAMED,Mitchell,MageToken,1/autoreward/true/rewardstring/@bag/ADD/TailorTokenobjective2/GIVENAMED,Ellen,TailorToken,1/autoreward/true/rewardstring/@bag/ADD/BakerToken/objective3/GIVENAMED,Bella,BakerToken,1/autoreward/true/rewardstring/@bag/ADD/SmithyToken

and it goes on for 6 objectives. All npcs are xmlquestnpc's on a spawner, none will accept the tokens given nor give the reward and the questholder does not appear in the backpack after I hit accept on gump nor does the quest show up after I hit accept in the quests button on paperdoll. Please tell me what I need to do to get this to work so I can keep what hair I have left.

ArteGordon- 03-01-2006
QUOTE
GIVE/<questholder/name/Newbie Quest/notestring/Visit the different mage shops in Haven and speak with NPC's/objective1/GIVENAMED,Mitchell,MageToken,1/autoreward/true/rewardstring/@bag/ADD/TailorTokenobjective2/GIVENAMED,Ellen,TailorToken,1/autoreward/true/rewardstring/@bag/ADD/BakerToken/objective3/GIVENAMED,Bella,BakerToken,1/autoreward/true/rewardstring/@bag/ADD/SmithyToken

there is a problem with this. The rewardstring setting for the questholder needs to be the last thing assigned because you use the special literal operator '@' which means that the rest of the line is treated as a literal string and so is not parsed. What that line will do is to create a questholder and assign the rewardstring for it to the value of

bag/ADD/TailorTokenobjective2/GIVENAMED,Ellen,TailorToken,1/autoreward/true/rewardstring/@bag/ADD/BakerToken/objective3/GIVENAMED,Bella,BakerToken,1/autoreward/true/rewardstring/@bag/ADD/SmithyToken

If you want to have the questholder with multiple objectives, then it needs to look like

GIVE/<questholder/name/Newbie Quest/notestring/Visit the different mage shops in Haven and speak with NPC's/objective1/GIVENAMED,Mitchell,MageToken,1/objective2/GIVENAMED,Ellen,TailorToken,1/objective3/GIVENAMED,Bella,BakerToken,1/autoreward/true/rewardstring/@bag/ADD/TailorToken/ADD/BakerToken/ADD/SmithyToken

although I'm not sure why you are giving out a bag with those tokens as a reward for completing the quest, when you actually need them to complete the quest in the first place.

If you could post the actual .npc file that you created and the .xml files for the spawners, that would be helpful.

The most common mistake with these sorts of things is misspelling names, and not getting the case right. You should make sure that the names for the npcs and the tokens match what you have exactly. Use the '[get name' command on them to get the actual string. Dont rely on what is reported on mouseover since that automatically capitalizes names even when the actual strings dont have caps.

Kalen- 03-02-2006
CODE

GIVE/<questholder/name/Newbie Quest/notestring/Visit the different mage shops in Haven and speak with NPC's/objective1/GIVENAMED,Mitchell,MageToken,1/objective2/GIVENAMED,Ellen,TailorToken,1/objective3/GIVENAMED,Bella,BakerToken,1/autoreward/true/rewardstring/@bag/ADD/TailorToken/ADD/BakerToken/ADD/SmithyToken


I cut and pasted your sample and it still didn't give me a questholder.

CODE

although I'm not sure why you are giving out a bag with those tokens as a reward for completing the quest, when you actually need them to complete the quest in the first place.


Is it possible to just speak to an npc, then drop something on them and get something back without actually setting up a quest for them to talk to someone else to get the reward? The way I was hoping to set this up is you talk to the questholder npc, he would drop you the first npc token, you would then go there, talk to that npc then give him the token and he would give you the next token to talk to the next npc etc down the line. Each would give a hint or tip plus the next npc token. I"ve tried every variation from samples here and ingame but can't come up with one that works. I will post my npc file when I get home from work this evening. Thanks for helping Arte, must appreciated smile.gif

Kalen- 03-02-2006
ok here is my questgivernpc file:

CODE

<?xml version="1.0" standalone="yes"?>
<XmlQuestNPC>
 <NPC>
   <Name>Ringo</Name>
   <Running>True</Running>
   <ProximityRange>5</ProximityRange>
   <AllowGhost>False</AllowGhost>
   <SpeechPace>1</SpeechPace>
   <ResetTime>1</ResetTime>
   <ConfigFile>Ringo</ConfigFile>
   <SpeechEntries>6</SpeechEntries>
 </NPC>
 <SpeechEntry>
   <EntryNumber>0</EntryNumber>
   <ID>0</ID>
   <DependsOn />
   <Pause>1</Pause>
   <PrePause>-1</PrePause>
   <LockConversation>True</LockConversation>
   <AllowNPCTrigger>False</AllowNPCTrigger>
   <SpeechStyle>Regular</SpeechStyle>
   <SpeechHue>-1</SpeechHue>
 </SpeechEntry>
 <SpeechEntry>
   <EntryNumber>10</EntryNumber>
   <ID>10</ID>
   <Text>Greetings and welcome to Medieval Domain. </Text>
   <DependsOn>-1</DependsOn>
   <Pause>1</Pause>
   <PrePause>-1</PrePause>
   <LockConversation>False</LockConversation>
   <AllowNPCTrigger>False</AllowNPCTrigger>
   <SpeechStyle>Regular</SpeechStyle>
   <SpeechHue>-1</SpeechHue>
 </SpeechEntry>
 <SpeechEntry>
   <EntryNumber>20</EntryNumber>
   <ID>20</ID>
   <Text>Would you like an easy quest to get some very nice items to start here with?    </Text>
   <DependsOn>10</DependsOn>
   <Pause>1</Pause>
   <PrePause>-1</PrePause>
   <LockConversation>True</LockConversation>
   <AllowNPCTrigger>False</AllowNPCTrigger>
   <SpeechStyle>Regular</SpeechStyle>
   <SpeechHue>-1</SpeechHue>
 </SpeechEntry>
 <SpeechEntry>
   <EntryNumber>30</EntryNumber>
   <ID>30</ID>
   <Keywords>yes,ok,sure</Keywords>
   <DependsOn>20</DependsOn>
   <Pause>1</Pause>
   <PrePause>-1</PrePause>
   <LockConversation>True</LockConversation>
   <AllowNPCTrigger>False</AllowNPCTrigger>
   <SpeechStyle>Regular</SpeechStyle>
   <SpeechHue>-1</SpeechHue>
   <Gump>GUMP,Ringo,4/You must tour the shops of Haven and speak with the shop owners to find out more about our realm and exchange tokens they will give you. Believe me the rewards are great when you finish and return the final token to me.;accept;ok;No, thanks;no</Gump>
 </SpeechEntry>
 <SpeechEntry>
   <EntryNumber>50</EntryNumber>
   <ID>50</ID>
   <Text>Ok I'm sorry to hear that. Enjoy our realm.</Text>
   <Keywords>no,nah,nope</Keywords>
   <DependsOn>999</DependsOn>
   <Pause>1</Pause>
   <PrePause>-1</PrePause>
   <LockConversation>True</LockConversation>
   <AllowNPCTrigger>False</AllowNPCTrigger>
   <SpeechStyle>Regular</SpeechStyle>
   <SpeechHue>-1</SpeechHue>
 </SpeechEntry>
 <SpeechEntry>
   <EntryNumber>60</EntryNumber>
   <ID>60</ID>
   <Keywords>accept</Keywords>
   <Action>GIVE/&lt;questholder/name/Newbie Quest/notestring/Visit the different mage shops in Haven and speak with NPC's/objective1/GIVENAMED,Mitchell,MageToken,1/objective2/GIVENAMED,Ellen,TailorToken,1/objective3/GIVENAMED,Bella,BakerToken,1/autoreward/true/rewardstring/@bag/ADD/TailorToken/ADD/BakerToken/ADD/SmithyToken</Action>
   <DependsOn>30</DependsOn>
   <Pause>1</Pause>
   <PrePause>-1</PrePause>
   <LockConversation>True</LockConversation>
   <AllowNPCTrigger>False</AllowNPCTrigger>
   <SpeechStyle>Regular</SpeechStyle>
   <SpeechHue>-1</SpeechHue>
 </SpeechEntry>
</XmlQuestNPC>


ArteGordon- 03-02-2006
the issue is here

QUOTE

GUMP,Ringo,4/You must tour the shops of Haven and speak with the shop owners to find out more about our realm and exchange tokens they will give you. Believe me the rewards are great when you finish and return the final token to me.;accept;ok;No, thanks;no


your 'accept' selection, generates the keyword 'ok' when selected.

but the dialog entry that gives out your questholder is set up to be triggered on the keyword 'accept', instead of 'ok'

QUOTE

<SpeechEntry>
  <EntryNumber>60</EntryNumber>
  <ID>60</ID>
  <Keywords>accept</Keywords>
  <Action>GIVE/&lt;questholder/name/Newbie Quest/notestring/Visit the different mage shops in Haven and speak with NPC's/objective1/GIVENAMED,Mitchell,MageToken,1/objective2/GIVENAMED,Ellen,TailorToken,1/objective3/GIVENAMED,Bella,BakerToken,1/autoreward/true/rewardstring/@bag/ADD/TailorToken/ADD/BakerToken/ADD/SmithyToken</Action>
  <DependsOn>30</DependsOn>
  <Pause>1</Pause>
  <PrePause>-1</PrePause>
  <LockConversation>True</LockConversation>
  <AllowNPCTrigger>False</AllowNPCTrigger>
  <SpeechStyle>Regular</SpeechStyle>
  <SpeechHue>-1</SpeechHue>
</SpeechEntry>


just change the keyword to 'ok' and it should be fine

Kalen- 03-08-2006
I got it to work finally! Thanks Arte that worked smile.gif Now on to bigger and better things, this spawner's uses is unlimited.....once I figure them out. Great job and thanks for creating this system and sharing it with all of us!

Kalen- 03-08-2006
ok spoke too soon LOL. Trying to make this quest only done once. It keeps letting me do over and over. This is my questholder line.

CODE

GIVE/<questholder/name/Newbie Quest/notestring/Visit the different NPC shops in Haven and listen to what they have to say then give appropriate token./objective1/GIVENAMED,Mitchell,Mage Token,1/objective2/GIVENAMED,Ellen,Tailor Token,1/objective3/GIVENAMED,Bella,Baker Token,1/objective4/GIVENAMED,Gennie,Banker Token,1/objective5/GIVENAMED,Ben,Bard Token,1/objective6/GIVENAMED,Samuel,Smithy Token,1/autoreward/true/rewardstring/@bag/ADD/newbiequestbag>;GIVE/MageToken/repeatable/false


Everything works great except for that problem. Now does this make the quest only doable once per player or once per account? I only want it done once per account so hopefully that is the way it works.

ArteGordon- 03-08-2006
when you do this

GIVE/MageToken/repeatable/false

I assume that you actually are trying to set the repeatable property on the questholder that you give out. That line will not do that.

you can do it by just inserting in in here like this

GIVE/<questholder/repeatable/false/name/Newbie Quest/notestring

Unfortunately, this just prevents the player from repeating it. It does not apply to the entire account. That is still something on the todo list.