Coder Social home page Coder Social logo

julianperrott / wowclassicgrindbot Goto Github PK

View Code? Open in Web Editor NEW
120.0 120.0 200.0 26.46 MB

WOW Classic Grind Bot, World of Warcraft Grind Bot - No DLL injection or memory watching, just screen capture and mouse and keyboard clicking.

bot bots classic grind pixelbot world-of-warcraft wow

wowclassicgrindbot's People

Contributors

bepehr avatar gothfinger avatar julianperrott 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

wowclassicgrindbot's Issues

Unhandled exception. System.Collections.Generic.KeyNotFoundException: The given key 'D7' was not present in the dictionary.

Bot has been running around 4 or 5 hours and got this message. D7 is the drink key bag had 11 of the correct spell id water and it is on the bar as 7.

summon food/water at 4 spell id
D6 is food and correct spellid with 7 in bag.
F10 is the stopattack macro

[05:23:23 INF] ---------------------------------
[05:23:23 INF] New Plan= ParallelGoal
[05:23:24 INF] Low Health [D6] pressing for 250ms
[05:23:24 INF] Low Health [D6] pressing for 250ms
[05:23:24 INF] Drink [D7] pressing for 250ms
[05:23:24 INF] Drink [D7] pressing for 250ms
[05:23:24 INF] Stop attack ERR_SPELL_FAILED_S [F10] pressing for 500ms
[05:23:24 INF] Stop attack ERR_SPELL_FAILED_S [F10] pressing for 500ms
[05:23:24 INF] Stop attack ERR_SPELL_FAILED_S [F10] pressing for 500ms
[05:23:25 INF] Stop attack ERR_SPELL_FAILED_S [F10] pressing for 500ms
Unhandled exception. System.Collections.Generic.KeyNotFoundException: The given key 'D7' was not present in the dictionary.
at System.Collections.Generic.Dictionary2.get_Item(TKey key) at Libs.KeyAction.GetCooldownRemaining() in C:\WowClassicGrindBot\Libs\ClassConfig\KeyAction.cs:line 108 at Libs.KeyAction.<CreateCooldownRequirement>b__109_0() in C:\WowClassicGrindBot\Libs\ClassConfig\KeyAction.cs:line 94 at Libs.KeyAction.<>c.<CanRun>b__116_0(Requirement r) in C:\WowClassicGrindBot\Libs\ClassConfig\KeyAction.cs:line 158 at System.Linq.Enumerable.Any[TSource](IEnumerable1 source, Func2 predicate) at Libs.KeyAction.CanRun() in C:\WowClassicGrindBot\Libs\ClassConfig\KeyAction.cs:line 158 at Libs.Goals.CastingHandler.CanRun(KeyAction item) in C:\WowClassicGrindBot\Libs\Goals\CastingHandler.cs:line 41 at Libs.Goals.CastingHandler.CastIfReady(KeyAction item, GoapGoal source, Int32 sleepBeforeCast) in C:\WowClassicGrindBot\Libs\Goals\CastingHandler.cs:line 65 at Libs.Goals.ParallelGoal.<PerformAction>b__9_0(KeyAction key) in C:\WowClassicGrindBot\Libs\Goals\ParallelGoal.cs:line 52 at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__139_1(Object state) at System.Threading.QueueUserWorkItemCallback.<>c.<.cctor>b__6_0(QueueUserWorkItemCallback quwi) at System.Threading.ExecutionContext.RunForThreadPoolUnsafe[TState](ExecutionContext executionContext, Action1 callback, TState& state)
at System.Threading.QueueUserWorkItemCallback.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
[05:23:25 INF] Interact due to: this.playerReader.LastUIErrorMessage: ERR_SPELL_FAILED_S
[05:23:25 INF] Interact due to: this.playerReader.LastUIErrorMessage: ERR_SPELL_FAILED_S
[
C:\WowClassicGrindBot\BlazorServer>pause

Minor functional error for vendor path

I noticed that if the character dies WHILE on the short vendor path, he will kind of bug out and continue going for the vendor path in ghost form....usually never finding his way back.

run.bat error

I am willing to contribute to this bot. I think its great idea and i like how it uses addons and reads the screen and activates keys. This is a better way rather than injecting dlls into the game.

I have some troubles setting it up, thou. I have read the instructions and built the server project with no errors. But when I execute the run.bat file i receive some errors. Here is the output of the console. It looks to me like there is something on your PC which is not in the repo (or at least has hardcoded path)

C:\WowClassicGrindBot\BlazorServer>dotnet run
[14:23:53 INF] Startup()
[14:23:53 ERR] Failed to read AH prices.Could not find a part of the path 'D:\GitHub\Auc-Stat-Simple.lua.location'.

Following this, the console outputs a warning saying that the class of the player cannot be loaded:

[14:30:41 WRN] There is a problem with the addon, I have been unable to read the player class. Is it running ?

When logging in the game with a player i can see the "We are in" text in the chat window

Can you please assist me on getting the bot to run on my side? Then we can discuss how can i contribute. I have some background with C# and programming :)

Auto Loot inconsistencies

Auto loot will often locate the loot bag cursor, then fling the camera upwards when trying to loot. Sometimes, this loots the mob.

Stuck in building API path loop

I got this error also when everything else was working as normal. The bot was operating in Eastern Plaguelands, went a bit astray from the "main path" to kill a mob. Then it uses the MPQ-files to calculate/create a way back to the main path (which was a very short distance)

Then for some reason at this point in got stuck in a loop building this path back:

[11:18:52 INF] done
it got 117814 triangles and 62181 vertices
Got triangles grid (2666.667 , -3240.9297) - (3215.126, -2658.5762
[11:18:52 INF] Build hash 117814
[11:18:53 INF] done 273 time 00:00:00.2171486
[11:18:55 INF] Could not find a part of the path 'C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot3\PathingApi\PPather\PathInfo\Azeroth\c_201_189.bin'.
[11:18:55 INF] Loaded c_201_189.bin 0 spots 0 steps
Got asked for triangles at 3200.1768, -3589.1223
Need triangles grid (3199.9998 , -3733.3333) - (3733.333, -3200
[11:19:01 INF] Extract World\Maps\Azeroth\Azeroth_38_25.adt from ..\PathingAPI\MPQ\patch.MPQ
[11:19:01 INF] Reading adt: World\Maps\Azeroth\Azeroth_38_25.adt
[11:19:01 INF] Extract world\azeroth\elwynn\passivedoodads\shovel\shovel.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsbonepile03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\duskwood\passivedoodads\tombs\woodcross01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\buckets\cavekoboldbucket.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\westfall\passivedoodads\crate\westfallcrate.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\crates\crategrain01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\cauldrons\cauldronempty.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsbone01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\crates\replacecrate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\duskwood\passivedoodads\webs\webdangle02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\stranglethorn\activedoodads\cages\cage03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\burningsteppes\passivedoodads\trees\burningmidtree01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\plagueland\passivedoodads\cages\plaugelandscage01.m2 from ..\PathingAPI\MPQ\patch.MPQ
[11:19:01 INF] Extract world\azeroth\westfall\passivedoodads\rakecart\rakecart.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\deadminecleat\deadminecleat.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\floatingdebris\floatingboards01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\elwynn\passivedoodads\ballistaruined\ballistaruined.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\undead\passive doodads\meatwagon\meatwagon.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\plagueland\passivedoodads\rocks\plaguelandrock02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\sacks\plaguedgrainsack02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\plagueland\passivedoodads\rocks\plaguelandrock03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\sacks\plaguedgrainsack01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\plagueland\passivedoodads\plaguedwagons\plaguewagon.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\floatingdebris\floatingbarrel01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\floatingdebris\floatingcrate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\floatingdebris\floatingcoffin01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\floatingdebris\floatingboardsburning01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\wmo\dungeon\ld_stratholme\stratholme_a.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\activedoodads\instanceportal\instanceportal.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\stratholme\passivedoodads\fx\stratholmefiresmokeemberm.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\stratholme\passivedoodads\fx\stratholmesmokeemitter.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\lordaeron\stratholme\passivedoodads\fx\stratholmefiresmokeembers.m2 from ..\PathingAPI\MPQ\patch.MPQ
[11:19:01 INF] Extract world\generic\undead\passive doodads\signs\lordaeron_signpost_01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\burningsteppes\passivedoodads\trees\ashtree02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\planterboxes\tirisfallplanter.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\burningsteppes\passivedoodads\trees\burningmidtree01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\burningsteppes\passivedoodads\trees\burningmidtree03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\lamps\stormwindstreetlamp01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\kalimdor\dragoncave\passivedoodads\charredbodies\charredbody01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\crates\stormwindcrate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\furniture\containers\barrel02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\karazahn\passivedoodads\rubble\karazahnrockrubble02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\azeroth\karazahn\passivedoodads\rubble\karazahnrockrubble01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\lights\torch.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\passivedoodads\lights\torch_out.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\kalimdor\mulgore\passivedoodads\burnedwagons\burnedgypsywagon02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\kalimdor\dragoncave\passivedoodads\charredbodies\charredbody04.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\kalimdor\dragoncave\passivedoodads\charredbodies\charredbody02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\generic\human\passive doodads\fountains\plaguedfountain.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\wmo\dungeon\ld_stratholme\stratholme_a_000.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\wmo\dungeon\ld_stratholme\stratholme_a_001.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\wmo\dungeon\ld_stratholme\stratholme_a_002.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\wmo\dungeon\ld_stratholme\stratholme_a_003.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] Extract world\wmo\dungeon\ld_stratholme\stratholme_a_004.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:01 INF] modeli: 0 -140 -0
[11:19:01 INF] AddTriangles: x(3142.6484 - 3210.5254) y(3155.1113 - 3153.3135) z(3155.1113 - 3153.3135)
[11:19:01 INF] AddTriangles: x(3162.4521 - 3197.1836) y(3180.624 - 3166.5146) z(3180.624 - 3166.5146)
[11:19:01 INF] modeli: 0 -30 -0
[11:19:01 INF] AddTriangles: x(3150.6523 - 3214.4668) y(3154.9473 - 3171.29) z(3154.9473 - 3171.29)
[11:19:01 INF] AddTriangles: x(3166.792 - 3200.0615) y(3178.2012 - 3168.2373) z(3178.2012 - 3168.2373)
[11:19:01 INF] modeli: 0 -12 -0
[11:19:01 INF] AddTriangles: x(3242.6533 - 3342.2236) y(3286.918 - 3274.1748) z(3286.918 - 3274.1748)
[11:19:01 INF] AddTriangles: x(3214.6797 - 3370.1973) y(3281.1504 - 3284.667) z(3281.1504 - 3284.667)
[11:19:01 INF] AddTriangles: x(3281.6797 - 3291.6436) y(3289.7969 - 3282.2334) z(3289.7969 - 3282.2334)
[11:19:01 INF] AddTriangles: x(3283.8242 - 3293.3438) y(3291.7715 - 3287.829) z(3291.7715 - 3287.829)
[11:19:01 INF] AddTriangles: x(3277.4014 - 3307.5176) y(3287.5273 - 3282.247) z(3287.5273 - 3282.247)
[11:19:01 INF] AddTriangles: x(3265.1426 - 3279.5625) y(3267.4717 - 3279.0469) z(3267.4717 - 3279.0469)
[11:19:01 INF] AddTriangles: x(3289.54 - 3305.7148) y(3301.0547 - 3291.3008) z(3301.0547 - 3291.3008)
[11:19:01 INF] AddTriangles: x(3276.4092 - 3285.4062) y(3282.3447 - 3283.0566) z(3282.3447 - 3283.0566)
[11:19:01 INF] AddTriangles: x(3290.0615 - 3299.084) y(3292.461 - 3293.1572) z(3292.461 - 3293.1572)
[11:19:01 INF] AddTriangles: x(3272.1787 - 3288.9502) y(3274.5312 - 3283.793) z(3274.5312 - 3283.793)
[11:19:01 INF] AddTriangles: x(3301.9355 - 3318.3926) y(3309.8691 - 3318.3926) z(3309.8691 - 3318.3926)
[11:19:01 INF] AddTriangles: x(3305.3564 - 3319.7764) y(3317.4473 - 3316.9248) z(3317.4473 - 3316.9248)
[11:19:01 INF] modeli: 0 -90 -0
[11:19:01 INF] AddTriangles: x(3487.4727 - 3614.8545) y(3575.2734 - 3591.7148) z(3575.2734 - 3591.7148)
[11:19:01 INF] AddTriangles: x(3279.002 - 3440.9268) y(3414.4863 - 3323.879) z(3414.4863 - 3323.879)
[11:19:01 INF] AddTriangles: x(3382.8984 - 3402.9219) y(3402.9219 - 3392.8594) z(3402.9219 - 3392.8594)
[11:19:01 INF] AddTriangles: x(3402.541 - 3437.713) y(3437.713 - 3406.626) z(3437.713 - 3406.626)
[11:19:01 INF] AddTriangles: x(3413.5703 - 3533.6904) y(3474.4326 - 3440.003) z(3474.4326 - 3440.003)
[11:19:01 INF] wee
[11:19:01 INF] done
it got 127973 triangles and 68709 vertices
Got triangles grid (3164.8857 , -3744.0469) - (3733.333, -3156.7559
[11:19:01 INF] Build hash 127973
[11:19:01 INF] done 435 time 00:00:00.2684597
Got asked for triangles at 3201.758, -3733.8948
Need triangles grid (3199.9998 , -4266.6675) - (3733.333, -3733.334
[11:19:03 INF] Extract World\Maps\Azeroth\Azeroth_39_25.adt from ..\PathingAPI\MPQ\patch.MPQ
[11:19:03 INF] Reading adt: World\Maps\Azeroth\Azeroth_39_25.adt
[11:19:03 INF] Extract world\lordaeron\tirisfalglade\passivedoodads\trees\tirisfallgladecanopytree05.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\pottery\elvenpottery01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\pottery\elvenpottery02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\pottery\elvenpottery04.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\lanterns\nightelflantern01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree12.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\kalimdor\darkshore\passivedoodads\lamp\darkstreetlamp.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\steppingstones\steppingstone02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\stonerunes\kalidarstonerune01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\stonerunes\kalidarstonerune02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\stonerunes\kalidarstonerune03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\wmo\kalimdor\buildings\nightelfhunterslodge\dsnightelfhunterslodge.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\bookshelves\abbeyshelf01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\barrel\barrel01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\crate01\crate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\crate02\crate02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\darkirondwarf\passive doodads\crates\darkironcrate02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\darkirondwarf\passive doodads\crates\darkironcrate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\cargoboxes\deadminecargoboxes.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\animalheads\duskwoodboarhead01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\animalheads\duskwooddeerhead01.m2 from ..\PathingAPI\MPQ\patch.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\wallhangings\elfwallhanging12.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\fountains\elvenfountain.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\pottery\elvenpottery01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\pottery\elvenpottery02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\pottery\elvenpottery03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\pottery\elvenpottery04.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\tables\elvenwoodentable01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\gardenbenches\gardenbench01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\weaponracks\generalweaponrack01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\globes\globe01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\crates\graincrate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\elwynn\passivedoodads\jars\jar03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\elwynn\passivedoodads\jars\jar02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\elwynn\passivedoodads\jars\jar01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\elwynn\passivedoodads\jugs\jug02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\magicalimplements\nemagicimplement01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\magicalimplements\nemagicimplement02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\magicalimplements\nemagicimplement03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\magicalimplements\nemagicimplement04.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\magicalimplements\nemagicimplement05.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\magicalimplements\nemagicimplement06.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\crates\replacecrate03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\crates\replacecrate02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\furniture\containers\sack01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\furniture\containers\sack02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\nightelf\passive doodads\furniture\stonebench01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\animalheads\stuffedbear.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\animalheads\stuffedfrenzy.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\animalheads\stuffedtallstrider.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\wmo\kalimdor\buildings\nightelfhunterslodge\dsnightelfhunterslodge_000.wmo from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] modeli: 0 446.5 -0
[11:19:03 INF] AddTriangles: x(3271.0684 - 3358.707) y(3314.9932 - 3318.875) z(3314.9932 - 3318.875)
[11:19:03 INF] modeli: 0 -91 -0
[11:19:03 INF] AddTriangles: x(3233.5166 - 3250.125) y(3235.6719 - 3244.6318) z(3235.6719 - 3244.6318)
[11:19:03 INF] AddTriangles: x(3225.2207 - 3246.33) y(3242.9473 - 3229.7168) z(3242.9473 - 3229.7168)
[11:19:03 INF] AddTriangles: x(3223.708 - 3238.498) y(3236.2656 - 3233.5146) z(3236.2656 - 3233.5146)
[11:19:03 INF] AddTriangles: x(3183.5312 - 3200.3125) y(3198.7998 - 3187.5264) z(3198.7998 - 3187.5264)
[11:19:03 INF] AddTriangles: x(3246.329 - 3274.162) y(3273.461 - 3259.0674) z(3273.461 - 3259.0674)
[11:19:03 INF] AddTriangles: x(3178.3525 - 3212.46) y(3178.8203 - 3183.4375) z(3178.8203 - 3183.4375)
[11:19:03 INF] AddTriangles: x(3198.7998 - 3225.2207) y(3224.9414 - 3203.378) z(3224.9414 - 3203.378)
[11:19:03 INF] modeli: 0 -12 -0
[11:19:03 INF] AddTriangles: x(3242.6533 - 3342.2236) y(3286.918 - 3274.1748) z(3286.918 - 3274.1748)
[11:19:03 INF] AddTriangles: x(3214.6797 - 3370.1973) y(3281.1504 - 3284.667) z(3281.1504 - 3284.667)
[11:19:03 INF] AddTriangles: x(3281.6797 - 3291.6436) y(3289.7969 - 3282.2334) z(3289.7969 - 3282.2334)
[11:19:03 INF] AddTriangles: x(3283.8242 - 3293.3438) y(3291.7715 - 3287.829) z(3291.7715 - 3287.829)
[11:19:03 INF] AddTriangles: x(3277.4014 - 3307.5176) y(3287.5273 - 3282.247) z(3287.5273 - 3282.247)
[11:19:03 INF] AddTriangles: x(3265.1426 - 3279.5625) y(3267.4717 - 3279.0469) z(3267.4717 - 3279.0469)
[11:19:03 INF] AddTriangles: x(3289.54 - 3305.7148) y(3301.0547 - 3291.3008) z(3301.0547 - 3291.3008)
[11:19:03 INF] AddTriangles: x(3276.4092 - 3285.4062) y(3282.3447 - 3283.0566) z(3282.3447 - 3283.0566)
[11:19:03 INF] AddTriangles: x(3290.0615 - 3299.084) y(3292.461 - 3293.1572) z(3292.461 - 3293.1572)
[11:19:03 INF] AddTriangles: x(3272.1787 - 3288.9502) y(3274.5312 - 3283.793) z(3274.5312 - 3283.793)
[11:19:03 INF] AddTriangles: x(3301.9355 - 3318.3926) y(3309.8691 - 3318.3926) z(3309.8691 - 3318.3926)
[11:19:03 INF] AddTriangles: x(3305.3564 - 3319.7764) y(3317.4473 - 3316.9248) z(3317.4473 - 3316.9248)
[11:19:03 INF] wee
[11:19:03 INF] done
[11:19:03 INF] Extract World\Maps\Azeroth\Azeroth_38_25.adt from ..\PathingAPI\MPQ\patch.MPQ
[11:19:03 INF] Reading adt: World\Maps\Azeroth\Azeroth_38_25.adt
[11:19:03 INF] Extract world\azeroth\elwynn\passivedoodads\shovel\shovel.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsbonepile03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\duskwood\passivedoodads\tombs\woodcross01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\buckets\cavekoboldbucket.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\westfall\passivedoodads\crate\westfallcrate.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\crates\crategrain01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\cauldrons\cauldronempty.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\theblastedlands\passivedoodads\bones\blastedlandsbone01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\crates\replacecrate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\duskwood\passivedoodads\webs\webdangle02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\stranglethorn\activedoodads\cages\cage03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\troll\passive doodads\trollskullpile\trollskullpile.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\burningsteppes\passivedoodads\trees\burningmidtree01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\cages\plaugelandscage01.m2 from ..\PathingAPI\MPQ\patch.MPQ
[11:19:03 INF] Extract world\azeroth\westfall\passivedoodads\rakecart\rakecart.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\lamps\westernplaguelandslampostbroken02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\deadminecleat\deadminecleat.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\lamps\westernplaguelandslampostbroken01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\floatingdebris\floatingboards01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\azeroth\elwynn\passivedoodads\ballistaruined\ballistaruined.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandmushroom02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree08.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandmushroom04.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree13.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandmushroom03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\plants\plaguelandfern03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\rocks\plaguelandrock08.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\undead\passive doodads\meatwagon\meatwagon.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree09.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandmushroom01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\plants\plaguelandpuffs04.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\plants\plaguelandfern04.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandstump01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\rocks\plaguelandrock02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\sacks\plaguedgrainsack02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\rocks\plaguelandrock03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\rocks\plaguelandrock06.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\lamps\westernplaguelandslampost02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\lamps\westernplaguelandslampost01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\plants\plaguelandpuffs02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree11.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\human\passive doodads\sacks\plaguedgrainsack01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\banners\plaugelandsbanner01.m2 from ..\PathingAPI\MPQ\patch.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\plants\plaguelandpuffs01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\plants\plaguelandfern02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\rocks\plaguelandrock05.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\trees\plaguelandtree10.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\lordaeron\plagueland\passivedoodads\plaguedwagons\plaguewagon.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\floatingdebris\floatingbarrel01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\floatingdebris\floatingcrate01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\floatingdebris\floatingcoffin01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] Extract world\generic\passivedoodads\floatingdebris\floatingboardsburning01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:03 INF] modeli: 0 -140 -0
[11:19:03 INF] AddTriangles: x(3142.6484 - 3210.5254) y(3155.1113 - 3153.3135) z(3155.1113 - 3153.3135)
[11:19:03 INF] AddTriangles: x(3162.4521 - 3197.1836) y(3180.624 - 3166.5146) z(3180.624 - 3166.5146)
[11:19:03 INF] modeli: 0 -30 -0
[11:19:03 INF] AddTriangles: x(3150.6523 - 3214.4668) y(3154.9473 - 3171.29) z(3154.9473 - 3171.29)
[11:19:03 INF] AddTriangles: x(3166.792 - 3200.0615) y(3178.2012 - 3168.2373) z(3178.2012 - 3168.2373)
[11:19:03 INF] modeli: 0 -90 -0
[11:19:03 INF] AddTriangles: x(3487.4727 - 3614.8545) y(3575.2734 - 3591.7148) z(3575.2734 - 3591.7148)
[11:19:03 INF] AddTriangles: x(3279.002 - 3440.9268) y(3414.4863 - 3323.879) z(3414.4863 - 3323.879)
[11:19:03 INF] AddTriangles: x(3382.8984 - 3402.9219) y(3402.9219 - 3392.8594) z(3402.9219 - 3392.8594)
[11:19:03 INF] AddTriangles: x(3402.541 - 3437.713) y(3437.713 - 3406.626) z(3437.713 - 3406.626)
[11:19:03 INF] AddTriangles: x(3413.5703 - 3533.6904) y(3474.4326 - 3440.003) z(3474.4326 - 3440.003)
[11:19:03 INF] wee
[11:19:03 INF] done
it got 76728 triangles and 39290 vertices
Got triangles grid (3183.5312 , -4270.926) - (3733.333, -3708.4414
[11:19:03 INF] Build hash 76728
[11:19:03 INF] done 161 time 00:00:00.1522779
[11:19:31 INF] Could not find a part of the path 'C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot3\PathingApi\PPather\PathInfo\Azeroth\c_201_186.bin'.
[11:19:31 INF] Loaded c_201_186.bin 0 spots 0 steps
Got asked for triangles at 2769.2444, -4266.714
Need triangles grid (2666.6667 , -4799.9995) - (3200, -4266.666
[11:19:31 INF] Extract World\Maps\Azeroth\Azeroth_40_26.adt from ..\PathingAPI\MPQ\patch.MPQ
[11:19:31 INF] Reading adt: World\Maps\Azeroth\Azeroth_40_26.adt
[11:19:31 INF] Extract world\lordaeron\tirisfalglade\passivedoodads\trees\tirisfalltreestump02.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:31 INF] Extract world\generic\passivedoodads\lights\generaltorch01.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:31 INF] Extract world\lordaeron\tirisfalglade\passivedoodads\trees\tirisfallfallentree03.m2 from ..\PathingAPI\MPQ\common-2.MPQ
[11:19:31 INF] Extract world\generic\passivedoodads\barrel\brokenbarrel02.m2 from ..\PathingAPI\MPQ\common-2.MPQ

etc.

NullPointerExceptions with custom path

Hi there,

I am getting NullPointer exceptions right after I start the bot.
I have recorded a custom path, edited the class file to use this file (path_etc.json).
I am in the same map as I recorded the path.

Log is filled with below;

[20:24:53 ERR] PerformAction on FollowRouteGoal
System.NullReferenceException: Object reference not set to an instance of an object.
   at PathingAPI.PPatherService.GetWorldLocation(Int32 uiMapId, Single v1, Single v2) in C:\Users\jpl\Documents\WowClassicGrindBot\PathingAPI\Search\PPatherService.cs:line 66
   at BlazorServer.LocalPathingApi.FindRoute(Int32 map, WowPoint fromPoint, WowPoint toPoint) in C:\Users\jpl\Documents\WowClassicGrindBot\BlazorServer\PathingApi\LocalPathingApi.cs:line 40
   at Libs.Goals.FollowRouteGoal.RefillRouteToNextWaypoint(Boolean forceUsePathing) in C:\Users\jpl\Documents\WowClassicGrindBot\Libs\Goals\FollowRouteGoal.cs:line 302
   at Libs.Goals.FollowRouteGoal.PerformAction() in C:\Users\jpl\Documents\WowClassicGrindBot\Libs\Goals\FollowRouteGoal.cs:line 136
   at Libs.Goals.GoalThread.GoapPerformGoal() in C:\Users\jpl\Documents\WowClassicGrindBot\Libs\Goals\GoalThread.cs:line 57

Thanks!

[18:56:48 ERR] You must specify either 'Key' (ConsoleKey value) or 'KeyName' (ConsoleKey enum name) for

[18:56:48 ERR] You must specify either 'Key' (ConsoleKey value) or 'KeyName' (ConsoleKey enum name) for

2020-09-10 18:56:48.200 -07:00 [ERR] Failed to read AH prices.Could not find a part of the path 'D:\GitHub\Auc-Stat-Simple.lua.location'.
2020-09-10 18:56:48.357 -07:00 [INF] Processing requirement Frost Armor : not Frost Armor
2020-09-10 18:56:48.358 -07:00 [INF] Processing requirement Arcane Intellect : not Arcane Intellect
2020-09-10 18:56:48.359 -07:00 [INF] Processing requirement Conjure Water : not BagItem:2288:4
2020-09-10 18:56:48.377 -07:00 [INF] Processing requirement Conjure Food : not BagItem:5349:4
2020-09-10 18:56:48.408 -07:00 [INF] Processing requirement Low Health : Health%<80
2020-09-10 18:56:48.416 -07:00 [INF] Processing requirement Drink : Mana%<70
2020-09-10 18:56:48.427 -07:00 [ERR] You must specify either 'Key' (ConsoleKey value) or 'KeyName' (ConsoleKey enum name) for

my mage.json

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

"PathFilename": "mage10durotar.json",
"SpiritPathFilename": "durotargy.json",
"PathThereAndBack": true,
"PathReduceSteps": false,

"Pull": {
"Sequence": [
{
"Name": "Interact",
"Key": "H",
"Cooldown": 1,
"DelayAfterCast": 0
},
{
"Name": "Frostbolt",
"HasCastBar": true,
"StopBeforeCast": true,
"Key": "1",
"ManaRequirement": 35
},
{
"Name": "Arcane Missiles",
"HasCastBar": true,
"Key": "0",
"MinMana": 140,
"Cooldown": 60,
"DelaybeforeCast": 1000
}
]
},
"Combat": {
"Sequence": [
{
"Name": "Interact",
"Key": "H",
"Cooldown": 2,
"DelayAfterCast": 0
},
{
"Name": "Fireblast",
"HasCastBar": false,
"StopBeforeCast": false,
"Key": "5",
"ManaRequirement": 75,
"Cooldown": 8
},
{
"Name": "Fireball",
"HasCastBar": true,
"StopBeforeCast": true,
"Key": "2",
"ManaRequirement": 65
}
]
},
"Parallel": {
"Sequence": [
{
"Name": "Low Health",
"HasCastBar": true,
"StopBeforeCast": true,
"Key": "6",
"Requirement": "Health%<80",
"Cooldown": 10,
"Log": false
},
{
"Name": "Drink",
"HasCastBar": true,
"StopBeforeCast": true,
"Key": "7",
"Requirement": "Mana%<70",
"Cooldown": 10,
"Log": false
}
]
},

"Adhoc": {
"Sequence": [
{
"Name": "Frost Armor",
"StopBeforeCast": false,
"Key": "3",
"ManaRequirement": 60,
"Requirement": "not Frost Armor"
},
{
"Name": "Arcane Intellect",
"StopBeforeCast": false,
"Key": "4",
"MinMana": 60,
"Requirement": "not Arcane Intellect",
"Log": false
},
{
"Name": "Conjure Water",
"HasCastBar": true,
"StopBeforeCast": true,
"Key": "9",
"Requirement": "not BagItem:2288:4",
"Cooldown": 30,
"Log": false
},
{
"Name": "Conjure Food",
"HasCastBar": true,
"StopBeforeCast": true,
"Key": "8",
"Requirement": "not BagItem:5349:4",
"Cooldown": 30,
"Log": false
}
]
}
}

that all it says so not sure what key its looking for? bot still functioning though so not sure what its trying to find a key for all abilities are firing correctly.

In Combat Range

Hello Julian,
First, I would like to sincerely thank you for putting this out there. It definitely provides me with a great learning experience. I have been able to get everything up and running, except the bot does not appear to be able to detect that it is "In combat range". I am testing this on a fresh new level 3 Tauren Druid. He pulls with wrath, then seems to immediate get stuck in the "Approach Target Goal" even though he is right in front of the mob plainstrider. Bot proceeds to run back and forth over mob never detecting that it is in range. Below is a dump of the output. I'll greatly appreciate any assistance with this! Thank you.

[19:15:41 INF] New Plan= PullTargetGoal
[19:15:41 INF] [F10] pressing for 300ms
[19:15:42 INF] Stop approach
[19:15:42 INF] Approach target (PullTargetAction)
[19:15:42 INF] [H] pressing for 99ms
[19:15:42 INF] [UpArrow] pressing for 51ms
[19:15:42 INF] [F10] pressing for 300ms
[19:15:42 INF] Wrath: Wait before 500.
[19:15:43 INF] Wrath [D7] pressing for 250ms
[19:15:44 INF] Wrath: waiting for cast bar to end.
[19:15:45 INF] Waiting for Mellee range
[19:15:50 INF] ---------------------------------
[19:15:50 INF] New Plan= ApproachTargetGoal
[19:15:50 INF] Combat=True, Is Target targetting me=True
[19:15:50 INF] [F10] pressing for 300ms
[19:15:51 INF] Approach target (ApproachTargetAction 1)
[19:15:51 INF] [H] pressing for 99ms
[19:15:52 INF] [Spacebar] pressing for 498ms
[19:15:52 INF] [F10] pressing for 300ms
[19:15:53 INF] Approach target (ApproachTargetAction 1)
[19:15:53 INF] [H] pressing for 99ms
[19:15:53 INF] KeyDown UpArrow ApproachTargetAction
[19:15:56 INF] [Spacebar] pressing for 498ms
[19:15:56 INF] [F10] pressing for 300ms
[19:15:57 INF] Approach target (ApproachTargetAction 1)
[19:15:57 INF] [H] pressing for 99ms
[19:15:57 INF] [F10] pressing for 300ms
[19:15:58 INF] Approach target (ApproachTargetAction 1)
[19:15:58 INF] [H] pressing for 99ms
[19:15:59 INF] [F10] pressing for 300ms
[19:15:59 INF] Approach target (ApproachTargetAction 1)
[19:15:59 INF] [H] pressing for 99ms
[19:16:00 INF] ---------------------------------

constantly recieve the message cant tell what class

2020-09-12 06:55:24.460 -07:00 [WRN] There is a problem with the addon, I have been unable to read the player class. Is it running ?

constantly when i start it i get cant detect class but it still loading my correct profile is there anyway to make sure its reading the pixels correctly or increase its performance? I did the /dc and it detects the 100 frames but it also hit or miss when detecting class on that way as well.

done the:
System>Advanced>Constrast: 50
System>Advanced>Brightness: 50
System>Advanced>Gamma from: 1.0
Interface Options - Controls - Auto Loot - Ticked.
Interface Options - Controls - Interact on Left click - Not ticked.
Interface Options - Combat - Do Not Flash Screen at Low Health - Ticked.
Interface Options - Combat - Auto Self Cast - Ticked.
Interface Options - Camera - Auto-Follow Speed - Fast
Interface Options - Camera - Camera Following Style - Always
Interface Options - Mouse - Click-to-Move - Ticked
Interface Options - Mouse - Click-to-Move Camera Style - Always

edit: I want to add it loads the correct profile I am just concerned about general performance since it cant read the class pixel is this causing some hidden issues ive noticed as well.

force face creature

So i understand we are using the H key interact with target to face, however when the mobs are low they may run thru the character and end up behind them the bot stands there spamming target not in view and never will reface them essentially. I have defined interact in the class.json and tried different cooldown variations and still seems to happen. Any insight on how to fix this? class would be a mage.

Issue with "In combat range "

Hello Julian,
First, I would like to sincerely thank you for putting this out there. It definitely provides me with a great learning experience. I have been able to get everything up and running, except the bot does not appear to be able to detect that it is "In combat range". I am testing this on a fresh new level 3 Tauren Druid. He pulls with wrath, then seems to immediate get stuck in the "Approach Target Goal" even though he is right in front of the mob plainstrider. Below is a dump of the output. I'll greatly appreciate any assistance with this! Thank you.

[19:15:41 INF] New Plan= PullTargetGoal
[19:15:41 INF] [F10] pressing for 300ms
[19:15:42 INF] Stop approach
[19:15:42 INF] Approach target (PullTargetAction)
[19:15:42 INF] [H] pressing for 99ms
[19:15:42 INF] [UpArrow] pressing for 51ms
[19:15:42 INF] [F10] pressing for 300ms
[19:15:42 INF] Wrath: Wait before 500.
[19:15:43 INF] Wrath [D7] pressing for 250ms
[19:15:44 INF] Wrath: waiting for cast bar to end.
[19:15:45 INF] Waiting for Mellee range
[19:15:50 INF] ---------------------------------
[19:15:50 INF] New Plan= ApproachTargetGoal
[19:15:50 INF] Combat=True, Is Target targetting me=True
[19:15:50 INF] [F10] pressing for 300ms
[19:15:51 INF] Approach target (ApproachTargetAction 1)
[19:15:51 INF] [H] pressing for 99ms
[19:15:52 INF] [Spacebar] pressing for 498ms
[19:15:52 INF] [F10] pressing for 300ms
[19:15:53 INF] Approach target (ApproachTargetAction 1)
[19:15:53 INF] [H] pressing for 99ms
[19:15:53 INF] KeyDown UpArrow ApproachTargetAction
[19:15:56 INF] [Spacebar] pressing for 498ms
[19:15:56 INF] [F10] pressing for 300ms
[19:15:57 INF] Approach target (ApproachTargetAction 1)
[19:15:57 INF] [H] pressing for 99ms
[19:15:57 INF] [F10] pressing for 300ms
[19:15:58 INF] Approach target (ApproachTargetAction 1)
[19:15:58 INF] [H] pressing for 99ms
[19:15:59 INF] [F10] pressing for 300ms
[19:15:59 INF] Approach target (ApproachTargetAction 1)
[19:15:59 INF] [H] pressing for 99ms
[19:16:00 INF] ---------------------------------

Import NPCs

import NPCs into Database pre-configure things like has mana bar. set spells to monitor for NPC to do things like interrupt casting

GY Issue

route

so he runs the route from the GY but when he gets to the xp path he tries to cut across to where he died. Is there a way to make him follow the path until he gets near his body or something? Its like he hits the route and then jumps to nearest point where he died instead of following the waypoints until he gets close.

Or am i doing my GY path wrong and need to go all the way to the top of the mountain side essentially?

questing

is there a way for the bot to do simple kill/items quest?
i know the bot is made for grinding but with the recent updates and stuff i figured i can just ask

p.s love the work you been doing

unable to find Auc-Stat-Simple.lua.location

Following the instructions i get an error pointing to "Auc-Stat-Simple.lua.location" you have it saved to your D:\github\ however that file isnt in any path on my system. I have tried both classic and retail. can you send me a copy of that file? [email protected]

mage6.json fixes

{
      "Name": "Low Health",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "6",
      "Requirement": "TargetHealth%<90",
      "Cooldown": 10,
      "Log": false
    },

should be

{
      "Name": "Low Health",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "6",
      "Requirement": "Health%<90",
      "Cooldown": 10,
      "Log": false
    },

and then

  {
      "Name": "Conjure Food",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "8",
      "Requirement": "not BagItem:5350:4",
      "Cooldown": 30,
      "Log": false
    }

should be

{
      "Name": "Conjure Food",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "8",
      "Requirement": "not BagItem:5349:4",
      "Cooldown": 30,
      "Log": false
    }

reloading new profile

Is there a easier/faster way to load a new profile/waypoints without having to end the console(ctrl+c) and reopen it?

Bot consistently crashing after 3-4 hours

For me the bot always crashes consistently after a couple of hours unmonitored activity. Since I'm not there at the moment of failure I can't be 100% sure of the reason. But Ive gathered the following information as potential causes:

  • Usually the chrome BlazorServer has frozen some hours before and is no longer updating. (I guess it should not matter since the bot can run with closing chrome anyway?)

  • I shut off my monitor to save power, but the programs are still running. (Put power on after 1h, no problems what I can see)

This is the error code I get:

[01:42:51 INF] SetDirection:- Correcting direction Desired: 5.945, Current: 5.947, distance: 625.552
[01:42:51 INF] [UpArrow] pressing for 400ms
[01:42:52 INF] SetDirection:- Move to next point Desired: 0.841, Current: 9.869, distance: 54355.054
[01:42:52 INF] Target is blacklisted
[01:42:52 INF] [F3] pressing for 400ms
[01:42:52 INF] ---------------------------------
[01:42:52 INF] New Plan= ApproachTargetGoal
[01:42:52 INF] [F10] pressing for 300ms
[01:42:53 WRN] Blacklisted: Target is not a normal mob
Unhandled exception. System.ArgumentOutOfRangeException: Value to add was out of range. (Parameter 'value')
at System.DateTime.Add(Double value, Int32 scale)
at System.DateTime.AddSeconds(Double value)
at Libs.LevelTracker.Update() in C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot3\Libs\Addon\LevelTracker.cs:line 45
at Libs.AddonReader.AddonRefresh() in C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot3\Libs\Addon\AddonReader.cs:line 114
at Libs.BotController.AddonRefreshThread() in C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot3\Libs\BotController.cs:line 88
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location where exception was thrown ---
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
[01:42:53 INF] Approach target (ApproachTargetAction 1)
[01:42:53 INF] [H] pressing for 99ms

C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot3\BlazorServer>pause
Press any key to continue . . .

Monitor Combat log

If combat log to things like Dodge, Block, Parry treat them like a buff so in the rotation you can say requirement has Dodge, Block or Parry execute "Revenge"

cmd window on web interface

anyway to get the command window info on the web interface? I know this would require changes but i think it would be very helpful as sometimes i cant really tell whats going on or what happened without looking at the command window and i am accessing the web interface from another pc so its harder to actually access the physical machine

Goals\RepairGoal.cs(63,37): error CS0115: 'RepairGoal.GetTargetLocation()': no suitable method found

i keep getting this error when i start up ๐Ÿ‘

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
Goals\VendorGoal.cs(79,37): error CS0115: 'VendorGoal.GetTargetLocation()': no suitable method found to override [C:\WowClassicGrindBot\Libs\Libs.csproj]
Goals\RepairGoal.cs(63,37): error CS0115: 'RepairGoal.GetTargetLocation()': no suitable method found to override [C:\WowClassicGrindBot\Libs\Libs.csproj]

The build failed. Fix the build errors and run again.

C:\WowClassicGrindBot\BlazorServer>pause
Press any key to continue . .

walktocorpse error

so its randomly trying to save the corpse path to the c drive and its getting denied access to use that location I understand how to fix it but would be better if it defaulted those files to the wowclassicgrindbot/path folders and clean them up after corpse retrieved?

[18:14:29 ERR] PerformAction on WalkToCorpseGoal
System.UnauthorizedAccessException: Access to the path 'C:\CorpsePath_20200910181429.json' is denied.
at System.IO.FileStream.ValidateFileHandle(SafeFileHandle fileHandle)
at System.IO.FileStream.CreateFileOpenHandle(FileMode mode, FileShare share, FileOptions options)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.StreamWriter.ValidateArgsAndOpenPath(String path, Boolean append, Encoding encoding, Int32 bufferSize)
at System.IO.File.WriteAllText(String path, String contents)
at Libs.Goals.WalkToCorpseGoal.Reset() in C:\WowClassicGrindBot\Libs\Goals\WalkToCorpseGoal.cs:line 221
at Libs.Goals.WalkToCorpseGoal.PerformAction() in C:\WowClassicGrindBot\Libs\Goals\WalkToCorpseGoal.cs:line 78
at Libs.Goals.GoalThread.GoapPerformGoal() in C:\WowClassicGrindBot\Libs\Goals\GoalThread.cs:line 57

invalid pixel color

Hi Julian

I tried to run the BOT server, but it tip that couldn't get the class type of the role.
So, which WOW client resolutions does it support, and what is the UI scale?

Thanks

Can't start BlazorServer at all

I can't get past the setup with config (Step 5) file with this new update. (Worked previously) Getting the following error:

C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot2\BlazorServer>dotnet run
A fatal error occurred. The required library hostfxr.dll could not be found.
If this is a self-contained application, that library should exist in [C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot2\BlazorServer\bin\Debug\netcoreapp3.1].
If this is a framework-dependent application, install the runtime in the global location [C:\Program Files (x86)\dotnet] or use the DOTNET_ROOT(x86) environment variable to specify the runtime location or register the runtime location in [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation].

The .NET Core runtime can be found at:

C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot2\BlazorServer>pause
Press any key to continue . . .

After adding hostfxr from SDK 3.1.403 manually to blazorserver

C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot2\BlazorServer>dotnet run
Failed to load the dll from [C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot2\BlazorServer\bin\Debug\netcoreapp3.1\hostfxr.dll], HRESULT: 0x800700C1
The library hostfxr.dll was found, but loading it from C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot2\BlazorServer\bin\Debug\netcoreapp3.1\hostfxr.dll failed

C:\Users\Leonard\Desktop\downloads\wowo2\WowClassicGrindBot2\BlazorServer>pause
Press any key to continue . . .

I got the latest SDK version. Also, is config_1080.json config_1440.json part of the items that needs to be re-created or not?

Doesn't go into "unstick" properly in ghost path

After dying and the bot calculating a path back to the corpse from the graveyard, it can still get semi-stuck on trees and smaller obstacles etc. This should easily be fixed using the StuckDetector-logic.

But it seems it only went into the "first" part of the StuckDetection-logic and only being stuck for 3-4s and performing a jump then going back to the path....not getting out and then again going to "stuck" and only jumping. This made it so being stucks was never incremented more than 4 seconds so it never went to the next level of stuck detection.

Tightness to Route

is there a way to control how close to the location he walks example walking thru a cave or dungeon requires almost exact coordinates. Also is there a way to manually add coordinates sooner than the record does. example walking through a dungeon or navigating thru a cave may require more coordinates sooner than record is recording. This would also improve corpse running back sometimes get stuck on a tree or inside the graveyard itself or a mountain range because hes to far over from the point.

do you have discord?

Blacklisted: Target is not a normal mob

Hi , Thank you for your works
I just installed the bot , and i this error

11:31:30 | Blacklisted: Target is not a normal mob

in addon config page it says i cant find class

ty

inccorect sample profile mage6.json

{
      "Name": "Low Health",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "6",
      "Requirement": "TargetHealth%<90",
      "Cooldown": 10,
      "Log": false
    },

should be

{
      "Name": "Low Health",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "6",
      "Requirement": "Health%<90",
      "Cooldown": 10,
      "Log": false
    },

and then

  {
      "Name": "Conjure Food",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "8",
      "Requirement": "not BagItem:5350:4",
      "Cooldown": 30,
      "Log": false
    }

should be

{
      "Name": "Conjure Food",
      "HasCastBar": true,
      "StopBeforeCast": true,
      "Key": "8",
      "Requirement": "not BagItem:5349:4",
      "Cooldown": 30,
      "Log": false
    }

[Request] Way point recording

So I have done some experimenting and it seems that when i changed the waypoint gaps the closer tight he stays on the path. Would it be possible to have a button on the way point recording to increase/decrease the distance? Like the default is over 60 could we have a button to like lower that to say 10 or 20 for when we need to ensure closer pathing I lowered mine to like 30 it adds a ton more points but i raised it back to 60 after I did the graveyard run and he zig and zags through tiny spaces really well and haven't noticed him getting stuck at all when doing the graveyard run when he previously would. However for your actual botting path you would want larger distances but in certain spots you may need to squeeze through a walkway or a bridge or something. So being able to change this on the fly while recording would be super amazing.

the code i am refering to is:
https://github.com/julianperrott/WowClassicGrindBot/blob/master/BlazorServer/Pages/RecordPath.razor

private void AddonDataChanged()
{
if (!recording) { return; }

    var location = new WowPoint(addonReader.PlayerReader.XCoord, addonReader.PlayerReader.YCoord);

    if (botController.RouteInfo != null)
    {
        if (botController.RouteInfo.PathPoints.Count == 0 || DistanceTo(location, botController.RouteInfo.PathPoints.Last()) > 60 & location.X != 0)
        {
            botController.RouteInfo.PathPoints.Add(location);
            UpdateRoute();
        }
    }
}

Auto loot is not working.

Hello Xian good work on keeping the bot alive, I haven't been able to get auto loot to work for a month atleast.

The orgianal fork of the bot i didnt have any trouble with loot. Any class I use it just goes to mob and jumps but skips looting all together.

I have auto loot ticked and target last target key binded.

WPL don't work for horde

The graveyard in WPL is in Tirisfal Glades (for horde) so the spiritpath can't be calculated. This might be to much to fix...maybe add an exception in readme

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.