private static Vector2 GetJumpPosition(AIHeroClient t, float range, string name = "first") { List<Vector2> xList = new List<Vector2>(); Vector2 location = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) * W.Range; Vector2 wCastPosition = location; //Render.Circle.DrawCircle(wCastPosition.To3D(), 105f, System.Drawing.Color.Red); if (!wCastPosition.LSIsWall()) { xList.Add(wCastPosition); } if (!wCastPosition.LSIsWall()) { ExistingJumpPositions.Add(new ListJumpPositions { Position = wCastPosition, Name = name }); ListWJumpPositions.Add(wCastPosition); } if (wCastPosition.LSIsWall()) { for (int j = 20; j < 80; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) .LSRotated(j * (float)Math.PI / 180) * W.Range; if (!wcPositive.LSIsWall()) { ListWJumpPositions.Add(wcPositive); } Vector2 wcNegative = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) .LSRotated(-j * (float)Math.PI / 180) * W.Range; if (!wcNegative.LSIsWall()) { ListWJumpPositions.Add(wcNegative); } } float xDiff = ObjectManager.Player.Position.X - t.Position.X; float yDiff = ObjectManager.Player.Position.Y - t.Position.Y; int angle = (int)(Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI); } //foreach (var aa in ListWJumpPositions) //{ // Render.Circle.DrawCircle(aa.To3D2(), 105f, System.Drawing.Color.White); //} var al1 = xList.OrderBy(al => al.LSDistance(t.Position)).First(); var color = System.Drawing.Color.DarkRed; var width = 4; var startpos = ObjectManager.Player.Position; var endpos = al1.To3D(); if (startpos.LSDistance(endpos) > 100) { var endpos1 = al1.To3D() + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = al1.To3D() + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(-25 * (float)Math.PI / 180).To3D() * 75; //var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); //x1.Draw(color, width - 2); new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos).Draw(color, width - 2); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y1.Draw(color, width - 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z1.Draw(color, width - 2); } //foreach (var al in ListWJumpPositions.OrderBy(al => al.LSDistance(t.Position))) //{ // Render.Circle.DrawCircle(al.To3D(), 105f, System.Drawing.Color.White); //} // Render.Circle.DrawCircle(al1.To3D(), 85, System.Drawing.Color.White); return al1; }
private static void Drawing_OnDraw_Insec(EventArgs args) { if (!Config.Item("Insec").GetValue<KeyBind>().Active) { return; } //InsecDirection2.Clear(); //foreach (var insecDirect in ObjectManager.Get<Obj_AI_Base>().OrderBy(obj => obj.NetworkId).Where( // obj => // obj.IsAlly && !obj.IsMe && !obj.IsDead && !obj.IsMinion && (obj is Obj_AI_Turret || obj is Obj_AI_Hero) && // obj.Distance(ObjectManager.Player.Position) < Q.Range * 4)) //{ // InsecDirection2.Add(insecDirect); //} //if (SelectedInsecDirectionIndex == null) //{ // SelectedInsecDirectionIndex = InsecDirection2[0]; //} //if (InsecDirection2.Count == 0) //{ // return; //} //if (SelectedInsecDirectionIndex != null) //{ // var ignoredEnemies = // HeroManager.Enemies.Where( // e => MenuInsec.Item("Insec." + e.ChampionName).GetValue<StringList>().SelectedIndex == 0) // .ToList(); // var t = AssassinManager.GetTarget(Q.Range * 2, TargetSelector.DamageType.Physical, ignoredEnemies); // InsecJumpPosition = t.ServerPosition.Extend(SelectedInsecDirectionIndex.Position, -220); // Render.Circle.DrawCircle(InsecJumpPosition, 150f, Color.Blue); // Render.Circle.DrawCircle(SelectedInsecDirectionIndex.Position, 150f, Color.Red); // InsecEndPosition = t.ServerPosition.Extend(SelectedInsecDirectionIndex.Position, +500); // var startpos = t.Position; // var endpos = InsecEndPosition; // var endpos1 = InsecEndPosition + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * t.BoundingRadius * 2; // var endpos2 = InsecEndPosition + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * t.BoundingRadius * 2; // var width = 2; // var x = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x.Draw(Color.Blue, width); // var y = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y.Draw(Color.Blue, width); // var z = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z.Draw(Color.Blue, width); //} //return; if (enemyInsecMethod == 0) { return; } var t = AssassinManager.GetTarget(Q.Range * 2, TargetSelector.DamageType.Physical); var turrents = from u in ObjectManager.Get<Obj_AI_Base>() .Where( obj => obj.IsAlly && !obj.IsMe && !obj.IsDead && !obj.IsMinion && obj is Obj_AI_Turret && obj.Distance(ObjectManager.Player.Position) < Q.Range*5).OrderBy(obj => obj.Distance(ObjectManager.Player.Position)) select u; var allies = from u in HeroManager.Allies .Where( obj => !obj.IsMe && !obj.IsDead && !obj.IsMinion && obj.Health >= t.Health && obj.Distance(ObjectManager.Player.Position) < Q.Range*5).OrderBy(obj => obj.Distance(ObjectManager.Player.Position)) select u; insecDirection = turrents.Union(allies).ToList(); //Obj_AI_Base insecDirection = ObjectManager.Get<Obj_AI_Base>() // .OrderBy(obj => obj.Distance(ObjectManager.Player.ServerPosition)) // .FirstOrDefault( // obj => // obj.IsAlly && !obj.IsMe && !obj.IsDead && !obj.IsMinion && (obj is Obj_AI_Turret || obj is Obj_AI_Hero) && // obj.Distance(ObjectManager.Player.Position) < Q.Range * 10); aInsecJumpPosition = new Geometry.Rectangle(t.Position.To2D().Extend(insecDirection[0].Position.To2D(), -50), t.Position.To2D().Extend(insecDirection[0].Position.To2D(), -R.Range - 50), 100).ToPolygon(); //aInsecJumpPosition.Draw(Color.Yellow, 2); //InsecJumpPosition = t.ServerPosition.Extend(insecDirection[0].Position, -220); Render.Circle.DrawCircle(InsecJumpPosition, 150f, Color.Blue); Render.Circle.DrawCircle(insecDirection[0].Position, 150f, Color.Red); InsecEndPosition = t.ServerPosition.Extend(insecDirection[0].Position, +500); var startpos = t.Position; var endpos = InsecEndPosition; var endpos1 = InsecEndPosition + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * t.BoundingRadius * 2; var endpos2 = InsecEndPosition + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * t.BoundingRadius * 2; var width = 2; var x = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x.Draw(Color.Blue, width); var y = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y.Draw(Color.Blue, width); var z = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z.Draw(Color.Blue, width); }
private static void Drawing_OnDraw(EventArgs args) { //if (WStage != Program.WCastStage.IsReady) //{ // return; //} if (!Program.MenuKeys.Item("Flee.Active").GetValue<KeyBind>().Active) { return; } if (LocalMenu.Item("Flee.Draw").GetValue<Circle>().Active) { var fleeDraw = LocalMenu.Item("Flee.Draw").GetValue<Circle>(); Render.Circle.DrawCircle(Game.CursorPos, LocalMenu.Item("Flee.Range").GetValue<Slider>().Value, fleeDraw.Color); } if (wardJumpObjectforFlee != null) { Render.Circle.DrawCircle(wardJumpObjectforFlee.Position, 105f, Color.Aquamarine); var x = new LeagueSharp.Common.Geometry.Polygon.Line(ObjectManager.Player.Position, wardJumpObjectforFlee.Position); x.Draw(Color.Blue, 2); Vector3[] vCent = new[] {ObjectManager.Player.Position, wardJumpObjectforFlee.Position}; var aX = Drawing.WorldToScreen(new Vector3(DrawUtils.CenterOfVectors(vCent).X, DrawUtils.CenterOfVectors(vCent).Y, DrawUtils.CenterOfVectors(vCent).Z)); Drawing.DrawText(aX.X, aX.Y, Color.White, "Jump to Selected Object"); } }
private static void DrawAxeTimes() { if (PlayerObjects.AxeObject == null) { return; } var drawAxePosition = MenuLocal["Draw.AxePosition"].Cast<ComboBox>().CurrentValue; var exTime = TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time).TotalSeconds; var color = exTime > 4 ? Color.White : Color.Red; switch (drawAxePosition) { case 1: { var circle1 = new CommonGeometry.Circle2(new Vector2(PlayerObjects.AxeObject.Position.X + 3, PlayerObjects.AxeObject.Position.Y - 3), 150f, Game.Time * 100 - PlayerObjects.StartTime * 100, PlayerObjects.EndTime * 100 - PlayerObjects.StartTime * 100).ToPolygon(); circle1.Draw(Color.Black, 4); var circle = new CommonGeometry.Circle2(PlayerObjects.AxeObject.Position.LSTo2D(), 150f, Game.Time * 100 - PlayerObjects.StartTime * 100, PlayerObjects.EndTime * 100 - PlayerObjects.StartTime * 100).ToPolygon(); circle.Draw(TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time).TotalSeconds > 4 ? Color.White : Color.Red, 4); break; } case 2: { var startpos = ObjectManager.Player.Position.LSTo2D(); var endpos = PlayerObjects.AxeObject.Position.LSTo2D(); if (startpos.LSDistance(endpos) > 100) { var endpos1 = PlayerObjects.AxeObject.Position + (startpos - endpos).LSNormalized().LSRotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = PlayerObjects.AxeObject.Position + (startpos - endpos).LSNormalized().LSRotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, 1); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos1); y1.Draw(color, 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos2); z1.Draw(color, 2); } break; } case 3: { var circle1 = new CommonGeometry.Circle2(new Vector2(PlayerObjects.AxeObject.Position.X + 3, PlayerObjects.AxeObject.Position.Y - 3), 150f, Game.Time * 100 - PlayerObjects.StartTime * 100, PlayerObjects.EndTime * 100 - PlayerObjects.StartTime * 100).ToPolygon(); circle1.Draw(Color.Black, 4); var circle = new CommonGeometry.Circle2(PlayerObjects.AxeObject.Position.LSTo2D(), 150f, Game.Time * 100 - PlayerObjects.StartTime * 100, PlayerObjects.EndTime * 100 - PlayerObjects.StartTime * 100).ToPolygon(); circle.Draw(TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time).TotalSeconds > 4 ? Color.White : Color.Red, 4); var startpos = ObjectManager.Player.Position.LSTo2D(); var endpos = PlayerObjects.AxeObject.Position.LSTo2D(); if (startpos.LSDistance(endpos) > 100) { var endpos1 = PlayerObjects.AxeObject.Position + (startpos - endpos).LSNormalized().LSRotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = PlayerObjects.AxeObject.Position + (startpos - endpos).LSNormalized().LSRotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, 1); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos1); y1.Draw(color, 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos2); z1.Draw(color, 2); } var line = new Geometry.Polygon.Line(ObjectManager.Player.Position, PlayerObjects.AxeObject.Position, ObjectManager.Player.LSDistance(PlayerObjects.AxeObject.Position)); line.Draw(color, 2); break; } } if (MenuLocal["Draw.AxeTime"].Cast<CheckBox>().CurrentValue) { var time = TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time); var pos = Drawing.WorldToScreen(PlayerObjects.AxeObject.Position); var display = $"{time.Seconds:D1}"; SharpDX.Color vTimeColor = time.TotalSeconds > 4 ? SharpDX.Color.White : SharpDX.Color.Red; DrawText(AxeDisplayText, display, (int)pos.X - display.Length, (int)pos.Y - 105, vTimeColor); } }
private static void DrawingOnOnDraw(EventArgs args) { if (ObjectManager.Player.IsDead) { return; } if (getCheckBoxItem(MenuLocal, "Jump.Draw.Status")) { var enabled = getKeyBindItem(MenuLocal, "Jump.Enabled"); var stat = getBoxItem(MenuLocal, "Jump.Mode"); CommonHelper.DrawText(CommonHelper.TextStatus, "Q Jump: " + stat, (int)ObjectManager.Player.HPBarPosition.X + 145, (int)ObjectManager.Player.HPBarPosition.Y + 5, enabled && stat != 0 ? Color.White : Color.Gray); } if (!getCheckBoxItem(MenuLocal, "Jump.Draw.Arrows")) { return; } if (JumpTarget.LSIsValidTarget(Q.Range)) { return; } if (JumpTarget.LSIsValidTarget() && ObjectManager.Player.LSDistance(JumpTarget) > Q.Range) { var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.Position.LSTo2D().LSExtend(JumpTarget.Position.LSTo2D(), Q.Range * 3), 250).ToPolygon(); toPolygon.Draw(System.Drawing.Color.Red, 1); var otherEnemyObjects = ObjectManager.Get<Obj_AI_Base>() .Where(m => m.IsEnemy && !m.IsDead && !m.IsZombie && m.LSIsValidTarget(Q.Range) && m.NetworkId != JumpTarget.NetworkId) .Where(m => toPolygon.IsInside(m)) .Where(m => ObjectManager.Player.LSDistance(JumpTarget) > ObjectManager.Player.LSDistance(m)) .Where(m => m.Health < Q.GetDamage(m)) .Where(m => !m.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 165)) .OrderBy(m => m.LSDistance(JumpTarget.Position)); JumpObject = otherEnemyObjects.FirstOrDefault(m => m.LSDistance(JumpTarget.Position) <= Q.Range * 2 && m.LSDistance(JumpTarget.Position) > Orbwalking.GetRealAutoAttackRange(null)); if (JumpObject != null) { if (JumpObject.LSIsValidTarget(Q.Range))// && JumpTarget.Health <= ComboDamage(t, R.Instance.Ammo - 1 < 0 ? 0: R.Instance.Ammo - 1) && Utils.UltiChargeCount >= 2) { var startpos = ObjectManager.Player.Position; var endpos = JumpObject.Position; var endpos1 = JumpObject.Position + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2; var endpos2 = JumpObject.Position + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(-30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2; var width = 1; var x = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x.Draw(System.Drawing.Color.Blue, width); var y = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y.Draw(System.Drawing.Color.Blue, width + 1); var z = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z.Draw(System.Drawing.Color.Blue, width + 1); Vector3[] objectCenter = new[] { ObjectManager.Player.Position, JumpObject.Position }; var aX = Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(objectCenter).X, Common.CommonHelper.CenterOfVectors(objectCenter).Y, Common.CommonHelper.CenterOfVectors(objectCenter).Z)); Drawing.DrawText(aX.X - 15, aX.Y - 15, System.Drawing.Color.White, "1st Jump"); /*---------------------------------------------------------------------------------------------------------*/ var xStartPos = JumpObject.Position; var xEndPos = JumpTarget.Position; var xEndPos1 = JumpTarget.Position + (xStartPos - xEndPos).LSTo2D().LSNormalized().LSRotated(30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2; var xEndPost2 = JumpTarget.Position + (xStartPos - xEndPos).LSTo2D().LSNormalized().LSRotated(-30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2; var xWidth = 1; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(xStartPos, xEndPos); x1.Draw(System.Drawing.Color.IndianRed, xWidth); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(xEndPos, xEndPos1); y1.Draw(System.Drawing.Color.IndianRed, xWidth + 1); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(xEndPos, xEndPost2); z1.Draw(System.Drawing.Color.IndianRed, xWidth + 1); Vector3[] enemyCenter = new[] { JumpObject.Position, JumpTarget.Position }; var bX = Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(enemyCenter).X, Common.CommonHelper.CenterOfVectors(enemyCenter).Y, Common.CommonHelper.CenterOfVectors(enemyCenter).Z)); } } } }
private static void DrawAxeTimes() { if (PlayerObjects.AxeObject == null) { return; } var drawAxePosition = MenuLocal.Item(GetPcModeStringValue + "Draw.AxePosition").GetValue <StringList>().SelectedIndex; var exTime = TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time).TotalSeconds; var color = exTime > 4 ? Color.White : Color.Red; switch (drawAxePosition) { case 1: { var circle1 = new CommonGeometry.Circle2(new Vector2(PlayerObjects.AxeObject.Position.X + 3, PlayerObjects.AxeObject.Position.Y - 3), 150f, Game.Time * 100 - Champion.PlayerObjects.StartTime * 100, Champion.PlayerObjects.EndTime * 100 - Champion.PlayerObjects.StartTime * 100).ToPolygon(); circle1.Draw(Color.Black, 4); var circle = new CommonGeometry.Circle2(PlayerObjects.AxeObject.Position.To2D(), 150f, Game.Time * 100 - Champion.PlayerObjects.StartTime * 100, Champion.PlayerObjects.EndTime * 100 - Champion.PlayerObjects.StartTime * 100).ToPolygon(); circle.Draw(TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time).TotalSeconds > 4 ? Color.White : Color.Red, 4); break; } case 2: { var startpos = ObjectManager.Player.Position.To2D(); var endpos = Champion.PlayerObjects.AxeObject.Position.To2D(); if (startpos.Distance(endpos) > 100) { var endpos1 = Champion.PlayerObjects.AxeObject.Position + (startpos - endpos).Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = Champion.PlayerObjects.AxeObject.Position + (startpos - endpos).Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, 1); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos1); y1.Draw(color, 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos2); z1.Draw(color, 2); } break; } case 3: { var circle1 = new CommonGeometry.Circle2(new Vector2(PlayerObjects.AxeObject.Position.X + 3, PlayerObjects.AxeObject.Position.Y - 3), 150f, Game.Time * 100 - Champion.PlayerObjects.StartTime * 100, Champion.PlayerObjects.EndTime * 100 - Champion.PlayerObjects.StartTime * 100).ToPolygon(); circle1.Draw(Color.Black, 4); var circle = new CommonGeometry.Circle2(PlayerObjects.AxeObject.Position.To2D(), 150f, Game.Time * 100 - Champion.PlayerObjects.StartTime * 100, Champion.PlayerObjects.EndTime * 100 - Champion.PlayerObjects.StartTime * 100).ToPolygon(); circle.Draw(TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time).TotalSeconds > 4 ? Color.White : Color.Red, 4); var startpos = ObjectManager.Player.Position.To2D(); var endpos = Champion.PlayerObjects.AxeObject.Position.To2D(); if (startpos.Distance(endpos) > 100) { var endpos1 = Champion.PlayerObjects.AxeObject.Position + (startpos - endpos).Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = Champion.PlayerObjects.AxeObject.Position + (startpos - endpos).Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, 1); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos1); y1.Draw(color, 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos.To3D(), endpos2); z1.Draw(color, 2); } var line = new Geometry.Polygon.Line(ObjectManager.Player.Position, PlayerObjects.AxeObject.Position, ObjectManager.Player.Distance(PlayerObjects.AxeObject.Position)); line.Draw(color, 2); break; } } if (MenuLocal.Item(GetPcModeStringValue + "Draw.AxeTime").GetValue <bool>()) { var time = TimeSpan.FromSeconds(PlayerObjects.EndTime - Game.Time); var pos = Drawing.WorldToScreen(PlayerObjects.AxeObject.Position); var display = $"{time.Seconds:D1}"; SharpDX.Color vTimeColor = time.TotalSeconds > 4 ? SharpDX.Color.White : SharpDX.Color.Red; DrawText(AxeDisplayText, display, (int)pos.X - display.Length, (int)pos.Y - 105, vTimeColor); } }
private static Vector2 GetJumpPosition(AIHeroClient t, float range, string name = "first") { List <Vector2> xList = new List <Vector2>(); Vector2 location = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) * W.Range; Vector2 wCastPosition = location; //Render.Circle.DrawCircle(wCastPosition.To3D(), 105f, System.Drawing.Color.Red); if (!wCastPosition.LSIsWall()) { xList.Add(wCastPosition); } if (!wCastPosition.LSIsWall()) { ExistingJumpPositions.Add(new ListJumpPositions { Position = wCastPosition, Name = name }); ListWJumpPositions.Add(wCastPosition); } if (wCastPosition.LSIsWall()) { for (int j = 20; j < 80; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) .LSRotated(j * (float)Math.PI / 180) * W.Range; if (!wcPositive.LSIsWall()) { ListWJumpPositions.Add(wcPositive); } Vector2 wcNegative = ObjectManager.Player.Position.LSTo2D() + Vector2.Normalize(t.Position.LSTo2D() - ObjectManager.Player.Position.LSTo2D()) .LSRotated(-j * (float)Math.PI / 180) * W.Range; if (!wcNegative.LSIsWall()) { ListWJumpPositions.Add(wcNegative); } } float xDiff = ObjectManager.Player.Position.X - t.Position.X; float yDiff = ObjectManager.Player.Position.Y - t.Position.Y; int angle = (int)(Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI); } //foreach (var aa in ListWJumpPositions) //{ // Render.Circle.DrawCircle(aa.To3D2(), 105f, System.Drawing.Color.White); //} var al1 = xList.OrderBy(al => al.LSDistance(t.Position)).First(); var color = System.Drawing.Color.DarkRed; var width = 4; var startpos = ObjectManager.Player.Position; var endpos = al1.To3D(); if (startpos.LSDistance(endpos) > 100) { var endpos1 = al1.To3D() + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = al1.To3D() + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(-25 * (float)Math.PI / 180).To3D() * 75; //var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); //x1.Draw(color, width - 2); new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos).Draw(color, width - 2); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y1.Draw(color, width - 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z1.Draw(color, width - 2); } //foreach (var al in ListWJumpPositions.OrderBy(al => al.LSDistance(t.Position))) //{ // Render.Circle.DrawCircle(al.To3D(), 105f, System.Drawing.Color.White); //} // Render.Circle.DrawCircle(al1.To3D(), 85, System.Drawing.Color.White); return(al1); }
protected override void Drawing_OnDraw(EventArgs args) { if (menu.Item("Draw_Disabled", true).GetValue<bool>()) return; if (menu.Item("Draw_Q", true).GetValue<bool>()) if (Q.Level > 0) Render.Circle.DrawCircle(Player.Position, Q.Range, Q.IsReady() ? Color.Green : Color.Red); if (menu.Item("Draw_QE", true).GetValue<bool>()) if (Q.Level > 0 && E.Level > 0) Render.Circle.DrawCircle(Player.Position, _qe.Range, Q.IsReady() && E.IsReady() ? Color.Green : Color.Red); if (menu.Item("Draw_W", true).GetValue<bool>()) if (W.Level > 0) Render.Circle.DrawCircle(Player.Position, W.Range, W.IsReady() ? Color.Green : Color.Red); if (menu.Item("Draw_E", true).GetValue<bool>()) if (E.Level > 0) Render.Circle.DrawCircle(Player.Position, E.Range, E.IsReady() ? Color.Green : Color.Red); if (menu.Item("Draw_R", true).GetValue<bool>()) if (R.Level > 0) Render.Circle.DrawCircle(Player.Position, R.Range, R.IsReady() ? Color.Green : Color.Red); if (Get_Current_Orb() != null) Render.Circle.DrawCircle(Get_Current_Orb().Position, W.Width, Color.Green); //draw EQ if (menu.Item("Draw_QE_Line", true).GetValue<bool>()) { var qeTarget = TargetSelector.GetTarget(_qe.Range, TargetSelector.DamageType.Magical); if (qeTarget == null || !Q.IsReady() || !E.IsReady()) return; var qTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); if (qTarget.IsValidTarget(E.Range)) { var pred = Q.GetPrediction(qTarget); if (pred.Hitchance >= HitChanceManager.GetQEHitChance("Combo")) { var poly = new Geometry.Polygon.Rectangle(pred.CastPosition, Player.ServerPosition.Extend(pred.CastPosition, _qe.Range), _qe.Width); poly.Draw(Color.LawnGreen); var line = new Geometry.Polygon.Line(Player.Position, Player.ServerPosition.Extend(pred.CastPosition, _qe.Range)); line.Draw(Color.LawnGreen); Render.Circle.DrawCircle(pred.CastPosition, Q.Width / 2, Color.Aquamarine); Render.Circle.DrawCircle(Player.ServerPosition.Extend(pred.CastPosition, _qe.Range), Q.Width / 2, Color.SpringGreen); } } else { var startPos = Player.ServerPosition.To2D().Extend(qeTarget.ServerPosition.To2D(), Q.Range).To3D(); double rangeLeft = 100 + (-0.6 * Player.Distance(startPos) + 950); var endPos = startPos + Vector3.Normalize(startPos - Player.ServerPosition) * (float)rangeLeft; _qe.From = startPos; _qe.Delay = E.Delay + Q.Range / E.Speed; var qePred = _qe.GetPrediction(qeTarget); var poly = new Geometry.Polygon.Rectangle(startPos, endPos, _qe.Width); if (!poly.IsInside(qePred.UnitPosition)) return; if (qePred.Hitchance >= HitChanceManager.GetQEHitChance("Combo")) { poly.Draw(Color.LawnGreen); var line = new Geometry.Polygon.Line(Player.Position, endPos); line.Draw(Color.LawnGreen); Render.Circle.DrawCircle(startPos, Q.Width/2, Color.Aquamarine); Render.Circle.DrawCircle(endPos, Q.Width/2, Color.SpringGreen); } } } if (menu.Item("Draw_R_Killable", true).GetValue<bool>() && R.IsReady()) { foreach (var wts in from unit in ObjectManager.Get<Obj_AI_Hero>().Where(x => x.IsValidTarget(2000) && !x.IsDead && x.IsEnemy).OrderByDescending(GetComboDamage) let health = unit.Health + unit.HPRegenRate + 10 where Get_Ult_Dmg(unit) > health select Drawing.WorldToScreen(unit.Position)) { Drawing.DrawText(wts[0] - 20, wts[1], Color.White, "KILL!!!"); } } }
private static void Drawing_OnDraw(EventArgs args) { if (!MenuLocal.Item("Draw.Enable").GetValue <bool>()) { return; } DrawSpells(); DrawMinionLastHit(); //KillableEnemy(); DrawBuffs(); //Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Red); return; var t = TargetSelector.GetTarget(W.Range * 3, TargetSelector.DamageType.Magical); if (t == null) { return; } if (t.IsValidTarget(W.Range)) { return; } List <Vector2> xList = new List <Vector2>(); var nLocation = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()) * W.Range; //if (CommonGeometry.IsWallBetween(nEvadePoint.To3D(), location.To3D())) //{ // Game.PrintChat("Wall"); //} //else //{ // Game.PrintChat("Not Wall"); //} Vector2 wCastPosition = nLocation; //Render.Circle.DrawCircle(wCastPosition.To3D(), 105f, System.Drawing.Color.Red); if (!wCastPosition.IsWall()) { xList.Add(wCastPosition); } if (wCastPosition.IsWall()) { for (int j = 20; j < 80; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(j * (float)Math.PI / 180) * W.Range; if (!wcPositive.IsWall()) { xList.Add(wcPositive); } Vector2 wcNegative = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(-j * (float)Math.PI / 180) * W.Range; if (!wcNegative.IsWall()) { xList.Add(wcNegative); } } float xDiff = ObjectManager.Player.Position.X - t.Position.X; float yDiff = ObjectManager.Player.Position.Y - t.Position.Y; int angle = (int)(Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI); } //foreach (var aa in xList) //{ // Render.Circle.DrawCircle(aa.To3D2(), 105f, System.Drawing.Color.White); //} var nJumpPoint = xList.OrderBy(al => al.Distance(t.Position)).First(); var color = System.Drawing.Color.DarkRed; var width = 4; var startpos = ObjectManager.Player.Position; var endpos = nJumpPoint.To3D(); if (startpos.Distance(endpos) > 100) { var endpos1 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, width - 2); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y1.Draw(color, width - 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z1.Draw(color, width - 2); Geometry.Polygon.Circle x2 = new LeagueSharp.Common.Geometry.Polygon.Circle(endpos, W.Width / 2); if (CommonGeometry.IsWallBetween(ObjectManager.Player.Position, endpos)) { x2.Draw(Color.Red, width - 2); } else { x2.Draw(Color.Wheat, width - 2); } } if (!t.IsValidTarget(W.Range + Q.Range - 60)) { return; } if (t.IsValidTarget(W.Range)) { return; } var canJump = false; if (Modes.ModeCombo.ComboMode == ComboMode.Mode2xQ) { if ((t.Health < ModeCombo.GetComboDamage(t) - W.GetDamage(t) && Q.IsReady() && R.IsReady()) || (t.Health < Q.GetDamage(t) && Q.IsReady())) { canJump = true; } } var nPoint = nJumpPoint.Extend(ObjectManager.Player.Position.To2D(), +ObjectManager.Player.BoundingRadius * 3); Render.Circle.DrawCircle(nPoint.To3D(), 50f, Color.GreenYellow); if (CommonGeometry.IsWallBetween(nPoint.To3D(), nJumpPoint.To3D())) { canJump = false; } if (canJump && W.IsReady() && !W.StillJumped()) { if (Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { W.Cast(nJumpPoint); } return; } }
private static void Drawing_OnDraw(EventArgs args) { if (!MenuLocal.Item("Draw.Enable").GetValue <bool>()) { return; } if (MenuLocal.Item(GetPcModeStringValue + "DrawBuffs").GetValue <bool>()) { var passiveBuffs = (from b in ObjectManager.Player.Buffs join b1 in CommonBuffManager.BuffDatabase on b.Name equals b1.BuffName select new { b, b1 }).Distinct(); var i = 0; foreach (var buffName in passiveBuffs) { if (buffName.b.EndTime >= Game.Time) { CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 10, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 32), 130, 6, Color.FromArgb(100, 255, 200, 37), 1, Color.Black); var buffTime = buffName.b.EndTime - buffName.b.StartTime; CommonGeometry.DrawBox( new Vector2(ObjectManager.Player.HPBarPosition.X + 11, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 33), (130 / buffTime) * (buffName.b.EndTime - Game.Time), 4, buffName.b1.Color, 1, buffName.b1.Color); TimeSpan timeSpan = TimeSpan.FromSeconds(buffName.b.EndTime - Game.Time); var timer = $"{timeSpan.Minutes:D2}:{timeSpan.Seconds:D2}"; CommonGeometry.DrawText(CommonGeometry.TextPassive, timer, ObjectManager.Player.HPBarPosition.X + 142, (i * 8) + ObjectManager.Player.HPBarPosition.Y + 29, SharpDX.Color.Wheat); CommonGeometry.TextPassive.DrawTextLeft(buffName.b1.Caption, (int)ObjectManager.Player.HPBarPosition.X + 8, (int)((i * 8) + ObjectManager.Player.HPBarPosition.Y + 35), SharpDX.Color.Wheat); } i += 1; } } DrawSpells(); DrawMinionLastHit(); //KillableEnemy(); DrawBuffs(); //Render.Circle.DrawCircle(ObjectManager.Player.Position, W.Range, System.Drawing.Color.Red); return; var t = TargetSelector.GetTarget(W.Range * 3, TargetSelector.DamageType.Magical); if (t == null) { return; } if (t.IsValidTarget(W.Range)) { return; } List <Vector2> xList = new List <Vector2>(); var nLocation = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()) * W.Range; //if (CommonGeometry.IsWallBetween(nEvadePoint.To3D(), location.To3D())) //{ // Game.PrintChat("Wall"); //} //else //{ // Game.PrintChat("Not Wall"); //} Vector2 wCastPosition = nLocation; //Render.Circle.DrawCircle(wCastPosition.To3D(), 105f, System.Drawing.Color.Red); if (!wCastPosition.IsWall()) { xList.Add(wCastPosition); } if (wCastPosition.IsWall()) { for (int j = 20; j < 80; j += 20) { Vector2 wcPositive = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(j * (float)Math.PI / 180) * W.Range; if (!wcPositive.IsWall()) { xList.Add(wcPositive); } Vector2 wcNegative = ObjectManager.Player.Position.To2D() + Vector2.Normalize(t.Position.To2D() - ObjectManager.Player.Position.To2D()).Rotated(-j * (float)Math.PI / 180) * W.Range; if (!wcNegative.IsWall()) { xList.Add(wcNegative); } } float xDiff = ObjectManager.Player.Position.X - t.Position.X; float yDiff = ObjectManager.Player.Position.Y - t.Position.Y; int angle = (int)(Math.Atan2(yDiff, xDiff) * 180.0 / Math.PI); } //foreach (var aa in xList) //{ // Render.Circle.DrawCircle(aa.To3D2(), 105f, System.Drawing.Color.White); //} var nJumpPoint = xList.OrderBy(al => al.Distance(t.Position)).First(); var color = System.Drawing.Color.DarkRed; var width = 4; var startpos = ObjectManager.Player.Position; var endpos = nJumpPoint.To3D(); if (startpos.Distance(endpos) > 100) { var endpos1 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(25 * (float)Math.PI / 180).To3D() * 75; var endpos2 = nJumpPoint.To3D() + (startpos - endpos).To2D().Normalized().Rotated(-25 * (float)Math.PI / 180).To3D() * 75; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x1.Draw(color, width - 2); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y1.Draw(color, width - 2); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z1.Draw(color, width - 2); Geometry.Polygon.Circle x2 = new LeagueSharp.Common.Geometry.Polygon.Circle(endpos, W.Width / 2); if (CommonGeometry.IsWallBetween(ObjectManager.Player.Position, endpos)) { x2.Draw(Color.Red, width - 2); } else { x2.Draw(Color.Wheat, width - 2); } } if (!t.IsValidTarget(W.Range + Q.Range - 60)) { return; } if (t.IsValidTarget(W.Range)) { return; } var canJump = false; if (Modes.ModeCombo.ComboMode == ComboMode.Mode2xQ) { if ((t.Health < ModeCombo.GetComboDamage(t) - W.GetDamage(t) && Q.IsReady() && R.IsReady()) || (t.Health < Q.GetDamage(t) && Q.IsReady())) { canJump = true; } } var nPoint = nJumpPoint.Extend(ObjectManager.Player.Position.To2D(), +ObjectManager.Player.BoundingRadius * 3); Render.Circle.DrawCircle(nPoint.To3D(), 50f, Color.GreenYellow); if (CommonGeometry.IsWallBetween(nPoint.To3D(), nJumpPoint.To3D())) { canJump = false; } if (canJump && W.IsReady() && !W.StillJumped()) { if (Modes.ModeConfig.Orbwalker.ActiveMode == Orbwalking.OrbwalkingMode.Combo) { W.Cast(nJumpPoint); } return; } }
protected override void Drawing_OnDraw(EventArgs args) { if (Menu.Item("Draw_Disabled", true).GetValue <bool>()) { return; } if (Menu.Item("Draw_Q", true).GetValue <bool>()) { if (Q.Level > 0) { Render.Circle.DrawCircle(Player.Position, Q.Range, Q.IsReady() ? Color.Green : Color.Red); } } if (Menu.Item("Draw_QE", true).GetValue <bool>()) { if (Q.Level > 0 && E.Level > 0) { Render.Circle.DrawCircle(Player.Position, SpellManager.QE.Range, Q.IsReady() && E.IsReady() ? Color.Green : Color.Red); } } if (Menu.Item("Draw_W", true).GetValue <bool>()) { if (W.Level > 0) { Render.Circle.DrawCircle(Player.Position, W.Range, W.IsReady() ? Color.Green : Color.Red); } } if (Menu.Item("Draw_E", true).GetValue <bool>()) { if (E.Level > 0) { Render.Circle.DrawCircle(Player.Position, E.Range, E.IsReady() ? Color.Green : Color.Red); } } if (Menu.Item("Draw_R", true).GetValue <bool>()) { if (R.Level > 0) { Render.Circle.DrawCircle(Player.Position, R.Range, R.IsReady() ? Color.Green : Color.Red); } } if (Get_Current_Orb() != null) { Render.Circle.DrawCircle(Get_Current_Orb().Position, W.Width, Color.Green); } if (Menu.Item("Draw_QE_Line", true).GetValue <bool>()) { var qeTarget = TargetSelector.GetTarget(SpellManager.QE.Range, TargetSelector.DamageType.Magical); if (qeTarget == null || !Q.IsReady() || !E.IsReady()) { return; } var qTarget = TargetSelector.GetTarget(E.Range, TargetSelector.DamageType.Magical); if (qTarget.IsValidTarget(E.Range)) { var pred = Q.GetPrediction(qTarget); if (pred.Hitchance >= HitChance.VeryHigh) { var poly = new Geometry.Polygon.Rectangle(pred.CastPosition, Player.ServerPosition.Extend(pred.CastPosition, SpellManager.QE.Range), SpellManager.QE.Width); poly.Draw(Color.LawnGreen); var line = new Geometry.Polygon.Line(Player.Position, Player.ServerPosition.Extend(pred.CastPosition, SpellManager.QE.Range)); line.Draw(Color.LawnGreen); Render.Circle.DrawCircle(pred.CastPosition, Q.Width / 2, Color.Aquamarine); Render.Circle.DrawCircle(Player.ServerPosition.Extend(pred.CastPosition, SpellManager.QE.Range), Q.Width / 2, Color.SpringGreen); } } else { var startPos = Player.ServerPosition.To2D().Extend(qeTarget.ServerPosition.To2D(), Q.Range).To3D(); var rangeLeft = 100 + (-0.6 * Player.Distance(startPos) + 950); var endPos = startPos + Vector3.Normalize(startPos - Player.ServerPosition) * (float)rangeLeft; SpellManager.QE.From = startPos; SpellManager.QE.Delay = E.Delay + Q.Range / E.Speed; var qePred = SpellManager.QE.GetPrediction(qeTarget); var poly = new Geometry.Polygon.Rectangle(startPos, endPos, SpellManager.QE.Width); if (!poly.IsInside(qePred.UnitPosition)) { return; } if (qePred.Hitchance >= HitChance.VeryHigh) { poly.Draw(Color.LawnGreen); var line = new Geometry.Polygon.Line(Player.Position, endPos); line.Draw(Color.LawnGreen); Render.Circle.DrawCircle(startPos, Q.Width / 2, Color.Aquamarine); Render.Circle.DrawCircle(endPos, Q.Width / 2, Color.SpringGreen); } } } if (Menu.Item("Draw_R_Killable", true).GetValue <bool>() && R.IsReady()) { foreach (var wts in from unit in ObjectManager.Get <Obj_AI_Hero>().Where(x => x.IsValidTarget(2000) && !x.IsDead && x.IsEnemy).OrderByDescending(GetComboDamage) let health = unit.Health + unit.HPRegenRate + 10 where Get_Ult_Dmg(unit) > health select Drawing.WorldToScreen(unit.Position)) { Drawing.DrawText(wts[0] - 20, wts[1], Color.White, "KILL!!!"); } } }
private static void DrawingOnOnDraw(EventArgs args) { if (ObjectManager.Player.IsDead) { return; } if (getCheckBoxItem(MenuLocal, "Jump.Draw.Status")) { var enabled = getKeyBindItem(MenuLocal, "Jump.Enabled"); var stat = getBoxItem(MenuLocal, "Jump.Mode"); CommonHelper.DrawText(CommonHelper.TextStatus, "Q Jump: " + stat, (int)ObjectManager.Player.HPBarPosition.X + 145, (int)ObjectManager.Player.HPBarPosition.Y + 5, enabled && stat != 0 ? Color.White : Color.Gray); } if (!getCheckBoxItem(MenuLocal, "Jump.Draw.Arrows")) { return; } if (JumpTarget.LSIsValidTarget(Q.Range)) { return; } if (JumpTarget.LSIsValidTarget() && ObjectManager.Player.LSDistance(JumpTarget) > Q.Range) { var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.Position.LSTo2D().LSExtend(JumpTarget.Position.LSTo2D(), Q.Range * 3), 250).ToPolygon(); toPolygon.Draw(System.Drawing.Color.Red, 1); var otherEnemyObjects = ObjectManager.Get <Obj_AI_Base>() .Where(m => m.IsEnemy && !m.IsDead && !m.IsZombie && m.LSIsValidTarget(Q.Range) && m.NetworkId != JumpTarget.NetworkId) .Where(m => toPolygon.IsInside(m)) .Where(m => ObjectManager.Player.LSDistance(JumpTarget) > ObjectManager.Player.LSDistance(m)) .Where(m => m.Health < Q.GetDamage(m)) .Where(m => !m.LSIsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 165)) .OrderBy(m => m.LSDistance(JumpTarget.Position)); JumpObject = otherEnemyObjects.FirstOrDefault(m => m.LSDistance(JumpTarget.Position) <= Q.Range * 2 && m.LSDistance(JumpTarget.Position) > Orbwalking.GetRealAutoAttackRange(null)); if (JumpObject != null) { if (JumpObject.LSIsValidTarget(Q.Range))// && JumpTarget.Health <= ComboDamage(t, R.Instance.Ammo - 1 < 0 ? 0: R.Instance.Ammo - 1) && Utils.UltiChargeCount >= 2) { var startpos = ObjectManager.Player.Position; var endpos = JumpObject.Position; var endpos1 = JumpObject.Position + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2; var endpos2 = JumpObject.Position + (startpos - endpos).LSTo2D().LSNormalized().LSRotated(-30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2; var width = 1; var x = new LeagueSharp.Common.Geometry.Polygon.Line(startpos, endpos); x.Draw(System.Drawing.Color.Blue, width); var y = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos1); y.Draw(System.Drawing.Color.Blue, width + 1); var z = new LeagueSharp.Common.Geometry.Polygon.Line(endpos, endpos2); z.Draw(System.Drawing.Color.Blue, width + 1); Vector3[] objectCenter = new[] { ObjectManager.Player.Position, JumpObject.Position }; var aX = Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(objectCenter).X, Common.CommonHelper.CenterOfVectors(objectCenter).Y, Common.CommonHelper.CenterOfVectors(objectCenter).Z)); Drawing.DrawText(aX.X - 15, aX.Y - 15, System.Drawing.Color.White, "1st Jump"); /*---------------------------------------------------------------------------------------------------------*/ var xStartPos = JumpObject.Position; var xEndPos = JumpTarget.Position; var xEndPos1 = JumpTarget.Position + (xStartPos - xEndPos).LSTo2D().LSNormalized().LSRotated(30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2; var xEndPost2 = JumpTarget.Position + (xStartPos - xEndPos).LSTo2D().LSNormalized().LSRotated(-30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2; var xWidth = 1; var x1 = new LeagueSharp.Common.Geometry.Polygon.Line(xStartPos, xEndPos); x1.Draw(System.Drawing.Color.IndianRed, xWidth); var y1 = new LeagueSharp.Common.Geometry.Polygon.Line(xEndPos, xEndPos1); y1.Draw(System.Drawing.Color.IndianRed, xWidth + 1); var z1 = new LeagueSharp.Common.Geometry.Polygon.Line(xEndPos, xEndPost2); z1.Draw(System.Drawing.Color.IndianRed, xWidth + 1); Vector3[] enemyCenter = new[] { JumpObject.Position, JumpTarget.Position }; var bX = Drawing.WorldToScreen(new Vector3(Common.CommonHelper.CenterOfVectors(enemyCenter).X, Common.CommonHelper.CenterOfVectors(enemyCenter).Y, Common.CommonHelper.CenterOfVectors(enemyCenter).Z)); } } } }