For some reason my quests wont complete

That it’s not updating QuestUI is strange, since that should be being handled with an event that the UI subscribds to to know that it needs to update the UI. In this case, it could be confused b the quest being assigned and completed on the same frame. See if making them separate actions fixes this.

i switched it to give me the quest and then talk to another person to complete it but it treated the conditions as if they were irrelevant i got the quest to equip the weapon then talked to the other npc without even picking the weapon up and it gave me the reward and stuff still no ui updates as well

i know its something stupid i cant see thats what all my issues have been but ive been looking and been double checking for a few days and trying different configurations and changing predicate names for stuff and its not working unless i just don’t have it setup right in the editor but I don’t think that’s it because when i call the “HasItemEquipped” predicate in the dialogue nodes it changes what the dialogue is based on what i have equipped but its the same predicate and setup on the quest objectives themselves and it treats it like its not even there maybe I somehow and making the quest null when equipping the item so it doesn’t think its there but I don’t see how that’s happening

am i supposed to be calling the “CompletedQuest” in the the evaluate on quest list somewhere outside in the editor that still dosnt explain the ui issue though is thats the case or maybe it does i dont know lol

The UI issue I’m still not sure on… CompleteObjective should be calling onUpdate, which should update the QuestUI. Your QuestUI -=is=- subscribing to QuestList.onUpdate, right?

    void Start()
    {
        questList = GameObject.FindGameObjectWithTag("Player").GetComponent<QuestList>();
        questList.onUpdate += Redraw;
        Redraw();
    }

its in start on questlistui.cs

i found the issue it was in

    public bool IsComplete()
    {
        foreach (var objective in quest.GetObjectives())
        {
            if (completedObjectives.Contains(objective.reference))
            {
                return true;
            }
        }
        return false;///aaa
    }

i flipped the true and false and now its wokring

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Privacy & Terms