So let me preface by saying that it works...sort of.
My issue is that there's something going on under the hood in VRM where something is trying to select something. I don't have a better explanation so let me just walk through the process.
>>Bot starts
>>Conditional for animation checks, fails
>>Interface conditional checks, fails, clicks anvil object
>>Interface conditional recheck, succeeds, inputs spacebar command - ingame this is the "Begin Process" confirmation in the smithing window
>>>>> Smithing begins <<<<<
>>Conditional for animation checks, succeeds
>>Pause for random roll between set bounds - I need to find out what the actual times for smithing objects is
>>Repeat
The problem arises somewhere between the anvil check and the space command input. Something under the hood is clicking around and every now and then - maybe 10 to 15% of the time - it succeeds and clicks on something within the smithing selection window. Since I'm not a member, that usually ends up being *insert type* hasta or spear. Surprise surprise, it hangs indefinitely because I can't make those things.
Now the obvious solution is to just add another conditional check for whatever it is I want to make. But that adds two more layers to this - check for metal type, then check for correct object, then confirm. Normally not an issue but VRM appears to have some sort of built in buffer time that I can't get rid of. Another two conditional checks adds around 3-5 seconds of extra time, more if the client lags, which it usually does.
And this is ultimately my question and request for help from anybody more familiar with VRM. Am I missing some mouse pathing option that's defaulted on? Is this just how things are with VRM atm? Am I just an idiot who missed something?
By the way, here's a paste of my code - to import it into VRM, just copy it into a text editor and save it as .json. I use Notepad++, works fine
https://pastebin.com/brqPwBWi
Thanks in advance if you can help
- Wolf
Incidentally, I tried the crafting.isOpen conditional check and it failed every time. I'm going to assume that it's because the smithing menu and crafting menu are considered to be different - hence the conditional check is for an interface.
If anybody can get the crafting.isOpen to work or knows of a more elegant solution, by all means, criticize away.