local Players = game:GetService("Players") local RS = game:GetService("ReplicatedStorage") local RunService = game:GetService("RunService") local Workspace = game:GetService("Workspace") local LP = Players.LocalPlayer local ESP_ON = true local AutoClick = true local COLOR = Color3.fromRGB(255, 170, 0) local tracked = {} -- [model] = {hl, gui, label, door} local hooked = {} -- prompts que já têm auto clicar local function isCandyDoor(m) local door = m:FindFirstChild("Door") return m:FindFirstChild("Frame") and door and door:FindFirstChild("OpenSound") end local function untrack(m) local t = tracked[m] if t then t.hl:Destroy() t.gui:Destroy() tracked[m] = nil end end local function track(m) if tracked[m] or not ESP_ON then return end local door = m:FindFirstChild("Door") if not (door and door:IsA("BasePart")) or door.Transparency >= 1 then return end local hl = Instance.new("Highlight") hl.Adornee = m hl.FillColor = COLOR hl.OutlineColor = Color3.new(1, 1, 1) hl.FillTransparency = 0.4 hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = m local gui = Instance.new("BillboardGui") gui.Adornee = door gui.Size = UDim2.fromOffset(140, 24) gui.StudsOffset = Vector3.new(0, 3, 0) gui.AlwaysOnTop = true gui.Parent = m local label = Instance.new("TextLabel") label.Size = UDim2.fromScale(1, 1) label.BackgroundTransparency = 1 label.TextColor3 = COLOR label.TextStrokeTransparency = 0 label.Font = Enum.Font.GothamBold label.TextSize = 14 label.Text = "Porta de doce" label.Parent = gui tracked[m] = {hl = hl, gui = gui, label = label, door = door} m.AncestryChanged:Connect(function(_, parent) if not parent then untrack(m) end end) end local function setup(v) if not v:IsA("ProximityPrompt") then return end -- auto clicar if not hooked[v] then hooked[v] = true v.HoldDuration = 0 v.PromptShown:Connect(function() if AutoClick then fireproximityprompt(v) end end) v.AncestryChanged:Connect(function(_, parent) if not parent then hooked[v] = nil end end) end -- ESP se o prompt for de uma porta de doce local a = v.Parent while a and a ~= Workspace do if isCandyDoor(a) then track(a) break end a = a.Parent end end for _, v in ipairs(Workspace:GetDescendants()) do setup(v) end Workspace.DescendantAdded:Connect(setup) -- some o ESP quando a porta abre pcall(function() RS.Remotes.HALLOWEEN_VFX.OnClientEvent:Connect(function(name, obj) if name == "OpenDoor" and typeof(obj) == "Instance" then untrack(obj) end end) end) -- atualiza distância e limpa portas que já sumiram RunService.Heartbeat:Connect(function() local char = LP.Character local hrp = char and char:FindFirstChild("HumanoidRootPart") for m, t in pairs(tracked) do if t.door.Transparency >= 1 then untrack(m) elseif hrp then t.label.Text = ("Porta de doce [%d]"):format((t.door.Position - hrp.Position).Magnitude) end end end)