Esp script
Key RequiredUniversal

Esp script

Universal ScriptAethTexAethTex 655 views 1.6K executesUpdated Jan 10, 2026
Unrated
00
Lua Script•113 lines (4603 chars)
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local LocalPlayer = Players.LocalPlayer
local pgui = LocalPlayer:WaitForChild("PlayerGui")

-- Setup UI
if pgui:FindFirstChild("GeminiESPMaster") then pgui.GeminiESPMaster:Destroy() end
local sg = Instance.new("ScreenGui", pgui); sg.Name = "GeminiESPMaster"; sg.ResetOnSpawn = false

local main = Instance.new("Frame", sg)
main.Size = UDim2.new(0, 150, 0, 50)
main.Position = UDim2.new(0.1, 0, 0.4, 0)
main.BackgroundColor3 = Color3.fromRGB(30, 31, 34)
main.Active = true
Instance.new("UICorner", main)

-- PRO DRAG LOGIC (Works on all executors)
local dragging, dragInput, dragStart, startPos
local function update(input)
	local delta = input.Position - dragStart
	main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
main.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		dragging = true; dragStart = input.Position; startPos = main.Position
		input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end)
	end
end)
main.InputChanged:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end
end)
UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) end end)

local toggleBtn = Instance.new("TextButton", main)
toggleBtn.Size = UDim2.new(1, -10, 1, -10)
toggleBtn.Position = UDim2.new(0, 5, 0, 5)
toggleBtn.Text = "ESP: OFF"
toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
toggleBtn.TextColor3 = Color3.new(1, 1, 1)
toggleBtn.Font = "GothamBold"
toggleBtn.TextSize = 14
Instance.new("UICorner", toggleBtn)

-- ESP STORAGE
local ESP_Folder = Instance.new("Folder", game:GetService("CoreGui"))
ESP_Folder.Name = "GeminiESP_Storage"
local espEnabled = false
local espStorage = {}

local function applyESP(player)
    local char = player.Character or player.CharacterAdded:Wait()
    local highlight = Instance.new("Highlight", ESP_Folder)
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.FillTransparency = 0.5
    
    local bill = Instance.new("BillboardGui", ESP_Folder)
    bill.AlwaysOnTop = true
    bill.Size = UDim2.new(0, 120, 0, 45)
    bill.ExtentsOffset = Vector3.new(0, 4.5, 0)
    
    local label = Instance.new("TextLabel", bill)
    label.Size = UDim2.new(1, 0, 1, 0)
    label.BackgroundTransparency = 1
    label.Font = "GothamBold"
    label.TextSize = 13
    label.TextStrokeTransparency = 0.5
    
    return highlight, bill, label
end

toggleBtn.MouseButton1Click:Connect(function()
    espEnabled = not espEnabled
    if espEnabled then
        toggleBtn.Text = "ESP: ON"; toggleBtn.BackgroundColor3 = Color3.fromRGB(66, 133, 244)
    else
        toggleBtn.Text = "ESP: OFF"; toggleBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
        for _, data in pairs(espStorage) do
            if data.High then data.High:Destroy() end
            if data.Tag then data.Tag:Destroy() end
        end
        espStorage = {}
        ESP_Folder:ClearAllChildren()
    end
end)

RunService.RenderStepped:Connect(function()
    if not espEnabled then return end
    local myChar = LocalPlayer.Character
    if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then return end
    
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer then
            local char = player.Character
            if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then
                if not espStorage[player] then
                    local high, bill, label = applyESP(player)
                    espStorage[player] = {High = high, Tag = bill, Text = label}
                end
                
                local data = espStorage[player]
                local dist = math.floor((myChar.HumanoidRootPart.Position - char.HumanoidRootPart.Position).Magnitude)
                local teamColor = player.TeamColor.Color
                
                data.High.Adornee = char
                data.High.FillColor = teamColor
                data.Tag.Adornee = char.HumanoidRootPart
                data.Text.TextColor3 = teamColor
                data.Text.Text = string.format("%s\n%d studs", player.Name, dist)
            end
        end
    end
end)

Features & Information

Just a esp script

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts