local Workspace = game:GetService("Workspace") local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local COLOR_OPEN = Color3.fromRGB(0, 170, 0) local COLOR_CLOSED = Color3.fromRGB(170, 0, 0) local portasProcessadas = {} local function getDoorState(door) if door:FindFirstChild("DoorTrigger") and door.DoorTrigger:FindFirstChild("ActionSign") then local v = door.DoorTrigger.ActionSign.Value if v == 11 then return true elseif v == 10 then return false end end return nil end local function aplicarHighlight(porta) if not porta then return end local h = porta:FindFirstChild("ESP_HIGHLIGHT") if not h then h = Instance.new("Highlight") h.Name = "ESP_HIGHLIGHT" h.FillTransparency = 0.6 h.OutlineTransparency = 0 h.OutlineColor = Color3.new(0, 0, 0) h.Parent = porta end local state = getDoorState(porta) if state == true then h.FillColor = COLOR_OPEN elseif state == false then h.FillColor = COLOR_CLOSED end end local function processarPorta(porta) if portasProcessadas[porta] then return end portasProcessadas[porta] = true task.spawn(function() while porta.Parent do aplicarHighlight(porta) task.wait(0.1) end portasProcessadas[porta] = nil end) end local function ehSingledoor(obj) return obj:IsA("Model") and obj.Name:lower():find("singledoor") end for _, obj in ipairs(Workspace:GetDescendants()) do if ehSingledoor(obj) then processarPorta(obj) end end Workspace.DescendantAdded:Connect(function(obj) if ehSingledoor(obj) then task.wait(0.1) processarPorta(obj) end end) Players.LocalPlayer.CharacterAdded:Connect(function() task.wait(0.5) for porta in pairs(portasProcessadas) do if porta and porta.Parent then aplicarHighlight(porta) end end end)