I have XMLDialogs setup on quite a few XMLQuestNPC MOBs now and I've noticed something. I have NoTrigOnCarried specified for a given QuestHolder of XMLQuestAttachment. Entries that want to check against that condition are set to DependsOn -2. If a player walks upto the MOB and has an item or attachment specified in the condition then the MOB says nothing, seems to work perfectly.
Now if the player says the MOBs name it responds with a dialog entry despite it being dependant on -2. THe player still can't get the quest or continue along the dialog tree but its rather confusing to them becaus they think they can and try to.
the use of -1 and -2 apply to entries to you want to be triggered by movement only (i.e. no speech keywords for the entry).
If you want to have a speech activated entry at the beginning of a dialog tree (doesnt depend on previous dialog), then use DependsOn of zero. Zero is the default starting entry when the dialog is reset.
If you have the entry set to -2, and you havent specified any triggering speech, and it is responding when they say the mobs name when it shouldnt be, then that would be a possible bug that I would have to check out.
A have a similar problem. I've enter in NoTrigOnCarried field name of questholder and name of XmlQuestAttachment like in HarmonExtended quest and in Vladimir's Quest tutorial. Quest works normal. I set DependsOn to -2. When player doesn't have a questholder or xmlquestattachment, trigger fires normaly and NPC says text if player comes in a ProximityRange. If player have a questholder - NPC don't say anything. But if player finished a quest and got reward and questpoints, trigger also works and if questnpc must say "Greetings, {GETONTRIGMOB,name}" - he says only "Greetings, .". Is it similar problem or i make something wrong? I use XmlSpawner v3.18
Can you post the .npc file that is giving you problems? It sounds like it could be a bug.
(edit)
I have tried to reproduce this but have failed.
I created a questholder named "NewQuest", made it non-repeatable, with autoreward.
I used a NoTriggerOnCarried string of
NewQuest | ATTACHMENT,NewQuest,xmlquestattachment
set a dialog entry to DependsOn -2, with Text string of
Greetings, {GETONTRIGMOB,name}
The dialog does not trigger if I have the questholder or if I complete the quest and have the xmlquestattachment named "NewQuest".
QUOTE |
he says only "Greetings, .".
|
this is puzzling and I dont know how that would happen unless you made a typo in the Text string. I would have to see the .npc file to figure that out.
Here are the .npc and .xml files that I used to test it
questtest.npc
QUOTE |
<?xml version="1.0" standalone="yes"?> <XmlQuestNPC> <NPC> <Name>QuestTest</Name> <Running>True</Running> <ProximityRange>3</ProximityRange> <NoTriggerOnCarried>NewQuest | ATTACHMENT,NewQuest,xmlquestattachment</NoTriggerOnCarried> <AllowGhost>False</AllowGhost> <SpeechPace>10</SpeechPace> <ResetTime>0.0833333333333333</ResetTime> <SpeechEntries>2</SpeechEntries> </NPC> <SpeechEntry> <EntryNumber>0</EntryNumber> <ID>0</ID> <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>"Greetings, {GETONTRIGMOB,name}" </Text> <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> </XmlQuestNPC>
|
questtest.xml
QUOTE |
<Spawns> <Points> <Name>QuestTest</Name> <UniqueId>6c755438-4764-41a7-81ed-a85a76ba6206</UniqueId> <Map>Felucca</Map> <X>5441</X> <Y>1153</Y> <Width>10</Width> <Height>10</Height> <CentreX>5446</CentreX> <CentreY>1158</CentreY> <CentreZ>0</CentreZ> <Range>5</Range> <MaxCount>2</MaxCount> <MinDelay>5</MinDelay> <MaxDelay>10</MaxDelay> <DelayInSec>False</DelayInSec> <Duration>0</Duration> <DespawnTime>0</DespawnTime> <ProximityRange>-1</ProximityRange> <ProximityTriggerSound>500</ProximityTriggerSound> <TriggerProbability>1</TriggerProbability> <InContainer>False</InContainer> <MinRefractory>0</MinRefractory> <MaxRefractory>0</MaxRefractory> <TODStart>0</TODStart> <TODEnd>0</TODEnd> <TODMode>0</TODMode> <KillReset>1</KillReset> <ExternalTriggering>False</ExternalTriggering> <SequentialSpawning>-1</SequentialSpawning> <AllowGhostTriggering>False</AllowGhostTriggering> <AllowNPCTriggering>False</AllowNPCTriggering> <SpawnOnTrigger>False</SpawnOnTrigger> <SmartSpawning>False</SmartSpawning> <Team>0</Team> <Amount>1</Amount> <IsGroup>False</IsGroup> <IsRunning>True</IsRunning> <IsHomeRangeRelative>True</IsHomeRangeRelative> <Objects2>orc:MX=1:SB=0:RT=0:TO=0:KL=0:RK=0:CA=1:DN=-1:DX=-1:SP=1:PR=-1:OBJ=questholder/name/NewQuest/objective1/KILL,orc/autoreward/true/repeatable/false/rewardstring/gold,100:MX=1:SB=0:RT=0:TO=0:KL=0:RK=0:CA=1:DN=-1:DX=-1:SP=1:PR=-1</Objects2> </Points> </Spawns>
|
Oops, i was wrong, sorry. I've make a mistake in a NoTrigOnCarried field. I thought that is a bug, because quest NPC doesn't show {GETONTRIGMOB,name} in a text message.