I have no idea why that's erroring out. It's the same type of loop i've used elsewhere. Unless I can't use IsAlive,
This would be so useless because the way you fly would cost you tons of money (if you run it very long) and camping in FFR is much more effective than going all around the map ^^
Ya, I'm not going to do that. I may write one that will go back and forth between the nagrand ones, but not all of them. Trying to figure out the portal issue for now.
I made a profile for personal use coincidentally at the same time, but honestly I just set WaitForNpcs="False" and had it check every 10 seconds with a maximum collection distance. Should theoretically work and is easier than doing IsAlive checks for gameobjects I find. Though I never did have a good solution for anti-afk (if you consider the odds of the chances in mine it's something like .00005% chance it gets afk'd out per every 5 minutes) and yours is much better, but mine moves to new spots every hour or two And Creyd if you want a profile like that I could do that by slightly altering my Mysterious Camel Figurine profile... but like has been said it's not exactly efficient when compared to just waiting (though you look less like a bot doing this).
I'm not sure what's happening, but if I leave mine going for longer than a few hours, it starts throwing "Out of Memory Exception" errors. I'll pull one of the errors and post it here, but be warned: it's a long one. I originally assumed it was using too much RAM or CPU, but those seem fine. The only visible thing it's causing it freezes in WoW every time it would tick, and it wouldn't check for portals anymore. If I stopped it and tried to start it, it wouldn't work, I would need to completely close out and restart HB for it to work again. [21:14:00.070 D] Exception was thrown in BotBase.Root.Tick [21:14:00.070 D] Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> Buddy.Coroutines.CoroutineUnhandledException: Exception was thrown by coroutine ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at €..(UInt32 , UInt32 , UInt32 , UInt32 ) at ”..() at ”..(Stream , Stream , Int64 , Int64 ) at ”..(Stream , Stream , Int64 , Int64 , ) at ƒ..(Stream ) at ƒ..(Byte[] ) at Styx.Common.FileCache`1.SaveFile() at Styx.WoWInternals.QuestLog.GetCompletedQuests() at Bots.Quest.QuestOrder.QuestOrder.UpdateNodes() at Bots.Quest.QuestOrder.ForcedWhile...() at Styx.TreeSharp.Composite.Tick(Object context) at Bots.Quest.Actions.ForcedBehaviorExecutor..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.Common.HookExecutor.Run(Object context) at Styx.TreeSharp.Action.RunAction(Object context) at Styx.TreeSharp.Action..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.CommonBot.Coroutines.CoroutineCompositeExtensions..() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at ...() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CommonBehaviors.Actions.ActionRunCoroutine....() --- End of inner exception stack trace --- at Buddy.Coroutines.Coroutine.(Boolean ) at Buddy.Coroutines.Coroutine.(Boolean ) at Buddy.Coroutines.Coroutine.Resume() at CommonBehaviors.Actions.ActionRunCoroutine.Run(Object context) at Styx.TreeSharp.Action.RunAction(Object context) at Styx.TreeSharp.Action..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.Common.HookExecutor.Run(Object context) at Styx.TreeSharp.Action.RunAction(Object context) at Styx.TreeSharp.Action..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.CommonBot.Coroutines.CoroutineCompositeExtensions..() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at ...() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CommonBehaviors.Actions.ActionRunCoroutine....() --- End of inner exception stack trace --- at Buddy.Coroutines.Coroutine.(Boolean ) at Buddy.Coroutines.Coroutine.(Boolean ) at Buddy.Coroutines.Coroutine.Resume() at CommonBehaviors.Actions.ActionRunCoroutine.Run(Object context) at Styx.TreeSharp.Action.RunAction(Object context) at Styx.TreeSharp.Action..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.CommonBot.TreeRoot.() at Styx.CommonBot.TreeRoot.(Action , String , Boolean )
Exystredofar, Is that the no camp one? or the frostfire ridge one? Rabbit112 , Ya, I believe that's what i'm going to do. Guess that's what I get for being fancy.
It's the no move camp one, although I did modify it a bit by removing the random movement lines because those just seemed unsafe.
If anyone ones beside FFR seem feasible it would be the ones in SMV 42,74 44,70 and 50, 71 are all generally pretty close
Ya, already nuked those in my local copy, was the only thing that I thought might cause the memory error. It's a fairly simple profile. Can't imagine what else would cause it.
Honestly I believe it's just that the log files are getting too big, every time this happens the log files are 30-50MB for some reason. I've got a batch script running that is moving the log files to another directory once an hour, forcing the bot to start a new one. We'll see if this fixes it.
Updated Files attached. Fixed the compiler error on clicking portals (hopefully). And removed the movement code from camp only. I didn't add a walkabout to the new spawn spot, but it should be in collection distance anyways.
Hey guys, I was looking to find a thread like this and to my surprise, I see you people share the same interest as me, I've been monitoring this thread since yesterday. I'm not good enough with scripting for HB myself so I'm glad some of you are already giving a go at it. If you don't mind, I would like to make a suggestion. Make a profile for each zone, and let each profile navigate to all of the spawnpoints in that zone. Me for instance, I have a lot of alts. And I think it's a great idea to use something like ARelog to switch to alts that are waiting in the next zone ready to use the next profile that are automaticly started up. This way you can loop checking all zones and spawnpoints very effectively. Can anyone confirm that this is a good idea? I'm willing to make a modest donation for this cause.
It's more of a camp situation than a check and leave. It despawns fairly quickly if no one is there. Nagrand and SMV probably coming soon.
I've been following this thread since the start and I'm hoping this will provide us all with the happy ending we are waiting for. Thank you for the hardwork you are putting into this!
Keeping the log files rotating seems to have fixed the out of memory error, haven't had the program freeze up since I started that. Edit: Nevermind, it turns out it didn't help.