November 5, 20169 yr I know of the http://wrobot.eu/files/file/303-move-during-combat/ plugin but looking for something more specific? I was wondering if there's a piece of code I can run to make my character strafe if fighting a certain NPC or if I get a certain debuff? Or maybe even just on a timer to move every X seconds X feet/meters? Basically, there's a specific fight where a debuff I'm standing in kills me, all I have to do is move. Also, is there a way to run the Easy Quests Editor without it being tied to WRobot? Like how the fight class editor is; I can have that open and not have WRobot running.
November 8, 20169 yr Hello, like this: wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { var me = wManager.Wow.ObjectManager.ObjectManager.Me; var target = wManager.Wow.ObjectManager.ObjectManager.Target; if (me.IsAlive && target.IsAlive && !me.IsCast && me.HaveBuff("Buff name")) { wManager.Wow.Helpers.Keybindings.PressKeybindings(wManager.Wow.Enums.Keybindings.STRAFELEFT, 1000 * 3); // strage left during 3 secondes } }; (run this code only one time by wrobot session)
January 10, 20179 yr On 8-11-2016 at 5:56 PM, Droidz said: Hello, like this: wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { var me = wManager.Wow.ObjectManager.ObjectManager.Me; var target = wManager.Wow.ObjectManager.ObjectManager.Target; if (me.IsAlive && target.IsAlive && !me.IsCast && me.HaveBuff("Buff name")) { wManager.Wow.Helpers.Keybindings.PressKeybindings(wManager.Wow.Enums.Keybindings.STRAFELEFT, 1000 * 3); // strage left during 3 secondes } }; (run this code only one time by wrobot session) How to let this code run once and how to let it move to a position xyz?
January 10, 20179 yr You can replace PressKey... by wManager.Wow.Helpers.MovementManager.MoveTo(1, 2, 3);
January 10, 20179 yr 1 hour ago, Fableonian said: How to let this code run once and how to let it move to a position xyz? // Position we want to move to Vector3 position = new Vector3(1, 1, 1); // Move to the given position MovementManager.Go(PathFinder.FindPath(position), false); // Wait while (MovementManager.InMovement && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && ObjectManager.Me.HaveBuff(new Spell("NameOfTheSpell").Ids) { // Wait follow path Thread.Sleep(100); } This is an example for the movement to a specified position. Hope it helps. Edit: Aw droidz was faster :D
January 10, 20179 yr 4 hours ago, Droidz said: You can replace PressKey... by wManager.Wow.Helpers.MovementManager.MoveTo(1, 2, 3); It seems that it wants to work, but i think problem is now that since the condition is in combat that char wants to move and fight at the same time so you get a shakescreen.
January 10, 20179 yr Got it working now This is how my code looks like. wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { var pos = 1; var me = wManager.Wow.ObjectManager.ObjectManager.Me; var target = wManager.Wow.ObjectManager.ObjectManager.Target; if (me.IsAlive && target.IsAlive && pos == 1) { Vector3 position = new Vector3(3073.848f, -3116.693f, 294.0692f); // Move to the given position MovementManager.Go(PathFinder.FindPath(position), false); // Wait while (MovementManager.InMovement && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause) { // Wait follow path Thread.Sleep(3000); pos = 0; } } }; Char runs in position and when in position it kept on trying to keep that position while in combat. So to let it run once i added an extra var to it called 'pos' which i set to 1 After the 3sec he gets in position i change it to 0 so the if condition returns false.
January 11, 20179 yr You also could use this code: // Wait while (MovementManager.InMovement && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && ObjectManager.Me.Position.DistanceTo(position) > 1) { // Wait follow path Thread.Sleep(100); } // Still moving? if (MovementManager.InMovement) { // Stop MovementManager.StopMove(); } Edit: Oh nvm the problem is that you are using an event. You could also could check if you are still at the right position with: // Do we need to move? if(ObjectManager.Me.Position.DistanceTo(position) > 1) { // Move }
January 11, 20179 yr 11 hours ago, iMod said: You also could use this code: // Wait while (MovementManager.InMovement && Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && ObjectManager.Me.Position.DistanceTo(position) > 1) { // Wait follow path Thread.Sleep(100); } // Still moving? if (MovementManager.InMovement) { // Stop MovementManager.StopMove(); } Edit: Oh nvm the problem is that you are using an event. You could also could check if you are still at the right position with: // Do we need to move? if(ObjectManager.Me.Position.DistanceTo(position) > 1) { // Move } Is it possible to add an condition for a specific mob or boss if (me.IsAlive && target.IsAlive && !me.IsCast && me.HaveBuff("Buff name")) i want to add in this line a condition to only execute if fighting target (id) or (name)
January 11, 20179 yr Sure just get the mob object ObjectManager.Me.TargetObject.Name == "PizzaMob" if i'm not wrong OR ObjectManager.Me.TargetObject.Id == 1001 Not tested.
Create an account or sign in to comment