
KeylessUniversal

local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local TweenService = game:GetService("TweenService")
-- Estado Global do ESP e Menu
_G.EspEnabled = true
local MenuMinimized = false
-- Configurações Visuais do ESP
local Config = {
BoxColor = Color3.fromRGB(255, 0, 0), -- Vermelho
LineColor = Color3.fromRGB(255, 255, 255), -- ALTERADO: Linha agora é Branca
TextColor = Color3.fromRGB(255, 255, 255),-- Branco para informações
LineThickness = 1.5,
BoxThickness = 1.5
}
----------------------------------------------------------------
-- NOTIFICAÇÃO DE INICIALIZAÇÃO
----------------------------------------------------------------
game:GetService("StarterGui"):SetCore("SendNotification", {
Title = "ESP VIP 300",
Text = "Script carregado com sucesso!",
Duration = 4
})
----------------------------------------------------------------
-- 1. CRIAÇÃO DO PAINEL UI INTERATIVO
----------------------------------------------------------------
if CoreGui:FindFirstChild("ArceusEspPanel") then
CoreGui.ArceusEspPanel:Destroy()
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "ArceusEspPanel"
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false
-- Card Principal do Painel
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 220, 0, 160)
MainFrame.Position = UDim2.new(0.1, 0, 0.2, 0)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.ClipsDescendants = true
MainFrame.Parent = ScreenGui
local UICorner = Instance.new("UICorner")
UICorner.CornerRadius = UDim.new(0, 10)
UICorner.Parent = MainFrame
-- Título do Painel: ESP VIP 300
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -40, 0, 35)
Title.Position = UDim2.new(0, 10, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "ESP VIP 300"
Title.TextColor3 = Color3.fromRGB(255, 255, 255) -- ALTERADO: Nome do painel agora é Branco
Title.TextSize = 15
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Font = Enum.Font.GothamBold
Title.Parent = MainFrame
-- Botão Minimizar
local MinimizeBtn = Instance.new("TextButton")
MinimizeBtn.Size = UDim2.new(0, 25, 0, 25)
MinimizeBtn.Position = UDim2.new(1, -30, 0, 5)
MinimizeBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 55)
MinimizeBtn.Text = "-"
MinimizeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
MinimizeBtn.TextSize = 16
MinimizeBtn.Font = Enum.Font.GothamBold
MinimizeBtn.BorderSizePixel = 0
MinimizeBtn.Parent = MainFrame
local MinCorner = Instance.new("UICorner")
MinCorner.CornerRadius = UDim.new(0, 5)
MinCorner.Parent = MinimizeBtn
-- Botão de Ligar / Desligar (Toggle)
local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Size = UDim2.new(0, 180, 0, 45)
ToggleBtn.Position = UDim2.new(0, 20, 0, 40)
ToggleBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113)
ToggleBtn.Text = "ESP: ATIVADO"
ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleBtn.TextSize = 14
ToggleBtn.Font = Enum.Font.GothamBold
ToggleBtn.BorderSizePixel = 0
ToggleBtn.Parent = MainFrame
local BtnCorner = Instance.new("UICorner")
BtnCorner.CornerRadius = UDim.new(0, 8)
BtnCorner.Parent = ToggleBtn
-- Linha Divisória
local Divider = Instance.new("Frame")
Divider.Size = UDim2.new(0, 180, 0, 1)
Divider.Position = UDim2.new(0, 20, 0, 100)
Divider.BackgroundColor3 = Color3.fromRGB(50, 50, 65)
Divider.BorderSizePixel = 0
Divider.Parent = MainFrame
-- Seção de Créditos
local Credits = Instance.new("TextLabel")
Credits.Size = UDim2.new(1, 0, 0, 45)
Credits.Position = UDim2.new(0, 0, 0, 105)
Credits.BackgroundTransparency = 1
Credits.Text = "criador: Nillghost300\nc00lkiddFun"
Credits.TextSize = 12
Credits.Font = Enum.Font.GothamSemibold
Credits.Parent = MainFrame
-- Lógica de Interação dos Botões da UI
ToggleBtn.MouseButton1Click:Connect(function()
_G.EspEnabled = not _G.EspEnabled
if _G.EspEnabled then
TweenService:Create(ToggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(46, 204, 113)}):Play()
ToggleBtn.Text = "ESP: ATIVADO"
else
TweenService:Create(ToggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(231, 76, 60)}):Play()
ToggleBtn.Text = "ESP: DESATIVADO"
end
end)
MinimizeBtn.MouseButton1Click:Connect(function()
MenuMinimized = not MenuMinimized
if MenuMinimized then
MainFrame:TweenSize(UDim2.new(0, 220, 0, 35), "Out", "Quad", 0.3, true)
MinimizeBtn.Text = "+"
else
MainFrame:TweenSize(UDim2.new(0, 220, 0, 160), "Out", "Quad", 0.3, true)
MinimizeBtn.Text = "-"
end
end)
-- Loop para o Efeito RGB (Arco-íris) nos Créditos
RunService.Heartbeat:Connect(function()
local hue = (tick() % 5) / 5
Credits.TextColor3 = Color3.fromHSV(hue, 0.7, 1)
end)
----------------------------------------------------------------
-- 2. SISTEMA ESP COM SUPORTE AO INSTANT-TOGGLE
----------------------------------------------------------------
local function CreateESP(player)
if player == LocalPlayer then return end
local Box = Drawing.new("Square")
Box.Visible = false
Box.Color = Config.BoxColor
Box.Thickness = Config.BoxThickness
Box.Filled = false
local Line = Drawing.new("Line")
Line.Visible = false
Line.Color = Config.LineColor
Line.Thickness = Config.LineThickness
local InfoText = Drawing.new("Text")
InfoText.Visible = false
InfoText.Color = Config.TextColor
InfoText.Size = 14
InfoText.Center = true
InfoText.Outline = true
local updater
updater = RunService.RenderStepped:Connect(function()
if not _G.EspEnabled then
Box.Visible = false
Line.Visible = false
InfoText.Visible = false
return
end
if not player.Parent or not player.Character or not player.Character:FindFirstChild("HumanoidRootPart") or not player.Character:FindFirstChild("Humanoid") then
Box.Visible = false
Line.Visible = false
InfoText.Visible = false
if not player.Parent then
Box:Remove()
Line:Remove()
InfoText:Remove()
updater:Disconnect()
end
return
end
local character = player.Character
local humanoid = character.Humanoid
local rootPart = character.HumanoidRootPart
if humanoid.Health <= 0 then
Box.Visible = false
Line.Visible = false
InfoText.Visible = false
return
end
local rootPos, onScreen = Camera:WorldToViewportPoint(rootPart.Position)
if onScreen then
local head = character:FindFirstChild("Head")
local headPos = head and Camera:WorldToViewportPoint(head.Position) or rootPos
local boxHeight = math.abs(rootPos.Y - headPos.Y) * 2.5
local boxWidth = boxHeight / 1.6
-- 1. Renderiza a Box 2D
Box.Size = Vector2.new(boxWidth, boxHeight)
Box.Position = Vector2.new(rootPos.X - (boxWidth / 2), rootPos.Y - (boxHeight / 2))
Box.Visible = true
-- 2. Renderiza a Linha Antena (Branca)
Line.From = Vector2.new(Camera.ViewportSize.X / 2, 0)
Line.To = Vector2.new(rootPos.X, rootPos.Y - (boxHeight / 2))
Line.Visible = true
-- 3. Renderiza o Painel de Texto (Nome, Vida e Metros)
local distance = math.floor((LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and (LocalPlayer.Character.HumanoidRootPart.Position - rootPart.Position).Magnitude) or 0)
local health = math.floor(humanoid.Health)
local playerName = player.Name
InfoText.Text = string.format("%s\n[%d HP] - [%dm]", playerName, health, distance)
InfoText.Position = Vector2.new(rootPos.X, rootPos.Y + (boxHeight / 2) + 5)
InfoText.Visible = true
else
Box.Visible = false
Line.Visible = false
InfoText.Visible = false
end
end)
end
-- Inicialização nos players atuais e futuros
for _, player in ipairs(Players:GetPlayers()) do
CreateESP(player)
end
Players.PlayerAdded:Connect(CreateESP)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

