local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local LocalPlayer = Players.LocalPlayer local CLOSE_DISTANCE_NORMAL = 16 local SAFE_DISTANCE_NORMAL = 18 local CLOSE_DISTANCE_FOXY = 50 local SAFE_DISTANCE_FOXY = 55 local animatronics = { {name = "Bonnie", target = "BonnieNPC", side = "Left", isFoxy = false}, {name = "Foxy", target = "FoxyNPC", side = "Left", isFoxy = true}, {name = "Chica", target = "ChicaNPC", side = "Right", isFoxy = false}, {name = "Freddy", target = "FreddyNPC", side = "Right", isFoxy = false} } _G.AutoDoor = false _G.AnimatronicESP = false _G.AntiJumpscare = false local uiVisible = true local doorStates = {Left = false, Right = false} local doorCooldowns = {Left = 0, Right = 0} local highlights = {} local ScreenGui = Instance.new("ScreenGui", LocalPlayer:WaitForChild("PlayerGui")) ScreenGui.Name = "FazbearTV_Console" ScreenGui.ResetOnSpawn = false local MainFrame = Instance.new("Frame", ScreenGui) MainFrame.Size = UDim2.new(0, 320, 0, 240) MainFrame.Position = UDim2.new(0.5, -160, 0.5, -120) MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.BorderSizePixel = 0 MainFrame.Active = true Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 30) local Shadow = Instance.new("Frame", MainFrame) Shadow.Size = UDim2.new(1, 0, 1, 0) Shadow.Position = UDim2.new(0, 0, 0, 5) Shadow.BackgroundColor3 = Color3.fromRGB(15, 15, 15) Shadow.ZIndex = 0 Instance.new("UICorner", Shadow).CornerRadius = UDim.new(0, 30) local function CreateAntenna(pos, rot) local Ant = Instance.new("Frame", MainFrame) Ant.Size = UDim2.new(0, 4, 0, 40) Ant.Position = pos Ant.BackgroundColor3 = Color3.fromRGB(40, 40, 40) Ant.Rotation = rot Ant.ZIndex = -1 end CreateAntenna(UDim2.new(0.2, 0, -0.1, 0), -20) CreateAntenna(UDim2.new(0.75, 0, -0.1, 0), 20) local Screen = Instance.new("Frame", MainFrame) Screen.Size = UDim2.new(0.9, 0, 0.85, 0) Screen.Position = UDim2.new(0.05, 0, 0.075, 0) Screen.BackgroundColor3 = Color3.fromRGB(10, 15, 10) Screen.ClipsDescendants = true Instance.new("UICorner", Screen).CornerRadius = UDim.new(0, 20) local Header = Instance.new("TextLabel", Screen) Header.Size = UDim2.new(1, 0, 0, 40) Header.Text = "SURVEILLANCE UNIT\nSTATUS: ONLINE" Header.TextColor3 = Color3.fromRGB(0, 255, 100) Header.Font = Enum.Font.Code Header.TextSize = 14 Header.BackgroundTransparency = 1 local StatusLabel = Instance.new("TextLabel", Screen) StatusLabel.Size = UDim2.new(1, 0, 0, 20) StatusLabel.Position = UDim2.new(0, 0, 0.85, 0) StatusLabel.Text = "System Ready" StatusLabel.TextColor3 = Color3.fromRGB(100, 255, 100) StatusLabel.Font = Enum.Font.Code StatusLabel.TextSize = 10 StatusLabel.BackgroundTransparency = 1 local function clickDoor(doorSide, shouldClose) local currentTime = tick() if doorCooldowns[doorSide] > currentTime or doorStates[doorSide] == shouldClose then return end pcall(function() local officeButtons = workspace.GameTriggers.OfficeButtons local btnName = doorSide .. "DoorButton" local button = officeButtons:FindFirstChild(btnName) if button and button:FindFirstChild("Part") then local prompt = button.Part:FindFirstChildOfClass("ProximityPrompt") or button.Part:FindFirstChildOfClass("ClickDetector") if prompt then if prompt:IsA("ProximityPrompt") then fireproximityprompt(prompt) else fireclickdetector(prompt) end doorCooldowns[doorSide] = currentTime + 0.8 doorStates[doorSide] = shouldClose end end end) end local function handleJumpscares(enabled) local jumpscares = workspace:FindFirstChild("GameTriggers") and workspace.GameTriggers:FindFirstChild("Jumpscares") if not jumpscares then return end for _, anim in ipairs(jumpscares:GetChildren()) do for _, part in ipairs(anim:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = enabled and 1 or 0 part.CanTouch = not enabled end end end end RunService.Heartbeat:Connect(function() if _G.AnimatronicESP then local animFolder = workspace:FindFirstChild("Animatronics") if animFolder then for _, anim in ipairs(animFolder:GetChildren()) do if not highlights[anim] then local h = Instance.new("Highlight", anim) h.FillColor = Color3.new(1, 0, 0) h.OutlineColor = Color3.new(1, 1, 1) highlights[anim] = h end end end else for anim, h in pairs(highlights) do h:Destroy() end highlights = {} end if _G.AutoDoor and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local charPos = LocalPlayer.Character.HumanoidRootPart.Position local leftThreat, rightThreat = false, false for _, data in ipairs(animatronics) do local animObj = workspace.Animatronics:FindFirstChild(data.name) if animObj then local primary = animObj:FindFirstChild(data.target) or animObj.PrimaryPart if primary then local dist = (charPos - primary.Position).Magnitude local closeDist = data.isFoxy and CLOSE_DISTANCE_FOXY or CLOSE_DISTANCE_NORMAL if dist <= closeDist then if data.side == "Left" then leftThreat = true else rightThreat = true end end end end end if leftThreat then clickDoor("Left", true) else clickDoor("Left", false) end if rightThreat then clickDoor("Right", true) else clickDoor("Right", false) end end end) local function ToggleUI() uiVisible = not uiVisible if uiVisible then MainFrame.Visible = true MainFrame:TweenPosition(UDim2.new(0.5, -160, 0.5, -120), "Out", "Back", 0.5, true) else MainFrame:TweenPosition(UDim2.new(0.5, -160, 1.2, 0), "In", "Sine", 0.4, true, function() MainFrame.Visible = false end) end end UserInputService.InputBegan:Connect(function(i, g) if not g and i.KeyCode == Enum.KeyCode.RightAlt then ToggleUI() end end) local dragStart, startPos, dragging MainFrame.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = i.Position startPos = MainFrame.Position end end) UserInputService.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local delta = i.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UserInputService.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) local function CreateTVButton(text, pos, callback) local Btn = Instance.new("TextButton", Screen) Btn.Size = UDim2.new(0, 140, 0, 30) Btn.Position = pos Btn.BackgroundColor3 = Color3.fromRGB(20, 30, 20) Btn.Text = text .. ": OFF" Btn.TextColor3 = Color3.fromRGB(0, 200, 100) Btn.Font = Enum.Font.Code Btn.TextSize = 11 Instance.new("UICorner", Btn).CornerRadius = UDim.new(0, 8) local active = false Btn.MouseButton1Click:Connect(function() active = not active Btn.Text = text .. ": " .. (active and "ON" or "OFF") Btn.TextColor3 = active and Color3.new(1,1,1) or Color3.fromRGB(0, 200, 100) Btn.BackgroundColor3 = active and Color3.fromRGB(0, 100, 50) or Color3.fromRGB(20, 30, 20) callback(active) end) end CreateTVButton("Animatronic ESP", UDim2.new(0.5, -70, 0.35, 0), function(s) _G.AnimatronicESP = s end) CreateTVButton("Auto Door", UDim2.new(0.5, -70, 0.5, 0), function(s) _G.AutoDoor = s end) CreateTVButton("Anti-Jumpscare", UDim2.new(0.5, -70, 0.65, 0), function(s) _G.AntiJumpscare = s handleJumpscares(s) end) local Scanline = Instance.new("Frame", Screen) Scanline.Size = UDim2.new(1, 0, 0, 2) Scanline.BackgroundColor3 = Color3.new(1, 1, 1) Scanline.BackgroundTransparency = 0.8 RunService.RenderStepped:Connect(function() Scanline.Position = UDim2.new(0, 0, 0, (tick() * 100) % Screen.AbsoluteSize.Y) end)