• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • How to order for IsTodoChecked?

    Discussion in 'Community Developer Forum' started by iyake, Jul 18, 2015.

    1. iyake

      iyake Member

      Joined:
      Oct 19, 2014
      Messages:
      143
      Likes Received:
      5
      Trophy Points:
      18
      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.

      rb_todochecked.png
       
      Last edited: Jul 18, 2015
    2. y2krazy

      y2krazy Community Developer

      Joined:
      Jun 21, 2011
      Messages:
      2,803
      Likes Received:
      70
      Trophy Points:
      48
      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.
       
    3. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      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.
       
    4. y2krazy

      y2krazy Community Developer

      Joined:
      Jun 21, 2011
      Messages:
      2,803
      Likes Received:
      70
      Trophy Points:
      48
      Agreed, but IsTodoChecked was supposed to replace variables, iirc.
       
    5. Sodimm

      Sodimm Member

      Joined:
      Nov 8, 2014
      Messages:
      383
      Likes Received:
      7
      Trophy Points:
      18
      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.
       
    6. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,343
      Likes Received:
      383
      Trophy Points:
      83
      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%
       
    7. y2krazy

      y2krazy Community Developer

      Joined:
      Jun 21, 2011
      Messages:
      2,803
      Likes Received:
      70
      Trophy Points:
      48
      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)" />
       
    8. mastahg

      mastahg Administrator Staff Member

      Joined:
      Feb 27, 2011
      Messages:
      5,343
      Likes Received:
      383
      Trophy Points:
      83
      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.
       

    Share This Page