local Services = loadstring(game:HttpGet("https://raw.githubusercontent.com/AccountBurner/Utility/refs/heads/main/Services"))(); local Players, Workspace = Services:Get('Players', 'Workspace'); local CurrentCamera = Workspace.CurrentCamera; do local _G = getrenv()._G; local globals = _G.globals; local exe_map = debug.getupvalues(_G.append_exe_set)[1]; local cli_state = globals.cli_state; local sol_teams = globals.sol_teams; local soldiers_spawned = globals.soldiers_spawned; local soldiers_alive = globals.soldiers_alive; local soldier_models = globals.soldier_models; local function get_closest_player() local closest_player; local closest_distance = math.huge; local fpv_id = cli_state.fpv_sol_id; local team = sol_teams[fpv_id]; for player_id, spawned in pairs(soldiers_spawned) do if spawned and soldiers_alive[player_id] and player_id ~= fpv_id and sol_teams[player_id] ~= team then local character = soldier_models[player_id]; if character and character.PrimaryPart then local head = character:FindFirstChild("Head") or character.PrimaryPart; local distance = (head.Position - CurrentCamera.CFrame.Position).Magnitude; if distance < closest_distance then closest_distance = distance; closest_player = head; end; end; end; end; return closest_player; end; local old_spawn = exe_map[_G.exe_func_t.SPAWN_FPV_SOL_BULLET]; exe_map[_G.exe_func_t.SPAWN_FPV_SOL_BULLET] = function(bullet_id, bullet_type, spawn_pos, velocity) local target = get_closest_player(); if target then velocity = (target.Position - spawn_pos).Unit * velocity.Magnitude; end; return old_spawn(bullet_id, bullet_type, spawn_pos, velocity); end; end;