
Key RequiredUniversal

-- Serviços
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
-- Skybox
local skybox = Instance.new("Sky")
skybox.SkyboxBk = "rbxassetid://511726139"
skybox.SkyboxDn = "rbxassetid://511726139"
skybox.SkyboxFt = "rbxassetid://511726139"
skybox.SkyboxLf = "rbxassetid://511726139"
skybox.SkyboxRt = "rbxassetid://511726139"
skybox.SkyboxUp = "rbxassetid://511726139"
skybox.Parent = Lighting
-- Notificação
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("SendNotification", {
Title = "By FELIPEHUB",
Text = "Obrigado por usar FELIPEHUB\nhttps://discord.gg/3k6BNHCV",
Icon = "rbxassetid://511726139",
Duration = 5
})
-- RGB arco-íris
local function getRainbowColor()
return Color3.fromHSV(tick() % 5 / 5, 1, 1)
end
-- Cor da equipe ou RGB
local function getTeamColor(player)
return player.Team and player.TeamColor.Color or getRainbowColor()
end
-- Armazenamento dos desenhos
local drawings = {}
-- Criar ESP
local function createESP(player)
if player == LocalPlayer then return end
local box = Drawing.new("Square")
box.Thickness = 1
box.Filled = false
box.Visible = false
local name = Drawing.new("Text")
name.Size = 13
name.Center = true
name.Outline = true
name.Color = Color3.new(0, 1, 0)
name.Visible = false
local distance = Drawing.new("Text")
distance.Size = 13
distance.Center = true
distance.Outline = true
distance.Color = Color3.new(0, 1, 0)
distance.Visible = false
local line = Drawing.new("Line")
line.Thickness = 1
line.Visible = false
local healthBar = Drawing.new("Line")
healthBar.Thickness = 2
healthBar.Visible = false
local healthText = Drawing.new("Text")
healthText.Size = 13
healthText.Center = false
healthText.Outline = true
healthText.Color = Color3.new(1, 1, 1)
healthText.Visible = false
drawings[player] = {
Box = box,
Name = name,
Distance = distance,
Line = line,
HealthBar = healthBar,
HealthText = healthText,
Highlight = nil
}
if player.Character then
local highlight = Instance.new("Highlight")
highlight.Adornee = player.Character
highlight.FillTransparency = 1
highlight.OutlineTransparency = 0
highlight.OutlineColor = getTeamColor(player)
highlight.Parent = player.Character
drawings[player].Highlight = highlight
end
player.CharacterAdded:Connect(function(char)
task.wait(0.1)
if drawings[player].Highlight then
drawings[player].Highlight:Destroy()
end
local highlight = Instance.new("Highlight")
highlight.Adornee = char
highlight.FillTransparency = 1
highlight.OutlineTransparency = 0
highlight.OutlineColor = getTeamColor(player)
highlight.Parent = char
drawings[player].Highlight = highlight
end)
end
-- Criar ESP para todos os jogadores
for _, player in pairs(Players:GetPlayers()) do
createESP(player)
end
Players.PlayerAdded:Connect(createESP)
-- Atualizar ESP
RunService.RenderStepped:Connect(function()
local screenCenter = Camera.ViewportSize / 2
for player, data in pairs(drawings) do
local character = player.Character
local box, name, distance, line, healthBar, healthText, highlight = data.Box, data.Name, data.Distance, data.Line, data.HealthBar, data.HealthText, data.Highlight
if character and character:FindFirstChild("HumanoidRootPart") and character:FindFirstChild("Head") and character:FindFirstChildOfClass("Humanoid") then
local hrp = character.HumanoidRootPart
local humanoid = character:FindFirstChildOfClass("Humanoid")
local head = character.Head
local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
local headPos = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0))
local footPos = Camera:WorldToViewportPoint(hrp.Position - Vector3.new(0, 2.5, 0))
if onScreen then
local height = math.abs(headPos.Y - footPos.Y)
local width = height / 2
box.Size = Vector2.new(width, height)
box.Position = Vector2.new(pos.X - width / 2, pos.Y - height / 2)
box.Color = getTeamColor(player)
box.Visible = true
name.Text = player.Name
name.Position = Vector2.new(pos.X, pos.Y - height / 2 - 15)
name.Visible = true
local dist = math.floor((LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")) and (LocalPlayer.Character.HumanoidRootPart.Position - hrp.Position).Magnitude or 0)
distance.Text = dist .. "m"
distance.Position = Vector2.new(pos.X, pos.Y - height / 2 - 30)
distance.Visible = true
line.From = Vector2.new(Camera.ViewportSize.X / 2, 0)
line.To = Vector2.new(pos.X, pos.Y - height / 2)
line.Color = getTeamColor(player)
line.Visible = true
-- Barra de Vida (vertical)
local healthPercent = math.clamp(humanoid.Health / humanoid.MaxHealth, 0, 1)
local barHeight = height
local barY1 = pos.Y + height / 2
local barY2 = barY1 - (barHeight * healthPercent)
local barX = pos.X - width / 2 - 6
local green = Color3.fromRGB(0, 255, 0)
local red = Color3.fromRGB(255, 0, 0)
healthBar.Color = green:lerp(red, 1 - healthPercent)
healthBar.From = Vector2.new(barX, barY1)
healthBar.To = Vector2.new(barX, barY2)
healthBar.Visible = true
-- Texto da Vida
healthText.Text = "Vida: " .. math.floor(humanoid.Health)
healthText.Position = Vector2.new(barX - 55, barY2 - 5)
healthText.Visible = true
if highlight and highlight.Parent then
highlight.OutlineColor = getTeamColor(player)
end
else
box.Visible = false
name.Visible = false
distance.Visible = false
line.Visible = false
healthBar.Visible = false
healthText.Visible = false
end
else
box.Visible = false
name.Visible = false
distance.Visible = false
line.Visible = false
healthBar.Visible = false
healthText.Visible = false
end
end
end)
-- FPS
local fpsText = Drawing.new("Text")
fpsText.Size = 20
fpsText.Position = Vector2.new(10, Camera.ViewportSize.Y / 2)
fpsText.Color = Color3.new(1, 1, 1)
fpsText.Outline = true
fpsText.Visible = true
local last = tick()
local frames = 0
RunService.RenderStepped:Connect(function()
frames += 1
if tick() - last >= 1 then
fpsText.Text = "FPS: " .. frames
frames = 0
last = tick()
end
end)No comments yet for this script.



