Git Product home page Git Product logo

xian55 / wowclassicgrindbot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from julianperrott/wowclassicgrindbot

168.0 168.0 116.0 74.92 MB

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

Lua 25.58% HTML 10.51% C# 62.39% Batchfile 0.11% CSS 0.55% JavaScript 0.87%
addon blazor bot csharp dotnet dotnet8 dotnetcore gathering grind headless input-simulation lua pixel-bot pixelbot world-of-warcraft world-of-warcraft-addon world-of-warcraft-classic wow

wowclassicgrindbot's People

Contributors

asternight avatar bepehr avatar billdong2021 avatar coolzoom avatar dependabot[bot] avatar failsatheals avatar gothfinger avatar julianperrott avatar kaylemine avatar larrylan avatar lavjamanxd avatar xian55 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wowclassicgrindbot's Issues

Paladin runs through the target repeatedly

Paladin appears to keep running and jumping through the target constantly with the following goal:

Approach Target Goal Has a target Target alive Out of combat range

Is there a way to tweak the range for the Paladin?

Stuck on follow route goal

Description

I'm trying to use the mage grind profile in silithus. The combat rotation and stuff works fine but the bot won't move between waypoints. I've changed the path filename to point towards the elementals in the north. See the screenshot for more info.

I think the bot doesn't know where it is. On startup the addon is working correctly as it tells me the correct class and race, the mpq files are in the right place etc. There are no errors.

I can't see anything in the magegrind.json file that tells the bot which zone it's in. As far as I can tell it doesn't care, it's just reads where it is and the waypoints and how to get to nearest waypoint and that's it?

I can't select all of the paths either from the drop down menu on blazor. See the screenshot it's only showing one folder and if I drag and drop some .json files into the folder it is letting me select from, then sometimes they will appear in the list and sometimes not?

See attached screenshots for more info.

Addon Version

1.1.47

World of Warcraft Client

Season of Mastery

Reproduction Steps

Setup the bot as normal

Edited the path in magegrind.json to target the silithus elementals

Last Good Version

No response

Screenshots

2022-01-13 08_10_04-BlazorServer — Mozilla Firefox

2022-01-13 08_14_24-
2022-01-13 08_19_58-C__WowClassicGrindBot_Json_class_MageGrind json - Notepad++

Logs

[08:09:50:993 INF] Trying to path a new route.
[08:09:50:994 INF] Adjusted resume point
[08:09:50:994 ERR] PerformAction on FollowRouteGoal
System.ArgumentOutOfRangeException: The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer. (Parameter 'millisecondsDelay')
at System.Threading.Tasks.Task.Delay(Int32 millisecondsDelay, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Delay(Int32 millisecondsDelay)
at Game.InputWindowsNative.KeyPressNoDelay(Int32 key, Int32 milliseconds) in C:\WowClassicGrindBot\Game\Input\InputWindowsNative.cs:line 58
at Game.WowProcessInput.KeyPressNoDelay(ConsoleKey key, Int32 milliseconds, String description) in C:\WowClassicGrindBot\Game\Input\WowProcessInput.cs:line 114
at Core.PlayerDirection.SetDirection(Single desiredDirection, Vector3 point, String source, Int32 ignoreDistance) in C:\WowClassicGrindBot\Core\Path\PlayerDirection.cs:line 44
at Core.PlayerDirection.SetDirection(Single desiredDirection, Vector3 point, String source) in C:\WowClassicGrindBot\Core\Path\PlayerDirection.cs:line 32
at Core.Goals.FollowRouteGoal.RefillRouteToNextWaypoint(Boolean forceUsePathing) in C:\WowClassicGrindBot\Core\Goals\FollowRouteGoal.cs:line 403
at Core.Goals.FollowRouteGoal.PerformAction() in C:\WowClassicGrindBot\Core\Goals\FollowRouteGoal.cs:line 181
at Core.Goals.GoalThread.GoapPerformGoal() in C:\WowClassicGrindBot\Core\Goals\GoalThread.cs:line 114

Cant read target health correctly

Describe the bug
There is something wrong in target health, After entering combat, it always shows that Target Health: 0, max 0, dead False, then the bot will clear target and turn left or right. I encountered this problem both in English and Chinese client .

Logs

2021-09-27 12:34:18.600 +08:00 [INF] Input: KeyDown UpArrow SetKeyState-Move Forward
2021-09-27 12:34:18.614 +08:00 [INF] Input: TapNearestTarget: [Tab] pressing for 50ms
2021-09-27 12:34:18.735 +08:00 [INF] > NPCs found: 0(763,237)
2021-09-27 12:34:19.375 +08:00 [INF] Input: TapInteract (FollowRouteAction 4)[I] pressing for 50ms
2021-09-27 12:34:19.476 +08:00 [INF] Has target!
2021-09-27 12:34:19.545 +08:00 [INF] ---------------------------------
2021-09-27 12:34:19.557 +08:00 [INF] New Plan= ApproachTargetGoal
2021-09-27 12:34:19.653 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:20.035 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:20.339 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:20.705 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:21.040 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:21.360 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:21.639 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:21.914 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:22.218 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:22.486 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:22.751 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:22.986 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:23.237 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:23.474 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:23.739 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:24.016 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:24.237 +08:00 [INF] Input: TapJump: [Spacebar] pressing for 50ms
2021-09-27 12:34:24.313 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:24.560 +08:00 [INF] Input: TapNearestTarget: Try to find closer target...[Tab] pressing for 50ms
2021-09-27 12:34:24.748 +08:00 [INF] Input: TapLastTarget (Stick to initial target!)[G] pressing for 50ms
2021-09-27 12:34:24.943 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:25.157 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:25.342 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:25.546 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:25.701 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:25.922 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:26.096 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:26.280 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:26.483 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:26.685 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:26.865 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:27.073 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:27.296 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:27.485 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:27.639 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:27.815 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:28.002 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:28.208 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:28.402 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:28.634 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:28.864 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:29.077 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:29.298 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:29.468 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:29.668 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:29.902 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:30.105 +08:00 [INF] Input: TapJump: [Spacebar] pressing for 50ms
2021-09-27 12:34:30.171 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:30.455 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:30.640 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:30.861 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:31.049 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:32.076 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:32.286 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:32.500 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:33.514 +08:00 [INF] NO PLAN
2021-09-27 12:34:33.515 +08:00 [INF] Target Health: 0, max 0, dead False
2021-09-27 12:34:33.516 +08:00 [INF] Input: TapNearestTarget: GoapAgent[Tab] pressing for 50ms
2021-09-27 12:34:33.716 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:33.930 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:34.099 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:35.111 +08:00 [INF] NO PLAN
2021-09-27 12:34:35.114 +08:00 [INF] Target Health: 0, max 0, dead False
2021-09-27 12:34:35.115 +08:00 [INF] Input: TapNearestTarget: GoapAgent[Tab] pressing for 50ms
2021-09-27 12:34:35.312 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:35.621 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:35.826 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:36.890 +08:00 [INF] Input: TapJump: [Spacebar] pressing for 50ms
2021-09-27 12:34:36.984 +08:00 [INF] NO PLAN
2021-09-27 12:34:36.985 +08:00 [INF] Target Health: 0, max 0, dead False
2021-09-27 12:34:36.986 +08:00 [INF] Input: TapNearestTarget: GoapAgent[Tab] pressing for 50ms
2021-09-27 12:34:37.190 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:37.403 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:37.606 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:38.662 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:38.889 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:39.109 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:40.153 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:40.388 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:40.624 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:41.677 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:41.890 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:42.107 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:43.121 +08:00 [INF] NO PLAN
2021-09-27 12:34:43.122 +08:00 [INF] Target Health: 0, max 0, dead False
2021-09-27 12:34:43.123 +08:00 [INF] Input: TapNearestTarget: GoapAgent[Tab] pressing for 50ms
2021-09-27 12:34:43.294 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:43.594 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:43.778 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:44.845 +08:00 [INF] Input: TapJump: [Spacebar] pressing for 50ms
2021-09-27 12:34:44.924 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:45.125 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:45.330 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:46.392 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:46.567 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:46.750 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:47.776 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:47.996 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:48.201 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:49.253 +08:00 [INF] NO PLAN
2021-09-27 12:34:49.254 +08:00 [INF] Target Health: 0, max 0, dead False
2021-09-27 12:34:49.255 +08:00 [INF] Input: TapNearestTarget: GoapAgent[Tab] pressing for 50ms
2021-09-27 12:34:49.460 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:49.652 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:49.829 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[LeftArrow] pressing for 1000ms
2021-09-27 12:34:50.889 +08:00 [INF] NO PLAN
2021-09-27 12:34:50.891 +08:00 [INF] Target Health: 0, max 0, dead False
2021-09-27 12:34:50.893 +08:00 [INF] Input: TapNearestTarget: GoapAgent[Tab] pressing for 50ms
2021-09-27 12:34:51.109 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:51.388 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:51.635 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:52.688 +08:00 [INF] Input: TapJump: [Spacebar] pressing for 50ms
2021-09-27 12:34:52.754 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:52.951 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:53.160 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:54.180 +08:00 [INF] Input: TapInteract ()[I] pressing for 50ms
2021-09-27 12:34:54.424 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:54.669 +08:00 [INF] Input: Seems stuck! Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:55.689 +08:00 [INF] Input: TapClearTarget: [Insert] pressing for 50ms
2021-09-27 12:34:55.973 +08:00 [INF] Input: Too long time. Clear Target. Turn away.[RightArrow] pressing for 1000ms
2021-09-27 12:34:57.012 +08:00 [INF] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
2021-09-27 12:34:57.027 +08:00 [INF] Input: KeyUp UpArrow
2021-09-27 12:34:57.031 +08:00 [INF] Input: KeyUp DownArrow
2021-09-27 12:34:57.050 +08:00 [INF] Input: KeyUp LeftArrow
2021-09-27 12:34:57.059 +08:00 [INF] Input: KeyUp RightArrow
2021-09-27 12:34:57.075 +08:00 [INF] Stopped!

Requirement : "BagFull" cant work

Describe the bug
I started the bot with a brand new character and it only have 2 bags with the inventory 20+6. later, when the number of items reaches 26, the requirement: "BagFull" is still red in blazer so the bot cant sell the trash. Only after I change the requirement "BagFull" to "BagCount>26"in the class file will it work properly and sell trash automatically. Is there something wrong with it?

What can I do to contribute?

I spent like 4 hours on the original repo and finally got it to work before I found your work! This is really amazing to see someone is doing the same things I did, and it seems you have done much more! I'm willing to contribute and got a few questions here.

  1. Has this fork done anything about none-english clients? The original DataToColor won't work properly on my chinese client.
  2. Is there a changelist or milestone I could find to get myself updated? I'm not sure what you have or haven't done thus feeling a bit awkward.

I want to create a custom walking routine

Hello, would really apreciate if you can point me in the right direction,
i want to create a custom profile, a little explanation, i wan to move to a fixed points lets say x 300 y 200, in that point i want to pull a mob, and then walk to another point x 500 x600 for example, and then start my rotation at that point, while facing to a fixed radiant, can you tell me where i should be looking to make this work ? thanks.

Bot usually get stuck when pulling target

If there is an obstacle between character and mob, it will get stuck. The target should be cleared if the pull process is too long

I notice that there is such a code in PullTargetGoal, why is it annotated and not used?

/* 
if ((DateTime.Now - PullStartTime).TotalSeconds > 30)
{
//await wowProcess.KeyPress(ConsoleKey.F3, 50); // clear target
await wowProcess.TapClearTarget();
await this.wowProcess.KeyPress(ConsoleKey.RightArrow, 1000, "Turn after pull timeout");
return; 
 } 
*/

`frame_config.json` Configuration mismatch - Mana data changing wildly

Description

Hello again! Thanks for the prompt response on my last bug submission.

I expected to drink after a fight per my class profile. Instead, the character never drinks, except for a millisecond randomly while walking around. I noticed that this matches the depiction of the goals from the Blazor UI, where the value for mana jumps around wildly.

Addon Version

1.1.47

World of Warcraft Client

Season of Mastery

Reproduction Steps

  1. Start the game
  2. Enter world on mage
  3. Start the bot
  4. Load a profile
  5. Watch for drinking, see it happen at unexpected times

Last Good Version

1.1.42

Screenshots

mana_mayhem_smallerrrr

Logs

out20211130_001 - Copy.log

One bug in pathing

Describe the bug
When pathing from one point to another, if the distance between the two point is not too far or too close, the bot will get stuck.
If the distance is close enough, the bot can run directly to next point; if the distance is too far, the bot will call PPather to find a route which is consist of a series of small route.
But some small route could be a little far (usually some straight line), and the bot will consider the route too far and create new route. But the distance is not "too far", it cannot create any new route, then the bot cannot move anymore and get stuck.

Screenshots
image

Logs
If applicable, attach *.log files to reduce the investigation time.
log1.log

Feature request: Background mode

I hope to run wow in background while still using the bot, so I can do other things at the same time. As far as I can see, despite from the two mouse input part(select npc and loot), all keyboard input can be handled in background. Selecting npc can be achieved by using tab only (though less accurately), and loot can be done with target last target and interact if not for skinning and herbing.

Add some buffs of class Shaman

hey sorry to bother you :) Is there any possible to add some buffs of shaman in Requirement? I dont know LUA language and addons at all :( Thank you very much for your help!

Water Shield ID:24398
Shamanistic Focus ID:43338

Best regards

Cant Loot, Unable to find an entry point named 'GetDpiForSystem' in DLL 'user32.dll.

Dear Author
Thank you for sharing the improved bot, it's very nice. But I encounter some troubles in Looting. My bot can't loot properly. When mobs died, The lootgoal can't perform well. The problem is that unable to find an entry point named 'GetDpiForSystem' in DLL 'user32.dll. How can I solve it? thank you. OS is win8.1. Is win10 needed?
image

Question: Indoor pathing

I have a question, so you stated "Indoors pathfinding only works properly if PathFilename is exists." in your readme. Do you mean buildings or dungeons by that? Because as far as I know, you cannot read the x,y,z coordinates inside dungeons (without memory reading) which basically makes it really hard to navigate the bot. But then I also so your project with AmeisenNavigation where u basically did all that. I am really interested in your thought process on how you handled all that.

If you have time, I would really like to get in touch with u because I am programming a bot based on your HappyPixel adjustments in Kotlin. I didn't know how I could get in touch with you outside of making an issue.

[Druid] A mob just died 0

I'm sure this is probably more me doing something wrong then it not working but I can't seem to get it to detect it's attacking a mob. It just sits there spamming "A mob just died 0" after engaging. Even though the mob is still full health and targeted. It also seems to be trying to add MinMana to values in Cat form as a druid. As well as just not detecting cat form at all. Maybe I'm doing it wrong, but hopefully you guys can guide me along.

Also including the .json for Druid cat I'm using.

Log example:

[15:10:37:939 INF] Input: KeyUp UpArrow
[15:10:37:940 INF] Input: SetKeyState: StopForward
[15:10:37:954 INF] Input: TapStopAttack: [Delete] pressing for 50ms
[15:10:38:123 INF] Input: TapStopKey: [UpArrow] pressing for 50ms
[15:10:38:338 INF] Input: TapStopAttack: [Delete] pressing for 50ms
[15:10:38:999 INF] Input: TapInteract (PullTargetAction)[I] pressing for 50ms
[15:10:39:245 INF] Input: TapStopAttack: CastingHandler: ERR_BADATTACKPOS[Delete] pressing for 50ms
[15:10:39:445 INF] Input: TapStopAttack: [Delete] pressing for 50ms
[15:10:39:568 INF] Stop approach
[15:10:39:568 INF] Input: SetKeyState: StopForward - Cancel interact dx:0.18600000000000705 dy:0.18600000000000705
[15:10:39:569 INF] Input: KeyDown DownArrow StopForward - Cancel interact dx:0.18600000000000705 dy:0.18600000000000705
[15:10:39:583 INF] Input: SetKeyState: StopForward
[15:10:39:584 INF] Input: KeyUp DownArrow
[15:10:39:614 INF] Input: SetKeyState: StopTurn
[15:10:39:629 INF] Input: TapStopAttack: [Delete] pressing for 50ms
[15:10:39:860 INF] Input: TapStopKey: [UpArrow] pressing for 50ms
[15:10:40:044 INF] Input: TapStopAttack: [Delete] pressing for 50ms
[15:10:40:260 INF] Input: Cat form[F9] pressing for 50ms
[15:10:42:090 INF] Cat form:  ... no castbar delay after cast 1500ms
[15:10:42:090 INF] Waiting for Mellee range
[15:10:42:197 INF] ---------------------------------
[15:10:42:198 INF] New Plan= CombatGoal
[15:10:42:198 INF] Input: SetKeyState: StopForward
[15:10:42:643 INF] ----- A mob just died 0
[15:10:43:043 INF] ----- A mob just died 0
[15:10:43:504 INF] ----- A mob just died 0
[15:10:43:873 INF] ----- A mob just died 0

Druid_cat - Copy.txt

Is the class Shaman working?

Hey :)
There is no class file for Shaman. Can the bot work for it? Can the buff of Shaman (eg.Rockbiter Weapon) be tested like other buffs you have listed in 'requirements'? I would lile to contribute, but I don't know how. Thanks!

Only pull mode

hi, im triying to create a mode for my needs, i need it to pull only, i tried excluding the combat goal but its not working, after pulling it goes into a NO PLAN state, and just keep walking forward, you think this is a bug ? it should get one of the goal in the list if no combat is selected

NPC Sell Infinite Loop Bug

Description

When you add in NPC Sell feature to your profile it infinite loops from start of path to vendor, then runs back to start then repeats.

Addon Version

1.1.42

World of Warcraft Client

Season of Mastery

Reproduction Steps

  1. Add NPC Vendor option to your profile
  2. Run it and see what happens.
    3)Even when you hit "Stop" it continues.

Last Good Version

1.1.42

Screenshots

No response

Logs

No response

Invalid FrameConfiguration

Description

First of all thank you for working on this project and for your help last night, secondly I am playing as an Undead Mage and the bot detects food/water in bag but constantly tries to conjure food and water after / before combat.
Returns that it has the food / water in bag but still tries to conjure. Been messing with the values in the class script but it appears to do the same thing the majority of the time.

Issue 2: Skinning
With skinning set to true it logs all the info related to trying to skin but won't actually do it, after looting the corpse it immediately moves on and either tries to conjure water / food or move to the next mob. You can see the 'Skin' icon appear like it's trying to find a spot to click the mob and once it finds that spot it just doesn't click to skin/wait?

OS: Windows 10
Full Screen 1920x1080
Zoomed out all the way / zoomed in all the way, same result.

Apologies if this is a silly mistake on my part and thank you for your time.

Addon Version

1.1.53

World of Warcraft Client

The Burning Crusade Classic

Reproduction Steps

Kill a monster.

Last Good Version

No

Screenshots

No response

Logs

Test Class File

{
  "ClassName": "Mage",
  "Loot": true,

  "NPCMaxLevels_Below": 6,
  "NPCMaxLevels_Above": 2,
  
  "PathFilename": "Test.json",
  "PathThereAndBack": true,
  "PathReduceSteps": true,
  "Skin": true,
  
  "Blacklist": ["Kolkar","Legashi","Blood Elf","Elf Reclaim","Elf Survey","Searing Roc","Living Storm","Land Rager","BLUEGI","Tunnel","OL' SO","HAREN S","THRAGO", "Elder Razormaw","Highland Razormaw","Boulderfist","witherbark","venomhide","tar beast","toxic horror","hive","hazzali"],

  "Pull": {
    "Sequence": [
      {
        "Name": "Frostbolt",
        "HasCastBar": true,
        "Key": "1",
        "MinMana": 294
      }
    ]
  },
  "Combat": {
    "Sequence": [
      {
        "Name": "Fire Blast",
        "Key": "4",
        "MinMana": 392,
		"Cooldown": 8000,
        "Requirements": ["SpellInRange:4", "SpellInRange:4"]
      },
      {
        "Name": "Frost Nova",
        "Key": "6",
        "MinMana": 142,
        "WhenUsable": true,
        "Requirements": ["InMeleeRange", "MobCount>1"],
        "StepBackAfterCast": 1000,
        "DelayAfterCast": 0
		
      },
      {
        "Name": "Scorch",
        "HasCastBar": true,
        "Requirements": ["MaxRange<10", "TargetHealth%<20"],
        "Key": "5",
        "MinMana": 500
      },
      {
        "Name": "Fireball",
		"SpellInRange": 0,
        "HasCastBar": true,
        "Key": "3",
        "MinMana": 402
      },
      {
        "Name": "Shoot",
        "Key": "1",
        "HasCastbar": true,
        "Requirements": ["HasRangedWeapon", "not Shooting", "SpellInRange:1"]
      },
      {
        "Name": "AutoAttack",
        "Requirements": ["not HasRangedWeapon", "not AutoAttacking"]
      }
    ]
  },
  "Parallel": {
    "Sequence": [
      {
        "Name": "Food",
        "Key": "-",
        "Requirement": "Health%<60"
      },
      {
        "Name": "Water",
        "Key": "=",
        "Requirement": "Mana%<60"
      }
    ]
    },

  "Adhoc": {
    "Sequence": [
      {
        "Name": "Evocation",
        "Key": "F8",
        "HasCastBar": true,
        "Cooldown": 600000,
        "Cost": 2,
        "Requirements": ["Mana%<50"]
      },
      {
        "Name": "Molten Armor",
        "Key": "8",
        "MinMana": 617,
		"Cooldown": 600000,
        "Requirement": "not Arcane Intellect"
      },
      {
        "Name": "Arcane Intellect",
        "Key": "7",
        "MinMana": 575,
        "Requirement": "not Arcane Intellect"
      },
      {
        "Name": "Conjure Water",
        "Key": "0",
        "HasCastBar": true,
        "Requirement": "not BagItem:8079:4",
        "Cooldown": 600000,
      },
      {
        "Name": "Conjure Food",
        "Key": "9",
        "HasCastBar": true,
        "Requirement": "not BagItem:22895:4",
        "Cooldown": 600000,
      }
    ]}
}

Console Log:

C:\WowClassicGrindBot\BlazorServer>start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "http://localhost:5000"

C:\WowClassicGrindBot\BlazorServer>c:

C:\WowClassicGrindBot\BlazorServer>cd C:\WowClassicGrindBot\BlazorServer

C:\WowClassicGrindBot\BlazorServer>dotnet run
C:\WowClassicGrindBot\Core\PPather\RemotePathingAPIV3.cs(37,37): warning CA1805: Member 'debug' is explicitly initialized to its default value [C:\WowClassicGrindBot\Core\Core.csproj]
C:\WowClassicGrindBot\Core\Path\PlayerDirection.cs(11,37): warning CA1805: Member 'debug' is explicitly initialized to its default value [C:\WowClassicGrindBot\Core\Core.csproj]
C:\WowClassicGrindBot\Core\Goals\FollowRouteGoal.cs(36,37): warning CA1805: Member 'debug' is explicitly initialized to its default value [C:\WowClassicGrindBot\Core\Core.csproj]
[12:39:19:182 DBG] Startup()
[12:39:21:463 INF] RemotePathingAPIV3 PingServer 2001ms False
[12:39:26:647 WRN] INFO: Pathing API is not running remotely, this means the local one will be used. http://localhost:5001/api/PPather/ Gave(No connection could be made because the target machine actively refused it. (localhost:5001)).
[12:39:26:648 INF] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[12:39:26:649 DBG] RemoteV3 not available!
[12:39:26:649 INF] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[12:39:26:655 INF] MPQ dir is ../json/MPQ/
[12:39:26:657 DBG] Hooray, MPQ files exist.
[12:39:26:658 INF] Using Local(LocalPathingApi) pathing API.
[12:39:26:658 INF] ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[12:39:26:669 INF] Using AddonDataProvider
[12:39:27:183 DBG] Woohoo, I have read the player class. You are a Undead Mage.
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://0.0.0.0:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\WowClassicGrindBot\BlazorServer
[12:39:47:396 INF] [Interact] uses "I" -> I
[12:39:47:397 INF] [Approach] uses "I" -> I
[12:39:47:398 INF] [AutoAttack] uses "I" -> I
[12:39:47:400 INF] [Form] Initialise KeyActions.
[12:39:47:403 INF] [Pull] CreateDynamicBindings.
[12:39:47:405 INF] [Combat] CreateDynamicBindings.
[12:39:47:406 INF] [Adhoc] CreateDynamicBindings.
[12:39:47:407 INF] [Parallel] CreateDynamicBindings.
[12:39:47:408 INF] [Pull] Initialise KeyActions.
[12:39:47:409 INF] [Fire] uses "1" -> D1
[12:39:47:411 INF] [Combat] Initialise KeyActions.
[12:39:47:412 INF] [Fire Blast] uses "4" -> D4
[12:39:47:417 INF] [Fire Blast] Processing requirement: "SpellInRange:4"
[12:39:47:419 INF] [Fire Blast] Processing requirement: "SpellInRange:4"
[12:39:47:422 INF] [Frost Nova] uses "6" -> D6
[12:39:47:423 INF] [Frost Nova] Processing requirement: "InMeleeRange"
[12:39:47:424 INF] [Frost Nova] Processing requirement: "MobCount>1"
[12:39:47:426 INF] [Scorch] uses "5" -> D5
[12:39:47:427 INF] [Scorch] Processing requirement: "MaxRange<10"
[12:39:47:429 INF] [Scorch] Processing requirement: "TargetHealth%<20"
[12:39:47:430 INF] [Fireball] uses "3" -> D3
[12:39:47:431 INF] [Shoot] uses "1" -> D1
[12:39:47:432 INF] [Shoot] Processing requirement: "HasRangedWeapon"
[12:39:47:433 INF] [Shoot] Processing requirement: "not Shooting"
[12:39:47:437 INF] [Shoot] Processing requirement: "SpellInRange:1"
[12:39:47:438 INF] [AutoAttack] uses "I" -> I
[12:39:47:439 INF] [AutoAttack] Processing requirement: "not HasRangedWeapon"
[12:39:47:440 INF] [AutoAttack] Processing requirement: "not AutoAttacking"
[12:39:47:441 INF] [Adhoc] Initialise KeyActions.
[12:39:47:442 INF] [Evocation] uses "F8" -> F8
[12:39:47:443 INF] [Evocation] Processing requirement: "Mana%<50"
[12:39:47:445 INF] [Molten Armor] uses "8" -> D8
[12:39:47:446 INF] [Molten Armor] Processing requirement: "not Arcane Intellect"
[12:39:47:448 INF] [Arcane Intellect] uses "7" -> D7
[12:39:47:449 INF] [Arcane Intellect] Processing requirement: "not Arcane Intellect"
[12:39:47:450 INF] [Conjure Water] uses "0" -> D0
[12:39:47:453 INF] [Conjure Water] Processing requirement: "not BagItem:8079:4"
[12:39:47:455 INF] [Conjure Food] uses "9" -> D9
[12:39:47:455 INF] [Conjure Food] Processing requirement: "not BagItem:22895:4"
[12:39:47:457 INF] [Parallel] Initialise KeyActions.
[12:39:47:458 INF] [Food] uses "-" -> OemMinus
[12:39:47:459 INF] [Food] Processing requirement: "Health%<60"
[12:39:47:460 INF] [Food] Processing requirement: "not Swimming"
[12:39:47:462 INF] [Food] Processing requirement: "not Falling"
[12:39:47:464 INF] [Water] uses "=" -> OemPlus
[12:39:47:465 INF] [Water] Processing requirement: "Mana%<60"
[12:39:47:466 INF] [Water] Processing requirement: "not Swimming"
[12:39:47:469 INF] [Water] Processing requirement: "not Falling"
[12:39:47:470 INF] [BotController] Profile Loaded MageGrind.json with Test.json.
[12:39:47:472 INF] [ConfigurableInput] Movement Keys. Forward: UpArrow - Backward: DownArrow - TurnLeft: LeftArrow - TurnRight: RightArrow
[12:39:47:492 INF] [BotController] Elapsed time: 131ms
[12:39:49:283 INF] /dtcflush
[12:40:01:094 INF] ---------------------------------
[12:40:01:096 INF] New Plan= AdhocGoal
[12:40:01:143 INF] Conjure Water: ... gcd interrupted 0.0035ms
[12:40:01:155 DBG] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[12:40:01:193 DBG] Input: KeyUp UpArrow
[12:40:01:194 DBG] Input: KeyUp DownArrow
[12:40:01:221 DBG] Input: KeyUp LeftArrow
[12:40:01:236 DBG] Input: KeyUp RightArrow
[12:40:01:416 DBG] Input: [D0] Conjure Water pressed for 101ms
[12:40:01:555 INF] Conjure Water: ... castbar input 104.5066ms

//COUNT IS 47 BUT STILL TRIES TO CONJURE?
[12:40:01:557 INF] Conjure Water: ... casting: True -- count:47 -- usable: True->False -- CAST_SUCCESS->CAST_START

[12:40:01:558 INF] Conjure Water: ... waiting for visible cast bar to end or target loss.
[12:40:03:864 INF] Conjure Water: ... instant interrupt: True | CanRun: False | Delay: 0.0043ms
[12:40:03:865 INF] Waiting for Conjure Water
[12:40:03:924 INF] ---------------------------------
[12:40:03:925 INF] New Plan= AdhocGoal
[12:40:03:955 INF] Conjure Food: ... gcd interrupted 0.0029ms
[12:40:03:956 DBG] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[12:40:03:987 DBG] Input: KeyUp UpArrow
[12:40:04:142 DBG] Input: [D9] Conjure Food pressed for 89ms
[12:40:04:287 INF] Conjure Food: ... castbar input 110.1706ms
[12:40:04:288 INF] Conjure Food: ... casting: True -- count:48 -- usable: True->False -- ERR_SPELL_FAILED_INTERRUPTED->CAST_START
[12:40:04:289 INF] Conjure Food: ... waiting for visible cast bar to end or target loss.
[12:40:05:239 INF] Conjure Food: ... instant interrupt: True | CanRun: False | Delay: 0.0039ms
[12:40:05:240 INF] Waiting for Conjure Food
[12:40:05:270 INF] ---------------------------------
[12:40:05:271 INF] New Plan= FollowRouteGoal
[12:40:05:277 INF] FollowRouteGoal: .. Start searching for target...
[12:40:05:279 INF] Trying to path a new route.
[12:40:05:364 DBG] Input: [Tab] TapNearestTarget: FollowRouteGoal pressed for 72ms
[12:40:05:445 DBG] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[12:40:05:460 DBG] Input: KeyUp UpArrow
[12:40:05:512 INF] MPQ dir is ../json/MPQ/
[12:40:05:516 INF] Open ../json/MPQ/patch.MPQ = False
[12:40:05:517 INF] Open ../json/MPQ/enUS\patch-enUS.MPQ = False
[12:40:05:518 INF] Open ../json/MPQ/enGB\patch-enGB.MPQ = False
[12:40:05:518 INF] Open ../json/MPQ/lichking.MPQ = False
[12:40:05:575 INF] Open ../json/MPQ/common-2.MPQ = True
[12:40:05:576 INF] Add archive ../json/MPQ/common-2.MPQ
[12:40:05:577 INF] Open ../json/MPQ/common.MPQ = False
[12:40:05:593 INF] Open ../json/MPQ/expansion.MPQ = True
[12:40:05:594 INF] Add archive ../json/MPQ/expansion.MPQ
[12:40:05:595 INF] Open ../json/MPQ/enUS\lichking-locale-enUS.MPQ = False
[12:40:05:596 INF] Open ../json/MPQ/enUS\locale-enUS.MPQ = False
[12:40:05:597 INF] Open ../json/MPQ/enUS\expansion-locale-enUS.MPQ = False
[12:40:05:598 INF] Open ../json/MPQ/enGB\lichking-locale-enGB.MPQ = False
[12:40:05:599 INF] Open ../json/MPQ/enGB\locale-enGB.MPQ = False
[12:40:05:600 INF] Open ../json/MPQ/enGB\expansion-locale-enGB.MPQ = False
[12:40:05:601 INF] Open ../json/MPQ/enUS\base-enUS.MPQ = False
[12:40:05:602 INF] Open ../json/MPQ/enGB\base-enGB.MPQ = False
[12:40:05:604 INF] Open ../json/MPQ/enUS\backup-enUS.MPQ = False
[12:40:05:605 INF] Open ../json/MPQ/enGB\backup-enGB.MPQ = False
[12:40:05:606 INF] Open ../json/MPQ/expansion1.MPQ = False
[12:40:05:607 INF] Open ../json/MPQ/expansion2.MPQ = False
[12:40:05:608 INF] Open ../json/MPQ/OldWorld.MPQ = False
[12:40:05:609 INF] Open ../json/MPQ/world.MPQ = False
[12:40:05:609 INF] Open ../json/MPQ/enGB\expansion1-locale-enGB.MPQ = False
[12:40:05:610 INF] Open ../json/MPQ/enGB\expansion2-locale-enGB.MPQ = False
[12:40:05:611 INF] Open ../json/MPQ/enGB\locale-enGB.MPQ = False
[12:40:05:612 INF] Open ../json/MPQ/enGB\locale-enGB.MPQ = False
[12:40:05:613 INF] Open ../json/MPQ/wow-update-13164.MPQ = False
[12:40:05:614 INF] Open ../json/MPQ/wow-update-oldworld-13154.MPQ = False
[12:40:05:615 INF] Open ../json/MPQ/Cache\patch-base-oldworld-13154.MPQ = False
[12:40:05:617 INF] Open ../json/MPQ/Cache\enGB\patch-enGB-oldworld-13154.MPQ = False
[12:40:05:617 INF] Open ../json/MPQ/expansion2.MPQ = False
[12:40:05:621 INF] Open ../json/MPQ/expansion1.MPQ = False
[12:40:05:622 INF] Open ../json/MPQ/world.MPQ = False
[12:40:05:623 INF] Open ../json/MPQ/sound.MPQ = False
[12:40:05:623 INF] Open ../json/MPQ/art.MPQ = False
[12:40:05:624 INF] Open ../json/MPQ/enGB\expansion2-locale-enGB.MPQ = False
[12:40:05:625 INF] Open ../json/MPQ/enGB\expansion1-locale-enGB.MPQ = False
[12:40:05:626 INF] Open ../json/MPQ/enGB\locale-enGB.MPQ = False
[12:40:05:627 INF] Open ../json/MPQ/enGB\base-enGB.MPQ = False
[12:40:05:637 INF] Extract World\Maps\Expansion01\Expansion01.wdt from ../json/MPQ/expansion.MPQ
[12:40:05:644 INF] Map Tiles available in World\Maps\Expansion01\Expansion01.wdt = 800
Got asked for triangles at -1689.7871, 6656.532 grid [35,19]
Need triangles grid (-2133.3333 , 6399.9995) - (-1600, 6933.333
[12:40:05:652 INF] Extract World\Maps\Expansion01\Expansion01_19_35.adt from ../json/MPQ/expansion.MPQ
[12:40:05:671 INF] Reading adt: World\Maps\Expansion01\Expansion01_19_35.adt
[12:40:05:676 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree01.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:691 INF] Extract world\expansion01\doodads\nagrand\roots\nagrandroot03.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:697 INF] Extract world\khazmodan\lochmodan\passivedoodads\bushes\lochmodanshrub01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:700 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree09.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:707 INF] Extract world\expansion01\doodads\nagrand\bush\nagrandbush03.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:708 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree08.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:714 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree03.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:723 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree05.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:731 INF] Extract world\khazmodan\wetlands\passivedoodads\bushes\wetlandshrub09.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:737 INF] Extract world\khazmodan\wetlands\passivedoodads\bushes\wetlandsshurb08.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:739 INF] Extract world\expansion01\doodads\nagrand\bush\nagrandbush02.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:741 INF] Extract world\expansion01\doodads\nagrand\roots\nagrandroot05.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:747 INF] Extract world\khazmodan\wetlands\passivedoodads\bushes\wetlandsshrub04.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:749 INF] Extract world\expansion01\doodads\generic\ancientorc\lampost\ao_lamppost01.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:755 INF] Extract world\expansion01\doodads\nagrand\bush\nagrandbush01.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:760 INF] Extract world\generic\passivedoodads\hides\hidestack01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:768 INF] Extract world\generic\passivedoodads\hides\hidestack02.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:775 INF] Extract world\azeroth\burningsteppes\passivedoodads\animalheads\deadheaddeer.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:781 INF] Extract world\generic\orc\passive doodads\wagons\orcwagon04.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:787 INF] Extract world\generic\orc\passive doodads\wagons\orcwagon05.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:792 INF] Extract world\generic\passivedoodads\furniture\containers\crate03.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:798 INF] Extract world\expansion01\doodads\generic\ancientorc\barrel\ao_barrel01.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:805 INF] Extract world\generic\orc\passive doodads\weapons\orcaxe01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:807 INF] Extract world\generic\tauren\passive doodads\sacks\taurensack02.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:809 INF] Extract world\expansion01\doodads\nagrand\roots\nagrandroot02.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:811 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsskull02.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:817 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsspine01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:820 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsbone01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:822 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsbonepile03.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:824 INF] Extract world\expansion01\doodads\nagrand\rocks\nagrand_smallrock_01.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:831 INF] Extract world\generic\orc\passive doodads\jars\jarorc04.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:833 INF] Extract world\generic\orc\passive doodads\weapons\orcspear03.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:835 INF] Extract world\generic\orc\passive doodads\weapons\orcspear01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:837 INF] Extract world\generic\orc\passive doodads\jars\jarorc02.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:838 INF] Extract world\generic\orc\passive doodads\jars\jarorc01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:841 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree06.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:850 INF] Extract world\critter\butterflies\butterflyorange01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:852 INF] Extract world\khazmodan\lochmodan\passivedoodads\bushes\lochmodanshrub02.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:854 INF] Extract world\expansion01\doodads\nagrand\roots\nagrandroot04.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:859 INF] Extract world\azeroth\elwynn\passivedoodads\ballista\ballista.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:865 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree02.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:872 INF] Extract world\expansion01\doodads\generic\ancientorc\boardwalk\ao_boardwalk01.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:875 INF] Extract world\expansion01\doodads\generic\ancientorc\boardwalk\ao_boardwalk05.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:880 INF] Extract world\generic\orc\passive doodads\burntoutposts\burntoutpost04.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:882 INF] Extract world\generic\orc\passive doodads\burntoutposts\burntoutpost05.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:885 INF] Extract world\generic\orc\passive doodads\burntoutposts\burntoutpost06.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:887 INF] Extract world\expansion01\doodads\generic\ancientorc\boardwalk\ao_boardwalk02.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:893 INF] Extract world\expansion01\doodads\generic\ancientorc\boardwalk\ao_boardwalk_corner.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:896 INF] Extract world\generic\orc\passive doodads\barrelsandcrates\orccrate09.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:903 INF] Extract world\generic\orc\passive doodads\barrelsandcrates\orcbarrel04.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:909 INF] Extract world\generic\orc\passive doodads\barrelsandcrates\orccrate10.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:912 INF] Extract world\generic\orc\passive doodads\barrelsandcrates\orccrate08.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:917 INF] Extract world\generic\human\passive doodads\ballistaruins\ballistamissle01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:922 INF] Extract world\expansion01\doodads\hellfirepeninsula\supplies\hellfiresupplies_03.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:930 INF] Extract world\expansion01\doodads\generic\ancientorc\signposts\ao_signpost01.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:934 INF] Extract world\expansion01\doodads\hellfirepeninsula\supplies\hellfiresupplies_04.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:942 INF] Extract world\generic\orc\passive doodads\barrelsandcrates\orccrate07.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:947 INF] Extract world\expansion01\doodads\generic\ancientorc\boardwalk\ao_boardwalk03.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:953 INF] Extract world\expansion01\doodads\hellfirepeninsula\supplies\hellfiresupplies_06.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:961 INF] Extract world\generic\orc\passive doodads\hordebanners\hordebanner03.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:966 INF] Extract world\generic\orc\passive doodads\shields\orcshield02.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:969 INF] Extract world\azeroth\elwynn\passivedoodads\battlegladeskullhuman2\battlegladeskullhuman2.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:971 INF] Extract world\azeroth\elwynn\passivedoodads\battlegladeskullhuman1\battlegladeskullhuman1.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:973 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree07.m2 from ../json/MPQ/expansion.MPQ
[12:40:05:981 INF] Extract world\generic\orc\passive doodads\tents\durotarorctent01.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:988 INF] Extract world\azeroth\burningsteppes\passivedoodads\orctoolrackburningsteppes\orctoolrackburningsteppes.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:995 INF] Extract world\azeroth\elwynn\passivedoodads\pick\pick.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:997 INF] Extract world\generic\dwarf\passive doodads\guns\rifledwarven.m2 from ../json/MPQ/common-2.MPQ
[12:40:05:999 INF] Extract world\generic\human\passive doodads\weapons&armor\humanarrows.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:006 INF] Extract world\generic\human\passive doodads\deadminepowderkeg\deadminepowderkeg.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:008 INF] Extract world\generic\passivedoodads\weaponcrates\weaponcratehordeaxe.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:010 INF] Extract world\generic\passivedoodads\weaponcrates\weaponcratehordeaxelid.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:015 INF] Extract world\generic\orc\passive doodads\weapons\orcsword03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:018 INF] Extract world\expansion01\doodads\generic\ogre\weapons\om_weapons_04.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:021 INF] Extract world\generic\orc\passive doodads\barrelsandcrates\orccrate06.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:026 INF] Extract world\generic\human\passive doodads\catapultruins\catapultball01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:028 INF] Extract world\azeroth\elwynn\passivedoodads\catapult\catapult.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:037 INF] Extract world\generic\orc\passive doodads\hordebanners\hordebanner02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:042 INF] Extract world\generic\orc\passive doodads\tents\durotarorctent02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:047 INF] Extract world\generic\passivedoodads\weaponcrates\weaponcratehordeaxeopen.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:054 INF] Extract world\expansion01\doodads\hellfirepeninsula\supplies\hellfiresupplies_01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:061 INF] Extract world\generic\orc\passive doodads\lampposts\orcbrazier_lightpostbarrens.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:069 INF] Extract world\generic\tauren\passive doodads\tallstridermeat\tallstridermeat01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:075 INF] Extract world\generic\human\passive doodads\firewood\firewoodpile03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:077 INF] Extract world\expansion01\doodads\generic\ancientorc\outpostwalls\ao_outpostwall03.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:079 INF] Extract world\expansion01\doodads\generic\ancientorc\outpostwalls\ao_outpostwall02.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:086 INF] Extract world\generic\orc\passive doodads\wagons\orcwagon02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:124 INF] Extract world\expansion01\doodads\hellfirepeninsula\supplies\hellfiresupplies_05.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:132 INF] Extract world\generic\orc\passive doodads\barrelsandcrates\orcbarrel03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:135 INF] Extract world\generic\tauren\passive doodads\tallstridermeat\tallstridermeat02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:141 INF] Extract world\generic\human\passive doodads\tables\bloodytable2.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:147 INF] Extract world\expansion01\doodads\generic\bloodelf\food\be_meat01.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:153 INF] Extract world\generic\orc\passive doodads\animalskulls\tallstriderskull.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:155 INF] Extract world\generic\orc\passive doodads\utensils\serratedcleaver.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:160 INF] Extract world\generic\tauren\passive doodads\kodohorncontainers\basketkodohorns2.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:186 INF] Extract world\generic\orc\passive doodads\jars\jarorc05.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:192 INF] Extract world\generic\orc\passive doodads\jars\jarorc06.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:194 INF] Extract world\generic\orc\passive doodads\feedingtroughs\feedtroph01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:199 INF] Extract world\generic\passivedoodads\barrel\barrel01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:205 INF] Extract world\generic\passivedoodads\furniture\containers\sack02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:212 INF] Extract world\generic\passivedoodads\furniture\containers\sack01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:214 INF] Extract world\generic\passivedoodads\crate02\crate02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:216 INF] Extract world\lordaeron\alteracmountains\passivedoodads\fruitbuckets\alteracfruitbucket03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:223 INF] Extract world\lordaeron\alteracmountains\passivedoodads\fruitbuckets\alteracfruitbucket02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:225 INF] Extract world\lordaeron\alteracmountains\passivedoodads\fruitbuckets\alteracfruitbucket01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:227 INF] Extract world\generic\passivedoodads\fruits\fruitbowl_mixed.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:232 INF] Extract world\generic\human\passive doodads\tables\inntable.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:234 INF] Extract world\generic\passivedoodads\fruits\fruit_bananabunch.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:237 INF] Extract world\generic\passivedoodads\fruits\fruitbowl_apples.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:244 INF] Extract world\generic\passivedoodads\crate01\crate01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:249 INF] Extract world\generic\passivedoodads\furniture\containers\crate03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:256 INF] Extract world\generic\passivedoodads\fruits\fruit_melon.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:258 INF] Extract world\generic\passivedoodads\fruits\fruit_pear.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:260 INF] Extract world\generic\passivedoodads\fruits\fruit_apple.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:265 INF] Extract world\generic\orc\passive doodads\jars\jarorc01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:267 INF] Extract world\generic\orc\passive doodads\jugs\orcjug01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:272 INF] Extract world\azeroth\elwynn\passivedoodads\jars\jar01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:277 INF] Extract world\azeroth\elwynn\passivedoodads\jars\jar03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:280 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree06.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:289 INF] Extract world\expansion01\doodads\nagrand\bush\nagrandbush01.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:291 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree05.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:299 INF] Extract world\expansion01\doodads\nagrand\trees\nagrandtree04.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:308 INF] Extract world\wmo\outland\ancorcbuildings\ao_bridgelong02.wmo from ../json/MPQ/expansion.MPQ
[12:40:06:311 INF] Extract world\wmo\outland\ancorcbuildings\ao_bridgelong02_000.wmo from ../json/MPQ/expansion.MPQ
[12:40:06:321 INF] Extract world\wmo\outland\floatingrocks\nagrand_rockfloating_02.wmo from ../json/MPQ/expansion.MPQ
[12:40:06:323 INF] Extract world\nodxt\detail\naggra01.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:328 INF] Extract world\nodxt\detail\naggra02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:330 INF] Extract world\nodxt\detail\naggra05.m2 from ../json/MPQ/expansion.MPQ
[12:40:06:331 INF] Extract world\wmo\outland\floatingrocks\nagrand_rockfloating_02_000.wmo from ../json/MPQ/expansion.MPQ
[12:40:06:339 INF] Extract world\wmo\pvp\buildings\ancientorcarena\ancorc_pvpstadium.wmo from ../json/MPQ/common-2.MPQ
[12:40:06:341 INF] Extract world\azeroth\theblastedlands\passivedoodads\ruins\brokengatechain01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:346 INF] Extract world\generic\passivedoodads\duelingflag\duelingflag.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:351 INF] Extract world\generic\human\passive doodads\weapons&armor\humanarrow.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:354 INF] Extract world\lordaeron\arathi\passivedoodads\impalingstonecorpses\impalingstone_corpse_01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:359 INF] Extract world\generic\ogre\passive doodads\torches\ogrewalltorch.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:361 INF] Extract world\generic\human\passive doodads\weapons&armor\orcarrow.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:362 INF] Extract world\generic\orc\passive doodads\weapons\orcaxe01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:364 INF] Extract world\generic\orc\passive doodads\weapons\orcaxe02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:367 INF] Extract world\generic\orc\passive doodads\shields\orcshield03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:369 INF] Extract world\generic\passivedoodads\weapons\steelspear01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:371 INF] Extract world\expansion01\doodads\generic\ancientorc\banners\ao_banner02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:376 INF] Extract world\wmo\pvp\buildings\ancientorcarena\ancorc_pvpstadium_000.wmo from ../json/MPQ/common-2.MPQ
[12:40:06:388 INF] Extract world\wmo\outland\draenibuildings\draenihuthooded01.wmo from ../json/MPQ/common-2.MPQ
[12:40:06:390 INF] Extract world\generic\orc\passive doodads\bowls\bowlwood02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:391 INF] Extract world\generic\orc\passive doodads\bowls\bowlwood01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:392 INF] Extract world\generic\passivedoodads\lights\candle01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:397 INF] Extract world\generic\passivedoodads\lights\candle03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:399 INF] Extract world\generic\passivedoodads\weapons\flintspear01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:401 INF] Extract world\generic\orc\passive doodads\jugs\orcjug02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:403 INF] Extract world\outland\passivedoodads\hangingcrystals\outlandhangingcrystal01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:405 INF] Extract world\generic\satyr\passive doodads\container\satyrcontainer01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:410 INF] Extract world\generic\satyr\passive doodads\container\satyrcontainer02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:412 INF] Extract world\generic\satyr\passive doodads\container\satyrcontainer03.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:415 INF] Extract world\kalimdor\wailingcaverns\passivedoodads\baskets\wc_basket01.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:418 INF] Extract world\kalimdor\wailingcaverns\passivedoodads\fangdruids\wc_benchstone02.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:424 INF] Extract world\kalimdor\wailingcaverns\passivedoodads\fangdruids\wc_tablestone.m2 from ../json/MPQ/common-2.MPQ
[12:40:06:426 INF] Extract world\wmo\outland\draenibuildings\draenihuthooded01_000.wmo from ../json/MPQ/common-2.MPQ
[12:40:06:432 INF] Extract world\wmo\outland\draenibuildings\draenihuthooded01_001.wmo from ../json/MPQ/common-2.MPQ
[12:40:06:438 INF] Extract world\wmo\outland\draenibuildings\draenihuthooded01_002.wmo from ../json/MPQ/common-2.MPQ
[12:40:06:479 INF] modeli: 0 90.5 -0
[12:40:06:482 INF] AddTriangles: x(-2026.7266 - -1937.9141) y(-1996.9395 - -2009.0957) z(-1996.9395 - -2009.0957)
[12:40:06:483 INF] modeli: 0 -221 -0
[12:40:06:484 INF] AddTriangles: x(-2029.6641 - -2008.5195) y(-2022.8398 - -2010.8516) z(-2022.8398 - -2010.8516)
[12:40:06:484 INF] modeli: 0 298.2356 -0
[12:40:06:488 INF] AddTriangles: x(-2117.4473 - -1969.6309) y(-2103.0938 - -2044.1875) z(-2103.0938 - -2044.1875)
[12:40:06:490 INF] modeli: 0 -391.5 -0
[12:40:06:491 INF] AddTriangles: x(-1854.334 - -1828.9883) y(-1834.9141 - -1842.75) z(-1834.9141 - -1842.75)
[12:40:06:491 INF] AddTriangles: x(-1846.5898 - -1835.5195) y(-1845.9707 - -1843.1016) z(-1845.9707 - -1843.1016)
[12:40:06:494 INF] AddTriangles: x(-1849.6074 - -1841.8965) y(-1845.8477 - -1841.8965) z(-1845.8477 - -1841.8965)
[12:40:06:515 INF] wee
[12:40:06:516 INF] done
[12:40:06:523 DBG] Input: [Tab] TapNearestTarget: FollowRouteGoal pressed for 92ms
[12:40:06:527 INF] > NPCs found: (1668,275)[35,3]
it got 109503 triangles and 56046 vertices
[12:40:06:699 INF] NpcNameTargeting.FindAndClickNpc: NPC found! Height=3, width=35, pos={X=1675,Y=323}
Got triangles grid (-2141.8828 , 6391.2256) - (-1596.5293, 6941.253
[12:40:07:544 INF] Build hash 109503
[12:40:07:719 INF] FollowRouteGoal: Has target!
[12:40:07:751 INF] FollowRouteGoal: .. Found target!
[12:40:07:781 INF] done 157 time 00:00:00.2374108
[12:40:07:788 INF] Creating Path from Expansion01: [-1689,6656,-16] tot Expansion01: [-1669,6647,-14]
[12:40:07:795 INF] Loaded c_192_208.bin 1802 spots 16578 steps
[12:40:07:813 INF] CreatePath took 0 seconds.
[12:40:07:814 INF] Finding route from <65.8697, 47.007797, 0> map 1951 to <66.0345, 46.461, 0> took 2303 ms.
[12:40:07:815 INF] Saving GraphChunks.....
[12:40:07:828 INF] Saved c_192_208.bin 1815 spots 16740 steps
[12:40:07:943 DBG] Input: [Spacebar] TapJump: FollowRouteGoal: Random jump pressed for 101ms
[12:40:07:960 INF] Not mounting as can see NPC.
[12:40:07:960 DBG] Input: KeyDown UpArrow SetKeyState-Move Forward
[12:40:07:992 INF] ---------------------------------
[12:40:07:993 INF] New Plan= PullTargetGoal
[12:40:08:038 DBG] Input: [I] TapApproachKey (PullTargetGoal: OnEnter - Face the target and stop) pressed for 36ms
[12:40:08:040 DBG] Input: KeyUp UpArrow
[12:40:08:244 INF] Fire: ... gcd interrupted 0.0012ms
[12:40:08:762 INF] Fire: ... castbar waited for landing 455.2471ms
[12:40:08:763 DBG] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[12:40:08:778 DBG] Input: KeyUp UpArrow
[12:40:08:921 DBG] Input: [D1] Fire pressed for 62ms
[12:40:09:128 INF] Fire: ... castbar input 173.6508ms
[12:40:09:129 INF] Fire: ... casting: True -- count:49 -- usable: True->False -- ERR_SPELL_FAILED_INTERRUPTED->CAST_START
[12:40:09:130 INF] Fire: ... waiting for visible cast bar to end or target loss.
[12:40:12:433 INF] Fire: ... instant interrupt: False | CanRun: True | Delay: 409.3226ms
[12:40:12:769 INF] PullTargetGoal: Entered combat after 286.1846ms
[12:40:12:770 INF] ---------------------------------
[12:40:12:770 INF] New Plan= CombatGoal
[12:40:12:801 INF] Fire Blast: ... gcd interrupted 0.0013ms
[12:40:12:880 DBG] Input: [D4] Fire Blast pressed for 63ms
[12:40:12:911 INF] Fire Blast: ... instant input 0.0005ms
[12:40:12:912 INF] Fire Blast: ... usable: True->False -- (NONE->CAST_SUCCESS)
[12:40:12:959 INF] Fire Blast: ... instant interrupt: True | CanRun: False | Delay: 0.001ms
[12:40:14:403 INF] Fireball: ... gcd interrupted 1364.5048ms
[12:40:14:547 DBG] Input: [D3] Fireball pressed for 81ms
[12:40:14:707 INF] Fireball: ... castbar input 126.6853ms
[12:40:14:708 INF] Fireball: ... casting: True -- count:50 -- usable: True->False -- CAST_SUCCESS->CAST_START
[12:40:14:709 INF] Fireball: ... waiting for visible cast bar to end or target loss.
[12:40:18:147 INF] Fireball: ... instant interrupt: False | CanRun: True | Delay: 432.4541ms
[12:40:18:227 INF] Fireball: ... gcd interrupted 0.0006ms
[12:40:18:371 DBG] Input: [D3] Fireball pressed for 67ms
[12:40:18:496 INF] Fireball: ... castbar input 75.3724ms
[12:40:18:497 INF] Fireball: ... casting: True -- count:51 -- usable: True->False -- CAST_SUCCESS->CAST_START
[12:40:18:498 INF] Fireball: ... waiting for visible cast bar to end or target loss.
[12:40:21:953 INF] Fireball: ... instant interrupt: False | CanRun: True | Delay: 426.3944ms
[12:40:22:033 INF] Fire Blast: ... gcd interrupted 0.0004ms
[12:40:22:097 DBG] Input: [D4] Fire Blast pressed for 61ms
[12:40:22:144 INF] Fire Blast: ... instant input 0.0008ms
[12:40:22:145 INF] Fire Blast: ... usable: True->False -- (NONE->CAST_SUCCESS)
[12:40:22:176 INF] Fire Blast: ... instant interrupt: True | CanRun: False | Delay: 0.001ms
[12:40:22:281 INF] CombatGoal: --- Target is killed! Record death location.
[12:40:22:283 INF] GoalThread Kill location added to list
[12:40:22:283 INF] GoapAgent --- Kill credit detected! Known kills: 1 | Combat mobs remaing: 0
[12:40:22:319 INF] Scorch: ... gcd interrupted 62.8864ms
[12:40:22:319 INF] Scorch: ... lost target!
[12:40:22:320 INF] CombatGoal: Lost Target!
[12:40:22:351 INF] ---------------------------------
[12:40:22:352 INF] New Plan= ConsumeCorpse
[12:40:22:353 WRN] ----- Safe to consume a corpse.
[12:40:22:367 INF] Plan= ConsumeCorpse is not Repeatable!
[12:40:22:383 INF] ---------------------------------

//Think this is the loot loop log?
//After this it just appears to move on
[12:40:22:384 INF] New Plan= LootGoal
[12:40:22:386 WRN] Inventory is full
[12:40:22:387 INF] LootGoal: OnEnter: Search for Corpse
[12:40:22:387 INF] NpcNameFinder.ChangeNpcType = Corpse
[12:40:23:223 INF] NpcNameTargeting.FindAndClickNpc: NPC found! Height=1, width=28, pos={X=932,Y=453}
[12:40:23:224 INF] LootGoal: Found corpse - clicked
[12:40:23:317 INF] LootGoal: Found target after 61.6808ms
[12:40:23:319 INF] LootGoal: 17130 is skinnable? True
[12:40:23:319 INF] LootGoal: Should skin ? True
[12:40:24:251 INF] LootGoal: Loot Successfull

[12:40:24:253 INF] ---------------------------------
[12:40:24:254 INF] New Plan= CorpseConsumed
[12:40:24:255 INF] ----- Corpse consumed. Remaining: 0
[12:40:24:284 INF] ---------------------------------
[12:40:24:285 INF] New Plan= FollowRouteGoal
[12:40:24:286 INF] Trying to path a new route.
[12:40:24:286 INF] FollowRouteGoal: .. Start searching for target...
[12:40:24:287 INF] Adjusted resume point
[12:40:24:288 INF] NpcNameFinder.ChangeNpcType = Enemy, Neutral
[12:40:24:377 DBG] Input: [Tab] TapNearestTarget: FollowRouteGoal pressed for 63ms
[12:40:24:379 INF] > NPCs found: (916,436)[31,2]
[12:40:24:441 INF] Creating Path from Expansion01: [-1688,6655,-15] tot Expansion01: [-1686,6642,-13]
[12:40:24:477 INF] Loaded c_191_208.bin 16287 spots 160180 steps
[12:40:24:480 INF] CreatePath took 0 seconds.
[12:40:24:481 INF] Finding route from <65.894196, 46.9629, -14.244913> map 1951 to <66.123245, 46.91847, 0> took 40 ms.
[12:40:24:482 INF] Saving GraphChunks.....
[12:40:24:490 INF] Saved c_192_208.bin 1819 spots 16800 steps
[12:40:24:568 DBG] Input: [Spacebar] TapJump: FollowRouteGoal: Random jump pressed for 62ms
[12:40:25:428 INF] MountHandler: waited for landing interrupted: True - 793.4456ms
[12:40:25:587 DBG] Input: [O] TapMount pressed for 71ms
[12:40:25:777 DBG] Input: [Tab] TapNearestTarget: FollowRouteGoal pressed for 88ms
[12:40:26:013 INF] MountHandler: casting: False | Mounted: False | Delay: 424.7079ms
[12:40:26:045 INF] MountHandler: interrupted: True | Mounted: False | Delay: 0.0012ms
[12:40:26:046 DBG] Input: KeyDown UpArrow SetKeyState-Move Forward
[12:40:27:110 DBG] Input: [Tab] TapNearestTarget: FollowRouteGoal pressed for 83ms
[12:40:27:112 INF] > NPCs found: (1632,142)[19,0]
[12:40:28:201 DBG] Input: [Tab] TapNearestTarget: FollowRouteGoal pressed for 51ms
[12:40:28:202 INF] > NPCs found: (1154,201)[32,4]
[12:40:28:235 INF] ---------------------------------
[12:40:28:236 INF] New Plan= PullTargetGoal
[12:40:28:281 INF] FollowRouteGoal: .. Finding target aborted!
[12:40:28:297 DBG] Input: [I] TapApproachKey (PullTargetGoal: OnEnter - Face the target and stop) pressed for 48ms
[12:40:28:299 DBG] Input: KeyUp UpArrow
[12:40:28:486 INF] Fire: ... gcd interrupted 0.0014ms
[12:40:28:487 DBG] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[12:40:28:518 DBG] Input: KeyUp UpArrow
[12:40:28:707 DBG] Input: [D1] Fire pressed for 97ms
[12:40:28:772 INF] Fire: ... castbar input 30.6719ms
[12:40:28:773 INF] Fire: ... casting: True -- count:52 -- usable: True->False -- CAST_SUCCESS->CAST_START
[12:40:28:774 INF] Fire: ... waiting for visible cast bar to end or target loss.
[12:40:32:251 INF] Fire: ... instant interrupt: False | CanRun: True | Delay: 429.3052ms
[12:40:33:066 INF] PullTargetGoal: Entered combat after 766.7736ms
[12:40:33:067 INF] ---------------------------------
[12:40:33:068 INF] New Plan= CombatGoal
[12:40:33:098 INF] Fire Blast: ... gcd interrupted 0.0004ms
[12:40:33:178 DBG] Input: [D4] Fire Blast pressed for 75ms
[12:40:33:258 INF] Fire Blast: ... instant input 0.0007ms
[12:40:33:259 INF] Fire Blast: ... usable: True->False -- (NONE->CAST_SUCCESS)
[12:40:33:290 INF] Fire Blast: ... instant interrupt: True | CanRun: False | Delay: 0.0045ms
[12:40:34:688 INF] Fireball: ... gcd interrupted 1334.2378ms
[12:40:34:689 DBG] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[12:40:34:720 DBG] Input: KeyUp UpArrow
[12:40:34:861 DBG] Input: [D3] Fireball pressed for 83ms
[12:40:35:018 INF] Fireball: ... castbar input 123.212ms
[12:40:35:019 INF] Fireball: ... casting: True -- count:53 -- usable: True->False -- CAST_SUCCESS->CAST_START
[12:40:35:020 INF] Fireball: ... waiting for visible cast bar to end or target loss.
[

[Virtual Machine] Not enough data frames found during `Frame Configuration`

Description

Hi,

I build with no issues but then when I get to the frame configuration stage it doesn't find all 100 data frames. I've tried multiple fresh installs / following the steps carefully and i'm having no luck. The dataframes appear very small compared to the original and it finds very few. They might be proper size for your version but that's all i can really say as i setup the original with no issues. I'm on a VM.

I've built / tested 2 versions of yours and same issue :/

Addon Version

1.1.39

World of Warcraft Client

Season of Mastery

Reproduction Steps

  1. Build
  2. Follow steps up until frame configuration
  3. addon doesn't display all data frames needed

Last Good Version

Original

Screenshots

Untitled

Logs

No response

compile x64 - ppather System.BadImageFormatException

Hi man, sorry to bother again
i managed to move almost everything to winform, but im having problem with the pathing part, this is the last step to make it completely work

now i saw that it has 3 modes of creating a pathing, remotev1, remotev2, and local, so im triying to use local, the bot its selecting the right pathing method and all that

but one 'try' is getting triggered in GoapPerformGoal(), when it tries to await newGoal.PerformAction();, it goes to the catch when the goal is " Follow Route Goal" or "Sell", and these are the exceptions:
Exception thrown: 'System.BadImageFormatException' in PathingAPI.dll
Exception thrown: 'System.BadImageFormatException' in System.Private.CoreLib.dll
Exception thrown: 'System.BadImageFormatException' in System.Private.CoreLib.dll
Exception thrown: 'System.BadImageFormatException' in System.Private.CoreLib.dll

the StormLib is in place, so right now im out of ideas, what you think ?

EDIT1:

here is a longer list of the exception
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (0x8007000B) at StormDll.StormDll.SFileOpenArchive(String szMpqName, UInt32 dwPriority, UInt32 dwFlags, Void** phMpq) at StormDll.Archive.Open(String file, UInt32 Prio, UInt32 Flags) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\PPather\Triangles\StormDll.cs:line 223 at StormDll.Archive..ctor(String file, UInt32 Prio, UInt32 Flags, Logger logger) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\PPather\Triangles\StormDll.cs:line 210 at StormDll.ArchiveSet.AddArchive(String file) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\PPather\Triangles\StormDll.cs:line 142 at StormDll.ArchiveSet.AddArchives(String[] files) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\PPather\Triangles\StormDll.cs:line 157 at WowTriangles.MPQTriangleSupplier..ctor(Logger logger, DataConfig dataConfig) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\PPather\Triangles\MPQTriangleSupplier.cs:line 75 at PathingAPI.Search.CreatePathGraph(String continent) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\Search\Search.cs:line 83 at PathingAPI.Search..ctor(String continent, Logger logger, DataConfig dataConfig) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\Search\Search.cs:line 37 at PathingAPI.PPatherService.Initialise(String continent) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\Search\PPatherService.cs:line 73 at PathingAPI.PPatherService.GetWorldLocation(Int32 uiMapId, Single v1, Single v2) in C:\Users\nuvov\source\repos\Arapo\PathingAPI\Search\PPatherService.cs:line 92 at Arapo.LocalPathingApi.FindRoute(Int32 map, WowPoint fromPoint, WowPoint toPoint) in C:\Users\nuvov\source\repos\Arapo\Arapo\PathingApi\LocalPathingApi.cs:line 63 at Core.Goals.FollowRouteGoal.RefillRouteToNextWaypoint(Boolean forceUsePathing) in C:\Users\nuvov\source\repos\Arapo\Core\Goals\FollowRouteGoal.cs:line 350 at Core.Goals.FollowRouteGoal.PerformAction() in C:\Users\nuvov\source\repos\Arapo\Core\Goals\FollowRouteGoal.cs:line 150 at Core.Goals.GoalThread.GoapPerformGoal() in C:\Users\nuvov\source\repos\Arapo\Core\Goals\GoalThread.cs:line 63

Two problems with warlock

I noticed some problems with warlock

  1. The soulstone resurrection doesn't work : when you died, it will release the spirit inmedietely rather than revive using the soulstone
  2. Warlock cast summon Felsteel to use a mount. it cannot use mount normally

[SoM] TargetCastingSpell missing

Description

As the title says, whenever I try to implement Bash to interupt spell casts the only check that never turns green is "TargetCastingSpell". I've tested this at length this morning and cant get it to work. Doesn't matter what mob I target and wait for it to cast spell. I've included the class file i've been tweaking trying to get it to work incase I'm overlooking something.
rotationBashIssue.txt
.

Addon Version

1.1.49

World of Warcraft Client

Season of Mastery

Reproduction Steps

  1. Load my Class File
  2. Go to mob that casts spells
  3. Confirm that even when mobs cast spells it does not Bash to interupt

Last Good Version

No response

Screenshots

No response

Logs

No response

Bug: `CreatureHistory` Damage taken guid was unable to expire

Description

Sometimes when running the bot, whether it be the moment I click start bot, or at some point during an otherwise successful run, the bot will just sit there spamming in console New Plan= NO PLAN and Waiting for water. This eventually leads to the character either sitting around until a mob spawns nearby or until he gets kicked for being afk. I've tried adjusting the profile to avoid the situation, but as far as I can tell the class profile doesn't affect it. That's what happens - I instead expect the character to recognize that it has full health / mana, is not in combat, has nothing to loot, and is ready to walk and find the next mob.

Addon Version

1.1.42

World of Warcraft Client

Season of Mastery

Reproduction Steps

  1. Follow readme to install the bot
  2. Select a mage profile (mage may be unrelated) and any profile I've tried so far
  3. Start bot

For me, the behavior is seen within the first hour pretty consistently, though often much sooner than that.

Last Good Version

No response

Screenshots

no_plan_water

Logs

Probably multiple examples in the file, but there's one example at 20:03:57.834.

File's too big to upload here on github.

https://easyupload.io/2supzq

Is “Spirit Healer Path” still work or not?

Is “Spirit Healer Path” still work or not? I noticed you have remove all the Spirit Healer Path. I know that the bot use PPather to make a corpse run, but i think the "spirit healer path" should reserve. I have been stuck in this corner in Barrens at least 10 times LOL. I think we should have a very short spirit healer path to make sure that the character run out of the graveyard which is very easy to get stuck in.
QQ截图20210519170015

Bag-Space does not update after selling

First of all, thanks so much for keeping this project running!
Let me know if I can help in any way.

I am stuck with a bug that is probably simple to fix.
After Vendoring, the bag space in the BlazorServer UI does not update, thus the bag is still full and the char runs to the vendor over and over again...

To Reproduce
Steps to reproduce the behavior:

  1. Use Warlock_1.json configuration
  2. Fill your bags
  3. Macro on 'C' (example 'sell' function from documentation is not available in 'Test' macro):
    /target Adlin Pridedrift
  4. Let bot run
  5. All Items will be vendored,

The button "initState" in the UI works, and there the item count in the bag works perfectly.
Also the addon gathers the information correctly:
image

Let me know if any logs would be helpful.
Thanks for any hint in the right direction.

AttendedGather Problems

Description

Hi, I'm struggeling with the AttendedGather Mode. After freshly starting the bot and start the profile it will work as expected (mounts up and starts running the path), but if it finds a yellow dot on the minimap it will not stop the bot and keep running the path... also the youtube video is not starting to play. In the Blazor minimap I can see it recognized the node, drawing a red dot on it.

So I stop the Bot manually and gather, after that I press "Start Bot" again and the character starts jiggelin and jumping around, always saying "Trying to unstick" etc. also it's not mounting anymore. Stoping and starting the Bot does not change that. The Bot has to be completely restarted (kill process). Also the Blazor UI starts to not respond anymore.

regards
horstc

Addon Version

1.2.4

World of Warcraft Client

The Burning Crusade Classic

Reproduction Steps

  1. Load Class Profile with AttendedGather Mode
  2. Load Profile
  3. Start Bot
  4. Bot does not stop after finding a node to gather, so I stop manually
  5. Start Bot again - it will not work anymore

Last Good Version

No response

Screenshots

No response

Logs

............
2022-04-20 22:14:20.632 +02:00 [INF] Bot thread stopped! <<<----- This is where I stopped it to gather manually
2022-04-20 22:14:46.701 +02:00 [INF] We seem to be stuck! <<<----- This is first line after pressing start again
2022-04-20 22:14:46.784 +02:00 [INF] Stuck for 26s, last tried to unstick 26s ago. Unstick seconds=26.
2022-04-20 22:14:46.786 +02:00 [INF] Trying to unstick by backing up for 4250ms
2022-04-20 22:14:51.063 +02:00 [INF] Trying to unstick by turning for 638ms
2022-04-20 22:14:51.703 +02:00 [INF] Trying to unstick by moving forward after turning for 202ms
2022-04-20 22:14:51.958 +02:00 [INF] Move to next point
2022-04-20 22:14:52.346 +02:00 [INF] We seem to be stuck!
2022-04-20 22:14:52.347 +02:00 [INF] Navigation: Clear route to waypoit since stucked for 31
............
this is going on endless

HasCastbar: true for Food and Water set in profile

Describe the bug
Many profile under json\class do have "HasCastBar": true for Food and Water.
This CAN lead to not having a delay after the cast and immediately keep running. This is mostly the case if only one is consumed but not the other. Probably
bool wasDrinkingOrEating = this.playerReader.Buffs.Drinking || this.playerReader.Buffs.Eating;
is reached before the buff is registered.

Regex
(?=\"Food|\"Water)(.*?)HasCastBar\": true(.*?)(?=})
Affected files (List)
Druid_1.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 1
Druid_4.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 1
Mage_1.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 2
Mage54.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 2
Mage_12.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 2
Mage_10.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 2
Mage_14_Arcane_Frost.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 2
Mage_4.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 3 KB JSON File 2
Mage_6.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 2
Rogue_1.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 1
Rogue_10.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 1
Shaman_2.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 2
Shaman_1.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 2
Shaman_22.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 2
Shaman_15.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 3 KB JSON File 2
Warlock.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 5 KB JSON File 1
Warlock_20.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 5 KB JSON File 1
Warlock_26_Immunity.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 5 KB JSON File 1
Warlock_10.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 1
Warlock_1.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 2 KB JSON File 2
Warlock_4.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 11:53:07 3 KB JSON File 2
Warlock_8.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 1
Warlock_20_shard_farm.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 5 KB JSON File 1
Mage_54_Frost_Arcane.json D:\09_software\00_bots\WowClassicGrindBot\Json\class\ 19.09.2021 08:55:42 4 KB JSON File 2

[Druid] Travel Form does not count for IsMounted

Hi,

Working great! i'm just wondering how i'd go about making sure when "Follow Route Goal" is active to turn into Travel Form as Druid, i tried implementing it myself but it kept changing back to no form then back to travel form. Also, do you have a discord group?

Thanks & Kind Regards

[Hunter] doesn't use any skills

Hi, I just install and launch your bot and it seems like the bot won't attack a target using some spells. I checked out a class profile file and everything there is correct. Could you suggest me smth?

Game client window was obstructed during `Frame configuration`

Description

Hello!
You have realized what I only dreamed of, thank you very much! Unfortunately, my knowledge of programming tends to zero, and I ran into difficulties. After click Auto Configure, and restart, I see 5. Frame Configuration looks like:
2021-12-29_222430
, that's it - the game:
2021-12-29_221130
and this is written on the command line:

C:\WowClassicGrindBot\BlazorServer>start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "http://localhost:5000"

C:\WowClassicGrindBot\BlazorServer>c:

C:\WowClassicGrindBot\BlazorServer>cd C:\WowClassicGrindBot\BlazorServer

C:\WowClassicGrindBot\BlazorServer>dotnet run
[22:13:37:327 DBG] Startup()
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://0.0.0.0:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\WowClassicGrindBot\BlazorServer
[22:13:50:514 INF] Found WowProcess
[22:13:50:516 INF] Found WowScreen
[22:13:50:520 INF] Addon installed. Version 1.1.47
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
Unhandled exception rendering component: Parameter is not valid.
System.ArgumentException: Parameter is not valid.
at System.Drawing.SafeNativeMethods.Gdip.CheckStatus(Int32 status)
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
at SharedLib.DirectBitmapCapturer.GetBitmap(Int32 width, Int32 height) in C:\WowClassicGrindBot\SharedLib\DirectBitmap\DirectBitmapCapturer.cs:line 61
at Game.WowScreen.GetBitmap(Int32 width, Int32 height) in C:\WowClassicGrindBot\Game\WoWScreen\WowScreen.cs:line 86
at BlazorServer.FrameConfigurator.StartAutoConfig() in C:\WowClassicGrindBot\BlazorServer\FrameConfigurator.cs:line 251
at BlazorServer.Pages.FrameConfiguration.StartAutoConfigure() in D:\G\WowClassicGrindBot\BlazorServer\Pages\FrameConfiguration.razor:line 222
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
Unhandled exception in circuit 'Grp-lhury6WLXjLI6dsc8HAr4lr49Aoe1i-Q09yqV7o'.
System.ArgumentException: Parameter is not valid.
at System.Drawing.SafeNativeMethods.Gdip.CheckStatus(Int32 status)
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
at SharedLib.DirectBitmapCapturer.GetBitmap(Int32 width, Int32 height) in C:\WowClassicGrindBot\SharedLib\DirectBitmap\DirectBitmapCapturer.cs:line 61
at Game.WowScreen.GetBitmap(Int32 width, Int32 height) in C:\WowClassicGrindBot\Game\WoWScreen\WowScreen.cs:line 86
at BlazorServer.FrameConfigurator.StartAutoConfig() in C:\WowClassicGrindBot\BlazorServer\FrameConfigurator.cs:line 251
at BlazorServer.Pages.FrameConfiguration.StartAutoConfigure() in D:\G\WowClassicGrindBot\BlazorServer\Pages\FrameConfiguration.razor:line 222
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

What do I need to do to fix it?

Addon Version

1.1.47

World of Warcraft Client

The Burning Crusade Classic

Reproduction Steps

  1. Go to 5. Frame Configuration
  2. Сlick Auto Configure
  3. Restart Wow

Last Good Version

This is my first experience.

Screenshots

No response

Logs

out20211229_004.log

Stuck on NPC Goal

Description

Hello I'm a bit stuck. The bot won't move towards the vendor in the gnome starting zone. I have double checked everything is setup. I can see it's stuck on the sell goal. It will turn and face the direction of the NPC but won't target the NPC. It just freezes and jiggles a bit to the left and right.

As far as I can tell it's working until it gets to that point although the pathing might not be correct. I can't tell if the combat is working just because it can see the mobs, and it's not actually moving on it's own to the waypoints properly. I don't know much C#.

Addon Version

1.1.42

World of Warcraft Client

Season of Mastery

Reproduction Steps

Followed the steps in the readme and made sure everything was setup the way it needed to be. It built without any errors.
I started a new profile and selected warrior, made sure the path profile were loaded and started the bot until it reached the npc vendor goal.

Last Good Version

No response

Screenshots

No response

Logs

out20220108.log

Last error in log file was:

[13:09:46:937 ERR] PerformAction on AdhocNPCGoal
System.NullReferenceException: Object reference not set to an instance of an object.
at WowTriangles.ChunkedTriangleCollection.FindStandableAt1(Single x, Single y, Single min_z, Single max_z, Single& z0, Int32& flags, Single toonHeight, Single toonSize, Boolean IgnoreGradient, Int32[] allowedFlags) in C:\WowClassicGrindBot\PathingAPI\PPather\Triangles\ChunkedTriangleCollection.cs:line 842
at PathingAPI.Search.GetZValueAt(Single x, Single y, Int32[] allowedModels) in C:\WowClassicGrindBot\PathingAPI\Search\Search.cs:line 61
at PathingAPI.Search.CreateLocation(Single x, Single y) in C:\WowClassicGrindBot\PathingAPI\Search\Search.cs:line 44
at PathingAPI.PPatherService.GetWorldLocation(Int32 uiMapId, Single v1, Single v2) in C:\WowClassicGrindBot\PathingAPI\Search\PPatherService.cs:line 88
at BlazorServer.LocalPathingApi.FindRoute(Int32 map, Vector3 fromPoint, Vector3 toPoint) in C:\WowClassicGrindBot\BlazorServer\PathingApi\LocalPathingApi.cs:line 64
at Core.Goals.AdhocNPCGoal.FillRouteToDestination() in C:\WowClassicGrindBot\Core\Goals\AdhocNPCGoal.cs:line 295
at Core.Goals.AdhocNPCGoal.PerformAction() in C:\WowClassicGrindBot\Core\Goals\AdhocNPCGoal.cs:line 117
at Core.Goals.GoalThread.GoapPerformGoal() in C:\WowClassicGrindBot\Core\Goals\GoalThread.cs:line 114
[13:09:46:945 INF] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[13:09:46:968 INF] Input: KeyUp UpArrow
[13:09:47:015 INF] Stopped!

“BagFull” again

The bot will show “BagFull” as soon as the backpack is full, although I have another 4 bags. I think the question is still in the Addon.

BTW: I joined the discord group but cannot see anything, I guess it is due to the Great Firewall of China. :(

[Chinese client] Skinning is not working properly

Describe the bug
The skinning function is not working properly. The mouse shakes around on the screen but does not click at all, even if it does pass over the skinable corpse.

To Reproduce
Steps to reproduce the behavior:

  1. Start the bot and kill a beast.

Expected behavior
The bot skins the corpse after looting.

Screenshots

Logs
That's short so I'll just put it here.

[19:31:00:801 INF] ---------------------------------
[19:31:00:802 INF] New Plan= ConsumeCorpse
[19:31:00:804 WRN] ----- Safe to consume a corpse.
[19:31:00:831 INF] ---------------------------------
[19:31:00:831 INF] New Plan= LootGoal
[19:31:00:832 INF] LootGoal: Search for Corpse
[19:31:00:833 INF] NpcNameFinder.ChangeNpcType = Corpse
[19:31:00:834 INF] Input: KeyDown UpArrow SetKeyState-StopForward - Cancel interact
[19:31:00:846 INF] Input: KeyUp UpArrow
[19:31:01:685 INF] Input: [G] TapLastTarget (LootGoal: No corpse name found - check last dead target exists) pressing for 50ms
[19:31:01:841 INF] LootGoal: 2354 is skinnable? True
[19:31:01:842 INF] LootGoal: Should skin ? True
[19:31:01:843 INF] Input: [H] TapInteract (LootGoal: Found last dead target) pressing for 50ms
[19:31:02:059 INF] CombatUtil:   Goto corpse(0.0015ms) - Wait till player become stil!
[19:31:02:061 INF] Input: [H] TapInteract (LootGoal: Last dead target double) pressing for 50ms
[19:31:02:806 INF] LootGoal: Loot Successfull
[19:31:02:808 INF] Plan= LootGoal is not Repeatable!
[19:31:03:902 INF] Input: [G] TapLastTarget (LootGoal: No corpse name found - check last dead target exists) pressing for 50ms
[19:31:05:045 INF] LootGoal: Loot Failed
[19:31:05:046 INF] ---------------------------------
[19:31:05:047 INF] New Plan= SkinningGoal
[19:31:05:048 INF] SkinningGoal: Try to find Corpse
[19:31:05:803 INF] SkinningGoal: Target is not skinnable - NPC Count: 0
[19:31:06:821 INF] SkinningGoal: Skin-Loot Failed
[19:31:06:823 INF] ---------------------------------
[19:31:06:824 INF] New Plan= CorpseConsumed
[19:31:06:825 INF] ----- Corpse consumed. Remaining: 0
[19:31:06:837 INF] ---------------------------------

`WarcraftProcess.MainWindowHandle` is 0 or `IntPtr.Zero` | game running with admin privileges

Description

Once trying to configure the add-on I click Auto and receive the following error.

It appears this might have something to do with issue #209?

Tried in full-screen and in windowed mode, messed around with the code a bit to add some loggers and it appears the following code returns a zero while ran in WoWScreen line 68.

logger.LogError("String: " + wowProcess.WarcraftProcess.MainWindowHandle);

Resolution: 1920x1080

I can also see the pixels in-game as well, so I know it's sending data of some sort it just appears to not be getting the screen somehow?

Addon Version

1.1.53

World of Warcraft Client

The Burning Crusade Classic

Reproduction Steps

  1. Download the code, extract to WowClassicGrindBot
  2. Copy over MPQ files to json/MPQ
  3. Powershell build: cd C:\WowClassicGrindBot, dotnet build
  4. Edit branch file
  5. Load wow
  6. Execute run
  7. Install addon
  8. Restart wow
  9. Click auto validate and get error.

Last Good Version

1.1.53

Screenshots

No response

Logs

C:\WowClassicGrindBot\BlazorServer>start "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "http://localhost:5000"

C:\WowClassicGrindBot\BlazorServer>c:

C:\WowClassicGrindBot\BlazorServer>cd C:\WowClassicGrindBot\BlazorServer

C:\WowClassicGrindBot\BlazorServer>dotnet run
[00:11:07:589 DBG] Startup()
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://0.0.0.0:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\WowClassicGrindBot\BlazorServer
[00:11:09:342 INF] Found WowProcess
[00:11:09:348 INF] Found WowScreen Location: {X=0,Y=0} - Size: {X=0,Y=0,Width=0,Height=0} //THIS LINE HERE SEEMS ODD
[00:11:09:353 INF] Addon installed. Version 1.1.53
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
Unhandled exception rendering component: Parameter is not valid.
System.ArgumentException: Parameter is not valid.
at System.Drawing.SafeNativeMethods.Gdip.CheckStatus(Int32 status)
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
at Game.WowScreen.UpdateScreenshot() in C:\WowClassicGrindBot\Game\WoWScreen\WowScreen.cs:line 69
at Game.WowScreen.GetBitmap(Int32 width, Int32 height) in C:\WowClassicGrindBot\Game\WoWScreen\WowScreen.cs:line 112
at BlazorServer.FrameConfigurator.GetDataFrameMeta() in C:\WowClassicGrindBot\BlazorServer\FrameConfigurator.cs:line 182
at BlazorServer.FrameConfigurator.StartAutoConfig() in C:\WowClassicGrindBot\BlazorServer\FrameConfigurator.cs:line 259
at BlazorServer.Pages.FrameConfiguration.StartAutoConfigure() in C:\WowClassicGrindBot\BlazorServer\Pages\FrameConfiguration.razor:line 222
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
Unhandled exception in circuit 'kEQ_73_dd86Ss0cU34I-okj5lg3jvcsOIxmvzQmJetM'.
System.ArgumentException: Parameter is not valid.
at System.Drawing.SafeNativeMethods.Gdip.CheckStatus(Int32 status)
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
at Game.WowScreen.UpdateScreenshot() in C:\WowClassicGrindBot\Game\WoWScreen\WowScreen.cs:line 69
at Game.WowScreen.GetBitmap(Int32 width, Int32 height) in C:\WowClassicGrindBot\Game\WoWScreen\WowScreen.cs:line 112
at BlazorServer.FrameConfigurator.GetDataFrameMeta() in C:\WowClassicGrindBot\BlazorServer\FrameConfigurator.cs:line 182
at BlazorServer.FrameConfigurator.StartAutoConfig() in C:\WowClassicGrindBot\BlazorServer\FrameConfigurator.cs:line 259
at BlazorServer.Pages.FrameConfiguration.StartAutoConfigure() in C:\WowClassicGrindBot\BlazorServer\Pages\FrameConfiguration.razor:line 222
at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task)
at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

Update Readme.md about latest changes

Some of the todos: have to check the PRs

  • Update Macros
  • Update example profiles
  • Update documentation regarding Requirements
  • Mention other pathfinding solutions in readme
  • Mention KeyAction properties
  • Mention ClassConfiguration properties
  • Mention all the Requirement types
  • Addon name corrected

Rotation Mode

Hi,

I'm looking for a Rotation mode to be added. I'm having issues with Stealth ability's not going off (Ravage) in AttendGrind mode due to it walking into the mob(breaking stealth). I want full movement control, but bot controls rotation when the conditions are met. I don't think "Druid_Cat_Prowl" works as intended either. I've tried every which way to get it to Ravage when I'm in Prowl (and behind the target of course).

Thank you

Addon error

Hi, I've just pulled your main branch, resetup the bot, and got an error in wow. Also it seems like most of the conditions not working, I think this error the reason why.

Message: Interface\AddOns\WAB\WAB.lua:756: attempt to compare number with boolean
Time: Fri May 14 19:06:03 2021
Count: 8379
Stack: Interface\AddOns\WAB\WAB.lua:756: attempt to compare number with boolean
Interface\AddOns\WAB\WAB.lua:756: in function MakeIndexBase2' Interface\AddOns\WAB\WAB.lua:597: in function Base2Converter'
Interface\AddOns\WAB\WAB.lua:381: in function <Interface\AddOns\WAB\WAB.lua:346>
Interface\AddOns\WAB\WAB.lua:566: in function <Interface\AddOns\WAB\WAB.lua:566>

Locals: self =

{
IsPetVisible = defined @interface\AddOns\WAB\WAB.lua:1460
Base2Converter = defined @interface\AddOns\WAB\WAB.lua:583
returnItemFromIndex = defined @interface\AddOns\WAB\WAB.lua:978
modules =
{
}
CancelTimer = defined @interface\AddOns\WAB\Libs\AceTimer-3.0\AceTimer-3.0.lua:147
getManaMax = defined @interface\AddOns\WAB\WAB.lua:816
getGuidFromUUID = defined @interface\AddOns\WAB\WAB.lua:886
CastingInfoSpellId = defined @interface\AddOns\WAB\WAB.lua:779
GameTime = defined @interface\AddOns\WAB\WAB.lua:1157
deadOrAlive = defined @interface\AddOns\WAB\WAB.lua:1305
GetDebuffs = defined @interface\AddOns\WAB\WAB.lua:1120
SetDefaultModulePrototype = defined @interface\AddOns\WAB\Libs\AceAddon-3.0\AceAddon-3.0.lua:440
IsEnabled = defined @interface\AddOns\WAB\Libs\AceAddon-3.0\AceAddon-3.0.lua:482
ScheduleTimer = defined @interface\AddOns\WAB\Libs\AceTimer-3.0\AceTimer-3.0.lua:94
IsCurrentActionOn = defined @interface\AddOns\WAB\WAB.lua:1453
getHealthCurrent = defined @interface\AddOns\WAB\WAB.lua:810
getTargetLevel = defined @interface\AddOns\WAB\WAB.lua:832
RegisterMessage = defined @interface\AddOns\WAB\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
UnregisterMessage = defined @interface\AddOns\WAB\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
getUnitXPMax = defined @interface\AddOns\WAB\WAB.lua:799
IsTargetOfTargetPlayerAsNumber = defined @interface\AddOns\WAB\WAB.lua:1413
SendCommMessage = defined @interface\AddOns\WAB\Libs\AceComm-3.0\AceComm-3.0.lua:87
OnMerchantShow = defined @interface\AddOns\WAB\WAB.lua:196
actionbarCost = defined @interface\AddOns\WAB\WAB.lua:912
UnregisterAllComm = defined @interface\AddOns\WAB\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
SetEnabledState = defined @interface\AddOns\WAB\Libs\AceAddon-3.0\AceAddon-3.0.lua:455
delete = defined @interface\AddOns\WAB\WAB.lua:657
getRange = defined @interface\AddOns\WAB\WAB.lua:858
hearthZoneID = defined @interface\AddOns\WAB\WAB.lua:1509
uniqueGuid = defined @interface\AddOns\WAB\WAB.lua:891
sell = defined @interface\AddOns\WAB\WAB.lua:673
itemInfo = defined @interface\AddOns\WAB\WAB.lua:964
targetHostile = defined @interface\AddOns\WAB\WAB.lua:841
shapeshiftForm = defined @interface\AddOns\WAB\WAB.lua:1322
OnInitialize = defined @interface\AddOns\WAB\WAB.lua:283
UnregisterAllEvents = defined @interface\AddOns\WAB\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
targetNpcId = defined @interface\AddOns\WAB\WAB.lua:870
Deserialize = defined @interface\AddOns\WAB\Libs\AceSerializer-3.0\AceSerializer-3.0.lua:246
MakeIndexBase2 = defined @interface\AddOns\WAB\WAB.lua:755
RepairItems = defined @interface\AddOns\WAB\WAB.lua:1566
GetName = defined @interface\AddOns\WAB\Libs\AceAddon-3.0\AceAddon-3.0.lua:310
name = "AceConsole-3.0"
Disable = defined @interface\AddOns\WAB\Libs\AceAddon-3.0\AceAddon-3.0.lua:345
GetCurrentPlayerPosition = defined @interface\AddOns\WAB\WAB.lua:570
GetEnemyStatus = defined @interface\AddOns\

Wrong number of data frames?

When running the configuration on TBC classic I get:

I see 77 data frames. Should see 100

Have I messed something up?

[RemoteV1] Stuck at `Startup` while discovering available pathing services.

Description

Stuck on this message after doing FrameConfiguration

RemotePathingAPIV3 PingServer 2014ms False

The webpage just never loads.

Addon Version

1.2.4

World of Warcraft Client

The Burning Crusade Classic

Reproduction Steps

Just followed the guide and it happened after doing frameconfig.
Running in vmware

Last Good Version

No response

Screenshots

No response

Logs

2022-03-02 21:23:35.671 +01:00 [DBG] Startup()
2022-03-02 21:23:38.043 +01:00 [INF] RemotePathingAPIV3 PingServer 2043ms False

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.