--// 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)
Comments
"enable aimery fuckery" LMAO, what possessed u to put that.