
Keyless Verified

-- =======================================================
-- SCRIPT: ESP FINAL DEFINITIVO + FULLBRIGHT (V1.8)
-- =======================================================
local Workspace = game:GetService("Workspace")
local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local LocalPlayer = Players.LocalPlayer
-- LISTA DE NPCS COMPLETA E ATUALIZADA COM O PESQUISADOR RARO
local listaNPCs = {
["NPC_Common_ExhaustedSurvivor"] = "Sobrevivente Exausto",
["NPC_Rare_Technician"] = "Técnico Raro",
["NPC_Common_InjuredCivilian"] = "Civil Ferido",
["NPC_Common_TrappedResident"] = "Residente Preso",
["NPC_Common_HungrySurvivor"] = "Sobrevivente Faminto",
["Black Market"] = "Mercado Negro",
["PailHand"] = "PailHand",
["NPC_Rare_Locksmith"] = "Chaveiro Raro",
["NPC_Rare_Medic"] = "Médico Raro",
["NPC_Rare_Scout"] = "Escoteiro Raro",
["TorchHand"] = "TorchHand",
["NPC_Common_LostStudent"] = "Estudante Perdido",
["NPC_Common_ScaredWorker"] = "Trabalhador Assustado",
-- NOVO NPC ADICIONADO DO SEU PRINT:
["NPC_Rare_Researcher"] = "Pesquisador Raro"
}
-- FUNÇÃO DO FULLBRIGHT: Força iluminação máxima e remove sombras/névoa
local function ativarFullbright()
Lighting.Brightness = 2
Lighting.ClockTime = 14
Lighting.FogEnd = 100000
Lighting.GlobalShadows = false
Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128)
end
-- Mantém o Fullbright sempre ativo caso o jogo tente resetar o clima/iluminação
Lighting:GetPropertyChangedSignal("ClockTime"):Connect(ativarFullbright)
Lighting:GetPropertyChangedSignal("Brightness"):Connect(ativarFullbright)
Lighting:GetPropertyChangedSignal("FogEnd"):Connect(ativarFullbright)
ativarFullbright()
-- Limpa execuções antigas da tela para não travar o Vortex
local ScreenGuiAntigo = LocalPlayer:WaitForChild("PlayerGui"):FindFirstChild("PremiumHalloweenESP")
if ScreenGuiAntigo then ScreenGuiAntigo:Destroy() end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "PremiumHalloweenESP"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
-- FUNÇÃO PARA DESENHAR AS INTERFACES NA TELA (MÉDIA PARA NPC / GRANDE PARA ITEM)
local function criarTagCustomizada(root, cor, textoNome, ehNPC, idUnica)
if not ScreenGui:FindFirstChild(idUnica) then
local billboard = Instance.new("BillboardGui")
billboard.Name = idUnica
billboard.AlwaysOnTop = true
if ehNPC then
billboard.Size = UDim2.new(0, 140, 0, 50)
billboard.StudsOffset = Vector3.new(0, 3.5, 0)
else
billboard.Size = UDim2.new(0, 220, 0, 80)
billboard.StudsOffset = Vector3.new(0, 4.5, 0)
end
billboard.Adornee = root
billboard.Parent = ScreenGui
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, 0, 1, 0)
frame.BackgroundTransparency = 1
frame.Parent = billboard
-- 1. TÍTULO CATEGORIA (NPC ou ITEM)
local labelCategoria = Instance.new("TextLabel")
labelCategoria.Name = "LabelCategoria"
labelCategoria.Size = ehNPC and UDim2.new(1, 0, 0.4, 0) or UDim2.new(1, 0, 0.45, 0)
labelCategoria.BackgroundTransparency = 1
labelCategoria.Text = ehNPC and "👥 NPC" or "📦 ITEM"
labelCategoria.TextColor3 = cor
labelCategoria.Font = Enum.Font.GothamBlack
labelCategoria.TextScaled = true
labelCategoria.TextStrokeTransparency = 0
labelCategoria.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
labelCategoria.Parent = frame
-- 2. NOME DO ALVO
local labelNome = Instance.new("TextLabel")
labelNome.Name = "LabelNome"
labelNome.Size = ehNPC and UDim2.new(1, 0, 0.35, 0) or UDim2.new(1, 0, 0.3, 0)
labelNome.Position = ehNPC and UDim2.new(0, 0, 0.4, 0) or UDim2.new(0, 0, 0.45, 0)
labelNome.BackgroundTransparency = 1
labelNome.Text = textoNome
labelNome.TextColor3 = Color3.fromRGB(255, 255, 255)
labelNome.Font = Enum.Font.GothamBold
labelNome.TextScaled = true
labelNome.TextStrokeTransparency = 0.2
labelNome.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
labelNome.Parent = frame
-- 3. DISTÂNCIA EM STUDS
local labelDistancia = Instance.new("TextLabel")
labelDistancia.Name = "LabelDistancia"
labelDistancia.Size = UDim2.new(1, 0, 0.25, 0)
labelDistancia.Position = UDim2.new(0, 0, 0.75, 0)
labelDistancia.BackgroundTransparency = 1
labelDistancia.Text = "0 studs"
labelDistancia.TextColor3 = Color3.fromRGB(180, 180, 180)
labelDistancia.Font = Enum.Font.Gotham
labelDistancia.TextScaled = true
labelDistancia.TextStrokeTransparency = 0.4
labelDistancia.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
labelDistancia.Parent = frame
end
end
-- FUNÇÃO SEGURO: Checa se o item está acoplado dentro do corpo de algum humanoide
local function pertenceAAlguemVivo(objeto)
local atual = objeto
while atual and atual ~= Workspace do
if atual:IsA("Model") and (atual:FindFirstChildOfClass("Humanoid") or listaNPCs[atual.Name]) then
return true
end
atual = atual.Parent
end
return false
end
-- LOOP PRINCIPAL DE EXECUÇÃO (0.4 segundos)
task.spawn(function()
print("💎 Força Bruta V1.8 Ativada! Pesquisador Raro integrado ao ESP.")
while task.wait(0.4) do
-- 1. MONITORAMENTO EXCLUSIVO DE NPCS
for _, modelo in pairs(Workspace:GetDescendants()) do
if modelo:IsA("Model") and listaNPCs[modelo.Name] then
local hrp = modelo:FindFirstChild("HumanoidRootPart")
if hrp then
local idNPC = "NPC_" .. modelo.Name
local displayNPC = listaNPCs[modelo.Name]
criarTagCustomizada(hrp, Color3.fromRGB(0, 255, 127), displayNPC, true, idNPC)
-- Atualiza distância do NPC
local tag = ScreenGui:FindFirstChild(idNPC)
if tag and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
local dist = math.floor((hrp.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude)
local frameHUD = tag:FindFirstChild("Frame")
local txtDist = frameHUD and frameHUD:FindFirstChild("LabelDistancia")
if txtDist then txtDist.Text = dist .. " studs" end
end
end
end
end
-- 2. DETECÇÃO DE ITENS SOLTOS NO MAPA GLOBAL
for _, objeto in pairs(Workspace:GetDescendants()) do
if objeto:IsA("ProximityPrompt") and objeto.Enabled == true then
local parteFisica = objeto.Parent
if parteFisica and parteFisica:IsA("BasePart") then
local nomePrompt = string.lower(objeto.ObjectText or objeto.ActionText or objeto.Name)
local nomePai = string.lower(parteFisica.Name)
-- Filtro limpo: Remove itens de cenário óbvios e os arbustos específicos solicitados
local ehCenarioInvalido = string.find(nomePrompt, "door") or string.find(nomePrompt, "porta") or
string.find(nomePrompt, "tree") or string.find(nomePrompt, "arvore") or
string.find(nomePai, "door") or string.find(nomePai, "tree") or
string.find(nomePai, "hedge_bush_shot") or string.find(nomePai, "hedge_bush_long")
if not ehCenarioInvalido and not pertenceAAlguemVivo(parteFisica) then
local modeloDono = parteFisica:IsA("Model") and parteFisica or parteFisica.Parent
-- Garante o bloqueio mesmo se os nomes dos arbustos estiverem no modelo superior
local nomeModeloDono = modeloDono and string.lower(modeloDono.Name) or ""
local ehModeloInvalido = string.find(nomeModeloDono, "hedge_bush_shot") or string.find(nomeModeloDono, "hedge_bush_long")
if modeloDono and modeloDono.Name ~= "Workspace" and modeloDono.Name ~= "ChaseQuestLive" and not ehModeloInvalido then
local idItem = "ITEM_" .. modeloDono.Name
local nomeLimpo = modeloDono.Name:gsub("BatteryPack_", "Bateria "):gsub("Quest_", ""):gsub("Spawn", "")
criarTagCustomizada(parteFisica, Color3.fromRGB(255, 69, 0), nomeLimpo, false, idItem)
-- Atualiza distância do Item
local tag = ScreenGui:FindFirstChild(idItem)
if tag and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
local dist = math.floor((parteFisica.Position - LocalPlayer.Character.HumanoidRootPart.Position).Magnitude)
local frameHUD = tag:FindFirstChild("Frame")
local txtDist = frameHUD and frameHUD:FindFirstChild("LabelDistancia")
if txtDist then txtDist.Text = dist .. " studs" end
end
end
end
end
end
end
end
end)No comments yet for this script.
