MCPcopy Create free account
hub / github.com/SunOner/sunone_aimbot / predict_target_position

Method predict_target_position

logic/mouse.py:101–144  ·  view source on GitHub ↗
(self, target_x, target_y, current_time)

Source from the content-addressed store, hash-verified

99 self.move_mouse(move_x, move_y, shooting_state)
100
101 def predict_target_position(self, target_x, target_y, current_time):
102 # First target
103 if self.prev_time is None:
104 self.prev_time = current_time
105 self.prev_x = target_x
106 self.prev_y = target_y
107 self.prev_velocity_x = 0
108 self.prev_velocity_y = 0
109 return target_x, target_y
110
111 # Next target?
112 max_jump = max(self.screen_width, self.screen_height) * 0.3 # 30%
113 if abs(target_x - self.prev_x) > max_jump or abs(target_y - self.prev_y) > max_jump:
114 self.prev_x, self.prev_y = target_x, target_y
115 self.prev_velocity_x = 0
116 self.prev_velocity_y = 0
117 self.prev_time = current_time
118 return target_x, target_y
119
120 delta_time = current_time - self.prev_time
121
122 if delta_time <= 0:
123 delta_time = 1e-3
124
125 velocity_x = (target_x - self.prev_x) / delta_time
126 velocity_y = (target_y - self.prev_y) / delta_time
127 acceleration_x = (velocity_x - self.prev_velocity_x) / delta_time
128 acceleration_y = (velocity_y - self.prev_velocity_y) / delta_time
129
130 prediction_interval = delta_time * self.prediction_interval
131 current_distance = math.sqrt((target_x - self.prev_x)**2 + (target_y - self.prev_y)**2)
132 proximity_factor = max(0.1, min(1, 1 / (current_distance + 1)))
133
134 speed_correction = 1 + (abs(current_distance - (self.prev_distance or 0)) / self.max_distance) * self.speed_correction_factor if self.prev_distance is not None else 1.0
135
136 predicted_x = target_x + velocity_x * prediction_interval * proximity_factor * speed_correction + 0.5 * acceleration_x * (prediction_interval ** 2) * proximity_factor * speed_correction
137 predicted_y = target_y + velocity_y * prediction_interval * proximity_factor * speed_correction + 0.5 * acceleration_y * (prediction_interval ** 2) * proximity_factor * speed_correction
138
139 self.prev_x, self.prev_y = target_x, target_y
140 self.prev_velocity_x, self.prev_velocity_y = velocity_x, velocity_y
141 self.prev_time = current_time
142 self.prev_distance = current_distance
143
144 return predicted_x, predicted_y
145
146 def calculate_speed_multiplier(self, target_x, target_y, distance):
147 if any(map(math.isnan, (target_x, target_y))) or self.section_size_x == 0:

Callers 1

process_dataMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected