December 29, 20178 yr Is there an "Additional C# Code" the will make the bot wait if your pet has the effect "Feed Pet Effect?" I have the bot feeding my pet finally, but it won't wait until for the buff's duration. I am using an addon to feed the Pet automatically.
December 31, 20178 yr Hello, try code like (not tested): static Main() { robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += delegate (Engine engine, State state, CancelEventArgs cancelable) { if (!string.IsNullOrWhiteSpace(state.DisplayName) && state.DisplayName == "Regeneration" && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect") && !state.NeedToRun) { while (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect")) { Thread.Sleep(800); } } }; }
December 31, 20178 yr Author @Droidz Is this how I would combine these two codes together? Or is that something that can't be done this way? static Main() { wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { if (unit.IsValid && ObjectManager.Target.IsTargetingMyPet && ObjectManager.Target.GetDistance <= 12) { wManager.Wow.Helpers.Move.Backward(Move.MoveAction.PressKey, 2000); } { robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += delegate (Engine engine, State state, CancelEventArgs cancelable) { if (!string.IsNullOrWhiteSpace(state.DisplayName) && state.DisplayName == "Regeneration" && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect") && !state.NeedToRun) { while (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect")) { Thread.Sleep(800); } }; }
December 31, 20178 yr static Main() { wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { if (unit.IsValid && ObjectManager.Target.IsTargetingMyPet && ObjectManager.Target.GetDistance <= 12) { wManager.Wow.Helpers.Move.Backward(Move.MoveAction.PressKey, 2000); } }; robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += delegate (Engine engine, State state, CancelEventArgs cancelable) { if (!string.IsNullOrWhiteSpace(state.DisplayName) && state.DisplayName == "Regeneration" && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect") && !state.NeedToRun) { while (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect")) { Thread.Sleep(800); } } }; }
December 31, 20178 yr https://wrobot.eu/forums/topic/7634-movement-follow-path-strafing-or-running-backwards/?do=findComment&comment=34860 it is better code to move back
December 31, 20178 yr Author So like this? I think I am understanding this a bit more know. I only know very little about #C from grade school like 12 years ago static Main() { wManager.Events.FightEvents.OnFightLoop += (unit, cancelable) => { var me = wManager.Wow.ObjectManager.ObjectManager.Me; if (wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && unit.IsValid && !me.IsCast && unit.IsGoodInteractDistance) // put here your conditions to running backwards { var p = robotManager.Helpful.Math.GetPosition2DOfAngleAndDistance(me.Position, robotManager.Helpful.Math.GetAngle(unit.Position, me.Position), wManager.Wow.Helpers.CustomClass.GetRange - unit.GetDistance - 12); var z = wManager.Wow.Helpers.PathFinder.GetZPosition(p); if (z != 0) { p.Z = z; wManager.Wow.Bot.Tasks.GoToTask.ToPosition(p, 3.5f, true, context => (wManager.Wow.Helpers.Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause)); } } }; }; robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += delegate (Engine engine, State state, CancelEventArgs cancelable) { if (!string.IsNullOrWhiteSpace(state.DisplayName) && state.DisplayName == "Regeneration" && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect") && !state.NeedToRun) { while (Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause && !Conditions.IsAttackedAndCannotIgnore && ObjectManager.Pet.IsValid && ObjectManager.Pet.IsAlive && ObjectManager.Pet.HaveBuff("Feed Pet Effect")) { Thread.Sleep(800); } } }; }
Create an account or sign in to comment