
Key Required

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)No comments yet for this script.



