Xian55 / WowClassicGrindBot

Highly configurable and responsive World of Warcraft Classic pixel Grind Bot - No DLL injection or memory tampering, just screen capture and input simulation.
161 stars 117 forks source link

Improve AttendedGather mode by attempting to move closer to the node #593

Open coussiraty opened 1 month ago

coussiraty commented 1 month ago

Hi, is there any way to automate the collection of herbal and mining resources effectively? Maybe I'm doing the wrong configuration, or maybe it's just like that, when I try it goes straight, shouldn't I stop and collect it? Or do you have to do this manually?

Xian55 commented 1 month ago

Hello, gooday!

Hi, is there any way to automate the collection of herbal and mining resources effectively?

I tried to explain what the AttendedGather Mode it seems i've failed.

The gist of it should be like that while the AttendedGather mode is active

Since the Soft Targeting system has been added, this feature could be improved further. However the current navigation system is not precise enough to reach all of the tricky placed nodes, like mining node which spawned at a mountain slope.

coussiraty commented 1 month ago

Hi, thanks for responding,

I understand, it would be semi-automatic, I'm trying to use it in cata, I managed to make everything work, except that, but now I understand, there would be no way to do any calculations so that it moves close to that node and when reading the screen it clicks the button for interaction? Just a silly idea, and I also have the problem that it beeps for mission icons.

Xian55 commented 1 month ago

there would be no way to do any calculations so that it moves close to that node and when reading the screen it clicks the button for interaction?

Last time when i worked on this feature the primary problem was to locate the node(vein/herb) on the screen. However since the Soft Targeting System has been added to the game, that problem is solved, the player only would required to be close within interact distance from the node and the rest of it should just work.

Moving close to the node can be a bit challenging, however its not impossible.

I just want to point out, that currently i have a very limited time to spare working on my hobby projects. I would really like to improve, just lack of time :)

coussiraty commented 1 month ago

Of course I understand, what you do here is already a big job, I'm just starting to work with C# so I'm not the best, but I'm trying to adjust some things, this is one of them, what I thought, maybe get it from the db where these nodules are born and create a mapping of this, I don't know if this would work, because like that, I'm quite a noob at this part, but when arriving at this location it would scan with the mouse (same as loot) if it switches to the capture mouse it press the interception button, if it doesn't move on to the next nodule, I don't really know how to apply this. but I think it would work. I could be totally wrong too.

Xian55 commented 1 month ago

I'm trying to adjust some things

Its and open source project feel free to tinker.

scan with the mouse (same as loot) if it switches to the capture mouse

In this scenario it is not needed to scan with the mouse, pressing the Interact key would reduce the complexity of the problem significantly.

coussiraty commented 1 month ago

Even better, the idea would be to create routes that lead exactly to the node point, so, sorry to bother you here, exchanging ideas helps me think of a good solution.

Xian55 commented 1 month ago

i've already created such project which uses the wowhead database for all the possible node in the zone(its based on player submission so might be incorrect), one for herbs and one veins. It can be found under Utilities / WowheadDB_Extractor / Zone_Extractor, its currently commented out as it takes time to solve the Traveling salesman problem

These paths were generated by the tool:

However i would like to bring to your attention that, only just the possible spawn locations are known, it might be that the given node at the time is not spawned, as in the game only a handful spawn location could be used, its defined by a pool.

Moving the player to the exact node location might be problematic, especially some of the weirdly placed nodes which can only be access by climbing a small hill or mountain.

coussiraty commented 1 month ago

@Xian55 Hello, I hope everything is fine with you.

I'm working on your project as I told you and I found this problem for some skills (UNKNOWN REQUIREMENT! Power Word: Fortitude) , I noticed that in datacolor they are there, correctly, do I need to modify something? Does it recognize the correct icon? I'm trying to understand how this works. to be able to add or remove buffs.

Xian55 commented 1 month ago

Hi this is off topic compare to the original issue.

I found this problem for some skills (UNKNOWN REQUIREMENT! Power Word: Fortitude)

In the code it is mentioned just as Fortitude

coussiraty commented 1 month ago

oh, sorry, I'm so stupid, I didn't see that and it was in my face, sorry.

Xian55 commented 1 month ago

On the other hand, keep this issue open as the feature request still faire and valid :)