While using something similar to the following in an Order Bot profile, the objective only needed to kill 3 of a mob to be marked as complete, but it continued to grind the mob for at least 100 additional mobs when I manually felt the need to intervene. Code: <Grind grindRef="Grind_Area1" while="not IsTodoChecked(99999, 1, 0)" /> Even after Stopping and Starting RB again, it still was using the GrindArea for objective 0 instead of objective 1. Why would IsTodoChecked not break out of the Grind tag in the above case once it kills the 3 mobs required? It basically killed new mobs with the ID in the GrindArea as they spawned for what seemed like forever. Should this not be used in a Grind tag? I tried adding some While statements outside of the Grind tag, but that didn't help either.
How about giving the specific example you talk about instead of 999999? Did you try abandoning and re accepting the quest? Also a log would be great. Edit: If you messed up, and provided the wrong questId the condition would never return true.
Code: <Grind grindRef="Whats_in_the_Box" while="not IsTodoChecked(65991, 1, 0)" /> Abandoned the quest and it did everything up to changing to the second objective GrindArea just fine. Stopped after it killed 9 mobs (only 3 were required). Log attached:
Try this in the console when your on the objective its getting stuck on. Code: Log(QuestLogManager.GetQuestById(65991).GetTodoArgs(0));
The first objective is complete (after killing those 9 mobs previously) at the time of running that snippet and returns this: Code: (0, 3) Let me know if you'd like it run while the first objective is incomplete.
You can use something like: Code: <Grind grindRef="LNC_LittleLadybug" while="not GetQuestById(65754).QuestI8BH == 3 and GetQuestStep(65754) == 1" /> Not sure what the logic is behind the .QuestI8BH and the other simular parameters, but I just check what changes after killing one or 2 and use that.
The whole point of IsTodoCompleted is to make it so profile makers do not need to touch the quest variables.
Upon picking up the quest: Code: (0, 3) After killing the first mob (and the objective updating in-game): Code: (0, 3) After killing the second mob (and the objective updating in-game): Code: (0, 3) After killing the third mob (and the objective completing in-game): Code: (0, 3)
Interesting. I've leveled up a toon to this quest, and for this quest they store the objective indexes in a different order from everything else I have seen. For now just use 1 for the first objective, and 0 for the second.