local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") local LocalPlayer = Players.LocalPlayer -- Create Main GUI Container local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "ScreamAndRunMenu" ScreenGui.ResetOnSpawn = false -- Parent to CoreGui so it stays active and hidden from standard game scripts ScreenGui.Parent = CoreGui -- State Variables local playerEspEnabled = false local catEspEnabled = false local playerHighlights = {} local catHighlights = {} -- Create UI Elements local MainFrame = Instance.new("Frame") local UIListLayout = Instance.new("UIListLayout") local TitleLabel = Instance.new("TextLabel") local PlayerToggleButton = Instance.new("TextButton") local CatToggleButton = Instance.new("TextButton") local InstructionsLabel = Instance.new("TextLabel") local UICorner = Instance.new("UICorner") -- Styling the Main Menu Frame MainFrame.Size = UDim2.new(0, 220, 0, 240) MainFrame.Position = UDim2.new(0.05, 0, 0.3, 0) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Draggable = true -- Allows you to click and drag the menu around MainFrame.Visible = true MainFrame.Parent = ScreenGui local frameCorner = UICorner:Clone() frameCorner.CornerRadius = UDim.new(0, 8) frameCorner.Parent = MainFrame -- Layout settings UIListLayout.Parent = MainFrame UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 10) UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center -- Title TitleLabel.Size = UDim2.new(1, 0, 0, 40) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "SCREAM & RUN GUI" TitleLabel.TextColor3 = Color3.fromRGB(235, 64, 52) -- Crimson Red TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.TextSize = 20 TitleLabel.LayoutOrder = 1 TitleLabel.Parent = MainFrame -- Player ESP Toggle Button PlayerToggleButton.Size = UDim2.new(0, 180, 0, 40) PlayerToggleButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45) PlayerToggleButton.Text = "Player ESP: OFF" PlayerToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) PlayerToggleButton.Font = Enum.Font.SourceSans PlayerToggleButton.TextSize = 16 PlayerToggleButton.LayoutOrder = 2 PlayerToggleButton.Parent = MainFrame local btnCorner1 = UICorner:Clone() btnCorner1.Parent = PlayerToggleButton -- Cat in the Hat ESP Toggle Button CatToggleButton.Size = UDim2.new(0, 180, 0, 40) CatToggleButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45) CatToggleButton.Text = "Cat in the Hat ESP: OFF" CatToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) CatToggleButton.Font = Enum.Font.SourceSans CatToggleButton.TextSize = 16 CatToggleButton.LayoutOrder = 3 CatToggleButton.Parent = MainFrame local btnCorner2 = UICorner:Clone() btnCorner2.Parent = CatToggleButton -- Footer / Hotkey Reminder InstructionsLabel.Size = UDim2.new(1, 0, 0, 30) InstructionsLabel.BackgroundTransparency = 1 InstructionsLabel.Text = "Press 'V' to Hide/Show Menu" InstructionsLabel.TextColor3 = Color3.fromRGB(150, 150, 150) InstructionsLabel.Font = Enum.Font.SourceSansItalic InstructionsLabel.TextSize = 14 InstructionsLabel.LayoutOrder = 4 InstructionsLabel.Parent = MainFrame ---------------------------------------------------------------- -- ESP Core Logic ---------------------------------------------------------------- -- Function to apply a glowing highlight to a model local function applyHighlight(model, fillFolder, color) if not model:FindFirstChildOfClass("Highlight") then local highlight = Instance.new("Highlight") highlight.FillColor = color highlight.OutlineColor = Color3.fromRGB(255, 255, 255) highlight.FillTransparency = 0.5 highlight.OutlineTransparency = 0 highlight.Adornee = model highlight.Parent = fillFolder return highlight end end -- Clear highlights helper local function clearEspGroup(groupTable) for model, hl in pairs(groupTable) do if hl then hl:Destroy() end groupTable[model] = nil end end -- Loop to continuously scan and update ESP visual positions RunService.RenderStepped:Connect(function() -- 1. Manage Player ESP if playerEspEnabled then for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then if not playerHighlights[p.Character] then -- Cyan glow for friendly players playerHighlights[p.Character] = applyHighlight(p.Character, ScreenGui, Color3.fromRGB(0, 255, 255)) end end end else clearEspGroup(playerHighlights) end -- 2. Manage Cat in the Hat Monster ESP if catEspEnabled then -- Scans workspace for anything matching the monster character setup for _, obj in ipairs(workspace:GetChildren()) do -- Checks for models containing 'Cat' or typical monster tags in Scream & Run if obj:IsA("Model") and (string.find(string.lower(obj.Name), "cat") or obj:FindFirstChild("Humanoid")) and obj ~= LocalPlayer.Character then if not Players:GetPlayerFromCharacter(obj) then -- Confirms it is an NPC, not a player if not catHighlights[obj] then -- Bright Red glow for danger catHighlights[obj] = applyHighlight(obj, ScreenGui, Color3.fromRGB(255, 0, 0)) end end end end else clearEspGroup(catHighlights) end end) -- Remove dead/left player characters from tracking Players.PlayerRemoving:Connect(function(player) if player.Character and playerHighlights[player.Character] then playerHighlights[player.Character]:Destroy() playerHighlights[player.Character] = nil end end) ---------------------------------------------------------------- -- Interactive UI Logic ---------------------------------------------------------------- -- Toggle Player ESP Button Click PlayerToggleButton.MouseButton1Click:Connect(function() playerEspEnabled = not playerEspEnabled if playerEspEnabled then PlayerToggleButton.Text = "Player ESP: ON" PlayerToggleButton.BackgroundColor3 = Color3.fromRGB(46, 204, 113) -- Green else PlayerToggleButton.Text = "Player ESP: OFF" PlayerToggleButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45) -- Gray end end) -- Toggle Cat ESP Button Click CatToggleButton.MouseButton1Click:Connect(function() catEspEnabled = not catEspEnabled if catEspEnabled then CatToggleButton.Text = "Cat ESP: ON" CatToggleButton.BackgroundColor3 = Color3.fromRGB(46, 204, 113) -- Green else CatToggleButton.Text = "Cat ESP: OFF" CatToggleButton.BackgroundColor3 = Color3.fromRGB(45, 45, 45) -- Gray end end) -- Keyboard Input to Open/Close Menu UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.V then MainFrame.Visible = not MainFrame.Visible end end)