/// <summary> /// Reset the net to its default position /// </summary> public void Reset() { if (m_BaseAddress == RED_NET_ADDRESS) { RightFrontBottom = RedDefaultPositions.RIGHT_FRONT_BOTTOM; LeftFrontBottom = RedDefaultPositions.LEFT_FRONT_BOTTOM; LeftBackBottom = RedDefaultPositions.LEFT_BACK_BOTTOM; RightBackBottom = RedDefaultPositions.RIGHT_BACK_BOTTOM; RightFrontTop = RedDefaultPositions.RIGHT_FRONT_TOP; LeftFrontTop = RedDefaultPositions.LEFT_FRONT_TOP; LeftBackTop = RedDefaultPositions.LEFT_BACK_TOP; RightBackTop = RedDefaultPositions.RIGHT_BACK_TOP; } else if (m_BaseAddress == BLUE_NET_ADDRESS) { RightFrontBottom = BlueDefaultPositions.RIGHT_FRONT_BOTTOM; LeftFrontBottom = BlueDefaultPositions.LEFT_FRONT_BOTTOM; LeftBackBottom = BlueDefaultPositions.LEFT_BACK_BOTTOM; RightBackBottom = BlueDefaultPositions.RIGHT_BACK_BOTTOM; RightFrontTop = BlueDefaultPositions.RIGHT_FRONT_TOP; LeftFrontTop = BlueDefaultPositions.LEFT_FRONT_TOP; LeftBackTop = BlueDefaultPositions.LEFT_BACK_TOP; RightBackTop = BlueDefaultPositions.RIGHT_BACK_TOP; } }
public static float Angle(HQMVector v1, HQMVector v2) { double x = v1.X - v2.X; double z = v1.Z - v2.Z; return((float)(Math.Atan2(x, z) * -180 / Math.PI)); }
public static void Start() { HQMVector redServicePoint = new HQMVector(19f, 1f, 40.5f); Puck.Position = redServicePoint; Puck.Velocity = new HQMVector(0f, 0f, 0f); Puck.RotationalVelocity = new HQMVector(0f, 0f, 0f); Chat.SendMessage("Red Serve"); }
/// <summary> /// Translates the whole net by the given vector /// </summary> /// <param name="translation">The vector to translate</param> public void Translate(HQMVector translation) { RightFrontBottom += translation; LeftFrontBottom += translation; LeftBackBottom += translation; RightBackBottom += translation; RightFrontTop += translation; LeftFrontTop += translation; LeftBackTop += translation; RightBackTop += translation; }
public static Player ClosestTeammate(HQMVector v) //Gets the closest player from the same team, excluding self { Player closestPlayer = null; float playerDistance = 999f; foreach (Player p in PlayerManager.Players) { if ((Calc.DistanceSquared(p.Position, v) < playerDistance) && (p.Team == PlayerManager.LocalPlayer.Team) && (p.Name != PlayerManager.LocalPlayer.Name)) { playerDistance = Calc.DistanceSquared(p.Position, v); closestPlayer = p; } } return(closestPlayer); }
public static Player ClosestOpponent(HQMVector v) //Gets the closest player from the opposite team { Player closestPlayer = null; float playerDistance = 999f; foreach (Player p in PlayerManager.Players) { if ((Calc.DistanceSquared(p.Position, v) < playerDistance) && (p.Team != PlayerManager.LocalPlayer.Team)) { playerDistance = Calc.DistanceSquared(p.Position, v); closestPlayer = p; } } return(closestPlayer); }
public static Player ClosestPlayer(HQMVector v) //Gets the closest player from any team to the puck { Player closestPlayer = null; float playerDistance = 999f; foreach (Player p in PlayerManager.Players) { if (Calc.DistanceSquared(p.Position, v) < playerDistance) { playerDistance = Calc.DistanceSquared(p.Position, v); closestPlayer = p; } } return(closestPlayer); }
public static void Setup(float posts, float center) { HQMVector RIGHT_FRONT_BOTTOM = new HQMVector(21.485f, 1.1f, 30.5f); HQMVector LEFT_FRONT_BOTTOM = new HQMVector(8.515f, 0.9f, 30.5f); HQMVector LEFT_BACK_BOTTOM = new HQMVector(13.75f, 1.1f, 30.5f); HQMVector RIGHT_BACK_BOTTOM = new HQMVector(16.25f, 0.9f, 30.5f); HQMVector RIGHT_FRONT_TOP = new HQMVector(21.485f, 0, 30.5f); HQMVector LEFT_FRONT_TOP = new HQMVector(8.515f, 0, 30.5f); HQMVector LEFT_BACK_TOP = new HQMVector(13.75f, 0, 30.5f); HQMVector RIGHT_BACK_TOP = new HQMVector(16.25f, 0, 30.5f); const int BLUE_NET_ADDRESS = 0x00CFA974; MemoryEditor.WriteHQMVector(RIGHT_FRONT_BOTTOM, BLUE_NET_ADDRESS); MemoryEditor.WriteHQMVector(LEFT_FRONT_BOTTOM, BLUE_NET_ADDRESS + 0xC); MemoryEditor.WriteHQMVector(LEFT_BACK_BOTTOM, BLUE_NET_ADDRESS + 0x18); MemoryEditor.WriteHQMVector(RIGHT_BACK_BOTTOM, BLUE_NET_ADDRESS + 0x24); MemoryEditor.WriteHQMVector(RIGHT_FRONT_TOP, BLUE_NET_ADDRESS + 0x30); MemoryEditor.WriteHQMVector(LEFT_FRONT_TOP, BLUE_NET_ADDRESS + 0x3C); MemoryEditor.WriteHQMVector(LEFT_BACK_TOP, BLUE_NET_ADDRESS + 0x48); MemoryEditor.WriteHQMVector(RIGHT_BACK_TOP, BLUE_NET_ADDRESS + 0x54); }
private void timer1_Tick(object sender, EventArgs e) { HQMVector puckPos = Puck.Position; PuckPos.Text = "Puck Pos: (" + puckPos + ")"; HQMVector puckRot = Puck.RotationalVelocity; PuckSpin.Text = "Puck Spin: (" + puckRot + ")"; HQMVector puckVel = Puck.Velocity; PuckVel.Text = "Puck Velocity: (" + puckVel + ")"; HQMVector playerPos = PlayerManager.LocalPlayer.Position; PlayerPos.Text = "Player Pos: (" + playerPos + ")"; HQMVector playerStickPos = PlayerManager.LocalPlayer.StickPosition; PlayerStick.Text = "Player Stick Pos: (" + playerStickPos + ")"; }
public static string GetZone(HQMVector target) { if (target.Z >= 30.5f && Math.Abs(target.X - 15) < DOUBLES_WIDTH) { if (target.Z < RED_SERVICE_LINE) { return("RED SERVICE BOX"); } else if ((target.Z > RED_SERVICE_LINE) && (target.Z < RED_BASE_LINE)) { return("RED BACK COURT"); } else { return("OUT!"); } } else if (target.Z < 30.5f && Math.Abs(target.X - 15) < DOUBLES_WIDTH) { if (target.Z > BLUE_SERVICE_LINE) { return("BLUE SERVICE BOX"); } else if ((target.Z < BLUE_SERVICE_LINE) && (target.Z > BLUE_BASE_LINE)) { return("BLUE BACK COURT"); } else { return("OUT!"); } } else { return("OUT!"); } }
public static float DistanceSquared(HQMVector v1, HQMVector v2) { return((v1.X - v2.X) * (v1.X - v2.X) + (v1.Z - v2.Z) * (v1.Z - v2.Z)); }