Would be nice if it's just the display order (or maybe it is and it's bugged?) Anyway, for quest '65882', I'm getting objective index 0 = third objective in quest log, index 1 = first on log and index 2 = second on log. index 3 throws an out of bounds exception, so I'm guessing it's 0-based.
Unfortunately, it can vary on each quest. It's quite frustrating, but after you've done it a dozen times, you get used to running a Console snippet every time you see something with more than 1 objective. What I use: Code: ClearLog(); Log(QuestLogManager.GetQuestById(XXXXX).GetTodoArgs(0)); Log(QuestLogManager.GetQuestById(XXXXX).GetTodoArgs(1)); Add more lines if it has more objectives, such as: Code: ClearLog(); Log(QuestLogManager.GetQuestById(XXXXX).GetTodoArgs(0)); Log(QuestLogManager.GetQuestById(XXXXX).GetTodoArgs(1)); Log(QuestLogManager.GetQuestById(XXXXX).GetTodoArgs(2)); Log(QuestLogManager.GetQuestById(XXXXX).GetTodoArgs(3)); Kill one mob, for example, and run the snippet to see which objective increments and go from there verifying each one.
tbf, i find doing it the old fashioned way much faster. But then i've been doing them for a while. IsToDo leads to more console checks imo.
Not replace, they were supposed to make it easier for folks to write profiles. If Mastahg removed all variables, quests like the dailies where some quests (Sylph moreso) have upto 6 sets of different locations, with different variables for quest objects, and then a 3rd variable depending on which series of locations you've recieved, these would be impossible to code for using IsToDoChecked. Even now those dailies are a nightmare to code, not only because of the timed runs, but because of the sheer amount of abandoning and reaquiring needed just to get all possible variants, and even then, some variables are the same versus different subsets. With no way for the bot to differentiate. It's the sole reason I still havent got around to doing the Rank 3 profile, or indeed, officially releasing them at all. The bot still can't handle some of the quest mechanics, and requires an unhealthy amount of codechunks just to get them working to a degree where you can actually complete the series, albeit babysitting the profile. Sure I'd love it to be 100%. But time isn't a luxury I can afford atm.
Thanks for reporting this, up till now there was only one reported case, and that wasn't enough for me to really draw any conclusions. If its what I think and they do some more ordering then ill replicate that so itll match it 100%
A few more cases: Quest: 65990, Step: 1 Code: <Grind grindRef="My_First_Grimoire" while="not IsTodoChecked(65990, 1, 2)" /> <Grind grindRef="My_First_Grimoire2" while="not IsTodoChecked(65990, 1, 1)" /> <Grind grindRef="My_First_Grimoire3" while="not IsTodoChecked(65990, 1, 0)" /> Quest: 65991, Step: 1 Code: <Grind grindRef="Whats_in_the_Box" while="not IsTodoChecked(65991, 1, 1)" /> <Grind grindRef="Whats_in_the_Box2" while="not IsTodoChecked(65991, 1, 0)" /> Quest: 65755, Step: 1 Code: <Grind grindRef="My_First_Bow" while="not IsTodoChecked(65755, 1, 0)" /> <Grind grindRef="My_First_Bow2" while="not IsTodoChecked(65755, 1, 2)" /> <Grind grindRef="My_First_Bow3" while="not IsTodoChecked(65755, 1, 1)" />
Thanks. Looks like they do some additional sorting, ill push a new build out in a few minutes that has this fixed so it'll match the ui.