Since I know you prefer full logs, while I don't have any characters who have run my profiles outside of self-checking current step during profile writing, I will ask anyone in my quest profile topic (found in my signature) to post here if they can provide full logs after experiencing this issue. The profile(s) used were a variety from my patch 2.1 profile to the latest Heavensward one found in my quest profile topic. EDIT: This was posted on accident in my death topic, so it has been moved to its own topic. [HR][/HR] I don't have any logs, as I don't have any characters to test some of my questing profiles to confirm myself, but I have gotten multiple reports of people having issues with quest step progress. Some examples provided to me: http://ffxiv.gamerescape.com/wiki/If_Wishes_Were_Horsebirds In the above example, the person using the profile was on the step after sniffing the Chocobo, but it was still trying to interact with the Chocobo until RB was Stopped/Started again. Upon starting the profile again, it properly detected that it was on the next step and continued properly. [HR][/HR] Another Stop/Start that fixed a quest issue: [HR][/HR] Another Stop/Start that fixed a quest issue: [HR][/HR] Another Stop/Start that fixed a quest issue: [HR][/HR] It appears that for a large number of quest steps, a Stop/Start of RB is needed to get it to properly recognize the current quest step, as RB doesn't seem to handle it properly when a quest step is progressed, for example, from step 2 to 3. It tries to jump around the profile due to either checking for the next quest step too quickly, or something else. A temporary fix on my end could be to add a 5 second wait timer at the end of every quest step, but that just feels unnecessary. I have also received reports that Order Bot (or RB) will think a quest step is either complete (when it's not), or progress too quickly and skip over the next quest step. When this happens, it appears to skip hundreds or more lines and go through dozens of teleport loops, attempting to pick up subsequent quests that it shouldn't be trying to obtain yet.
It's probably an improper use of tag attributes as the api hasn't changed at all internally on their side. But without any logs and without atleast the tags in question i cant do anything.
First example, above, where the user had progressed to step 4 (RB completed step 3 properly), but for some reason, RB was still trying to run the tags for step 3 instead of moving on to the tags in step 4: Code: <If Condition="GetQuestStep(66887) == 3"> <If Condition="not IsOnMap(140)"> <If Condition="Managers.WorldManager.HasAetheryteId(17)"> <TeleportTo Name="Horizon" AetheryteId="17" /> </If> <If Condition="not Managers.WorldManager.HasAetheryteId(17)"> <Travel To="140" /> </If> </If> <TalkTo InteractDistance="3.0" NpcId="1008611" XYZ="-386.4042, 23, -350.1183" /> </If> <If Condition="GetQuestStep(66887) == 4"> <If Condition="not IsOnMap(140)"> <If Condition="Managers.WorldManager.HasAetheryteId(17)"> <TeleportTo Name="Horizon" AetheryteId="17" /> </If> <If Condition="not Managers.WorldManager.HasAetheryteId(17)"> <Travel To="140" /> </If> </If> <TalkTo InteractDistance="3.0" NpcId="1008632" XYZ="-388.6931, 23, -350.9423" /> </If> ^ The user clicked Stop, then Start, and it then put the user on the step 4 tags, where it should have automatically gone without requiring a Stop, then Start, to correct the issue. [HR][/HR] Second example, above, where the user had progressed to step 2 (RB completed step 1 properly), but for some reason, RB was still trying to run the tags for step 1 instead of moving on to the tags in step 2: Code: <If Condition="GetQuestStep(66894) == 1"> <If Condition="not IsOnMap(138)"> <If Condition="Managers.WorldManager.HasAetheryteId(14)"> <TeleportTo Name="Aleport" AetheryteId="14" /> </If> <If Condition="not Managers.WorldManager.HasAetheryteId(14)"> <Travel To="138" /> </If> </If> <NoCombatMoveTo Name="Scouts" XYZ="-208.4536, -38.99379, -113.2983" /> <UseItem NpcId="1008683" ItemId="2001214" XYZ="-208.4536, -38.99379, -113.2983" Radius="10" /> </If> <If Condition="GetQuestStep(66894) == 2"> <If Condition="not IsOnMap(138)"> <If Condition="Managers.WorldManager.HasAetheryteId(14)"> <TeleportTo Name="Aleport" AetheryteId="14" /> </If> <If Condition="not Managers.WorldManager.HasAetheryteId(14)"> <Travel To="138" /> </If> </If> <Grind grindRef="Scouts_in_Distress" while="HasQuest(66894) and GetQuestStep(66894) == 2" /> </If> ^ The user clicked Stop, then Start, and it then put the user on the step 2 tags, where it should have automatically gone without requiring a Stop, then Start, to correct the issue. [HR][/HR] ... and so on. Again, I'll try to get some people to bring over full logs who ran into this issue.
Yep, you should be providing QuestId="654321" and Step="3" or whatever step its on so that the tag will know to exit. ie: <TalkTo QuestId="66887" Step="3" InteractDistance="3.0" NpcId="1008611" XYZ="-386.4042, 23, -350.1183" /> and <UseItem QuestId="66894" Step="1" NpcId="1008683" ItemId="2001214" XYZ="-208.4536, -38.99379, -113.2983" Radius="10" /> TalkTo has default logic that should have triggered but im not 100% what the default logic is for UseItem but either way you should really be using QuestId and Step to control tag completion for like 95% of the time.
Also, you should extract Code: <If Condition="not IsOnMap(138)"> <If Condition="Managers.WorldManager.HasAetheryteId(14)"> <TeleportTo Name="Aleport" AetheryteId="14" /> </If> <If Condition="not Managers.WorldManager.HasAetheryteId(14)"> <Travel To="138" /> </If> </If> and do something like using HasAtLeastOneQuest and checking all the ones that are relavent to that map, and if thats true then running that code that way you don't have a ton of duplicate code throughout the profile.
Just checked on the UseItem behavior, without providing a conditional or questid+step or usetimes the tag will never exit. QuestId+Step is the best way to go followed by a conditonal and for a last resort UseTimes. (UseTimes logic is kinda bad and id like to rewrite it but doing so would probably break a few things)
Will make adequate adjustments as you have suggested and let you know if that resolves the issues that have been reported to me. Thanks!