private static void OnPreAttack(object sender, PreAttackEventArgs Args) { if (Args.Target != null && !Args.Target.IsDead && Args.Target.Type == GameObjectType.obj_AI_Hero && Args.Target.IsValidTarget() && Args.Target.Health > 0 && Q.Ready) { var target = Args.Target as Obj_AI_Hero; if (target != null && target.IsValidAutoRange()) { if (Orbwalker.Mode == OrbwalkingMode.Combo) { if (ComboOption.UseQ && AxeOption.GetSlider("CatchCount").Value >= AxeCount) { Q.Cast(); } } else if (Orbwalker.Mode == OrbwalkingMode.Mixed || Orbwalker.Mode == OrbwalkingMode.Laneclear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.ChampionName)) { if (HarassOption.UseQ) { if (AxeCount < 2) { Q.Cast(); } } } } } } }
private static void OnCancelValueChange(MenuComponent sender, ValueChangedArgs Args) { if (AxeOption.GetBool("CancelCatch").Enabled) { if (AxeOption.GetKey("CancelKey1").Enabled) { if (Game.TickCount - lastCatchTime > 1800) { lastCatchTime = Game.TickCount; } } } }
private static void OnCancelValueChange(object sender, EventArgs e) { var key = sender as MenuKeyBind; if (key != null && key.Active) { if (AxeOption.GetBool("CancelCatch").Enabled) { if (Variables.GameTimeTickCount - lastCatchTime > 1800) { lastCatchTime = Variables.GameTimeTickCount; } } } }
//private static void OnGapcloser(AIHeroClient target, GapcloserArgs Args) //{ // if (E.IsReady() && target != null && target.IsValidTarget(E.Range)) // { // switch (Args.Type) // { // case SpellType.Melee: // if (target.IsValidTarget(target.AttackRange + target.BoundingRadius + 100)) // { // var ePred = E.GetPrediction(target); // E.Cast(ePred.UnitPosition); // } // break; // case SpellType.Dash: // case SpellType.SkillShot: // case SpellType.Targeted: // { // var ePred = E.GetPrediction(target); // E.Cast(ePred.UnitPosition); // } // break; // } // } //} private static void OnAction(object sender, OrbwalkerActionArgs Args) { if (Args.Type == OrbwalkerType.BeforeAttack) { if (Args.Target == null || Args.Target.IsDead || !Args.Target.IsValidTarget() || Args.Target.Health <= 0 || !Q.IsReady()) { return; } switch (Args.Target.Type) { case GameObjectType.AIHeroClient: { var target = (AIHeroClient)Args.Target; if (target != null && target.InAutoAttackRange()) { if (Orbwalker.ActiveMode == OrbwalkerMode.Combo) { if (ComboOption.UseQ && AxeOption.GetSlider("CatchCount").Value >= AxeCount) { Q.Cast(); } } else if (Orbwalker.ActiveMode == OrbwalkerMode.Harass || Orbwalker.ActiveMode == OrbwalkerMode.LaneClear && MyManaManager.SpellHarass) { if (HarassOption.HasEnouguMana() && HarassOption.GetHarassTargetEnabled(target.CharacterName)) { if (HarassOption.UseQ) { if (AxeCount < 2) { Q.Cast(); } } } } } } break; } } }
private static void OnWndProc(GameWndProcEventArgs Args) { if (AxeOption.GetBool("CancelCatch").Enabled) { if (AxeOption.GetBool("CancelKey2").Enabled&& (Args.Msg == 516 || Args.Msg == 517)) { if (Variables.GameTimeTickCount - lastCatchTime > 1800) { lastCatchTime = Variables.GameTimeTickCount; } } if (AxeOption.GetBool("CancelKey3").Enabled&& Args.Msg == 519) { if (Variables.GameTimeTickCount - lastCatchTime > 1800) { lastCatchTime = Variables.GameTimeTickCount; } } } }
private static void OnWndProc(WndProcEventArgs Args) { if (AxeOption.GetBool("CancelCatch").Enabled) { if (AxeOption.GetBool("CancelKey2").Enabled&& (Args.Message == 516 || Args.Message == 517)) { if (Game.TickCount - lastCatchTime > 1800) { lastCatchTime = Game.TickCount; } } if (AxeOption.GetBool("CancelKey3").Enabled&& Args.Message == 0x20a) { if (Game.TickCount - lastCatchTime > 1800) { lastCatchTime = Game.TickCount; } } } }
private static void OnRender(EventArgs args) { if (Me.IsDead || MenuGUI.IsChatOpen || MenuGUI.IsShopOpen) { return; } if (DrawOption.GetBool("AxeRange").Enabled) { Render.Circle.DrawCircle(Game.CursorPos, AxeOption.GetSlider("CatchRange").Value, Color.FromArgb(0, 255, 161), 1); } if (DrawOption.GetBool("AxePosition").Enabled) { foreach (var axe in AxeList.Where(x => !x.Key.IsDead && x.Key.IsValid).Select(x => x.Key)) { if (axe != null && axe.IsValid) { Render.Circle.DrawCircle(axe.Position, 130, Color.FromArgb(86, 0, 255), 1); } } } }
private static void Initializer() { Q = new Spell(SpellSlot.Q); W = new Spell(SpellSlot.W); E = new Spell(SpellSlot.E, 950f); E.SetSkillshot(0.25f, 100f, 1400f, false, false, SkillshotType.Line); R = new Spell(SpellSlot.R, 3000f); R.SetSkillshot(0.4f, 160f, 2000f, false, false, SkillshotType.Line); ComboOption.AddMenu(); ComboOption.AddQ(); ComboOption.AddW(); ComboOption.AddE(); ComboOption.AddR(); ComboOption.AddBool("RSolo", "Use R | Solo Ks Mode"); ComboOption.AddBool("RTeam", "Use R| Team Fight"); HarassOption.AddMenu(); HarassOption.AddQ(); HarassOption.AddE(); HarassOption.AddMana(); HarassOption.AddTargetList(); LaneClearOption.AddMenu(); LaneClearOption.AddQ(); LaneClearOption.AddSliderBool("LaneClearECount", "Use E| Min Hit Count >= x", 4, 1, 7, true); LaneClearOption.AddMana(); JungleClearOption.AddMenu(); JungleClearOption.AddQ(); JungleClearOption.AddW(); JungleClearOption.AddE(); JungleClearOption.AddMana(); KillStealOption.AddMenu(); KillStealOption.AddE(); KillStealOption.AddR(); KillStealOption.AddTargetList(); AxeOption.AddMenu(); AxeOption.AddList("CatchMode", "Catch Axe Mode: ", new[] { "All", "Only Combo", "Off" }); AxeOption.AddSlider("CatchRange", "Catch Axe Range(Cursor center)", 2000, 180, 3000); AxeOption.AddSlider("CatchCount", "Max Axe Count <= x", 2, 1, 3); AxeOption.AddBool("CatchWSpeed", "Use W| When Axe Too Far"); AxeOption.AddBool("NotCatchKS", "Dont Catch| If Target Can KillAble(1-3 AA)"); AxeOption.AddBool("NotCatchTurret", "Dont Catch| If Axe Under Enemy Turret"); AxeOption.AddSliderBool("NotCatchMoreEnemy", "Dont Catch| If Enemy Count >= x", 3, 1, 5, true); AxeOption.AddBool("CancelCatch", "Enabled Cancel Catch Axe Key"); AxeOption.AddKey("CancelKey1", "Cancel Catch Key 1", Keys.G, KeyBindType.Press); AxeOption.AddBool("CancelKey2", "Cancel Catch Key 2(is right click)"); AxeOption.AddBool("CancelKey3", "Cancel Catch Key 3(is mouse scroll)", false); AxeOption.AddSeperator("Set Orbwalker->Misc->Hold Radius to 0 (will better)"); //GapcloserOption.AddMenu(); MiscOption.AddMenu(); MiscOption.AddBasic(); MiscOption.AddW(); MiscOption.AddBool("W", "WSlow", "Auto W| When Player Have Debuff(Slow)"); MiscOption.AddR(); MiscOption.AddSlider("R", "GlobalRMin", "Global -> Cast R Min Range", 1000, 500, 2500); MiscOption.AddSlider("R", "GlobalRMax", "Global -> Cast R Max Range", 3000, 1500, 3500); MiscOption.AddKey("R", "SemiRKey", "Semi-manual R Key", Keys.T, KeyBindType.Press); DrawOption.AddMenu(); DrawOption.AddE(E); DrawOption.AddR(R); DrawOption.AddBool("AxeRange", "Draw Catch Axe Range"); DrawOption.AddBool("AxePosition", "Draw Axe Position"); DrawOption.AddDamageIndicatorToHero(true, false, true, true, true); AxeOption.GetKey("CancelKey1").ValueChanged += OnCancelValueChange; Tick.OnTick += OnUpdate; Game.OnWndProc += OnWndProc; GameObject.OnCreate += (sender, args) => OnCreate(sender); GameObject.OnDelete += (sender, args) => OnDestroy(sender); //Gapcloser.OnGapcloser += OnGapcloser; Orbwalker.OnAction += OnAction; Drawing.OnDraw += OnRender; }
private static void CatchAxeEvent() { if (AxeList.Count == 0) { Orbwalker.SetOrbwalkerPosition(Vector3.Zero); return; } if (AxeOption.GetList("CatchMode").Index == 2 || AxeOption.GetList("CatchMode").Index == 1 && Orbwalker.ActiveMode != OrbwalkerMode.Combo) { Orbwalker.SetOrbwalkerPosition(Vector3.Zero); return; } var catchRange = AxeOption.GetSlider("CatchRange").Value; var bestAxe = AxeList.Where(x => !x.Key.IsDead && x.Key.IsValid && x.Key.Position.DistanceToCursor() <= catchRange) .OrderBy(x => x.Value) .ThenBy(x => x.Key.Position.DistanceToPlayer()) .ThenBy(x => x.Key.Position.DistanceToCursor()) .FirstOrDefault(); if (bestAxe.Key != null) { if (AxeOption.GetBool("NotCatchTurret").Enabled&& (Me.IsUnderEnemyTurret() && bestAxe.Key.Position.IsUnderEnemyTurret() || bestAxe.Key.Position.IsUnderEnemyTurret() && !Me.IsUnderEnemyTurret())) { return; } if (AxeOption.GetSliderBool("NotCatchMoreEnemy").Enabled&& (bestAxe.Key.Position.CountEnemyHeroesInRange(350) >= AxeOption.GetSliderBool("NotCatchMoreEnemy").Value || GameObjects.EnemyHeroes.Count(x => x.Distance(bestAxe.Key.Position) < 350 && x.IsMelee) >= AxeOption.GetSliderBool("NotCatchMoreEnemy").Value - 1)) { return; } if (AxeOption.GetBool("NotCatchKS").Enabled&& Orbwalker.ActiveMode == OrbwalkerMode.Combo) { var target = MyTargetSelector.GetTarget(800); if (target != null && target.IsValidTarget(800) && target.DistanceToPlayer() > target.BoundingRadius + Me.BoundingRadius + 200 && target.Health < Me.GetAutoAttackDamage(target) * 2.5 - 80) { Orbwalker.SetOrbwalkerPosition(Vector3.Zero); return; } } if (AxeOption.GetBool("CatchWSpeed").Enabled&& W.IsReady() && bestAxe.Key.Position.DistanceToPlayer() / Me.MoveSpeed * 1000 >= bestAxe.Value - Variables.GameTimeTickCount) { W.Cast(); } if (bestAxe.Key.Position.DistanceToPlayer() > 100) { if (Variables.GameTimeTickCount - lastCatchTime > 1800) { if (Orbwalker.ActiveMode != OrbwalkerMode.None) { Orbwalker.SetOrbwalkerPosition(bestAxe.Key.Position); } else { Me.IssueOrder(GameObjectOrder.MoveTo, bestAxe.Key.Position); } } else { if (Orbwalker.ActiveMode != OrbwalkerMode.None) { Orbwalker.SetOrbwalkerPosition(Vector3.Zero); } } } else { if (Orbwalker.ActiveMode != OrbwalkerMode.None) { Orbwalker.SetOrbwalkerPosition(Vector3.Zero); } } } else { if (Orbwalker.ActiveMode != OrbwalkerMode.None) { Orbwalker.SetOrbwalkerPosition(Vector3.Zero); } } }
private static void Initializer() { Q = new Aimtec.SDK.Spell(SpellSlot.Q); W = new Aimtec.SDK.Spell(SpellSlot.W); E = new Aimtec.SDK.Spell(SpellSlot.E, 950f); E.SetSkillshot(0.25f, 100f, 1400f, false, SkillshotType.Line); R = new Aimtec.SDK.Spell(SpellSlot.R, 3000f); R.SetSkillshot(0.4f, 160f, 2000f, false, SkillshotType.Line); ComboOption.AddMenu(); ComboOption.AddQ(); ComboOption.AddW(); ComboOption.AddE(); ComboOption.AddR(); ComboOption.AddBool("RSolo", "Use R | Solo Ks Mode"); ComboOption.AddBool("RTeam", "Use R| Team Fight"); HarassOption.AddMenu(); HarassOption.AddQ(); HarassOption.AddE(); HarassOption.AddMana(); HarassOption.AddTargetList(); LaneClearOption.AddMenu(); LaneClearOption.AddQ(); LaneClearOption.AddSliderBool("LaneClearECount", "Use E| Min Hit Count >= x", 4, 1, 7, true); LaneClearOption.AddMana(); JungleClearOption.AddMenu(); JungleClearOption.AddQ(); JungleClearOption.AddW(); JungleClearOption.AddE(); JungleClearOption.AddMana(); KillStealOption.AddMenu(); KillStealOption.AddE(); KillStealOption.AddR(); KillStealOption.AddTargetList(); AxeOption.AddMenu(); AxeOption.AddList("CatchMode", "Catch Axe Mode: ", new[] { "All", "Only Combo", "Off" }); AxeOption.AddSlider("CatchRange", "Catch Axe Range(Cursor center)", 2000, 180, 3000); AxeOption.AddSlider("CatchCount", "Max Axe Count <= x", 2, 1, 3); AxeOption.AddBool("CatchWSpeed", "Use W| When Axe Too Far"); AxeOption.AddBool("NotCatchKS", "Dont Catch| If Target Can KillAble(1-3 AA)"); AxeOption.AddBool("NotCatchTurret", "Dont Catch| If Axe Under Enemy Turret"); AxeOption.AddSliderBool("NotCatchMoreEnemy", "Dont Catch| If Enemy Count >= x", 3, 1, 5, true); AxeOption.AddBool("CancelCatch", "Enabled Cancel Catch Axe Key"); AxeOption.AddKey("CancelKey1", "Cancel Catch Key 1", KeyCode.G, KeybindType.Press); AxeOption.AddBool("CancelKey2", "Cancel Catch Key 2(is right click)"); AxeOption.AddBool("CancelKey3", "Cancel Catch Key 3(is mouse scroll)", false); AxeOption.AddSeperator("Set Orbwalker->Misc->Hold Radius to 0 (will better)"); GapcloserOption.AddMenu(); MiscOption.AddMenu(); MiscOption.AddBasic(); MiscOption.AddW(); MiscOption.AddBool("WSlow", "Auto W| When Player Have Debuff(Slow)"); MiscOption.AddE(); MiscOption.AddBool("EMelee", "Auto E| Anti Melee"); MiscOption.AddBool("ERengar", "Auto E| Anti Rengar"); MiscOption.AddBool("EKhazix", "Auto E| Anti Khazix"); MiscOption.AddR(); MiscOption.AddSlider("GlobalRMin", "Global -> Cast R Min Range", 1000, 500, 2500); MiscOption.AddSlider("GlobalRMax", "Global -> Cast R Max Range", 3000, 1500, 3500); MiscOption.AddKey("SemiRKey", "Semi R Key", KeyCode.T, KeybindType.Press); DrawOption.AddMenu(); DrawOption.AddE(E.Range); DrawOption.AddR(R.Range); DrawOption.AddBool("AxeRange", "Draw Catch Axe Range"); DrawOption.AddBool("AxePosition", "Draw Axe Position"); DrawOption.AddFarm(); DrawOption.AddEvent(); AxeOption.GetKey("CancelKey1").OnValueChanged += OnCancelValueChange; Game.OnUpdate += OnUpdate; Game.OnWndProc += OnWndProc; GameObject.OnCreate += OnCreate; GameObject.OnDestroy += OnDestroy; Obj_AI_Base.OnProcessSpellCast += OnProcessSpellCast; Gapcloser.OnGapcloser += OnGapcloser; Orbwalker.PreAttack += OnPreAttack; Orbwalker.PreMove += OnPreMove; Render.OnRender += OnRender; }