private static void BuyItems() { if (Player.InFountain() && Player.Gold > 325 && !BoughtItems[0]) { //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(1001)).Send(); Player.BuyItem(ItemId.Boots_of_Speed); BoughtItems[0] = true; } if (Player.InShop() && Player.Gold > 475 && BoughtItems[0] && !BoughtItems[1]) { //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(3117)).Send(); Player.BuyItem(ItemId.Boots_of_Mobility); BoughtItems[1] = true; } if (Player.InShop() && Player.Gold > 475 && BoughtItems[1] && !BoughtItems[2]) { //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(3270)).Send(); Player.BuyItem(ItemId.Boots_of_Mobility_Enchantment_Homeguard); BoughtItems[2] = true; } if (Player.InShop() && Player.Gold > 950 && BoughtItems[2] && !BoughtItems[3]) { //Packet.C2S.BuyItem.Encoded(new Packet.C2S.BuyItem.Struct(3086)).Send(); Player.BuyItem(ItemId.Aether_Wisp); BoughtItems[3] = true; } if (Player.InShop() && Player.Gold > 1100 && BoughtItems[3]) { Player.BuyItem(ItemId.Zeal); } }
public static void buyNext() { if (!finished) { return; } if (!gotStartingItems && player.Level < 4) { //Console.WriteLine("buye starting!"); foreach (var item in curBuild.startingItems) { player.BuyItem(item); } gotStartingItems = true; } else { willGoOverItem = false; var best = getBestBuyItem(); if (best == -1) { return; } //if (willGoOverItem || !inventoryFull()) player.BuyItem((ItemId)best); // else // { // Console.WriteLine("wont buy"); // } } }
private static void BlueOrb() { if (Config.Item("bT").GetValue <bool>() && Player.Level >= Config.Item("bluetrinketlevel").GetValue <Slider>().Value&& Player.InShop() && !(Items.HasItem(3342) || Items.HasItem(3363))) { Player.BuyItem(ItemId.Scrying_Orb_Trinket); } }
private static void Game_OnGameUpdate(EventArgs args) { Orbwalker.SetAttack(true); //COMBO if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Combo(); if (Config.Item("AinQ").GetValue <bool>()) { foreach (Obj_AI_Hero target in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range))) { if (target != null) { if (Q.CanCast(target) && UnitIsImmobileUntil(target) >= Q.Delay - 0.5) { Q.Cast(target); } } } } if (Config.Item("AinW").GetValue <bool>()) { foreach (Obj_AI_Hero target in HeroManager.Enemies.Where(x => x.IsValidTarget(W.Range))) { if (target != null) { if (W.CanCast(target) && UnitIsImmobileUntil(target) >= W.Delay - 0.5) { W.Cast(target); } } } } } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { Harass(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { Clear(); } if (Config.Item("ksR").GetValue <bool>()) { Killsteal(); } if (Config.Item("bT").GetValue <bool>() && Player.Level >= Config.Item("bluetrinketlevel").GetValue <Slider>().Value&& Player.InShop() && !(Items.HasItem(3342) || Items.HasItem(3363))) { Player.BuyItem(ItemId.Scrying_Orb_Trinket); } }
private static void Menu() { myMenu = new Menu("Trinket Exploit", "TrinketExploit", true); myMenu.AddItem(new MenuItem("buyBlue", "Buy Farsight Alteration (blue)").SetValue(false)).ValueChanged += (s, ar) => { if (ar.GetNewValue <bool>()) { Game.PrintChat("Farsight Alteration Buy !"); myHero.BuyItem(ItemId.Warding_Totem_Trinket); myHero.BuyItem(ItemId.Farsight_Orb_Trinket); } }; myMenu.AddItem(new MenuItem("buyRed", "Buy Oracle Alteration (red)").SetValue(false)).ValueChanged += (s, ar) => { if (ar.GetNewValue <bool>()) { Game.PrintChat("Farsight Alteration Buy !"); myHero.BuyItem(ItemId.Sweeping_Lens_Trinket); myHero.BuyItem(ItemId.Oracles_Lens_Trinket); } }; myMenu.AddToMainMenu(); }
private static void Game_OnGameUpdate(EventArgs args) { Orbwalker.SetAttack(true); //COMBO if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { Combo(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Mixed) { Harass(); } if (Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.LaneClear) { Clear(); } if (Config.Item("ksR").GetValue <bool>()) { Killsteal(); } if (Config.Item("bT").GetValue <bool>() && Player.Level >= Config.Item("bluetrinketlevel").GetValue <Slider>().Value&& Player.InShop() && !(Items.HasItem(3342) || Items.HasItem(3363))) { Player.BuyItem(ItemId.Scrying_Orb_Trinket); } if (Config.Item("AinR").GetValue <bool>()) { foreach (Obj_AI_Hero target in HeroManager.Enemies.Where(x => x.IsValidTarget(R.Range))) { if (target != null) { if (R.CanCast(target) && UnitIsImmobileUntil(target) >= R.Delay - 0.5 && R.GetPrediction(target).Hitchance >= HitChance.VeryHigh) { if (Player.Buffs.Count(b => b.Name == "kogmawlivingartillery") < 6) { R.Cast(target); } } } } } }
public static void ScrybingOrb() { var level = Config.Item("miscMenu.scrybebuylevel").GetValue <Slider>().Value; var buy = Config.Item("miscMenu.scrybebuy").GetValue <bool>(); if (!buy) { return; } if (hasbought) { return; } if (!(Items.HasItem(ItemId.Scrying_Orb_Trinket.ToString()) || Items.HasItem(ItemId.Farsight_Orb_Trinket.ToString())) && Player.InShop() && Player.Level >= level) { Player.BuyItem(ItemId.Scrying_Orb_Trinket); hasbought = true; } }
private static void Game_OnUpdate(EventArgs args) { if (!Activator.Origin.Item("autotrinket").GetValue <bool>()) { return; } if (Utils.GameTimeTickCount - Limiter < 1000 || !Upgrade) { return; } if (MenuGUI.IsShopOpen) { if (Player.InShop() || Player.IsDead) { if (TrinketId == 3340 && !LeagueSharp.Common.Items.HasItem(3363)) { if (Helpers.GetRole(Player) == PrimaryRole.Marksman) { if (Player.BuyItem((ItemId)3363)) { Upgrade = false; } } if (Helpers.GetRole(Player) == PrimaryRole.Mage) { if (Player.BuyItem((ItemId)3363)) { Upgrade = false; } } } if (TrinketId == 3340 && !LeagueSharp.Common.Items.HasItem(3364)) { if (Helpers.GetRole(Player) == PrimaryRole.Assassin) { if (Player.BuyItem((ItemId)3364)) { Upgrade = false; } } if (_hazstone) { if (Player.BuyItem((ItemId)3364)) { Upgrade = false; } } } if (TrinketId == 3341 && !LeagueSharp.Common.Items.HasItem(3364)) { if (Player.BuyItem((ItemId)3364)) { Upgrade = false; } } } } Limiter = Utils.GameTimeTickCount; }
public static void OnUpdate(EventArgs args) { if (E.IsReady() && ComboMenu.Item("ManualE").GetValue <KeyBind>().Active) { foreach (var hero in Heroes.EnemyHeroes.Where(h => h.Distance(Player) < 550)) { var prediction = E.GetPrediction(hero); for (var i = 40; i < 425; i += 125) { var flags = NavMesh.GetCollisionFlags( prediction.UnitPosition.To2D() .Extend( Player.ServerPosition.To2D(), -i) .To3D()); if (flags.HasFlag(CollisionFlags.Wall) || flags.HasFlag(CollisionFlags.Building)) { E.Cast(hero); return; } } } } if (E.IsReady() && Orbwalker.ActiveMode == MyOrbwalker.OrbwalkingMode.Combo) { Condemn(); } if (SkinhackMenu.Item("enableskinhack").GetValue <bool>()) { SkinHax(); } if (_canWallTumble && ComboMenu.Item("QWall").GetValue <bool>() && Q.IsReady() && Player.Distance(_dragPreV3) < 500) { DragWallTumble(); } if (_canWallTumble && ComboMenu.Item("QWall").GetValue <bool>() && Q.IsReady() && Player.Distance(_midPreV3) < 500) { MidWallTumble(); } if (Player.HasBuff("rengarralertsound")) { if (Items.HasItem((int)ItemId.Oracles_Lens_Trinket, Player) && Items.CanUseItem((int)ItemId.Oracles_Lens_Trinket)) { Items.UseItem((int)ItemId.Oracles_Lens_Trinket, Player.Position); } else if (Items.HasItem((int)ItemId.Vision_Ward, Player)) { Items.UseItem((int)ItemId.Vision_Ward, Player.Position.Randomize(0, 125)); } } var enemyVayne = Heroes.EnemyHeroes.FirstOrDefault(e => e.CharData.BaseSkinName == "Vayne"); if (enemyVayne != null && enemyVayne.Distance(Player) < 700 && enemyVayne.HasBuff("VayneInquisition")) { if (Items.HasItem((int)ItemId.Oracles_Lens_Trinket, Player) && Items.CanUseItem((int)ItemId.Oracles_Lens_Trinket)) { Items.UseItem((int)ItemId.Oracles_Lens_Trinket, Player.Position); } else if (Items.HasItem((int)ItemId.Vision_Ward, Player)) { Items.UseItem((int)ItemId.Vision_Ward, Player.Position.Randomize(0, 125)); } } if (Player.InFountain() && ComboMenu.Item("AutoBuy").GetValue <bool>() && Player.Level > 6 && Items.HasItem((int)ItemId.Warding_Totem_Trinket)) { Player.BuyItem(ItemId.Scrying_Orb_Trinket); } if (Player.InFountain() && ComboMenu.Item("AutoBuy").GetValue <bool>() && !Items.HasItem((int)ItemId.Oracles_Lens_Trinket, Player) && Player.Level >= 9 && HeroManager.Enemies.Any(h => h.CharData.BaseSkinName == "Rengar" || h.CharData.BaseSkinName == "Talon" || h.CharData.BaseSkinName == "Vayne")) { Player.BuyItem(ItemId.Oracles_Lens_Trinket); } }
static void Game_OnUpdate(EventArgs args) { var feedmode = A.Item("root.feedmode").GetValue <StringList>().SelectedIndex; var defaultto = A.Item("root.defaultto").GetValue <StringList>().SelectedIndex; Vector3 BotTurningPoint1 = new Vector3(12124, 1726, 52); Vector3 BotTurningPoint2 = new Vector3(13502, 3494, 51); Vector3 TopTurningPoint1 = new Vector3(1454, 11764, 53); Vector3 TopTurningPoint2 = new Vector3(3170, 13632, 53); Vector3 Dragon = new Vector3(10064, 4646, -71); Vector3 Baron = new Vector3(4964, 10380, -71); Vector3 ChaosUniversal = new Vector3(14287f, 14383f, 172f); Vector3 OrderUniversal = new Vector3(417f, 469f, 182f); string[] MsgList = new[] { "wat", "how?", "What?", "how did you manage to do that?", "mate..", "-_-", "why?", "lag", "laaaaag", "oh my god this lag is unreal", "rito pls 500 ping", "god bless my ping", "if my ping was my iq i'd be smarter than einstein", "what's up with this lag?", "is the server lagging again?", "i call black magic" }; if (IsDead) { if (!SaidDeadStuff && A.Item("root.chat2").GetValue <bool>()) { Random r = new Random(); Game.Say("/all " + MsgList[r.Next(0, 14)]); SaidDeadStuff = true; } } if (Player.IsDead) { IsDead = true; CycleStarted = false; Point1Reached = false; Point2Reached = false; } else { IsDead = false; SaidDeadStuff = false; CycleStarted = true; if (Player.InFountain()) { Point1Reached = false; Point2Reached = false; } if (Player.Distance(BotTurningPoint1) <= 300 || Player.Distance(TopTurningPoint1) <= 300) { Point1Reached = true; } if (Player.Distance(BotTurningPoint2) <= 300 || Player.Distance(TopTurningPoint2) <= 300) { Point2Reached = true; } ; } if (A.Item("root.shouldfeed").GetValue <bool>()) { if ((LastLaugh == 0 || LastLaugh < Game.Time) && A.Item("root.laugh").GetValue <bool>()) { LastLaugh = Game.Time + A.Item("root.laugh.delay").GetValue <Slider>().Value; Game.Say("/laugh"); } if (Ghost != SpellSlot.Unknown && Player.Spellbook.CanUseSpell(Ghost) == SpellState.Ready && A.Item("root.ghost").GetValue <bool>() && Player.InFountain()) { Player.Spellbook.CastSpell(Ghost); } if (A.Item("root.items").GetValue <bool>() && Player.InShop()) { if (Player.Gold >= 325 && !CheckForBoughtItem[0]) { Player.BuyItem(ItemId.Boots_of_Speed); CheckForBoughtItem[0] = true; } if (Player.Gold >= 475 && CheckForBoughtItem[0] && !CheckForBoughtItem[1]) { Player.BuyItem(ItemId.Boots_of_Mobility); CheckForBoughtItem[1] = true; } if (Player.Gold >= 475 && CheckForBoughtItem[1] && !CheckForBoughtItem[2]) { Player.BuyItem(ItemId.Boots_of_Mobility_Enchantment_Homeguard); CheckForBoughtItem[2] = true; } if (Player.Gold >= 435 && CheckForBoughtItem[2] && !CheckForBoughtItem[3]) { Player.BuyItem(ItemId.Amplifying_Tome); CheckForBoughtItem[3] = true; } if (Player.Gold >= (850 - 435) && CheckForBoughtItem[3] && !CheckForBoughtItem[4]) { Player.BuyItem(ItemId.Aether_Wisp); CheckForBoughtItem[4] = true; } if (Player.Gold > 1100 && CheckForBoughtItem[4]) { Player.BuyItem(ItemId.Zeal); } } switch (feedmode) { case 0: if (HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.Distance(Player.Position)).FirstOrDefault().IsValidTarget()) { Player.IssueOrder(GameObjectOrder.MoveTo, HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.Distance(Player.Position)).FirstOrDefault()); } else { switch (defaultto) { case 0: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 1: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 2: { if (Player.Team == GameObjectTeam.Order) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } else { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } break; } } break; case 1: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 2: { if (Player.Team == GameObjectTeam.Order) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } else { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } break; case 3: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 4: { if ((LastChat == 0 || LastChat < Game.Time) && A.Item("root.chat").GetValue <bool>() && Player.Distance(Dragon) <= 300) { LastChat = Game.Time + A.Item("root.chat.delay").GetValue <Slider>().Value; Game.Say("/all Come to dragon!"); } Player.IssueOrder(GameObjectOrder.MoveTo, Dragon); } break; case 5: { if ((LastChat == 0 || LastChat < Game.Time) && A.Item("root.chat").GetValue <bool>() && Player.Distance(Baron) <= 300) { LastChat = Game.Time + A.Item("root.chat.delay").GetValue <Slider>().Value; Game.Say("/all Come to baron!"); } Player.IssueOrder(GameObjectOrder.MoveTo, Baron); } break; case 6: { if (HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.ChampionsKilled).LastOrDefault().IsValidTarget()) { Player.IssueOrder(GameObjectOrder.MoveTo, HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead).OrderBy(x => x.ChampionsKilled).LastOrDefault()); } else { switch (defaultto) { case 0: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 1: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 2: { if (Player.Team == GameObjectTeam.Order) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } else { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } break; } } } break; case 7: { if (HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead && (x.ChampionName == "Katarina" || x.ChampionName == "Fiora" || x.ChampionName == "Jinx" || x.ChampionName == "Vayne") ).FirstOrDefault().IsValidTarget()) { Player.IssueOrder(GameObjectOrder.MoveTo, HeroManager.Enemies.Where(x => x.IsValidTarget() && !x.IsDead && (x.ChampionName == "Katarina" || x.ChampionName == "Fiora" || x.ChampionName == "Jinx" || x.ChampionName == "Vayne") ).FirstOrDefault()); } else { switch (defaultto) { case 0: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, BotTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 1: { if (Player.Team == GameObjectTeam.Order) { if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } } else { if (!Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint2); } else if (!Point1Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, TopTurningPoint1); } else if (Point2Reached) { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } } break; case 2: { if (Player.Team == GameObjectTeam.Order) { Player.IssueOrder(GameObjectOrder.MoveTo, ChaosUniversal); } else { Player.IssueOrder(GameObjectOrder.MoveTo, OrderUniversal); } } break; } } } break; } } }
private static void Game_OnGameUpdate(EventArgs args) { /////////////////check afk//////////////////////////// if (Game.Time - pastTime >= 1 && !Player.IsDead && !Player.IsRecalling() && (Game.Time - gamestart > 70)) { pastTime = Game.Time; afktime += 1; Game.PrintChat(afktime.ToString()); if (afktime > 55) // 잠수 55초 경과 { Player.IssueOrder(GameObjectOrder.AttackTo, new Vector3(4910f, 10268f, -71.24f)); follow = null; afktime = 0; } #region 우물 잠수 45초 경과 if (afktime > 45 && spawn.Distance(Player.Position) < 1500) { Game.PrintChat("AFK DETECTED, Change Target"); if (fllowlist.Contains(follow.ChampionName)) { fllowlist.Remove(follow.ChampionName); } follow = null; afktime = 0; } #endregion } ////////////////////////////////////////////////////// //////////////////check player in turret range/////////////////////// //////////////////////////////////////////////////////////////// if (fllowlist.Count == 0) { foreach (var ally in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsAlly && !x.IsMe)) { fllowlist.Add(ally.ChampionName); Game.PrintChat("Follow LIST is NULL. ADD ALLY CHAMPIONS"); } } #region 시작아이템 구입 if (!(Items.HasItem(3301) || Items.HasItem(3096) || Items.HasItem(3069))) { Player.BuyItem(JeonItem.GetItemIdbyInt(3301)); Player.BuyItem(JeonItem.GetItemIdbyInt(3340)); Player.BuyItem(JeonItem.GetItemIdbyInt(2003)); Player.BuyItem(JeonItem.GetItemIdbyInt(2003)); Player.BuyItem(JeonItem.GetItemIdbyInt(2003)); } #endregion #region 상점이용가능할때 if (Utility.InShop(Player) || Player.IsDead) { foreach (var item in nextItem.itemIds) { if (!Items.HasItem(Convert.ToInt32(item))) { Player.BuyItem(item); } } checkItemInventory(); } #endregion #region 타겟이 안잡혀있음 - 타겟 설정 부분 if (!stopfollowing) { if (ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ad.Contains(x.ChampionName))) { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ad.Contains(x.ChampionName)); } else if (follow == null && ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ap.Contains(x.ChampionName))) { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && ap.Contains(x.ChampionName)); } else if (follow == null && ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && bruiser.Contains(x.ChampionName))) { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName) && bruiser.Contains(x.ChampionName)); } else if (follow == null) { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && fllowlist.Contains(x.ChampionName)); } } #endregion if (Game.Time - foundturret > 25) // 터렛발견하고 25초 경과 { stopfollowing = false; } #region 타겟이 죽어 있는 경우 (임시) 타겟 체인지 if (follow.IsDead) { Game.PrintChat("Target is dead. Change Targeting"); if (ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800)) { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800); } else { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead); } } #endregion #region follow가 죽었거나. (타겟과의거리가 5000이상이고. 내가 상점범위에 없고.타겟의 포지션이 상점내)이거나. 플레이어의 체력퍼센트가 설정된것 이하 일경우 if (follow.IsDead || (follow.Distance(Player.Position) > 5000 && !Utility.InShop(Player) && spawn.Distance(follow.Position) < 1500) || Player.HealthPercentage() < menu.Item("hpb").GetValue <Slider>().Value&& !Player.IsDead) { if (Game.Time - foundturret > 20 && !recalling) { Game.PrintChat("WARNNING! MUST RECALL"); var turret2 = ObjectManager.Get <Obj_AI_Turret>() .Where(x => x.IsAlly); if (turret2.Any()) { stopfollowing = true; turret = turret2.OrderBy(x => x.Distance(Player.Position)).First(); foundturret = Game.Time; } } if (stopfollowing && !recalling) { Game.PrintChat("WARNNING! MOVE TURRET"); Player.IssueOrder(GameObjectOrder.MoveTo, turret); if (Player.Distance(turret.Position) <= 350 && Game.Time - count > 15) { Player.Spellbook.CastSpell(SpellSlot.Recall); recalling = true; count = Game.Time; } } } #endregion if ((Game.Time - count > 15)) //터렛이동한지 15초~17초 사이일때 { stopfollowing = false; recalling = false; } if (Player.ChampionName.ToUpper() == "SORAKA") { #region W발동부분 - 아군 if (!recalling && !stopfollowing && W.IsReady()) { var allies2 = ObjectManager.Get <Obj_AI_Hero>() .Where( x => x.IsAlly && x.Health / x.MaxHealth * 100 < menu.Item("allyhpw").GetValue <Slider>().Value&& !x.IsDead && x.Distance(Player.Position) < 550); var objAiHeroes = allies2 as Obj_AI_Hero[] ?? allies2.ToArray(); if (objAiHeroes.Any() && Player.Health / Player.MaxHealth * 100 > menu.Item("wabovehp").GetValue <Slider>().Value) { W.Cast(objAiHeroes.First()); } } #endregion #region R발동 if (menu.Item("user").GetValue <bool>() && R.IsReady()) { var allies = ObjectManager.Get <Obj_AI_Hero>() .Where( x => x.IsAlly && x.Health / x.MaxHealth * 100 < menu.Item("allyhpr").GetValue <Slider>().Value&& !x.IsDead); if (allies.Any()) { if (R.IsReady()) { R.Cast(); } } } #endregion } #region 리콜중도 아니고 따라다니는중일때 if (!recalling && !stopfollowing) { #region 거리가 500이상 5500이하일때 if (follow.Distance(Player.Position) > 300 && follow.Distance(Player.Position) < 5500) { Player.IssueOrder(GameObjectOrder.MoveTo, follow.Position.To2D().Extend(spawn.To2D(), 200).To3D()); afktime = 0; } else // 거리가 안으로 도달했을때 위치설정 { } #endregion #region 타겟과 거리가 5500이상일때 if (follow.Distance(Player.Position) > 5500) { if (spawn.Distance(follow.Position) <= 3000) // 타겟이 기지에 있다 { Random y = new Random(); var turret = ObjectManager.Get <Obj_AI_Turret>().First(x => x.Distance(Player.Position) < 3500 && x.IsAlly); var xPos = ((spawn.X - turret.Position.X) / Vector3.Distance(turret.Position, spawn)) * 300 + turret.Position.X - y.Next(25, 150); var yPos = ((spawn.Y - turret.Position.Y) / Vector3.Distance(turret.Position, spawn)) * 300 + turret.Position.Y - y.Next(25, 150); var vec = new Vector3(xPos, yPos, follow.Position.Z); Player.IssueOrder(GameObjectOrder.MoveTo, vec); afktime = 0; } else // 타겟이 기지 밖에 있다 { Player.IssueOrder(GameObjectOrder.MoveTo, follow.Position.To2D().Extend(spawn.To2D(), 200).To3D()); afktime = 0; } } #endregion #region 타겟이 죽지않았을때 (평상시) if (!follow.IsDead) { if (Player.ChampionName.ToUpper() == "SORAKA") { #region W발동-타겟만 if (W.IsReady() && menu.Item("usew").GetValue <bool>() && Player.Health / Player.MaxHealth * 100 > menu.Item("wabovehp").GetValue <Slider>().Value) { if (follow.Health / follow.MaxHealth * 100 < menu.Item("allyhpw").GetValue <Slider>().Value&& follow.Distance(Player.Position) < 550 && Player.Health / Player.MaxHealth * 100 > menu.Item("wabovehp").GetValue <Slider>().Value) { W.Cast(follow); afktime = 0; } else if (follow.Health / follow.MaxHealth * 100 < menu.Item("allyhpw").GetValue <Slider>().Value&& follow.Distance(Player.Position) > 550) { Player.IssueOrder(GameObjectOrder.MoveTo, follow.Position); afktime = 0; } } #endregion #region 오토Q if (Q.IsReady() && !Utility.UnderTurret(Player, true)) { var target = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); Q.Cast(target); afktime = 0; } #endregion #region 오토E if (E.IsReady() && !Utility.UnderTurret(Player, true)) { var target = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); E.Cast(target); afktime = 0; } #endregion } else { var qTarget = TargetSelector.GetTarget(Q.Range, TargetSelector.DamageType.Magical); var wTarget = TargetSelector.GetTarget(W.Range, TargetSelector.DamageType.Magical); var eTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); var rTarget = TargetSelector.GetTarget(R.Range, TargetSelector.DamageType.Magical); if (Q.CanCast(qTarget)) { Q.Cast(qTarget); } if (W.CanCast(qTarget)) { W.Cast(qTarget); } if (E.CanCast(qTarget)) { E.Cast(qTarget); } if (R.CanCast(qTarget)) { R.Cast(qTarget); } } } #endregion #region 타겟이 죽었을때 else { Game.PrintChat("Target is dead. Change Targeting"); if (ObjectManager.Get <Obj_AI_Hero>().Any(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800)) { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead && x.Distance(Player.Position) < 1800); } else { follow = ObjectManager.Get <Obj_AI_Hero>().First(x => !x.IsMe && x.IsAlly && !x.IsDead); } } #endregion } #endregion }
private void OnUpdate(EventArgs args) { foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValid)) { var ChampionInfoOne = ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId); if (enemy.IsDead) { if (ChampionInfoOne != null) { ChampionInfoOne.NetworkId = enemy.NetworkId; ChampionInfoOne.LastVisablePos = EnemySpawn; ChampionInfoOne.LastVisableTime = Game.Time; ChampionInfoOne.PredictedPos = EnemySpawn; } } else if (enemy.IsVisible) { Vector3 prepos = enemy.Position; if (enemy.IsMoving) { prepos = prepos.Extend(enemy.GetWaypoints().Last().ToVector3(), 125); } if (ChampionInfoOne == null) { ChampionInfoList.Add(new ChampionInfo() { NetworkId = enemy.NetworkId, LastVisablePos = enemy.Position, LastVisableTime = Game.Time, PredictedPos = prepos }); } else { ChampionInfoOne.NetworkId = enemy.NetworkId; ChampionInfoOne.LastVisablePos = enemy.Position; ChampionInfoOne.LastVisableTime = Game.Time; ChampionInfoOne.PredictedPos = prepos; } } } if (!Menu["AutoWard.Menu"]["Enable"].GetValue <MenuBool>()) { return; } if (Menu["AutoWard.Menu"]["BuyBlue"].GetValue <MenuBool>()) { if (Player.InFountain() && !ScryingOrb.IsOwned() && Player.Level >= 9) { Player.BuyItem(ItemId.Farsight_Orb_Trinket); } } if (Rengar != null && Player.HasBuff("rengarralertsound")) { CastVisionWards(Player.ServerPosition); } if (Vayne != null && Vayne.IsValidTarget(1000) && Vayne.HasBuff("vaynetumblefade")) { CastVisionWards(Vayne.ServerPosition); } foreach (var enemy in GameObjects.EnemyHeroes.Where(enemy => enemy.IsValid && !enemy.IsVisible && !enemy.IsDead)) { var need = ChampionInfoList.Find(x => x.NetworkId == enemy.NetworkId); if (need == null || need.PredictedPos == null) { continue; } var PPDistance = need.PredictedPos.Distance(Player.Position); if (PPDistance > 1400) { continue; } var timer = Game.Time - need.LastVisableTime; if (timer < 4) { if (Menu["AutoWard.Menu"]["AutoWardCombo"].GetValue <MenuBool>() && !Menu["AutoWard.Menu"]["ComboKey"].GetValue <MenuKeyBind>().Active) { return; } if (NavMesh.IsWallOfGrass(need.PredictedPos, 0)) { if (PPDistance < 600) { if (TrinketN.IsReady) { TrinketN.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } else if (SightStone.IsReady) { SightStone.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } else if (WardN.IsReady) { WardN.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } else if (Oasis.IsReady) { Oasis.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } else if (Equinox.IsReady) { Equinox.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } else if (Watchers.IsReady) { Watchers.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } } if (FarsightOrb.IsReady) { FarsightOrb.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } else if (ScryingOrb.IsReady) { ScryingOrb.Cast(need.PredictedPos); need.LastVisableTime = Game.Time - 5; } } } } }