I posted this in the dev forum, asking if there was means to check for a open gathering window, but no replies. So theres this post:- Essentially, while gathering using TimeisBetween conditions in a <gather while> tag, should the player be in a gathering window when the time switches, it entirely stops finishing the gather and becomes stuck. Is there any means around this? Thanks
The system isn't designed like this. All the tags within a while tag will be executed until all of them have been completed before it will be reevaulated. I'll need a log and copy of the profile you are having issues with.
So it looks like what happens is that the time changes in the milliseconds after you interact with the node and before the window appears so the tag exits but then the window pops up. When I designed the gathertag it wasn't with the idea that people would put the timecheck inside of its condition, rather use a <while condition=timecheck> <gather loops=5> that way the gather tag always executes to completion. I'll look into poking it a bit but im hesitant to make any drastic changes to the gathertag code as it could easily break skills being used properly.
Thanks, Yeah I tested the gather loops="5" But that code as you mention does not run the way we would think it does. If used on a regular node instead of an unspoiled node, it tends to go into an infinite loop because the nodes around the hotspot does not technically deplete does it not?
And also, an improvement to the IsTimeBetween from ints to floats might be a way to circumvent a stronger and more efficient menthod of fully utilizing the Orderbot Profiles. Also the conditions don't quite know how to loop around the hours either, so something like IsTimeBetween(19,1) does not quite work either. Having to break up the entire <Order> into more and more sections of If IsTimeBetween just increase the chance of this problem occuring Lastly, I apologise for writing my profiles in this way.. just trying to max out the efficient of what I can do within a 70 min timeframe.
Considering we are using timespans thats not an option, and also not how math works. Guess that is an edge case we don't currently handle if the endtime is on a different day then the start time.