local replicated_storage = game:GetService("ReplicatedStorage"); local workspace = game:GetService("Workspace"); local players = game:GetService("Players"); local local_player = players.LocalPlayer; local camera = workspace.CurrentCamera; local mouse = local_player:GetMouse(); local gun_client = require(replicated_storage.Modules.Gun.GunClient); local function closest_target(range: number) local closest_part, closest_distance = nil, range; for _, player in (players:GetPlayers()) do if (player == local_player) then continue; end local character = player.Character; if (not character) or (character:FindFirstChild("BodyEffects") and character.BodyEffects["K.O"].Value) or (character:FindFirstChildOfClass("ForceField")) then continue; end local head = character:FindFirstChild("Head"); if (not head) then continue; end local screen_position, on_screen = camera:WorldToViewportPoint(head.Position); if (not on_screen) then continue; end local distance = (Vector2.new(screen_position.X, screen_position.Y) - Vector2.new(mouse.X, mouse.Y)).Magnitude; if (distance < closest_distance) then closest_part = head; closest_distance = distance; end end return closest_part; end local old; old = hookfunction(gun_client.Shoot, function(self, sigma, data) if (data.Shooter == local_player.Character) then local closest = closest_target(1000); if (closest) then data.AimPosition = closest.Position; end end return old(self, sigma, data); end) loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))();