-
Posts
332 -
Joined
Content Type
Forums
Articles
Bug Tracker
Downloads
Store
Posts posted by Apexx
-
-
I don't understand the problem really. I use the following for my hunter fight class without any OnEvent methods:
if (!MyTarget.IsTargetingMe && Vector3.Distance(Me.Position, MyTarget.Position) < 8 && HunterSettings.CurrentSetting.ManageMovement) Move.Backward(Move.MoveAction.PressKey, 800);
And it works flawlessly.
-
if (SpellManager.GetSpellCooldownTimeLeft("Frost Nova") > 0) { wManager.Wow.Helpers.Move.Backward(Move.MoveAction.PressKey, 1000); }
-
Lua.RunMacroText("/stopcasting");
Maybe something like this:
private readonly Spell DivineShield = new Spell("Divine Shield"); // Divine Shield if (ObjectManager.Me.HealthPercent < 30 && ObjectManager.Me.IsCast && DivineShield.KnownSpell && DivineShield.IsSpellUsable) { Lua.RunMacroText("/stopcasting"); DivineShield.Launch(); }
-
Just recently, I cannot seem to figure out what the bot continues to enable Click to move in my game settings! It's so aggravating! I mainly use WRotation
and have enabled, Disable game option 'Click to move' with WRotation. and no matter what, it ALWAYS becomes enabled again. The only two plugins I am
using currently are, Settings Backup and my WRadar. Am I missing another setting somewhere? -
@reapler, you sir are amazing! Thank you so much!
-
Yeah I don't know. I somewhat give up on it for now. People will just have to pause/stop the bot and go to Plugin Settings to add/remove items from the collections list for now. Thanks though, @iMod
-
No errors, just the same [Keyboard Hook] Couldn’t register the hot key.
-
13 minutes ago, Avvi said:
Just to be sure, did you call the InitMethod() from your Plugin Initializer?
Yes, I did.
-
No, still not working.
-
-
Hello, your method RangeManager() looks like it will only return true if there are more than 1 unit in range.
if (ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 40 && u.IsAttackable) > 1)
You may want to change > 1 to >= 1 as seen below, but I could be wrong.
private void RangeManager() { if (ObjectManager.GetWoWUnitHostile().Count(u => u.Position.DistanceTo(ObjectManager.Target.Position) <= 40 && u.IsAttackable) >= 1) { RangeCheck = true; } else { RangeCheck = false; } return; }
-
I added a small sleep time before trying to launch the spell and it seems to help.
public static bool CallPet() { try { if (!Me.IsCast && !Me.IsMounted && _callPet.KnownSpell && _callPet.IsDistanceGood && _callPet.IsSpellUsable) { Thread.Sleep(800); _callPet.Launch(); Thread.Sleep(SpellManager.GlobalCooldownTimeLeft() + Usefuls.Latency); return true; } } catch (Exception e) { Logging.WriteError("CallPet() ERROR: " + Environment.NewLine + e); } return false; }
public static bool RevivePet() { try { if (!Me.IsCast && !Me.IsMounted && Me.ManaPercentage > 80 && _revivePet.KnownSpell && _revivePet.IsDistanceGood && _revivePet.IsSpellUsable) { Thread.Sleep(800); _revivePet.Launch(); Thread.Sleep(SpellManager.GlobalCooldownTimeLeft() + Usefuls.Latency); return true; } } catch (Exception e) { Logging.WriteError("RevivePet() ERROR: " + Environment.NewLine + e); } return false; }
-
Thanks for the information @arkhan. That is a big help, and I will test this out soon.
-
Hi, quick questions regarding this method to CheckPet() inside my fight class. The code below is somewhat a derivative from converting the Fight Class Editor into C#.
The mana required to use the spell "Revive Pet" varies based on level, If the player does not have enough mana, It will just keep spamming the ability until their is enough.
Is there a way to keep this from happening?I also am noticing the issue that when I mount or dismount, it will try and cast the Call Pet ability in that brief moment of getting on the mount, or jumping off every single
time (This also includes taxis). It even gets so bad that when I mount up and try to ride off, it dismounts me to use the ability, call pet again!So far I have had to comment this sort of thing out of my fight class all together as it was just more of hassle than to worry about it. I do believe it is important though if I
plan on using any portion of the bot like Grinder, Quester, Automaton, etc...Any help with the simple Pet Management would be greatly appreciated! Thanks!
internal void CheckPet() { if (ObjectManager.Me.IsDeadMe || Me.IsMounted || Me.IsStunned || Me.Pacified || Me.GetMove) return; if (!ObjectManager.Pet.IsValid) { _callPet.Launch(); // Call Pet } if (!ObjectManager.Pet.IsValid || ObjectManager.Pet.IsDead) { //if (Me.Mana >= 1040) _revivePet.Launch(true); // Revive Pet } }
-
No that was code from checking out reapler's project file and trying his Keyboard Hook class.
I have attached my log file, and an example plugin that uses the same code found by you on other threads to activate spells via key bind
-
Yeah I don't think KeyboardHook is working. I have tried using Target framework .NET Framework 4.5 as well as other later versions and it still cannot register hot key.
I also tried many different variations of hot key combinations. -
Would it be easier to create a small addon for WoW directly that communicates with the plugin? I don't have much knowledge integrated an addon with WRobot. How would one get/set variables from WRobot plugin data to an addon?
-
5 hours ago, Droidz said:
Yes I did. I have searched and tried everything from the forums that returned anything to do with keyboard events. I will double check the .Net framework version in a bit.
-
Yeah I cannot get WRobot's keyboard class to work either. Seen the examples throughout the forums though.
public class Main : IPlugin { private Wradar.InputHook.KeyboardHook _hook; private Keys _keyAdd = Keys.None; private Keys _keyRemove = Keys.None; public void Initialize() { _keyAdd = Keys.F5; _keyRemove = Keys.F6; _hook = new Wradar.InputHook.KeyboardHook(true); // Strange it doesn't work with this set as Global _hook.KeyDown += HookOnKeyDown; _isLaunched = true; } private void HookOnKeyDown(Keys key, bool shift, bool ctrl, bool alt) { Logging.WriteDebug("key = " + key); if (key == _keyAdd) { try { Logging.WriteDebug("Would you like to add ____ object to the collections list?"); } catch (Exception ex) { Logging.WriteError("HookOnKeyDown _keyAdd Error:\n" + ex); } } else if(key == _keyRemove) { try { Logging.WriteDebug("Would you like to remove ____ object from the collections list?"); } catch (Exception ex) { Logging.WriteError("HookOnKeyDown _keyRemove Error:\n" + ex); } } } public void Dispose() { try { if (_hook != null) { _hook.KeyDown -= HookOnKeyDown; _hook.Dispose(); } } catch { } _isLaunched = false; } }
-
I looked into the code and it seems you had used your own form events handling. I am using the WRobot's settings window from inside the class itself.
I don't think the InputHook catches anything while the game window has focus. I guess I am trying to catch the even from WRobot directly. -
-
I just keep getting the following in log
Quote[D] 13:26:25 - [Keyboard Hook] Couldn’t register the hot key.
-
I would like to have the ability to add or remove the nearest WoW game object to the collections list for my WRadar plugin using hotkeys, like "Shift+Insert" and "Shift+Delete".
-
Hello, is there a way to get keys pressed? I would like to have two "keybinds", to my plugin if it is at all possible?
[SOLVED] Move after Frost Nova - is it really that hard?
in WRobot for Wow Vanilla - Help and support
Posted
It simply checks the distance between the player and player target. If the distance between is < 8 yards, it will back pedal.
ManageMovement is a boolean option in my fight class settings.
I have not tried strafing, it would just seem pointless to strafe when I can achieve greater distance just back pedaling and not have to worry about character rotation.