local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local camera = Workspace.CurrentCamera local silent_aim_enabled = true local mousePressed = false local fovRadius = 100 local fovVisible = true --Base Setup local characters = Workspace:WaitForChild("characters", 5) UserInputService.InputBegan:Connect(function(input, gp) if input.UserInputType == Enum.UserInputType.MouseButton1 and not gp then mousePressed = true end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then mousePressed = false end end) -- FOV Circle local fovCircle = Drawing.new("Circle") fovCircle.Thickness = 1 fovCircle.Transparency = 1 fovCircle.Color = Color3.fromRGB(255, 255, 255) fovCircle.Filled = false fovCircle.Radius = fovRadius fovCircle.Visible = true RunService.RenderStepped:Connect(function() local pos = UserInputService:GetMouseLocation() - Vector2.new(0,36) fovCircle.Position = pos fovCircle.Visible = fovVisible and silent_aim_enabled end) local function playHitSound() local s = Instance.new("Sound") s.SoundId = "rbxassetid://1255040462" s.Volume = 1 s.PlayOnRemove = true s.Parent = Workspace s:Destroy() end local function draw_tracer(origin, target_pos) local nodeCount = 10 local points = {} for i = 0, nodeCount do local a = i / nodeCount local base = origin:Lerp(target_pos, a) local offset = (Vector3.new( math.random() - 0.5, math.random() - 0.5, math.random() - 0.5 ).Unit) * math.sin(a * math.pi) * 1.5 points[i] = base + offset end local created = {} local function attach(pos) local p = Instance.new("Part") p.Size = Vector3.new(0.05, 0.05, 0.05) p.Anchored = true p.CanCollide = false p.Transparency = 1 p.Position = pos p.Parent = Workspace created[#created+1] = p return Instance.new("Attachment", p) end for i = 0, nodeCount - 1 do local a0 = attach(points[i]) local a1 = attach(points[i + 1]) local beam = Instance.new("Beam") beam.Attachment0 = a0 beam.Attachment1 = a1 beam.FaceCamera = true beam.Width0 = 0.15 beam.Width1 = 0.15 beam.Color = ColorSequence.new(Color3.fromRGB(255,0,0)) beam.Transparency = NumberSequence.new(0) beam.TextureSpeed = 4 beam.Texture = "http://www.roblox.com/asset/?id=131326755401058" beam.Parent = Workspace created[#created+1] = beam end task.delay(3, function() for _, o in ipairs(created) do if o.Destroy then o:Destroy() end end end) end local function get_closest_enemy() local mouse_pos = UserInputService:GetMouseLocation() - Vector2.new(0,36) local closest, shortest = nil, math.huge for _, char in ipairs(characters:GetChildren()) do if char ~= LocalPlayer.Character and char.Name ~= "StarterCharacter" then local hitbox = char:FindFirstChild("hitbox") if hitbox then local pos, visible = camera:WorldToViewportPoint(hitbox.Position) if visible then local screen_pos = Vector2.new(pos.X, pos.Y) local dist = (mouse_pos - screen_pos).Magnitude if dist <= fovRadius and dist < shortest then shortest = dist closest = char end end end end end return closest end for _, fn in ipairs(getgc(true)) do if typeof(fn) == "function" and islclosure(fn) then local info = debug.getinfo(fn) if info and info.name == "fire" and info.source:lower():find("caster") then local old old = hookfunction(fn, function(rep, origin, direction, user_data, ...) if silent_aim_enabled and mousePressed then local target = get_closest_enemy() if target and target:FindFirstChild("head") then local head = target.head.Position direction = (head - origin).Unit * 1000 local params = RaycastParams.new() params.FilterDescendantsInstances = {LocalPlayer.Character} params.FilterType = Enum.RaycastFilterType.Blacklist params.IgnoreWater = true local result = Workspace:Raycast(origin, direction, params) if result and result.Instance and result.Instance:IsDescendantOf(target) then draw_tracer(origin, head) playHitSound() end end end return old(rep, origin, direction, user_data, ...) end) break end end end local ESP = {} local camera = workspace.CurrentCamera local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local WorldToViewportPoint = camera.WorldToViewportPoint local function Create2DESP(model) if not model or not model.Parent then return end if ESP[model] then return end local drawings = { box = Drawing.new("Square") } local box = drawings.box box.Thickness = 1 box.Color = Color3.fromRGB(255, 255, 255) box.Transparency = 1 box.Filled = false box.Visible = false ESP[model] = drawings end local updateConnection = RunService.PreRender:Connect(function() for model, drawings in pairs(ESP) do local rootPart = model:FindFirstChild("humanoid_root_part") if not rootPart then drawings.box.Visible = false continue end local rootCFrame = rootPart.CFrame local rootPos = rootCFrame.Position local upVectorY = rootCFrame.UpVector.Y local screenPos, onScreen = WorldToViewportPoint(camera, rootPos) if onScreen then local offset = Vector3.new(0, 3 * math.abs(upVectorY), 0) local topPos = WorldToViewportPoint(camera, rootPos + offset) local bottomPos = WorldToViewportPoint(camera, rootPos - offset) local height = math.abs(topPos.Y - bottomPos.Y) local width = height * 0.6 drawings.box.Size = Vector2.new(width, height) drawings.box.Position = Vector2.new(screenPos.X - width/2, screenPos.Y - heigh