What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

IsTodoChecked taking extremely long to recognize a change?

y2krazy

Community Developer
Joined
Jun 21, 2011
Messages
2,803
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.
 
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.
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:
 

Attachments

Try this in the console when your on the objective its getting stuck on.

Code:
Log(QuestLogManager.GetQuestById(65991).GetTodoArgs(0));
 
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.
 
Last edited:
Edited the post:

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.
 
Yes, run it after killing a few and after the objective is completed.
 
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.
 
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.
 
Yes, run it after killing a few and after the objective is completed.
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.
 
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.
Swapping objective 0 and 1 to 1 and 0 worked. Thanks!
 
Back
Top