private static void GetJumpingObjects() { ; var t = ObjectManager.Get <Obj_AI_Base>() .OrderBy(obj => obj.LSDistance(ObjectManager.Player.ServerPosition)) .FirstOrDefault( obj => !obj.IsAlly && !obj.IsMe && !obj.IsMinion && (obj is Obj_AI_Turret) && Game.CursorPos.LSDistance(obj.ServerPosition) <= Q.Range * 8); if (t == null) { return; } var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.Position.LSTo2D().LSExtend(t.Position.LSTo2D(), t.LSDistance(ObjectManager.Player.Position)), (E.Range / 2) + E.Range / 3).ToPolygon(); toPolygon.Draw(System.Drawing.Color.Red, 1); var startPos = ObjectManager.Player.Position + Vector3.Normalize(ObjectManager.Player.Position - t.ServerPosition) * (Q.Range); for (var i = 1; i < (ObjectManager.Player.LSDistance(t.Position) / Q.Range) + 1; i++) { var targetBehind = startPos + Vector3.Normalize(t.ServerPosition - startPos) * i * Q.Range; var existsMinion = JumpingObjects[i]; var minions = ObjectManager.Get <Obj_AI_Minion>() .Where(m => m.IsAlly && !m.IsDead) .Where(m => toPolygon.IsInside(m) && m.LSDistance(targetBehind) < Q.Range && m.NetworkId != existsMinion //&& m.Health < Q.GetDamage(m) ) .OrderByDescending(m => m.LSDistance(ObjectManager.Player.Position)) .FirstOrDefault(); if (minions != null) { var j = JumpingObjects.Find(x => x.Key == minions.NetworkId); if (minions.NetworkId != j.Key && i != j.Value) { JumpingObjects.Remove(existsMinion); } JumpingObjects.Add(minions.NetworkId, i); Render.Circle.DrawCircle(minions.Position, minions.BoundingRadius, System.Drawing.Color.Red); } Render.Circle.DrawCircle(targetBehind, Q.Range, System.Drawing.Color.Yellow); } }
private static void GetJumpingObjects() { ; var t = ObjectManager.Get<Obj_AI_Base>() .OrderBy(obj => obj.LSDistance(ObjectManager.Player.ServerPosition)) .FirstOrDefault( obj => !obj.IsAlly && !obj.IsMe && !obj.IsMinion && (obj is Obj_AI_Turret) && Game.CursorPos.LSDistance(obj.ServerPosition) <= Q.Range * 8); if (t == null) { return; } var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.LSTo2D(), ObjectManager.Player.Position.LSTo2D().LSExtend(t.Position.LSTo2D(), t.LSDistance(ObjectManager.Player.Position)), (E.Range / 2) + E.Range / 3).ToPolygon(); toPolygon.Draw(System.Drawing.Color.Red, 1); var startPos = ObjectManager.Player.Position + Vector3.Normalize(ObjectManager.Player.Position - t.ServerPosition) * (Q.Range); for (var i = 1; i < (ObjectManager.Player.LSDistance(t.Position) / Q.Range) + 1; i++) { var targetBehind = startPos + Vector3.Normalize(t.ServerPosition - startPos) * i * Q.Range; var existsMinion = JumpingObjects[i]; var minions = ObjectManager.Get<Obj_AI_Minion>() .Where(m => m.IsAlly && !m.IsDead) .Where(m => toPolygon.IsInside(m) && m.LSDistance(targetBehind) < Q.Range && m.NetworkId != existsMinion //&& m.Health < Q.GetDamage(m) ) .OrderByDescending(m => m.LSDistance(ObjectManager.Player.Position)) .FirstOrDefault(); if (minions != null) { var j = JumpingObjects.Find(x => x.Key == minions.NetworkId); if (minions.NetworkId != j.Key && i != j.Value) { JumpingObjects.Remove(existsMinion); } JumpingObjects.Add(minions.NetworkId, i); Render.Circle.DrawCircle(minions.Position, minions.BoundingRadius, System.Drawing.Color.Red); } Render.Circle.DrawCircle(targetBehind, Q.Range, System.Drawing.Color.Yellow); } }
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 DrawingOnOnDraw(EventArgs args) { if (ObjectManager.Player.IsDead) { return; } if (MenuLocal.Item("Jump.Draw.Status").GetValue <bool>()) { var enabled = MenuLocal.Item("Jump.Enabled").GetValue <KeyBind>().Active; var stat = MenuLocal.Item("Jump.Mode").GetValue <StringList>().SelectedValue; CommonHelper.DrawText(CommonHelper.TextStatus, "Q Jump: " + stat, (int)ObjectManager.Player.HPBarPosition.X + 145, (int)ObjectManager.Player.HPBarPosition.Y + 5, enabled && stat != "Off" ? Color.White : Color.Gray); } if (!MenuLocal.Item("Jump.Draw.Arrows").GetValue <bool>()) { return; } if (JumpTarget.IsValidTarget(Q.Range)) { return; } if (JumpTarget.IsValidTarget() && ObjectManager.Player.Distance(JumpTarget) > Q.Range) { var toPolygon = new Common.CommonGeometry.Rectangle(ObjectManager.Player.Position.To2D(), ObjectManager.Player.Position.To2D().Extend(JumpTarget.Position.To2D(), 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.IsValidTarget(Q.Range) && m.NetworkId != JumpTarget.NetworkId) .Where(m => toPolygon.IsInside(m)) .Where(m => ObjectManager.Player.Distance(JumpTarget) > ObjectManager.Player.Distance(m)) .Where(m => m.Health < Q.GetDamage(m)) .Where(m => !m.IsValidTarget(Orbwalking.GetRealAutoAttackRange(null) + 165)) .OrderBy(m => m.Distance(JumpTarget.Position)); JumpObject = otherEnemyObjects.FirstOrDefault(m => m.Distance(JumpTarget.Position) <= Q.Range * 2 && m.Distance(JumpTarget.Position) > Orbwalking.GetRealAutoAttackRange(null)); if (JumpObject != null) { if (JumpObject.IsValidTarget(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).To2D().Normalized().Rotated(30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2; var endpos2 = JumpObject.Position + (startpos - endpos).To2D().Normalized().Rotated(-30 * (float)Math.PI / 180).To3D() * ObjectManager.Player.BoundingRadius * 2; var width = 1; var x = new Geometry.Polygon.Line(startpos, endpos); x.Draw(System.Drawing.Color.Blue, width); var y = new Geometry.Polygon.Line(endpos, endpos1); y.Draw(System.Drawing.Color.Blue, width + 1); var z = new 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).To2D().Normalized().Rotated(30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2; var xEndPost2 = JumpTarget.Position + (xStartPos - xEndPos).To2D().Normalized().Rotated(-30 * (float)Math.PI / 180).To3D() * JumpObject.BoundingRadius * 2; var xWidth = 1; var x1 = new Geometry.Polygon.Line(xStartPos, xEndPos); x1.Draw(System.Drawing.Color.IndianRed, xWidth); var y1 = new Geometry.Polygon.Line(xEndPos, xEndPos1); y1.Draw(System.Drawing.Color.IndianRed, xWidth + 1); var z1 = new 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)); } } } }