Page 1 of 1

quest situation

Posted: Sat Apr 30, 2016 10:43 am
by supadupa64
So, I've been using this: CurrentQuestState("Talk to Dave") ~= "active" so the NPC has something to say while the player isn't on the quest yet. Is that little "~" actually a thing? I got it from on of your posts and it works. I have a problem with it though.

I have a conversation condition that is:
(CurrentQuestState("Clean up time") == "active") and
(CurrentQuestState("Collect 10 crates") == "success") and
(Variable["numbrokenitemsfound"] >= 10)


Ok, so I have success with the one and other one is active when I go to turn it in and the NPC says "what's up." The condition I have for the NPC to say "what's up" is:
CurrentQuestState("Talk to Dave") ~= "active"

:shock:

Also, I can't turn in the quest unless this "Talk to Dave" quest is in the player button script for this turn in. I take the success dave scipt out of the player button and I can't turn in everything

I have CurrentQuestState("Talk to Dave") ~= "active" with the "~" in there for when the player isn't on the quest line yet, and speaks the "what's up." The NPC should only say "what's up" if the player is not doing any quest with that NPC.

Re: CurrentQuestState("Talk to Dave") ~= "active"

Posted: Sat Apr 30, 2016 2:34 pm
by Tony Li
Hi,
  • ~= means is not equal to
  • == means is equal to
So if your dialogue entry is this:
  • Dialogue Text: "What's up?"
    Conditions: CurrentQuestState("Talk to Dave") ~= "active"
Then the dialogue entry will only be added to the list of valid entries if the "Talk to Dave" quest is not active -- that is, if the quest is unassigned or ended in success or failure.

Once the Dialogue System has evaluated all the dialogue entry links, it will have a list of valid entries. Then it will play the first entry in that list.

When you get to that point in the conversation (actually, when you get to the previous entry), open the Dialogue Editor to the Conversations tab and select your conversation. You should see green arrows pointing to the entries whose Conditions are true, and red arrows pointing to entries whose Conditions are false.

Re: quest situation

Posted: Sat Apr 30, 2016 10:48 pm
by supadupa64
You say I should see green arrows? My arrows are white that go from the START to each node.

But what I'm really trying to figure out is this below:

I have a conversation condition that is:
(CurrentQuestState("Clean up time") == "active") and
(CurrentQuestState("Collect 10 crates") == "success") and
(Variable["numbrokenitemsfound"] >= 10)


It should let me complete it since I've met the conditions, but instead it's starting the conversation below with the condition:
CurrentQuestState("Talk to Dave") ~= "active"

Re: quest situation

Posted: Sat Apr 30, 2016 11:10 pm
by Tony Li
You'll only see green arrows in live view mode -- that is, if you've opened the Dialogue Editor onto an active conversation at runtime. It'll look similar to this:

Image
supadupa64 wrote:But what I'm really trying to figure out is this below:

I have a conversation condition that is:
(CurrentQuestState("Clean up time") == "active") and
(CurrentQuestState("Collect 10 crates") == "success") and
(Variable["numbrokenitemsfound"] >= 10)


It should let me complete it since I've met the conditions, but instead it's starting the conversation below with the condition:
CurrentQuestState("Talk to Dave") ~= "active"
Are you setting these conditions on dialogue entry nodes in the Dialogue Editor? Or are you setting them on separate Conversation Triggers on the NPC?

If you're setting them on dialogue entry nodes, then one of two things must be happening:

1. The first conversation condition (Clean up time, Collect 10 crates, etc.) is false.

or

2. The second condition (Talk to Dave) is also true, and it appears earlier in the list of links or its link has higher priority.

To check #1: Paste in the entire condition as a Watch in the Watches tab at runtime. This way you can check if it's actually true or false.

To check #2: Inspect the previous node. At the bottom of the Inspector view, look at the "Links To:" section.

This is a screenshot of Outline mode, but the "Links To:" section is the same format as the Inspector in Node mode:

Image

Notice that there are two links:
  • Damn. Hold until I return.
  • Collateral damage. Open it.
If these were NPC lines, and if the conditions on both were true, the Dialogue System would always choose "Damn. Hold until I return." If you want it to choose the other one (still assuming both conditions are true), you'd have to use the up arrow button to move it above "Damn. Hold...".

Re: quest situation

Posted: Sat Apr 30, 2016 11:20 pm
by supadupa64
Ok, so I went to the START node and moved the Talk to Dave condition conversation to the bottom and everything worked great. Thanks!

Re: quest situation

Posted: Sun May 01, 2016 12:00 am
by Tony Li
Great! I'm glad it was an easy thing in the end.