Jump to content

Matenia

Elite user
  • Posts

    2227
  • Joined

  • Last visited

Everything posted by Matenia

  1. Yes, try wManager.Wow.Helpers.Move.Backward(Move.MoveAction.DownKey, ); so it will press the key for 1000 ms (down). The ms is the time it will press it. With PressKey it will go up and down in 50ms (or 1000, or whatever) hence the movement you're seeing.
  2. Looks to me like you need to call the movement function with maybe 50ms instead of 1250.
  3. You actually need to set isTooClose to false again after the while loop and maybe give it a short Thread.Sleep(500) or so at the end of each iteration. Does the bot interrupt movement and then starts strafing again? Or is the strafing itself just choppy? I highly recommend getting Visual Studio and doing a basic C# tutorial (or even Java, they're essentially the same
  4. Edit: You just pasted the code somewhere... You need to move MovementEvents.OnMoveToPulse += MovementEvents_OnMoveToPulse; MovementEvents.OnMovementPulse += MovementEvents_OnMovementPulse; to your Initialize function. It needs to be called from somewhere...
  5. Well, I define the functions underneath. I assume you use the XML Fightclass editor and don't use a C# class/.cs file? You can define it just like you did in your example code. wManager.Events.MovementEvents.OnMovementPulse += (points, cancelable) => { if(isRunning) { cancelable.Cancel = true; } };
  6. Absolute pseudo code here! bool isRunning = false; while(ObjectManager.Target.GetDistance < 5){ isRunning = true; Move.StrafeLeft(Move.MoveAction.PressKey, 1250); } MovementEvents.OnMoveToPulse += MovementEvents_OnMoveToPulse; MovementEvents.OnMovementPulse += MovementEvents_OnMovementPulse; private static void MovementEvents_OnMovementPulse(List<Vector3> points, CancelEventArgs cancelable) { if(isRunning) { cancelable.Cancel = true; } } private static void MovementEvents_OnMoveToPulse(Vector3 point, CancelEventArgs cancelable) { if(isRunning) { cancelable.Cancel = true; } }
  7. Basically, for the entire duration that you take over movement (also OnMoveToPulse you'll probably need), you need to cancel all other movement events.
  8. MovementEvents.OnMovementPulse might be what you're looking for. Intercept all other events for a while, until you're done moving.
  9. Would you want it to auto-deny requests and such? I specifically didn't build anything for that, because usually addons handle all that.
  10. Lua.LuaDoString("Logout();"); Thread.Sleep(3 * 60 * 1000); Keyboard.PressKey(Memory.WowMemory.Memory.WindowHandle, Keys.Escape); Maybe that works. I guess it should. Might have to call Keyboard.PressKey on new thread. Such as private static async void TurnSpiritRezzOff() { await Task.Delay(30000); await Task.Run(() => { Keyboard.PressKey(Memory.WowMemory.Memory.WindowHandle, Keys.Escape); }); }
  11. I'm guessing you don't have a fightclass selected. Create one yourself or check if the website has one available for your class/spec.
  12. A "FollowPath" step in your quester should work
  13. That one works. He probably has it turned on by accident.
  14. Version 2.2

    1365 downloads

    No refunds - you are purchasing a digital copy of a product. For questions and bugreports, please reach out to me on Discord. I will continue working on this plugin and it will receive updates (which are included in the purchase). Any problems pathing? Disable all "Avoid Enemy" options. Installation instructions Features: can automatically buy food and drink (uses @reapler's database) can automatically choose your vendors and repairs (closest vendors and avoids high level zones) can automatically purchase ammunition (deactivated by default) automatically chooses the best quest reward for your class automatically equips better items, based on TBC "Pawn" stat weights - only uses base stats automatically equips bags and replaces them with bigger bags creates and uses bandages - will learn First Aid and train 1-150 trains Skinning and all useful weapons for your class (can be turned off) runs away from fight if you're likely to die (can be seen several times throughout the video - fails in cave sometimes)1 spirit rezz if chain dying ignore all combat if items are broken stop combat with evading mobs, friendly NPCs and friendly pets hearthstone if stuck (please read instructions) fully automated trainer choosing and training, goes every 4 levels after level 20 (if you have training turned on in wRobot) automatically use potions in combat stop combat with tapped targets stop combat if target is evading swim up if you are about to drown swim to shore before regen (if a safe spot can be found) teaches your bot how to use transports for shorter paths (supported so far: Deeprun Tram, Darnassus Portal/Ship) constant updates, you should re-download through your Rocketr link every evening This is a new multi-expansion, multi-functionality plugin. I wrote it to fix some of the inconveniences, bugs and "bot-like" behavior wRobot comes with sometimes. Down below is a list of features, that this plugin brings to the table. Any plugin that has the same/similar functionality to my public (free) plugins has been improved in functionality and CPU usage. Here you can find a 1:30 hour long video of a pure quester run from level 1-12 where you can see some of the plugin's functionality. The "running away" part of the plugin can sometimes be buggy within caves. 1Problems with "running away from combat" will occur in highly obstructed areas, such as caves, hills or anything else where your bot might have issues navigating (such as highly contested areas with tons of enemies). I have been trying (and still am) to improve this feature as much as I can, but if you aren't grinding with your bot (questing, gathering, etc) I recommend setting it to only run away if you pull more than x number of enemies Unstuck instructions Your hearthstone needs to be set to your current continent (anywhere on it) for the bot to find a path back to your regular grinding/questing spot, after using Hearthstone to get out of a "stuck" situation. If this is not the case, please disable that feature in the plugin settings. PURCHASE NOW - 1 IP only - 20.00€ NO UPGRADES POSSIBLE *If you run wRobot.exe through a proxy or VPN, this limits you - if you only run WoW.exe througher another IP, this is not a problem PURCHASE NOW - 10 IPs (limited to 1 wRobot license) - 30.00€ I, the owner and creator of this file, am in no way associated with the wRobot company. By purchasing this file, you agree to the contract of the purchasing website and that alone. Check out my other Fightclasses
  15. Because it's not smart enough to be used in arenas. Some people except PQR style with movement and such. The bot doesn't have anything to support that. At best you would have your bot on partymode standing still spamming some heals. But other people basically expect to run it with wRotation and only move while the bot plays the game for them. This is not what this fightclass is for. For your use case, I'd say go for it.
  16. For testing, I tried using this code (calling start and stop from a plugin). But nothing is ever logged, so I think ObjectManager.Me.InCombat is incorrectly returning false. It should be the same as this. public static bool AffectingCombat(this WoWLocalPlayer me) { return Lua.LuaDoString<bool>(@"return (UnitAffectingCombat(""player"") ~= nil)"); } public class RegenStop { private static WoWLocalPlayer Me = ObjectManager.Me; private static Engine engine; private static Regeneration regeneration = new Regeneration(); public static void Start() { FiniteStateMachineEvents.OnStartEngine += (Engine engine) => { RegenStop.engine = engine; }; FiniteStateMachineEvents.OnRunState += AntiRegenEventHandler; FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += AntiRegenEventHandler; } public static void Stop() { FiniteStateMachineEvents.OnRunState -= AntiRegenEventHandler; FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState -= AntiRegenEventHandler; } private static void AntiRegenEventHandler(Engine engine, State state, CancelEventArgs cancelable) { if (state.DisplayName == "Regeneration" && Me.InCombat) { Logging.WriteDebug("cancelling regen while in combat"); cancelable.Cancel = true; RegenStop.engine.RemoveStateByName("Regeneration"); ReenableRegen(); } } private static async void ReenableRegen() { await Task.Delay(10000); engine.AddState(regeneration); } }
  17. Well something sets Fight.InFight to true, and the bot targets the vendor, that is why my fightclass tries to cast Frostbolt (the debug logging). It logs as follows but then it still has the vendor targeted. That's the problem, I think.
  18. Example screenshot of this: This is a log of it just standing around and not fighting back. Potentially, this could be caused by me, but I don't think so. What could cause stucking in MovementManager when there is not even any walls around?
  19. Sometimes, you are still in combat with some mobs. However the bot will still enter combat state. This happens for example if you polymorph one attacker or if you call Fight.StopFight() (maybe because you want to cancel the fightclass to run away from the fight). The bot should not try to enter regen while still in combat and the bot should STOP regen if it's being attacked.
  20. Restart WoW + Bots every 4-5 hours. I honestly have the same problem and haven't really found a solution yet. It's possible that some collections somewhere are never cleaned up (or only partially), so iterations take longer, requiring more CPU power.
  21. This happened on Outland every day since day 1. They ban at least 50 accounts a day. It means nothing, because the bot isn't detected. It's just manual reports adding up. If their GMs actually put in any real work, they'd be banning 200 accounts a day. I've been botting on Warmane since day 1, got banned twice after never really logging out and staying in one spot for days.
  22. You have it correct. Now if you have a bool for your fightclass like this private bool _IsLaunched = false; private bool ChangeRange = false; private static WoWLocalPlayer Me = ObjectManager.Me; public float Range { get { if(ChangeRange) { return 29f; } return 5f; } } private void Pulse() { while(_IsLaunched) { //check if player not in combat yet, but bot wants to fight its current target //then set ChangeRange to true if target is further away than 12 yards, otherwise false ChangeRange = !Me.InCombat && Fight.InFight && ObjectManager.Target.GetDistance >= 12; Thread.Sleep(100); } } Then you need to call Pulse once in your Initialize method (in your fightclass). Pulse should basically be executing your rotation. You can take a look at existing fightclasses like Eeny's to get a better idea at how they work. Anyway, that should change your range accordingly. It's possible, that the bot won't react to this right away. If that's the case, you basically have to intercept events and change the range before they fire.
  23. public float Range { get { if(somethingInMyClass) { return 29f; } return 5f; } }
  24. If you convert your fightclass to C#, Range() is a getter, so you can set it dynamically.
  25. Hey, it just tried to attack a friendly flight master. I don't think there's anything interesting in the log, other than that around the same time, it blacklists the Plainstrider (that it did not have targeted). 14 Okt 2017 09H44.log.html
×
×
  • Create New...