First off, thanks to everyone that has helped me with the XmlQuestNPC. I've learned a lot from you all (major kudos for Tass!) and it is starting to click some. So, i've got part 1 of my initial NPC all done. I'm now working on the next phase for the quest and wondering how to achieve this:

My 2nd NPC is setup with no TrigOnCarried Method. Talk text set to Yes?

I have the following set:

Line 0 depends on -2
Line 10 depends on 0 Text: His initial text
Line 20 depends on 10 Keyword: Yes? Condition: GETONTRIG,Note To Jarvis,Visible=True Gump = Triggers A Gump (Probably will do an action to TAKE the note when triggered)
Line 30 depends on 10 Keyword: Yes? Text: His response

So, I can get it to trigger all the way through 30, but what I'm not getting is Line 20 to trigger. I'd like for the initial gump to open up if the player is carrying the note. If not, then he gets the normal 30 line response (which is working.)

The Note to Jarvis is a 'blankdeed' script I made (which is nothing more than a deed), and is given to the player in the 1st phase with:

GIVE/<blankdeed/Name/Note To Jarvis/Hue 20>

Am I using the wrong syntax for 20? (see bold) It has to be wrong, cause it skips over it and invokes 30, even if I have the proper item. I've tried a few different things, but nothing working so far.
 
Well, is the Note to Jarvis an attachment, or an item the player is carrying?
If it's an item the player is carrying, do this:
Code:
{GETONCARRIED,Note To Jarvis,ItemType,Visible=True}

If it's a property of the player:
Code:
{GETONTRIGMOB,Property,Value}

If it's an attachment:
Code:
{GETONATTACH,AttachmentType,AttachmentName,Property}

Don't forget the { } ;)
 
Well, is the Note to Jarvis an attachment, or an item the player is carrying?
If it's an item the player is carrying, do this:
Code:
{GETONCARRIED,Note To Jarvis,ItemType,Visible=True}

Hmmm... it is still triggering line 30. I have 20 set up as follows:

Keywords: Yes?

Condition: {GETONCARRIED,Note To Jarvis,BlankDeed,Visible=True}

Here is my NPC file for reference. If working, I should be presented with a line 20 (as I'm carrying my BlankDeed (named "Note To Jarvis"), but it skips and goes directly to line 30:

Code:
<?xml version="1.0" standalone="yes"?>
<XmlQuestNPC>
  <NPC>
    <Name>Jarvis</Name>
    <Running>True</Running>
    <ProximityRange>3</ProximityRange>
    <ResetRange>16</ResetRange>
    <NoTriggerOnCarried>ATTACHMENT,A Family Revenge,XmlQuestAttachment</NoTriggerOnCarried>
    <AllowGhost>False</AllowGhost>
    <SpeechPace>10</SpeechPace>
    <ResetTime>1</ResetTime>
    <ConfigFile>AFamilyRevenge2</ConfigFile>
    <SpeechEntries>4</SpeechEntries>
  </NPC>
  <SpeechEntry>
    <EntryNumber>0</EntryNumber>
    <ID>0</ID>
    <DependsOn>-2</DependsOn>
    <Pause>1</Pause>
    <PrePause>-1</PrePause>
    <LockConversation>True</LockConversation>
    <IgnoreCarried>False</IgnoreCarried>
    <AllowNPCTrigger>False</AllowNPCTrigger>
    <SpeechStyle>Regular</SpeechStyle>
    <SpeechHue>-1</SpeechHue>
  </SpeechEntry>
  <SpeechEntry>
    <EntryNumber>10</EntryNumber>
    <ID>10</ID>
    <Text>*Jarvis looks at you with a rather odd look*</Text>
    <DependsOn>0</DependsOn>
    <Pause>1</Pause>
    <PrePause>-1</PrePause>
    <LockConversation>True</LockConversation>
    <IgnoreCarried>False</IgnoreCarried>
    <AllowNPCTrigger>False</AllowNPCTrigger>
    <SpeechStyle>Regular</SpeechStyle>
    <SpeechHue>-1</SpeechHue>
  </SpeechEntry>
  <SpeechEntry>
    <EntryNumber>20</EntryNumber>
    <ID>10</ID>
    <Keywords>Yes?</Keywords>
    <Condition>{GETONCARRIED,Note To Jarvis,BlankDeed,Visible=True}</Condition>
    <DependsOn>10</DependsOn>
    <Pause>1</Pause>
    <PrePause>-1</PrePause>
    <LockConversation>True</LockConversation>
    <IgnoreCarried>False</IgnoreCarried>
    <AllowNPCTrigger>False</AllowNPCTrigger>
    <SpeechStyle>Regular</SpeechStyle>
    <SpeechHue>-1</SpeechHue>
    <Gump>GUMP,Jarvis,0/Test Gump.</Gump>
  </SpeechEntry>
  <SpeechEntry>
    <EntryNumber>30</EntryNumber>
    <ID>30</ID>
    <Text>*Jarvis looks at you for a moment and then ignores you*</Text>
    <Keywords>Yes?</Keywords>
    <DependsOn>10</DependsOn>
    <Pause>1</Pause>
    <PrePause>-1</PrePause>
    <LockConversation>True</LockConversation>
    <IgnoreCarried>False</IgnoreCarried>
    <AllowNPCTrigger>False</AllowNPCTrigger>
    <SpeechStyle>Regular</SpeechStyle>
    <SpeechHue>-1</SpeechHue>
  </SpeechEntry>
</XmlQuestNPC>

I've tried several variations, with the { }, without the { }, using just 'BlankDeed' (and having the base item in my pack, etc. Can't get line 20 to trigger for anything. I gotta be doing something wrong somewhere....
[doublepost=1487886580][/doublepost]Wait a minute... I may have figured it out...
[doublepost=1487886727][/doublepost]Nope... I saw in my file above that my Line #20 had a line ID of 10. Thought that might have been it, but even changing that, still didn't get it. :(
 
Shoot me now...welcome to another Xmlspawner bug. I just noticed your item has a space in the name. Change it to just Note (for testing):
Code:
GETONCARRIED,Note,BlankDeed,Visible=True
You can leave the { } inside Condition lines for XmlDialog, it's just pretty much everywhere else you use GET, you have to use the { }
 
*Whew* I thought I was doing something wrong here. I'd gladly chalk it up to a bug. :) I'll do the changes you suggested and give it a whirl today. Appreciate all the time and effort you took into finding that.
[doublepost=1487959480][/doublepost]Ok, so got it working now (thank you!.) Using 'note' was fine. So, I altered the GIVE/ command to give out the proper item that will trigger it now. I also figured out how to get the NPC to 'take' the item as well.

One thing I"m running into (and I think you eluded to this before) was that after line 20 triggers, the next player that talks to it will get line 30.

I've looked around... I've tried using DoReset/True as an action for line 20, but still doesn't seem to be working. What is the proper syntax for making the dialog start over?
 
just to clarify, the {} are ALWAYS to be used when calling a GET* command, for attachments it's better to use < and >
SO:
SETONTRIGMOB/ATTACH/<xmlquestattachment,name/attachmentprop/value/attachmentprop/value>/prop_of_trig_mob/{GET,0x40124020,prop_of_0x40124020}/other_prop/{^GETONTHIS,ATTACHMENT,<type,name,prop>}/hits/1000/hitsmax/MY,hits

etcetcetc

Sorry for the necro posting, but I see a little confusion, and the string parsing is really simple:

1 - get all the / delimiters
2 - get all the {} delimiters
3 - get all the <> delimiters
in the exact order, excluded the special chars like the @ literal and it's terminator §
so for a string action it would be:
SETONTRIGMOB/stringprop/@set/a/long/string§otherprop/otherval

(WARNING: the literal terminator § or whatever you choose don't require "/" before and after!)
 
Last edited:
is there a condition that identifies what race the player is? If so, how do I make it work.
 
Back