Okay so I just wanted to report back about my tweaks for the Walk mode of the Gen VI soft reset bot. I was able to implement a little check to make sure that the step towards the legendary/Mirage Spot is actually done and had very convincing results with it. Basically, my problem was that the bot would often end in a loop where it continuously tries to press A to get through a non-existing dialog because it failed to make a step forward the first time and doesn't try taking this step anymore.
The way the bot worked before is that it pressed A to skip the dialog and then tried reading the data of an opponent Pokemon that might or might not exist at that point. Should that opponent exist, the bot would check it against your filter set and then either reset or not. Should that opponent not exist, it would go back to the state where it presses A. What I did was that I implemented a counter that counts how often the bot tries to read the opponent data and gets no result (i.e. there is no opponent yet). If that counter was greater than 10 the bot would not go back to the dialog skipping state but instead would go back into the state where it tries to take a step. Therefore the loop I previously experienced will not happen anymore. I got about 300 encounters now and already had multiple occasions where my check had to come into place and it did its job very well.
So if anybody wants to use this mode of the Gen VI soft reset bot and experiences the same issues as I did, just post here and I will upload my version of the program, only if that's okay with @drgoku282 of course.
By the way, @drgoku282, I have a little question about something in your code. What exactly is the purpose of the botresult var? I know that it's the return variable of the RunBot() method but what exavtly is this variable used for? I'd be glad if you could provide some insight on that.
The way the bot worked before is that it pressed A to skip the dialog and then tried reading the data of an opponent Pokemon that might or might not exist at that point. Should that opponent exist, the bot would check it against your filter set and then either reset or not. Should that opponent not exist, it would go back to the state where it presses A. What I did was that I implemented a counter that counts how often the bot tries to read the opponent data and gets no result (i.e. there is no opponent yet). If that counter was greater than 10 the bot would not go back to the dialog skipping state but instead would go back into the state where it tries to take a step. Therefore the loop I previously experienced will not happen anymore. I got about 300 encounters now and already had multiple occasions where my check had to come into place and it did its job very well.
So if anybody wants to use this mode of the Gen VI soft reset bot and experiences the same issues as I did, just post here and I will upload my version of the program, only if that's okay with @drgoku282 of course.
By the way, @drgoku282, I have a little question about something in your code. What exactly is the purpose of the botresult var? I know that it's the return variable of the RunBot() method but what exavtly is this variable used for? I'd be glad if you could provide some insight on that.