public void CastR(AIHeroClient target) { if (target != null && R.IsReady && !UltimateMenu.CheckBox("BlackList." + target.ChampionName)) { R.Cast(target); } }
public override void OnDraw() { if (UltimateMenu.CheckBox("NearMouse.Enabled") && UltimateMenu.CheckBox("NearMouse.Draw") && IsCastingR) { EloBuddy.SDK.Rendering.Circle.Draw(SharpDX.Color.Blue, UltimateMenu.Slider("NearMouse.Radius"), 1, MousePos); } base.OnDraw(); }
protected override void PermaActive() { Orbwalker.DisableMovement = IsCastingR; Orbwalker.DisableAttacking = IsCastingR || IsChargingQ; if (IsChargingQ) { var percentGrowth = Math.Max(0, Math.Min(1, ((Core.GameTickCount - Q.LastCastTime) / 1000f - Spells.Q.CastRangeGrowthStartTime) / Spells.Q.CastRangeGrowthDuration)); Q.Range = (int)((Spells.Q.CastRangeGrowthMax - Spells.Q.CastRangeGrowthMin) * percentGrowth + Spells.Q.CastRangeGrowthMin); } else { Q.Range = Spells.Q.CastRangeGrowthMax; } W.Width = Spells.W.CastRadiusSecondary; R.Range = 2000 + R.Instance.Level * 1200; Range = new[] { Q.IsReady?Spells.Q.CastRangeGrowthMax : 0f, W.IsReady ? W.Range + W.Radius : 0, E.IsReady ? E.Range : 0, MyHero.GetAutoAttackRange() }.Max(); if (Spells.E.Missile != null && !Spells.E.Missile.IsValidMissile()) { Spells.E.Missile = null; } Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Magical); if (IsCastingR) { if (Core.GameTickCount - R.LastCastTime > UltimateMenu.Slider("Delay")) { if (UltimateMenu.Slider("Mode") == 2 || (UltimateMenu.Slider("Mode") == 1 && TapKeyPressed)) { if (UltimateMenu.CheckBox("NearMouse.Enabled")) { var target = FindBestKillableTarget(MousePos, UltimateMenu.Slider("NearMouse.Radius")); if (target != null) { R.Cast(target); } } else { var target = FindBestKillableTarget(MyHero.Position, R.Range); if (target != null) { R.Cast(target); } } } } return; } TapKeyPressed = false; if (KeysMenu.KeyBind("TapKey") && R.IsReady && !IsCastingR) { R.Cast(); return; } base.PermaActive(); }
protected override void PermaActive() { if (IsCastingR) { IsCastingR = R.Instance.Name == "JhinRShot"; //MyHero.Spellbook.IsChanneling; } IsCharging = MyHero.HasBuff("JhinPassiveReload"); Orbwalker.DisableAttacking = IsCastingR; Orbwalker.DisableMovement = IsCastingR; if (R.IsReady && !IsCastingR) { Stacks = 4; } if (R.IsReady && !IsCastingR) { foreach (var enemy in UnitManager.ValidEnemyHeroes) { var isKillable = R.IsKillable(enemy); var predResult = R.GetPrediction(enemy); var predPos = predResult.CastPosition; LastPredictedPosition[enemy.NetworkId] = new Tuple <Vector3, bool>(predPos, isKillable); } } Range = 1300; Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Physical); Q.Type = SpellType.Targeted; if (IsCastingR) { if (TapKeyPressed || UltimateMenu.Slider("Mode") == 2) { CastR(); } return; } if (AutomaticMenu.CheckBox("Immobile")) { foreach (var enemy in E.EnemyHeroes) { var time = enemy.GetMovementBlockedDebuffDuration(); if (time > 0 && time * 1000 >= E.CastDelay) { E.Cast(enemy.Position); } } } base.PermaActive(); }
public void CastR() { if (!IsR1 && Core.GameTickCount - R.LastCastTime >= UltimateMenu.Slider("Delay")) { var rTargets = UnitManager.ValidEnemyHeroes.Where(h => R.InRange(h) && (!UltimateMenu.CheckBox("OnlyKillable") || R.IsKillable(h)) && LastRCone.IsInside(h)).ToList(); var targets = UltimateMenu.CheckBox("NearMouse.Enabled") ? rTargets.Where( h => h.IsInRange(MousePos, UltimateMenu.Slider("NearMouse.Radius"))).ToList() : rTargets; var target = TargetSelector.GetTarget(targets, DamageType.Physical); if (target != null) { var pred = R.GetPrediction(target); if (pred.HitChancePercent >= R.HitChancePercent && !R.WillHitYasuoWall(pred.CastPosition)) { MyHero.Spellbook.CastSpell(SpellSlot.R, pred.CastPosition); } } } }
public override void OnDraw() { if (UltimateMenu.CheckBox("NearMouse.Enabled") && UltimateMenu.CheckBox("NearMouse.Draw") && IsCastingR) { EloBuddy.SDK.Rendering.Circle.Draw(SharpDX.Color.Blue, UltimateMenu.Slider("NearMouse.Radius"), 1, MousePos); } if (DrawingsMenu.CheckBox("R.LastPredictedPosition") && (R.IsReady || IsCastingR)) { foreach (var enemy in EntityManager.Heroes.Enemies.Where(h => !h.IsValidTarget() && !h.IsDead && h.Health > 0 && LastPredictedPosition.ContainsKey(h.NetworkId))) { var tuple = LastPredictedPosition[enemy.NetworkId]; if (tuple.Item1.IsOnScreen() && tuple.Item2) { LastPredictedPositionText[enemy.NetworkId].Position = tuple.Item1.WorldToScreen() + new Vector2(-LastPredictedPositionText[enemy.NetworkId].Bounding.Width / 2f, 50f); LastPredictedPositionText[enemy.NetworkId].Draw(); EloBuddy.SDK.Rendering.Circle.Draw(SharpDX.Color.Red, 120, 1, tuple.Item1); } } } base.OnDraw(); }
public Jhin() { foreach (var enemy in EntityManager.Heroes.Enemies) { TextsInScreen.Add(enemy.NetworkId, new Text(enemy.ChampionName + " is R killable", new Font("Arial", 30F, FontStyle.Bold)) { Color = Color.Red }); TextsInHeroPosition.Add(enemy.NetworkId, new Text("R killable", new Font("Arial", 23F, FontStyle.Bold)) { Color = Color.Red }); LastPredictedPositionText.Add(enemy.NetworkId, new Text(enemy.ChampionName + " last predicted position", new Font("Arial", 23F, FontStyle.Bold)) { Color = Color.Red }); } Q = new SpellBase(SpellSlot.Q, SpellType.Targeted, 600) { Width = 450, Speed = 1800, CastDelay = 250, }; W = new SpellBase(SpellSlot.W, SpellType.Linear, 2500) { Width = 40, CastDelay = 750, Speed = 5000, AllowedCollisionCount = -1, }; E = new SpellBase(SpellSlot.E, SpellType.Circular, 750) { Width = 135, CastDelay = 250, Speed = 1600, }; R = new SpellBase(SpellSlot.R, SpellType.Linear, 3500) { Width = 65, CastDelay = 250, Speed = 5000, AllowedCollisionCount = -1, }; Evader.OnEvader += delegate { if (EvaderMenu.CheckBox("BlockW")) { LastBlockTick = Core.GameTickCount; } }; Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args) { if (sender.Owner.IsMe) { if (args.Slot == SpellSlot.W) { args.Process = Core.GameTickCount - LastBlockTick > 750; } } }; Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsMe) { switch (args.Slot) { case SpellSlot.W: W.LastCastTime = Core.GameTickCount; W.LastEndPosition = args.End; break; case SpellSlot.R: if (args.SData.Name == "JhinR") { IsCastingR = true; LastRCone = new Geometry.Polygon.Sector(sender.Position, args.End, (float)(45 * 2f * Math.PI / 175f), R.Range); Stacks = 4; } else if (args.SData.Name == "JhinRShot") { R.LastCastTime = Core.GameTickCount; TapKeyPressed = false; Stacks--; } break; } } }; Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args) { if (sender.IsValidTarget(E.Range) && sender.IsEnemy) { if (MyHero.Distance(args.Start, true) > MyHero.Distance(args.End)) { if (AutomaticMenu.CheckBox("E.Gapcloser") && MyHero.IsInRange(args.End, E.Range) && E.IsReady) { E.Cast(args.End); } if (MyHero.Distance(args.End, true) < (sender.GetAutoAttackRange(MyHero) * 1.5f).Pow()) { WShouldWaitTick = Core.GameTickCount; } } } }; MenuManager.AddSubMenu("Keys"); { KeysMenu.AddValue("TapKey", new KeyBind("R Tap Key", false, KeyBind.BindTypes.HoldActive, 'T')).OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args) { if (args.NewValue && R.IsLearned && (R.IsReady || IsCastingR) && R.EnemyHeroes.Count > 0) { TapKeyPressed = true; } }; KeysMenu.AddValue("UltKey", new KeyBind("R Key in game", false, KeyBind.BindTypes.HoldActive, 'R')).OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args) { if (args.NewValue && R.IsLearned && (R.IsReady || IsCastingR)) { Player.IssueOrder(GameObjectOrder.Stop, Player.Instance.ServerPosition); } }; ToggleManager.RegisterToggle( KeysMenu.AddValue("AutoW", new KeyBind("AutoW Toggle", false, KeyBind.BindTypes.PressToggle, 'K')), delegate { foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff)) { if (MiscMenu.CheckBox("AutoW." + enemy.ChampionName)) { CastW(enemy); } } }); } W.AddConfigurableHitChancePercent(); R.AddConfigurableHitChancePercent(); MenuManager.AddSubMenu("Combo"); { ComboMenu.AddValue("Q", new CheckBox("Use Q")); ComboMenu.AddValue("W", new CheckBox("Use W", false)); ComboMenu.AddValue("E", new CheckBox("Use E", false)); ComboMenu.AddValue("Items", new CheckBox("Use offensive items")); } MenuManager.AddSubMenu("Ultimate"); { UltimateMenu.AddStringList("Mode", "R AIM Mode", new[] { "Disabled", "Using TapKey", "Automatic" }, 3); UltimateMenu.AddValue("OnlyKillable", new CheckBox("Only attack if it's killable", false)); UltimateMenu.AddValue("Delay", new Slider("Delay between R's (in ms)", 0, 0, 1500)); UltimateMenu.AddValue("NearMouse", new GroupLabel("Near Mouse Settings")); UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("Only select target near mouse", false)); UltimateMenu.AddValue("NearMouse.Radius", new Slider("Near mouse radius", 500, 100, 1500)); UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("Draw near mouse radius")); } MenuManager.AddSubMenu("Harass"); { HarassMenu.AddValue("Q", new CheckBox("Use Q")); HarassMenu.AddValue("W", new CheckBox("Use W", false)); HarassMenu.AddValue("E", new CheckBox("Use E", false)); HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20)); } MenuManager.AddSubMenu("Clear"); { ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear")); { ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 5, 0, 10)); ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 6, 0, 10)); ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 5, 0, 10)); ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50)); } ClearMenu.AddValue("LastHit", new GroupLabel("LastHit")); { ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1); ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50)); } ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear")); { ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q")); ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W", false)); ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E", false)); ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20)); } } MenuManager.AddKillStealMenu(); { KillStealMenu.AddValue("Q", new CheckBox("Use Q")); KillStealMenu.AddValue("Qmin", new CheckBox("Use Q On Minions")); KillStealMenu.AddValue("W", new CheckBox("Use W")); KillStealMenu.AddValue("E", new CheckBox("Use E", false)); KillStealMenu.AddValue("R", new CheckBox("Use R")); } MenuManager.AddSubMenu("Automatic"); { AutomaticMenu.AddValue("E.Gapcloser", new CheckBox("Use E on hero gapclosing / dashing")); AutomaticMenu.AddValue("Immobile", new CheckBox("Use E on hero immobile")); AutomaticMenu.AddValue("Buffed", new CheckBox("Use W on hero with buff")); } MenuManager.AddSubMenu("Evader"); { EvaderMenu.AddValue("BlockW", new CheckBox("Block W to Evade")); } Evader.Initialize(); Evader.AddCrowdControlSpells(); Evader.AddDangerousSpells(); MenuManager.AddSubMenu("Misc"); { MiscMenu.AddValue("Champions", new GroupLabel("Allowed champions to use Auto W")); foreach (var enemy in EntityManager.Heroes.Enemies) { MiscMenu.AddValue("AutoW." + enemy.ChampionName, new CheckBox(enemy.ChampionName)); } } MenuManager.AddDrawingsMenu(); { Q.AddDrawings(false); W.AddDrawings(); E.AddDrawings(false); R.AddDrawings(); DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status")); DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable")); DrawingsMenu.AddValue("R.LastPredictedPosition", new CheckBox("Draw last predicted position")); } }
protected override void PermaActive() { if (IsCastingR) { IsCastingR = R.Instance.Name == "JhinRShot"; //MyHero.Spellbook.IsChanneling; } IsCharging = MyHero.HasBuff("JhinPassiveReload"); Orbwalker.DisableAttacking = IsCastingR; Orbwalker.DisableMovement = IsCastingR; if (R.IsReady && !IsCastingR) { Stacks = 4; } foreach (var enemy in UnitManager.ValidEnemyHeroes) { LastPredictedPosition[enemy.NetworkId] = new Tuple <Vector3, bool>(R.GetPrediction(enemy).CastPosition, R.IsKillable(enemy)); } Range = 1300; Target = TargetSelector.GetTarget(UnitManager.ValidEnemyHeroesInRange, DamageType.Physical); Q.Type = SpellType.Targeted; if (IsCastingR) { if (TapKeyPressed || UltimateMenu.Slider("Mode") == 2) { CastR(); } return; } if (AutomaticMenu.CheckBox("Buffed") && !IsCastingR) { foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff)) { CastW(enemy); } } if (AutomaticMenu.CheckBox("Immobile") && !IsCastingR) { foreach (var enemy in E.EnemyHeroes) { var time = enemy.GetMovementBlockedDebuffDuration(); if (time > 0 && time * 1000 >= E.CastDelay && E.IsReady && enemy.IsValidTarget(E.Range)) { E.Cast(enemy.Position); } } } if (AutomaticMenu.CheckBox("Immobile") && !IsCastingR) { foreach (var enemy in E.EnemyHeroes) { var teleportE = ObjectManager.Get <Obj_AI_Base>() .FirstOrDefault( x => x.IsEnemy && enemy.IsValidTarget(E.Range) && (x.HasBuff("teleport_target") || x.HasBuff("Pantheon_GrandSkyfall_Jump"))); if (teleportE != null) { E.Cast(teleportE.Position); } } } base.PermaActive(); }
public Xerath() { Q = new SpellBase(SpellSlot.Q, SpellType.Linear, 1500) { CastDelay = 500, Width = 100, }; W = new SpellBase(SpellSlot.W, SpellType.Circular, 1000) { CastDelay = 750, Width = 100,//Width = 250, }; E = new SpellBase(SpellSlot.E, SpellType.Linear, 1125) { CastDelay = 250, Speed = 1400, Width = 60, CollidesWithYasuoWall = true, AllowedCollisionCount = 0, }; R = new SpellBase(SpellSlot.R, SpellType.Circular, 5600) { Width = 190, CastDelay = 600, }; foreach (var enemy in EntityManager.Heroes.Enemies) { IsKillableOnEnemyPosition.Add(enemy.NetworkId, new Text("R KILLABLE", new Font("Arial", TextEnemyPositionSize, FontStyle.Bold)) { Color = Color.Red, }); IsKillableOnScreen.Add(enemy.NetworkId, new Text(enemy.BaseSkinName + " is killable", new Font("Arial", TextScreenSize, FontStyle.Bold)) { Color = Color.Red, }); } Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsMe) { switch (args.Slot) { case SpellSlot.Q: Q.LastCastTime = Core.GameTickCount; break; case SpellSlot.W: W.LastCastTime = Core.GameTickCount; W.LastEndPosition = args.End; break; case SpellSlot.E: E.LastCastTime = Core.GameTickCount; E.LastEndPosition = sender.Position + (args.End - sender.Position).Normalized() * E.Range; break; case SpellSlot.R: R.LastCastTime = Core.GameTickCount; TapKeyPressed = false; break; } } }; GameObject.OnCreate += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (missile != null && missile.SpellCaster.IsMe && missile.SData.Name.ToLower() == Spells.E.MissileName) { Spells.E.Missile = missile; } }; GameObject.OnDelete += delegate(GameObject sender, EventArgs args) { var missile = sender as MissileClient; if (missile != null && missile.SpellCaster.IsMe && missile.SData.Name.ToLower() == Spells.E.MissileName) { Spells.E.Missile = null; } }; Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args) { if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.End.Distance(MyHero, true) <= sender.Distance(MyHero, true)) { CastE(sender); } }; Dash.OnDash += delegate(Obj_AI_Base sender, Dash.DashEventArgs args) { if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.EndPos.Distance(MyHero, true) <= sender.Distance(MyHero, true)) { CastE(sender); } }; Interrupter.OnInterruptableSpell += delegate(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args) { if (sender.IsEnemy && AutomaticMenu.CheckBox("Interrupter")) { CastE(sender); } }; MenuManager.AddSubMenu("Keys"); { KeysMenu.AddValue("TapKey", new KeyBind("R Tap Key", false, KeyBind.BindTypes.HoldActive, 'T')).OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args) { if (args.NewValue && R.IsLearned) { TapKeyPressed = true; if (!IsCastingR) { R.Cast(); } } }; ToggleManager.RegisterToggle( KeysMenu.AddValue("StartWithCC", new KeyBind("Start with CC", false, KeyBind.BindTypes.PressToggle, 'L')), delegate { }); } Q.AddConfigurableHitChancePercent(); W.AddConfigurableHitChancePercent(); E.AddConfigurableHitChancePercent(); R.AddConfigurableHitChancePercent(); MenuManager.AddSubMenu("Combo"); { ComboMenu.AddValue("Q", new CheckBox("Use Q")); ComboMenu.AddValue("W", new CheckBox("Use W")); ComboMenu.AddValue("E", new CheckBox("Use E")); } MenuManager.AddSubMenu("Ultimate"); { UltimateMenu.AddStringList("Mode", "R AIM Mode", new[] { "Disabled", "Using TapKey", "Automatic" }, 2); UltimateMenu.AddValue("Delay", new Slider("Delay between R's (in ms)", 0, 0, 1500)); UltimateMenu.AddValue("NearMouse", new GroupLabel("Near Mouse Settings")); UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("Only select target near mouse", false)); UltimateMenu.AddValue("NearMouse.Radius", new Slider("Near mouse radius", 500, 100, 1500)); UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("Draw near mouse radius")); } MenuManager.AddSubMenu("Harass"); { HarassMenu.AddValue("Q", new CheckBox("Use Q", false)); HarassMenu.AddValue("W", new CheckBox("Use W", false)); HarassMenu.AddValue("E", new CheckBox("Use E", false)); HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25)); } MenuManager.AddSubMenu("Clear"); { ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear")); { ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 0, 0, 10)); ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 3, 0, 10)); ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50)); } ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear")); { ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q")); ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W")); ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E")); ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20)); } } MenuManager.AddKillStealMenu(); { KillStealMenu.AddValue("Q", new CheckBox("Use Q")); KillStealMenu.AddValue("W", new CheckBox("Use W")); KillStealMenu.AddValue("E", new CheckBox("Use E")); KillStealMenu.AddValue("R", new CheckBox("Use R", false)); } MenuManager.AddSubMenu("Automatic"); { AutomaticMenu.AddValue("Interrupter", new CheckBox("Use E on channeling spells")); AutomaticMenu.AddValue("Gapcloser", new CheckBox("Use E on hero gapclosing / dashing")); } MenuManager.AddDrawingsMenu(); { Q.AddDrawings(); W.AddDrawings(); E.AddDrawings(); R.AddDrawings(); DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable")); DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status")); } }
public Jhin() { foreach (var enemy in EntityManager.Heroes.Enemies) { TextsInScreen.Add(enemy.NetworkId, new Text(enemy.ChampionName + " 可击杀", new Font("Arial", 30F, FontStyle.Bold)) { Color = Color.Red }); TextsInHeroPosition.Add(enemy.NetworkId, new Text("R 可击杀", new Font("Arial", 23F, FontStyle.Bold)) { Color = Color.Red }); LastPredictedPositionText.Add(enemy.NetworkId, new Text(enemy.ChampionName + " 最后预知位置", new Font("Arial", 23F, FontStyle.Bold)) { Color = Color.Red }); } Q = new SpellBase(SpellSlot.Q, SpellType.Targeted, 600) { Width = 450, Speed = 1800, CastDelay = 250, }; W = new SpellBase(SpellSlot.W, SpellType.Linear, 2500) { Width = 40, CastDelay = 750, AllowedCollisionCount = -1, }; E = new SpellBase(SpellSlot.E, SpellType.Circular, 750) { Width = 135, CastDelay = 250, Speed = 1600, }; R = new SpellBase(SpellSlot.R, SpellType.Linear, 3500) { Width = 80, CastDelay = 200, Speed = 5000, AllowedCollisionCount = -1, }; Evader.OnEvader += delegate { if (EvaderMenu.CheckBox("BlockW")) { LastBlockTick = Core.GameTickCount; } }; Spellbook.OnCastSpell += delegate(Spellbook sender, SpellbookCastSpellEventArgs args) { if (sender.Owner.IsMe) { if (args.Slot == SpellSlot.W) { args.Process = Core.GameTickCount - LastBlockTick > 750; } } }; Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsMe) { switch (args.Slot) { case SpellSlot.W: W.LastCastTime = Core.GameTickCount; W.LastEndPosition = args.End; break; case SpellSlot.R: if (args.SData.Name == "JhinR") { IsCastingR = true; LastRCone = new Geometry.Polygon.Sector(sender.Position, args.End, (float)(60f * Math.PI / 180f), R.Range); Stacks = 4; } else if (args.SData.Name == "JhinRShot") { R.LastCastTime = Core.GameTickCount; TapKeyPressed = false; Stacks--; } break; } } }; Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args) { if (sender.IsValidTarget() && sender.IsEnemy) { if (MyHero.Distance(args.Start, true) > MyHero.Distance(args.End)) { if (AutomaticMenu.CheckBox("E.Gapcloser") && MyHero.IsInRange(args.End, E.Range)) { E.Cast(args.End); } if (MyHero.Distance(args.End, true) < (sender.GetAutoAttackRange(MyHero) * 1.5f).Pow()) { WShouldWaitTick = Core.GameTickCount; } } } }; MenuManager.AddSubMenu("Keys"); { KeysMenu.AddValue("TapKey", new KeyBind("R 半自动发射", false, KeyBind.BindTypes.HoldActive, 32)).OnValueChange += delegate(ValueBase <bool> sender, ValueBase <bool> .ValueChangeArgs args) { if (args.NewValue && R.IsLearned && IsCastingR) { TapKeyPressed = true; } }; ToggleManager.RegisterToggle( KeysMenu.AddValue("AutoW", new KeyBind("自动W开关", true, KeyBind.BindTypes.PressToggle, 'K')), delegate { foreach (var enemy in UnitManager.ValidEnemyHeroes.Where(TargetHaveEBuff)) { if (MyHero.ManaPercent >= MiscMenu.Slider("W.ManaPercent")) { if (MiscMenu.CheckBox("自动W." + enemy.ChampionName)) { CastW(enemy); } } } }); } W.AddConfigurableHitChancePercent(); R.AddConfigurableHitChancePercent(); MenuManager.AddSubMenu("Combo"); { ComboMenu.AddValue("Q", new CheckBox("Use Q")); ComboMenu.AddValue("E", new CheckBox("Use E")); ComboMenu.AddValue("Items", new CheckBox("Use offensive items")); ComboMenu.AddStringList("W", "Use W", new[] { "Never", "Only buffed enemies", "Always" }, 2); } MenuManager.AddSubMenu("Ultimate"); { UltimateMenu.AddStringList("Mode", "R 瞄准模式", new[] { "不使用", "使用扳机键", "自动" }, 2); UltimateMenu.AddValue("OnlyKillable", new CheckBox("只攻击可击杀目标")); UltimateMenu.AddValue("Delay", new Slider("R之间的延迟(毫秒)", 0, 0, 1500)); UltimateMenu.AddValue("NearMouse", new GroupLabel("鼠标附近设置")); UltimateMenu.AddValue("NearMouse.Enabled", new CheckBox("只选择鼠标附近目标", false)); UltimateMenu.AddValue("NearMouse.Radius", new Slider("靠近鼠标半径", 500, 100, 1500)); UltimateMenu.AddValue("NearMouse.Draw", new CheckBox("显示鼠标半径")); } MenuManager.AddSubMenu("Harass"); { HarassMenu.AddValue("Q", new CheckBox("Use Q")); HarassMenu.AddValue("W", new CheckBox("Use W", false)); HarassMenu.AddValue("E", new CheckBox("Use E", false)); HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 20)); } MenuManager.AddSubMenu("Clear"); { ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear")); { ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit is greater than {0}", 3, 0, 10)); ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit is greater than {0}", 5, 0, 10)); ClearMenu.AddValue("LaneClear.E", new Slider("Use E if hit is greater than {0}", 4, 0, 10)); ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50)); } ClearMenu.AddValue("LastHit", new GroupLabel("LastHit")); { ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1); ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50)); } ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear")); { ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q")); ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W")); ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E")); ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20)); } } MenuManager.AddKillStealMenu(); { KillStealMenu.AddValue("Q", new CheckBox("Use Q")); KillStealMenu.AddValue("W", new CheckBox("Use W")); KillStealMenu.AddValue("E", new CheckBox("Use E")); KillStealMenu.AddValue("R", new CheckBox("Use R")); } MenuManager.AddSubMenu("Automatic"); { AutomaticMenu.AddValue("E.Gapcloser", new CheckBox("Use E on hero gapclosing / dashing")); AutomaticMenu.AddValue("Immobile", new CheckBox("对无法移动目标使用E")); } MenuManager.AddSubMenu("Evader"); { EvaderMenu.AddValue("BlockW", new CheckBox("保留W进行躲避")); } Evader.Initialize(); Evader.AddCrowdControlSpells(); Evader.AddDangerousSpells(); MenuManager.AddSubMenu("Misc"); { MiscMenu.AddValue("W.ManaPercent", new Slider("最低蓝量百分比使用自动W", 10)); MiscMenu.AddValue("Champions", new GroupLabel("自动使用W英雄")); foreach (var enemy in EntityManager.Heroes.Enemies) { MiscMenu.AddValue("自动W." + enemy.ChampionName, new CheckBox(enemy.ChampionName)); } } MenuManager.AddDrawingsMenu(); { Q.AddDrawings(false); W.AddDrawings(); E.AddDrawings(false); R.AddDrawings(); DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status")); DrawingsMenu.AddValue("R.Killable", new CheckBox("显示可被R击杀的目标")); DrawingsMenu.AddValue("R.LastPredictedPosition", new CheckBox("显示预判敌人最后出现位置")); } }
public static void ConfigInitialize() { Menu = MainMenu.AddMenu("SardOpeia", "SardOpeia"); Menu.AddGroupLabel("SardOpeia v" + Program.AddonVersion + " by Marwanpro"); Menu.AddSeparator(); Menu.AddLabel("If you have any problem/bug/suggestion, post in forum"); Menu.AddLabel("Have a fun (And Free ELO) with this addon !"); // --- General Menu Todo: Fix and add missings features GeneralMenu = Menu.AddSubMenu("General Option", "MenuGeneral"); GeneralMenu.AddGroupLabel("General Tweak - Configure main options"); GeneralMenu.AddSeparator(); { GeneralMenu.Add("autouseE", new CheckBox("Spam E on Poisonned Target")); GeneralMenu.Add("useEifkillable", new CheckBox("Use E without poison if killable")); } // --- Draw Menu Todo: Check DrawMenu = Menu.AddSubMenu("Draw", "MenuDraw"); DrawMenu.AddGroupLabel("Draw - Show range circle arround you and other information"); DrawMenu.AddSeparator(); { DrawMenu.Add("drawQW", new CheckBox("Draw Q/W")); DrawMenu.Add("drawE", new CheckBox("Draw E Range")); DrawMenu.Add("drawR", new CheckBox("Draw Ultimate")); DrawMenu.AddSeparator(); DrawMenu.AddLabel("Green Circle: Spell Ready"); DrawMenu.AddLabel("Red Circle: Spell in Cooldown"); DrawMenu.AddLabel("Purple Circle (Q/W): Only Q or W ready"); DrawMenu.AddLabel("Yellow Circle (E): 0.5 sec of Cooldown"); DrawMenu.AddSeparator(); DrawMenu.AddLabel("Don't Forget to disable AA circle in OrbWalker's settings"); } // --- Combo Menu Todo : Add Delayer ComboMenu = Menu.AddSubMenu("Combo", "MenuCombo"); ComboMenu.AddGroupLabel("Combo"); ComboMenu.AddSeparator(); { ComboMenu.Add("comboQ", new CheckBox("Use Q")); ComboMenu.Add("comboW", new CheckBox("Use W")); ComboMenu.Add("comboE", new CheckBox("Use E")); } // --- Harass Menu Todo: Make it HarassMenu = Menu.AddSubMenu("Harass", "MenuHarass"); HarassMenu.AddGroupLabel("Harass - Auto Harass"); HarassMenu.AddSeparator(); { HarassMenu.Add("testa", new CheckBox("Test A")); } // --- Farm Menu Todo: Improve it FarmMenu = Menu.AddSubMenu("Farm", "MenuFarm"); FarmMenu.AddGroupLabel("Farm"); FarmMenu.AddSeparator(); { FarmMenu.Add("EtoFinishCreep", new CheckBox("E on Poisonned Creep (LastHit Mode)")); } // --- Ultimate Menu Todo: LOL UltimateMenu = Menu.AddSubMenu("Ultimate", "MenuUltimate"); UltimateMenu.AddGroupLabel("Ultimate Logic"); UltimateMenu.AddSeparator(); { UltimateMenu.AddLabel("Enable this option to allow this script to use your Ultimate"); UltimateMenu.Add("enableR", new CheckBox("Enable Ultimate Logic", false)); UltimateMenu.AddSeparator(); UltimateMenu.Add("RonGapcloser", new CheckBox("Use R on GapCloser", false)); UltimateMenu.Add("RtoInterrupt", new CheckBox("Use R to Interrupt", false)); UltimateMenu.Add("RonCombo", new CheckBox("Use R on Combo", false)); UltimateMenu.Add("FaceToUlt", new Slider("Minimum number of facing ennemies to use Ultimate", 3, 1, 5)); } }
public Syndra() { Q = new SpellBase(SpellSlot.Q, SpellType.Circular, 825) { CastDelay = 600, Width = Spells.Q.Width, }; W = new SpellBase(SpellSlot.W, SpellType.Circular, 950) { CastDelay = 250, Width = Spells.W.Width, Speed = 1450, }; E = new SpellBase(SpellSlot.E, SpellType.Cone, 675 + Spells.E.ExtraRange) { CastDelay = 250, Width = Spells.E.Level1Angle, Speed = 2500, }; QE = new SpellBase(SpellSlot.E, SpellType.Linear, Spells.QE.Range) { CastDelay = Spells.QE.CastDelay, Width = 60, Speed = Spells.QE.Speed, }; R = new SpellBase(SpellSlot.R, SpellType.Targeted, Spells.R.Level1Range); foreach (var enemy in EntityManager.Heroes.Enemies) { IsKillableOnEnemyPosition.Add(enemy.NetworkId, new Text("R KILLABLE", new Font("Arial", TextEnemyPositionSize, FontStyle.Bold)) { Color = Color.Red, }); IsKillableOnScreen.Add(enemy.NetworkId, new Text(enemy.BaseSkinName + " is killable", new Font("Arial", TextScreenSize, FontStyle.Bold)) { Color = Color.Red, }); } Obj_AI_Base.OnBasicAttack += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender == Target && (ModeManager.LastHit || ModeManager.Flee || ModeManager.Harass || ModeManager.LaneClear) && sender.IsValidTarget(1300) && sender.IsEnemy && sender.Type == GameObjectType.AIHeroClient) { if (Q.IsReady && sender.IsValidTarget(825)) { Q.Cast(sender.ServerPosition); } if (W.IsReady && sender.IsValidTarget(950)) { CastW(sender); } if (E.IsReady && sender.IsValidTarget(1300)) { CastE(sender); } } }; Obj_AI_Base.OnProcessSpellCast += delegate(Obj_AI_Base sender, GameObjectProcessSpellCastEventArgs args) { if (sender.IsMe) { switch (args.Slot) { case SpellSlot.Q: Q.LastEndPosition = args.End.IsInRange(sender, Q.Range) ? args.End : (MyHero.Position + (args.End - MyHero.Position).Normalized() * Q.Range); Q.LastCastTime = Core.GameTickCount; break; case SpellSlot.W: if (args.SData.Name.ToLower() == "syndrawcast") { W.LastEndPosition = args.End.IsInRange(sender, W.Range) ? args.End : (MyHero.Position + (args.End - MyHero.Position).Normalized() * W.Range); W.LastCastTime = Core.GameTickCount; } break; case SpellSlot.E: E.LastCastTime = Core.GameTickCount; break; } } { if (!sender.IsDashing() && sender == Target && (ModeManager.LastHit || ModeManager.Flee || ModeManager.Harass || ModeManager.LaneClear) && sender.IsValidTarget(1300) && sender.IsEnemy && sender.Type == GameObjectType.AIHeroClient) { if (Q.IsReady && sender.IsValidTarget(825)) { Q.Cast(sender.ServerPosition); } if (W.IsReady && sender.IsValidTarget(950)) { CastW(sender); } if (E.IsReady && sender.IsValidTarget(1300)) { CastE(sender); } } } }; GameObject.OnCreate += delegate(GameObject sender, EventArgs args) { var objBase = sender as Obj_AI_Base; if (objBase != null && Sphere.IsMySphere(objBase)) { Spheres.Add(new Sphere(objBase)); } }; Gapcloser.OnGapcloser += delegate(AIHeroClient sender, Gapcloser.GapcloserEventArgs args) { if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.End.Distance(MyHero, true) <= sender.Distance(MyHero, true) && args.End.Distance(MyHero, true) <= 900) { E.Cast(args.End); CastQE(sender); } }; Dash.OnDash += delegate(Obj_AI_Base sender, Dash.DashEventArgs args) { if (sender.IsEnemy && AutomaticMenu.CheckBox("Gapcloser") && args.EndPos.Distance(MyHero, true) <= sender.Distance(MyHero, true) && args.EndPos.Distance(MyHero, true) <= E.Range) { CastE(sender); CastQE(sender); } }; Interrupter.OnInterruptableSpell += delegate(Obj_AI_Base sender, Interrupter.InterruptableSpellEventArgs args) { if (sender.IsEnemy && AutomaticMenu.CheckBox("Interrupter")) { CastE(sender); CastQE(sender); } }; MenuManager.AddSubMenu("Keys"); { KeysMenu.AddValue("QE", new KeyBind("Use QE/WE on enemy near mouse", false, KeyBind.BindTypes.HoldActive, 'E')); ToggleManager.RegisterToggle( KeysMenu.AddValue("HarassToggle", new KeyBind("Harass Toggle", false, KeyBind.BindTypes.PressToggle, 'K')), delegate { if (!ModeManager.Combo) { Harass(HarassMenu); } }); } Q.AddConfigurableHitChancePercent(50); W.AddConfigurableHitChancePercent(60); QE.AddConfigurableHitChancePercent(75); MenuManager.AddSubMenu("Combo"); { ComboMenu.AddValue("Q", new CheckBox("Use Q")); ComboMenu.AddValue("W", new CheckBox("Use W")); ComboMenu.AddValue("E", new CheckBox("Use E")); ComboMenu.AddValue("QE", new CheckBox("Use QE")); ComboMenu.AddValue("WE", new CheckBox("Use WE")); } MenuManager.AddSubMenu("Ultimate"); { UltimateMenu.AddValue("BlackList", new GroupLabel("BlackList")); var hashSet = new HashSet <string>(); foreach (var enemy in EntityManager.Heroes.Enemies.Where(enemy => hashSet.Add(enemy.ChampionName))) { UltimateMenu.AddValue("BlackList." + enemy.ChampionName, new CheckBox(enemy.ChampionName)); } } MenuManager.AddSubMenu("Harass"); { HarassMenu.AddValue("Turret", new CheckBox("Don't harass under enemy turret")); HarassMenu.AddValue("Q", new CheckBox("Use Q")); HarassMenu.AddValue("W", new CheckBox("Use W", false)); HarassMenu.AddValue("E", new CheckBox("Use E", false)); HarassMenu.AddValue("QE", new CheckBox("Use QE", false)); HarassMenu.AddValue("WE", new CheckBox("Use WE", false)); HarassMenu.AddValue("ManaPercent", new Slider("Minimum Mana Percent", 25)); } MenuManager.AddSubMenu("Clear"); { ClearMenu.AddValue("LaneClear", new GroupLabel("LaneClear")); { ClearMenu.AddValue("LaneClear.Q", new Slider("Use Q if hit >= {0}", 3, 0, 10)); ClearMenu.AddValue("LaneClear.W", new Slider("Use W if hit >= {0}", 3, 0, 10)); ClearMenu.AddValue("LaneClear.ManaPercent", new Slider("Minimum Mana Percent", 50)); } ClearMenu.AddValue("LastHit", new GroupLabel("LastHit")); { ClearMenu.AddStringList("LastHit.Q", "Use Q", new[] { "Never", "Smartly", "Always" }, 1); ClearMenu.AddValue("LastHit.ManaPercent", new Slider("Minimum Mana Percent", 50)); } ClearMenu.AddValue("JungleClear", new GroupLabel("JungleClear")); { ClearMenu.AddValue("JungleClear.Q", new CheckBox("Use Q")); ClearMenu.AddValue("JungleClear.W", new CheckBox("Use W")); ClearMenu.AddValue("JungleClear.E", new CheckBox("Use E")); ClearMenu.AddValue("JungleClear.ManaPercent", new Slider("Minimum Mana Percent", 20)); } } MenuManager.AddKillStealMenu(); { KillStealMenu.AddValue("Q", new CheckBox("Use Q")); KillStealMenu.AddValue("W", new CheckBox("Use W")); KillStealMenu.AddValue("E", new CheckBox("Use E")); KillStealMenu.AddValue("R", new CheckBox("Use R", false)); } MenuManager.AddSubMenu("Automatic"); { AutomaticMenu.AddValue("Interrupter", new CheckBox("Use E on channeling spells")); AutomaticMenu.AddValue("Gapcloser", new CheckBox("Use E on hero gapclosing / dashing")); } MenuManager.AddSubMenu("Misc"); { MiscMenu.AddValue("QE.ReducedRange", new Slider("Less QE Range", 0, 0, 650)); } MenuManager.AddDrawingsMenu(); { Q.AddDrawings(); W.AddDrawings(); QE.AddDrawings(); R.AddDrawings(); DrawingsMenu.AddValue("R.Killable", new CheckBox("Draw text if target is r killable")); DrawingsMenu.AddValue("Toggles", new CheckBox("Draw toggles status")); DrawingsMenu.AddValue("E.Lines", new CheckBox("Draw lines for E")); } foreach (var sphere in ObjectManager.Get <Obj_AI_Minion>().Where(o => o.IsValid && o.IsVisible && !o.IsDead && Sphere.IsMySphere(o))) { Spheres.Add(new Sphere(sphere)); } }
public static void Game_OnGameLoad() { if (Player.ChampionName != ChampionName) { return; } #region Spells Q = new LeagueSharp.Common.Spell(SpellSlot.Q, 1000f); Q.SetSkillshot(0.7f, 55f, float.MaxValue, true, SkillshotType.SkillshotLine); W = new LeagueSharp.Common.Spell(SpellSlot.W, 610f); W.SetTargetted(0.103f, 550f); E = new LeagueSharp.Common.Spell(SpellSlot.E, 610f); E.SetTargetted(.5f, 550f); R = new LeagueSharp.Common.Spell(SpellSlot.R); R.SetSkillshot(2.5f, 450f, float.MaxValue, false, SkillshotType.SkillshotCircle); #endregion #region Items/SummonerSpells IgniteSlot = Player.GetSpellSlot("summonerdot"); HealthPot = new Items.Item(2003, 0); BiscuitOfRej = new Items.Item(2010, 0); TearOfGod = new Items.Item(3070, 0); Manamune = new Items.Item(3004, 0); Seraph = new Items.Item(3040, 0); Archangel = new Items.Item(3003, 0); Flask = new Items.Item(2031, 0); Flask1 = new Items.Item(2032, 0); Flask2 = new Items.Item(2033, 0); HexGunBlade = new Items.Item(3146, 600f); HexProtobelt = new Items.Item(3152, 300f); HexGLP = new Items.Item(3030, 300f); #endregion #region Menu menu = MainMenu.AddMenu("SurvivorRyze", "SurvivorRyze"); ComboMenu = menu.AddSubMenu("Combo", "Combo"); ComboMenu.Add("ComboMode", new ComboBox("Combo Mode:", 0, "Burst", "Survivor Mode (Shield)")); ComboMenu.Add("CUseQ", new CheckBox("Cast Q")); ComboMenu.Add("CUseW", new CheckBox("Cast W")); ComboMenu.Add("CUseE", new CheckBox("Cast E")); ComboMenu.Add("CBlockAA", new CheckBox("Block AA in Combo Mode")); ComboMenu.Add("Combo2TimesMana", new CheckBox("Champion needs to have mana for atleast 2 times (Q/W/E)?")); ComboMenu.Add("CUseR", new CheckBox("Ultimate (R) in Ultimate Menu")); ComboMenu.Add("CUseIgnite", new CheckBox("Use Ignite (Smart)")); HarassMenu = menu.AddSubMenu("Harass", "Harass"); HarassMenu.Add("HarassQ", new CheckBox("Use Q")); HarassMenu.Add("HarassW", new CheckBox("Use W", false)); HarassMenu.Add("HarassE", new CheckBox("Use E", false)); HarassMenu.Add("HarassManaManager", new Slider("Mana Manager (%)", 30, 1, 100)); LaneClearMenu = menu.AddSubMenu("Lane Clear", "LaneClear"); LaneClearMenu.Add("UseQLC", new CheckBox("Use Q to LaneClear")); LaneClearMenu.Add("UseELC", new CheckBox("Use E to LaneClear")); LaneClearMenu.Add("LaneClearManaManager", new Slider("Mana Manager (%)", 30, 1, 100)); ItemsMenu = menu.AddSubMenu("Items Menu", "ItemsMenu"); ItemsMenu.AddGroupLabel("Tear Stacking : "); ItemsMenu.Add("StackTear", new CheckBox("Stack Tear in Fountain?")); ItemsMenu.Add("StackTearNF", new CheckBox("Stack Tear if Blue Buff?")); ItemsMenu.AddGroupLabel("Seraph's Embrace : "); ItemsMenu.Add("UseSeraph", new CheckBox("Use [Seraph's Embrace]?")); ItemsMenu.Add("UseSeraphIfEnemiesAreNearby", new CheckBox("Use [Seraph's Embrace] only if Enemies are nearby?")); ItemsMenu.Add("UseSeraphAtHP", new Slider("Activate [Seraph's Embrace] at HP %?", 15, 0, 100)); ItemsMenu.AddGroupLabel("Potions : "); ItemsMenu.Add("UseHPPotion", new Slider("Use HP Potion/Biscuit/Flask at % Health", 15, 0, 100)); ItemsMenu.Add("UseItemFlask", new CheckBox("Use Flasks If You don't have Potions?")); ItemsMenu.Add("UsePotionOnlyIfEnemiesAreInRange", new CheckBox("Use Potions/Flasks only if Enemies are nearby?")); ItemsMenu.AddGroupLabel("Gunblade : "); ItemsMenu.Add("UseHexGunBlade", new CheckBox("Use [Hextech Gunblade]?")); ItemsMenu.Add("HexGunBladeAtHP", new Slider("Use [Hextech Gunblade] at HP %?", 25, 0, 100)); ItemsMenu.AddGroupLabel("Protobelt : "); ItemsMenu.Add("UseHexProtobelt", new CheckBox("Use [Hextech Protobelt-01]?")); ItemsMenu.Add("HexProtobeltAtHP", new Slider("Use [Hextech Protobelt-01] at HP %?", 25, 0, 100)); ItemsMenu.AddGroupLabel("GLP-800 : "); ItemsMenu.Add("UseHexGLP", new CheckBox("Use [Hextech GLP-800]?")); ItemsMenu.Add("HexGLPAtHP", new Slider("Use [Hextech GLP-800] at HP %?", 25, 0, 100)); HitChanceMenu = menu.AddSubMenu("HitChance Menu", "HitChance"); HitChanceMenu.Add("HitChance", new ComboBox("Hit Chance", 0, "Medium", "High", "Very High")); UltimateMenu = menu.AddSubMenu("Ultimate Menu", "UltMenu"); UltimateMenu.Add("UseR", new KeyBind("Use R Automatically (Beta)", false, KeyBind.BindTypes.HoldActive, 'G')); MiscMenu = menu.AddSubMenu("Misc Menu", "MiscMenu"); MiscMenu.Add("KSQ", new CheckBox("Use Q to KS")); MiscMenu.Add("KSW", new CheckBox("Use W to KS")); MiscMenu.Add("KSE", new CheckBox("Use E to KS")); MiscMenu.Add("InterruptWithW", new CheckBox("Use W to Interrupt Channeling Spells")); MiscMenu.Add("WGapCloser", new CheckBox("Use W on Enemy GapCloser (Irelia's Q)")); MiscMenu.Add("ChaseWithR", new CheckBox("Use R to Chase (Being Added)")); MiscMenu.Add("EscapeWithR", new CheckBox("Use R to Escape (Ultimate Menu)")); AutoLevelerMenu = menu.AddSubMenu("AutoLeveler Menu", "AutoLevelerMenu"); AutoLevelerMenu.Add("AutoLevelUp", new CheckBox("AutoLevel Up Spells?")); AutoLevelerMenu.Add("AutoLevelUp1", new ComboBox("First: ", 3, "Q", "W", "E", "R")); AutoLevelerMenu.Add("AutoLevelUp2", new ComboBox("Second: ", 0, "Q", "W", "E", "R")); AutoLevelerMenu.Add("AutoLevelUp3", new ComboBox("Third: ", 2, "Q", "W", "E", "R")); AutoLevelerMenu.Add("AutoLevelUp4", new ComboBox("Fourth: ", 1, "Q", "W", "E", "R")); AutoLevelerMenu.Add("AutoLvlStartFrom", new Slider("AutoLeveler Start from Level: ", 2, 1, 6)); DrawingMenu = menu.AddSubMenu("Drawing", "Drawing"); DrawingMenu.Add("DrawQ", new CheckBox("Draw Q Range")); DrawingMenu.Add("DrawWE", new CheckBox("Draw W/E Range")); DrawingMenu.Add("DrawR", new CheckBox("Draw R Range", false)); #endregion #region Subscriptions Drawing.OnDraw += Drawing_OnDraw; Game.OnUpdate += Game_OnUpdate; Obj_AI_Base.OnLevelUp += Obj_AI_Base_OnLevelUp; Interrupter2.OnInterruptableTarget += Interrupter2_OnInterruptableTarget; AntiGapcloser.OnEnemyGapcloser += AntiGapcloser_OnEnemyGapcloser; #endregion Chat.Print("<font color='#800040'>[SurvivorSeries] Ryze</font> <font color='#ff6600'>Loaded.</font>"); }