--// SCRIPT BELOW --// This is a universal aimlock and esp script built into a beautiful GUI. --// The aimlock is kinda always enabled dw about it --// Fudging flawless you can use it in most games, built in blocks for you to edit if needed. --// I built it to work on sniper duels but it works on most games. --// Services local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local localPlayer = Players.LocalPlayer local camera = Workspace.CurrentCamera --// GUI State local guiVisible = true local espEnabled = false local aimlockEnabled = false local aimlockHeld = false local activeHighlights = {} --// FOV Circle local fovCircle = Drawing.new("Circle") fovCircle.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2) fovCircle.Radius = 150 fovCircle.Color = Color3.fromRGB(255, 0, 0) fovCircle.Thickness = 2 fovCircle.Transparency = 0.5 fovCircle.Visible = false --// GUI Setup local gui = Instance.new("ScreenGui", localPlayer:WaitForChild("PlayerGui")) gui.Name = "TruesightGUI" gui.ResetOnSpawn = false local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0, 260, 0, 160) frame.Position = UDim2.new(0, 20, 0.5, -80) frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) frame.BorderSizePixel = 0 frame.Active = true frame.Draggable = true local uiCorner = Instance.new("UICorner", frame) uiCorner.CornerRadius = UDim.new(0, 10) local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1, 0, 0, 30) title.BackgroundTransparency = 1 title.Text = "🎯 Truesight Control Panel" title.Font = Enum.Font.GothamBold title.TextSize = 18 title.TextColor3 = Color3.fromRGB(255, 0, 255) --// Toggle Creator local function createToggle(name, position, default, callback) local toggle = Instance.new("TextButton", frame) toggle.Size = UDim2.new(0.9, 0, 0, 30) toggle.Position = position toggle.BackgroundColor3 = Color3.fromRGB(40, 40, 40) toggle.TextColor3 = Color3.new(1, 1, 1) toggle.Font = Enum.Font.Gotham toggle.TextSize = 14 toggle.TextXAlignment = Enum.TextXAlignment.Left toggle.Text = " " .. name .. ": " .. (default and "ON" or "OFF") local corner = Instance.new("UICorner", toggle) corner.CornerRadius = UDim.new(0, 6) toggle.MouseButton1Click:Connect(function() default = not default toggle.Text = " " .. name .. ": " .. (default and "ON" or "OFF") callback(default) end) end --// ESP Logic (from your ESP.txt) local function createHighlight(character) if character:FindFirstChild("UniversalHighlight") then return end local highlight = Instance.new("Highlight") highlight.Name = "UniversalHighlight" highlight.FillColor = Color3.fromRGB(255, 0, 0) highlight.OutlineColor = Color3.new(1, 1, 1) highlight.FillTransparency = 0.5 highlight.OutlineTransparency = 0 highlight.Adornee = character highlight.Parent = character table.insert(activeHighlights, highlight) end local function removeAllHighlights() for _, highlight in ipairs(activeHighlights) do if highlight and highlight.Parent then highlight:Destroy() end end activeHighlights = {} end local function applyHighlight(player) if player == localPlayer then return end player.CharacterAdded:Connect(function(character) if espEnabled then createHighlight(character) end end) if player.Character then createHighlight(player.Character) end end for _, player in pairs(Players:GetPlayers()) do applyHighlight(player) end Players.PlayerAdded:Connect(applyHighlight) --// Aimlock Logic (from your AIMLOCK SCRIPT.txt) --// Services local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") --// Local Player and Camera local localPlayer = Players.LocalPlayer local camera = Workspace.CurrentCamera --// Settings local FOV_RADIUS = 150 local AIMLOCK_KEY = Enum.UserInputType.MouseButton2 local IGNORE_LIST = {localPlayer.Character, camera} --// FOV Circle local fovCircle = Drawing.new("Circle") fovCircle.Position = Vector2.new(camera.ViewportSize.X / 2, camera.ViewportSize.Y / 2) fovCircle.Radius = FOV_RADIUS fovCircle.Color = Color3.fromRGB(255, 0, 0) fovCircle.Thickness = 2 fovCircle.Transparency = 0.5 fovCircle.Visible = true --// Aimlock State local aimlockHeld = false --// Helper: Team Check local function isEnemy(player) if localPlayer.Team == nil or player.Team == nil then return true end return player.Team ~= localPlayer.Team end --// Helper: Wall Check local function hasLineOfSight(targetPart) local origin = camera.CFrame.Position local direction = (targetPart.Position - origin).Unit * (targetPart.Position - origin).Magnitude local raycastParams = RaycastParams.new() raycastParams.FilterDescendantsInstances = IGNORE_LIST raycastParams.FilterType = Enum.RaycastFilterType.Blacklist local result = Workspace:Raycast(origin, direction, raycastParams) return not result or result.Instance:IsDescendantOf(targetPart.Parent) end --// Helper: Get Closest Valid Player in FOV local function getClosestPlayer() local closestPlayer = nil local shortestDistance = FOV_RADIUS for _, player in pairs(Players:GetPlayers()) do if player ~= localPlayer and player.Character and player.Character:FindFirstChild("Head") and isEnemy(player) then local head = player.Character.Head local screenPos, onScreen = camera:WorldToViewportPoint(head.Position) if onScreen then local distance = (Vector2.new(screenPos.X, screenPos.Y) - fovCircle.Position).Magnitude if distance < shortestDistance and hasLineOfSight(head) then shortestDistance = distance closestPlayer = player end end end end return closestPlayer end --// Input Handling UserInputService.InputBegan:Connect(function(input, gameProcessed) if input.UserInputType == AIMLOCK_KEY then aimlockHeld = true end end) UserInputService.InputEnded:Connect(function(input, gameProcessed) if input.UserInputType == AIMLOCK_KEY then aimlockHeld = false end end) --// Main Loop (Pure Lock-On) RunService.RenderStepped:Connect(function() if aimlockHeld then local targetPlayer = getClosestPlayer() if targetPlayer and targetPlayer.Character then local head = targetPlayer.Character:FindFirstChild("Head") if head then camera.CFrame = CFrame.new(camera.CFrame.Position, head.Position) end end end end) --// GUI Toggles createToggle("enable truesight", UDim2.new(0.05, 0, 0.35, 0), espEnabled, function(state) espEnabled = state if espEnabled then for _, player in pairs(Players:GetPlayers()) do if player ~= localPlayer and player.Character then createHighlight(player.Character) end end else removeAllHighlights() end end) createToggle("enable aimery fuckery", UDim2.new(0.05, 0, 0.6, 0), aimlockEnabled, function(state) aimlockEnabled = state fovCircle.Visible = guiVisible and aimlockEnabled end)