Bot clicking mining modules too fast, making module inactive as soon as it is active

I’m running VMWare for testing the mining bot.

Unfortunately I cannot allocate too much resource to the VMWare instance and the graphics is slow.

I have 2 mining modules on my Venture.

The problem is that the mining bot sees an inactive mining module, clicks on the module to activate it, but then the next iteration of the decision tree from the code is then activated before the mining module can be seen as active (due to slow VMWare). So the bot then clicks on the mining module again, making the module inactive. This becomes an endless loop so the mining module never activates.

How can I resolve this problem?

I was doing some research on Elm coding and saw a function called Process.sleep. Perhaps I could use this to delay the next iteration of decision tree? If this can work, how can the code be modified to make this work?

Alternatively, is there another solution to this problem?

Thank you in advance.

I think I may have figured it out…

It is to change this: “botStepDelayMilliseconds = 2000”

in the code below in BotEngineApp.elm:

defaultBotSettings =
{ runAwayShieldHitpointsThresholdPercent = 50
, unloadStationName = Nothing
, unloadStructureName = Nothing
, modulesToActivateAlways = []
, hideWhenNeutralInLocal = Nothing
, targetingRange = 8000
, miningModuleRange = 5000
, botStepDelayMilliseconds = 2000
, oreHoldMaxPercent = 99
, selectInstancePilotName = Nothing
}

1 Like

Yes, that approach to edit the code works. There is also a simpler way. You can use the setting bot-step-delay=2000 here: FrontendWeb.Main

This has the same effect.

You can see the different delays between the steps reflected in the session recording view in the devtools GUI. This way, you can check the actual delay between any two steps.

For the ship module buttons in EVE Online, increasing the delay for all steps is not necessary anymore since the integration of the function clickModuleButtonButWaitIfClickedInPreviousStep:

When you use this method to click the module button, the bot will wait for one step. But that wait only applies before clicking the same module button the next time. It still can use the step to do something else that has a higher priority.

Thank you for the reply!

I did try to look at that part of the code previously. However, I am not sure how to add “>>” and “botStepDelayMilliseconds” variable in this part of the code so that the delay only applies to the ship module.

No need to change the code because the additional wait for module buttons is already integrated in this app: FrontendWeb.Main

For example, for the mining modules here: