TakeControl! Control HonorBuddy and blacklist objects with your keyboard ! Version 1.0 Tested on WoW 5.1.0 Synopsis TakeControl! is a plugin for HonorBuddy that allows you to bind various actions with hotkeys. These hotkeys are usable when WoW is your foreground window and does not interfere with other applications. Features Blacklist All Objects Blacklist all objects (including pnj, real player, nodes, etc.) in a specified radius during a specified time. This feature is useful when your bot tries to gather a node it cannot harvest (underground node or a lot of WoWObjects around). Press on your key and your bot will ignore it ! It also works for ignoring all mobs around the bot. Blacklist Current Target Blacklist you current target. Especially use when your target is evading or if you want to bypass it. HonorBuddy Suspend/Resume Pause and resume the bot without reload all the profile or the botbase behavior. HonorBuddy Start/Stop Stop and start the bot. HonorBuddy Restart Restart the bot (perform the stop and start operations in one). Downloads [SVN] https://zenlulzdev.googlecode.com/svn/trunk/HonorBuddy/Plugins/TakeControl/ [ZIP] https://zenlulzdev.googlecode.com/svn/tags/HonorBuddy/Plugins/TakeControl/ The latest version is also attached to this post. Setup Extract the zip in a folder called "TakeControl" in the repository "Plugins" in your HonorBuddy installation. Don't forget the enable the plugin when you started HonorBuddy. Bottom lines All my releases are completely free and offered to the community. If you like this plugin, please consider to like this page (the Like link at the bottom right), adding some reputations (the star button at the bottom left) or eventually buy my beer with the Paypal link in my signature. Also, all your feedbacks are welcome. Cheers ZenLulz
amazing, i've always wanted to be able to pause HB for a few seconds when something messes up. I'll give it a try thanks again!
Great project! I'm having some problems with it crashing upon resuming, for example: [06:59:08.392 D] Activity: [TakeControl!] Bot resumed [06:59:08.392 N] [TakeControl!]: Honorbuddy: Resumed [06:59:18.459 D] System.Exception: Process must have frozen or gotten out of sync: InjectionFinishedEvent_was_never_fired at Styx.MemoryManagement.Executor.Execute(Int32 fromId) at Styx.MemoryManagement.ExternalProcessReader.Call[T](IntPtr address, CallingConvention callingConvention, Boolean& defaultedToInjection, Object[] args) at Styx.MemoryManagement.ExternalProcessReader.Call[T](IntPtr address, CallingConvention callingConvention, Object[] args) at Styx.WoWInternals.WoWObjects.WoWUnit.GetReactionTowards(WoWUnit otherUnit) at Styx.WoWInternals.WoWObjects.WoWUnit.get_MyReaction() at Styx.WoWInternals.WoWObjects.WoWUnit.get_IsHostile() at Singular.Helpers.Safers.<EnsureTarget>b__c(WoWUnit p) in c:\Users\Inspire\Downloads\Honorbuddy 2.5.6701.525\Routines\Singular\Helpers\Safers.cs:line 222 at System.Linq.Enumerable.WhereListIterator`1.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at Singular.Helpers.Safers.<EnsureTarget>b__b(Object ctx) in c:\Users\Inspire\Downloads\Honorbuddy 2.5.6701.525\Routines\Singular\Helpers\Safers.cs:line 220 at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() 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.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Singular.SingularRoutine.LockSelector.Tick(Object context) in c:\Users\Inspire\Downloads\Honorbuddy 2.5.6701.525\Routines\Singular\SingularRoutine.Behaviors.cs:line 358 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.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() 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.TreeRoot.() [06:59:18.459 D] System.Exception: Process must have frozen or gotten out of sync: InjectionFinishedEvent_was_never_fired at Styx.MemoryManagement.Executor.Execute(Int32 fromId) at Styx.MemoryManagement.ExternalProcessReader.Call[T](IntPtr address, CallingConvention callingConvention, Boolean& defaultedToInjection, Object[] args) at Styx.MemoryManagement.ExternalProcessReader.Call[T](IntPtr address, CallingConvention callingConvention, Object[] args) at Styx.WoWInternals.WoWObjects.WoWUnit.GetReactionTowards(WoWUnit otherUnit) at Styx.WoWInternals.WoWObjects.WoWUnit.get_MyReaction() at Styx.WoWInternals.WoWObjects.WoWUnit.get_IsHostile() at Singular.Helpers.Safers.<EnsureTarget>b__c(WoWUnit p) in c:\Users\Inspire\Downloads\Honorbuddy 2.5.6701.525\Routines\Singular\Helpers\Safers.cs:line 222 at System.Linq.Enumerable.WhereListIterator`1.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at Singular.Helpers.Safers.<EnsureTarget>b__b(Object ctx) in c:\Users\Inspire\Downloads\Honorbuddy 2.5.6701.525\Routines\Singular\Helpers\Safers.cs:line 220 at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() 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.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Singular.SingularRoutine.LockSelector.Tick(Object context) in c:\Users\Inspire\Downloads\Honorbuddy 2.5.6701.525\Routines\Singular\SingularRoutine.Behaviors.cs:line 358 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.TreeSharp.Decorator..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() at Styx.TreeSharp.Composite.Tick(Object context) at Styx.TreeSharp.PrioritySelector..() 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.TreeRoot.() [06:59:18.460 D] Cleared POI - Reason Exception in Root.Tick() [06:59:18.460 D] Cleared POI [06:59:22.937 N] Wow exited, Honorbuddy stopped! [06:59:22.938 D] Stop called! [06:59:22.938 Q] Bot Stopped! Reason: Wow exited, Honorbuddy stopped! [06:59:28.536 D] System.AccessViolationException: Could not read bytes from 01C882D0 [299]! at Styx.MemoryManagement.ExternalProcessReader.ReadBytes(IntPtr address, Int32 count, Boolean isRelative) at Styx.MemoryManagement.ExternalProcessReader.Read[T](IntPtr address, Boolean isRelative) at Styx.WoWInternals.WoWCurrency.GetCurrencyById(UInt32 id) at Styx.WoWInternals.WoWCurrency.GetCurrencyByType(WoWCurrencyType type) at Styx.CommonBot.GameStats.() at Styx.CommonBot.GameStats.() at Styx.Pulsator.Pulse(PulseFlags flags) at Styx.CommonBot.TreeRoot.() at Styx.CommonBot.TreeRoot.()
Not constantly. Maybe 10-20% of the time when I'm interrupting a questing profile to run away from pvpers or a huge pack of mobs that was pulled but doesn't really need to be killed.
Is it possible to have it blacklist target after 3 seconds of attempting combat and no damage received or given