local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local TweenService = game:GetService("TweenService") local Workspace = game:GetService("Workspace") local Lighting = game:GetService("Lighting") local StarterGui = game:GetService("StarterGui") local PhysicsService = game:GetService("PhysicsService") local LocalPlayer = Players.LocalPlayer local Camera = Workspace.CurrentCamera local EnemyESPEnabled = false local PlayerESPEnabled = false local ItemESPEnabled = false local SpeedEnabled = false local FlyEnabled = false local NoclipEnabled = false local InfiniteJumpEnabled = false local ThirdPersonEnabled = false local FullbrightEnabled = false local AntiJumpscareEnabled = false local AntiWarningEnabled = false local AntiFadeEnabled = false local AutoBatteryEnabled = false local AutoGeneratorEnabled = false local AutoTasksEnabled = false local Settings = { EnemyESPColor = Color3.fromRGB(255, 0, 0), PlayerESPColor = Color3.fromRGB(0, 255, 0), ItemESPColor = Color3.fromRGB(255, 255, 0), SpeedValue = 32, FlySpeed = 50, FOVValue = 70, ZoomDistance = 128, OriginalWalkSpeed = 10, OriginalAmbient = nil, OriginalBrightness = nil, OriginalFogEnd = nil, } local GameInfo = { IsLobby = false, Book = 0, Chapter = 0, IsNightmare = false, GameName = "" } local function DetectGamemode() local gameFolder = Workspace:FindFirstChild("Game") local lobbyIndicators = { Workspace:FindFirstChild("VRLobby"), ReplicatedStorage:FindFirstChild("GameQueue"), Workspace:FindFirstChild("Gamepass") } local placeName = game.Name or "" for _, indicator in ipairs(lobbyIndicators) do if indicator then GameInfo.IsLobby = true GameInfo.GameName = "Lobby" return end end if Workspace:FindFirstChild("Plane") or Workspace:FindFirstChild("GoodEnding") then GameInfo.Book = 2 GameInfo.Chapter = 1 GameInfo.IsNightmare = true GameInfo.GameName = "Book 2 Chapter 1 (Nightmare)" return end if gameFolder then GameInfo.Book = 1 if Workspace:FindFirstChild("PossesedDad") or (gameFolder:FindFirstChild("dad") and gameFolder.dad:FindFirstChild("PossesedDad")) then GameInfo.IsNightmare = true end local chapterIndicators = { trashes = 1, Socket = 1, TrashBin = 1, } for name, chapter in pairs(chapterIndicators) do if gameFolder:FindFirstChild(name) then GameInfo.Chapter = chapter break end end if GameInfo.Chapter == 0 then GameInfo.Chapter = 1 end local nightmareStr = GameInfo.IsNightmare and " (Nightmare)" or " (Normal)" GameInfo.GameName = "Book 1 Chapter " .. GameInfo.Chapter .. nightmareStr end if GameInfo.GameName == "" then GameInfo.GameName = "Unknown Gamemode" end end local ESPObjects = { Enemies = {}, Players = {}, Items = {} } local function Notify(title, text, duration) pcall(function() StarterGui:SetCore("SendNotification", { Title = title, Text = text, Duration = duration or 3 }) end) end local function GetRemote(path) local parts = string.split(path, ".") local current = game for _, part in ipairs(parts) do current = current:FindFirstChild(part) if not current then return nil end end return current end local function SafeFireServer(remote, ...) if remote then local args = {...} pcall(function() remote:FireServer(unpack(args)) end) end end local function GetCharacter() return LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() end local function GetHumanoid() local char = GetCharacter() return char and char:FindFirstChildOfClass("Humanoid") end local function GetHRP() local char = GetCharacter() return char and char:FindFirstChild("HumanoidRootPart") end local function IsAlive(player) local char = player and player.Character if char then local humanoid = char:FindFirstChildOfClass("Humanoid") return humanoid and humanoid.Health > 0 end return false end local function CreateHighlight(instance, color, name) if not instance then return nil end local highlight = Instance.new("Highlight") highlight.Name = name or "ESP_Highlight" highlight.Adornee = instance highlight.FillColor = color highlight.OutlineColor = color highlight.FillTransparency = 0.7 highlight.OutlineTransparency = 0 highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.Parent = instance return highlight end local function CreateBillboard(instance, text, color) if not instance then return nil end local billboard = Instance.new("BillboardGui") billboard.Name = "ESP_Billboard" billboard.Adornee = instance billboard.Size = UDim2.new(0, 100, 0, 40) billboard.StudsOffset = Vector3.new(0, 3, 0) billboard.AlwaysOnTop = true billboard.Parent = instance local label = Instance.new("TextLabel") label.Name = "Label" label.Size = UDim2.new(1, 0, 1, 0) label.BackgroundTransparency = 1 label.TextColor3 = color label.TextStrokeTransparency = 0 label.TextStrokeColor3 = Color3.new(0, 0, 0) label.Font = Enum.Font.GothamBold label.TextScaled = true label.Text = text label.Parent = billboard return billboard end local function RemoveESPFromInstance(instance) if instance then local highlight = instance:FindFirstChild("ESP_Highlight") local billboard = instance:FindFirstChild("ESP_Billboard") if highlight then highlight:Destroy() end if billboard then billboard:Destroy() end end end local EnemyNames = { "Dad", "PossesedDad", "Xenobus", "PossesedMom", "PossesedMom2", "Monster", "LastDad", "MomChase", "Hallucination" } local function FindEnemies() local enemies = {} local searchLocations = { Workspace, Workspace:FindFirstChild("Game"), Workspace:FindFirstChild("GoodEnding"), Workspace:FindFirstChild("House"), } for _, location in ipairs(searchLocations) do if location then for _, enemyName in ipairs(EnemyNames) do local enemy = location:FindFirstChild(enemyName, true) if enemy then table.insert(enemies, enemy) end end end end return enemies end local function UpdateEnemyESP() for _, esp in pairs(ESPObjects.Enemies) do if esp.Highlight then esp.Highlight:Destroy() end if esp.Billboard then esp.Billboard:Destroy() end end ESPObjects.Enemies = {} if not EnemyESPEnabled then return end local enemies = FindEnemies() for _, enemy in ipairs(enemies) do local humanoidRootPart = enemy:FindFirstChild("HumanoidRootPart") or enemy:FindFirstChild("Torso") or enemy:FindFirstChild("Head") or enemy.PrimaryPart if humanoidRootPart then local highlight = CreateHighlight(enemy, Settings.EnemyESPColor, "ESP_Highlight") local billboard = CreateBillboard(humanoidRootPart, enemy.Name, Settings.EnemyESPColor) ESPObjects.Enemies[enemy] = { Highlight = highlight, Billboard = billboard } end end end local function EnableEnemyESP() EnemyESPEnabled = true UpdateEnemyESP() Notify("ESP", "Enemy ESP Enabled", 2) end local function DisableEnemyESP() EnemyESPEnabled = false for _, esp in pairs(ESPObjects.Enemies) do if esp.Highlight then esp.Highlight:Destroy() end if esp.Billboard then esp.Billboard:Destroy() end end ESPObjects.Enemies = {} Notify("ESP", "Enemy ESP Disabled", 2) end local function UpdatePlayerESP() for player, esp in pairs(ESPObjects.Players) do if not player or not player.Parent then if esp.Highlight then esp.Highlight:Destroy() end if esp.Billboard then esp.Billboard:Destroy() end ESPObjects.Players[player] = nil end end if not PlayerESPEnabled then return end for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer and player.Character then local hrp = player.Character:FindFirstChild("HumanoidRootPart") local humanoid = player.Character:FindFirstChildOfClass("Humanoid") if hrp and humanoid and not ESPObjects.Players[player] then local highlight = CreateHighlight(player.Character, Settings.PlayerESPColor, "ESP_Highlight") local billboard = CreateBillboard(hrp, player.DisplayName, Settings.PlayerESPColor) ESPObjects.Players[player] = { Highlight = highlight, Billboard = billboard, Character = player.Character } end if ESPObjects.Players[player] and ESPObjects.Players[player].Billboard then local myHRP = GetHRP() if myHRP and hrp then local distance = math.floor((myHRP.Position - hrp.Position).Magnitude) local health = humanoid and math.floor(humanoid.Health) or 0 local label = ESPObjects.Players[player].Billboard:FindFirstChild("Label") if label then label.Text = string.format("%s\n%d HP | %d studs", player.DisplayName, health, distance) end end end end end end local function EnablePlayerESP() PlayerESPEnabled = true UpdatePlayerESP() Notify("ESP", "Player ESP Enabled", 2) end local function DisablePlayerESP() PlayerESPEnabled = false for _, esp in pairs(ESPObjects.Players) do if esp.Highlight then esp.Highlight:Destroy() end if esp.Billboard then esp.Billboard:Destroy() end end ESPObjects.Players = {} Notify("ESP", "Player ESP Disabled", 2) end local ItemNames = { "Battery", "GasCan", "gas can", "Apple", "Banana", "Remote", "Drinking Glass" } local function FindItems() local items = {} local searchLocations = { Workspace, Workspace:FindFirstChild("House"), Workspace:FindFirstChild("Game"), } for _, location in ipairs(searchLocations) do if location then local batteries = location:FindFirstChild("Batteries", true) if batteries then for _, battery in ipairs(batteries:GetChildren()) do if battery.Name == "Battery" then table.insert(items, battery) end end end local gasCans = location:FindFirstChild("GasCans", true) if gasCans then for _, can in ipairs(gasCans:GetChildren()) do table.insert(items, can) end end for _, itemName in ipairs(ItemNames) do for _, item in ipairs(location:GetDescendants()) do if item.Name == itemName and item:IsA("BasePart") or item:IsA("Model") then if not table.find(items, item) then table.insert(items, item) end end end end end end return items end local function UpdateItemESP() for _, esp in pairs(ESPObjects.Items) do if esp.Highlight then pcall(function() esp.Highlight:Destroy() end) end if esp.Billboard then pcall(function() esp.Billboard:Destroy() end) end end ESPObjects.Items = {} if not ItemESPEnabled then return end local items = FindItems() for _, item in ipairs(items) do local part = item:IsA("Model") and (item.PrimaryPart or item:FindFirstChildWhichIsA("BasePart")) or item if part then local highlight = CreateHighlight(item:IsA("Model") and item or part, Settings.ItemESPColor, "ESP_Highlight") local billboard = CreateBillboard(part, item.Name, Settings.ItemESPColor) ESPObjects.Items[item] = { Highlight = highlight, Billboard = billboard } end end end local function EnableItemESP() ItemESPEnabled = true UpdateItemESP() Notify("ESP", "Item ESP Enabled", 2) end local function DisableItemESP() ItemESPEnabled = false for _, esp in pairs(ESPObjects.Items) do if esp.Highlight then pcall(function() esp.Highlight:Destroy() end) end if esp.Billboard then pcall(function() esp.Billboard:Destroy() end) end end ESPObjects.Items = {} Notify("ESP", "Item ESP Disabled", 2) end local SpeedConnection = nil local function EnableSpeed() SpeedEnabled = true local humanoid = GetHumanoid() if humanoid then Settings.OriginalWalkSpeed = humanoid.WalkSpeed humanoid.WalkSpeed = Settings.SpeedValue end SpeedConnection = RunService.Heartbeat:Connect(function() if SpeedEnabled then local hum = GetHumanoid() if hum and hum.WalkSpeed ~= Settings.SpeedValue then hum.WalkSpeed = Settings.SpeedValue end end end) Notify("Speed", "Speed Enabled: " .. Settings.SpeedValue, 2) end local function DisableSpeed() SpeedEnabled = false if SpeedConnection then SpeedConnection:Disconnect() SpeedConnection = nil end local humanoid = GetHumanoid() if humanoid then humanoid.WalkSpeed = Settings.OriginalWalkSpeed or 10 end Notify("Speed", "Speed Disabled", 2) end local FlyConnection = nil local BodyVelocity = nil local BodyGyro = nil local function EnableFly() FlyEnabled = true local hrp = GetHRP() local humanoid = GetHumanoid() if hrp and humanoid then BodyVelocity = Instance.new("BodyVelocity") BodyVelocity.MaxForce = Vector3.new(math.huge, math.huge, math.huge) BodyVelocity.Velocity = Vector3.new(0, 0, 0) BodyVelocity.Parent = hrp BodyGyro = Instance.new("BodyGyro") BodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) BodyGyro.P = 10000 BodyGyro.Parent = hrp humanoid.PlatformStand = true FlyConnection = RunService.RenderStepped:Connect(function() if FlyEnabled and hrp and BodyVelocity and BodyGyro then local direction = Vector3.new(0, 0, 0) if UserInputService:IsKeyDown(Enum.KeyCode.W) then direction = direction + Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then direction = direction - Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then direction = direction - Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then direction = direction + Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then direction = direction + Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then direction = direction - Vector3.new(0, 1, 0) end if direction.Magnitude > 0 then BodyVelocity.Velocity = direction.Unit * Settings.FlySpeed else BodyVelocity.Velocity = Vector3.new(0, 0, 0) end BodyGyro.CFrame = Camera.CFrame end end) end Notify("Fly", "Fly Enabled (WASD + Space/Ctrl)", 2) end local function DisableFly() FlyEnabled = false if FlyConnection then FlyConnection:Disconnect() FlyConnection = nil end if BodyVelocity then BodyVelocity:Destroy() BodyVelocity = nil end if BodyGyro then BodyGyro:Destroy() BodyGyro = nil end local humanoid = GetHumanoid() if humanoid then humanoid.PlatformStand = false end Notify("Fly", "Fly Disabled", 2) end local NoclipConnection = nil local function EnableNoclip() NoclipEnabled = true NoclipConnection = RunService.Stepped:Connect(function() if NoclipEnabled then local char = GetCharacter() if char then for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end end) Notify("Noclip", "Noclip Enabled", 2) end local function DisableNoclip() NoclipEnabled = false if NoclipConnection then NoclipConnection:Disconnect() NoclipConnection = nil end Notify("Noclip", "Noclip Disabled", 2) end local InfJumpConnection = nil local function EnableInfiniteJump() InfiniteJumpEnabled = true InfJumpConnection = UserInputService.JumpRequest:Connect(function() if InfiniteJumpEnabled then local humanoid = GetHumanoid() if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end end) Notify("Jump", "Infinite Jump Enabled", 2) end local function DisableInfiniteJump() InfiniteJumpEnabled = false if InfJumpConnection then InfJumpConnection:Disconnect() InfJumpConnection = nil end Notify("Jump", "Infinite Jump Disabled", 2) end local CameraConnection = nil local function EnableThirdPerson() ThirdPersonEnabled = true LocalPlayer.CameraMode = Enum.CameraMode.Classic LocalPlayer.CameraMaxZoomDistance = Settings.ZoomDistance LocalPlayer.CameraMinZoomDistance = 0.5 CameraConnection = RunService.RenderStepped:Connect(function() if ThirdPersonEnabled then LocalPlayer.CameraMode = Enum.CameraMode.Classic LocalPlayer.CameraMaxZoomDistance = Settings.ZoomDistance end end) Notify("Camera", "Third Person Enabled", 2) end local function DisableThirdPerson() ThirdPersonEnabled = false if CameraConnection then CameraConnection:Disconnect() CameraConnection = nil end if not GameInfo.IsLobby then LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson LocalPlayer.CameraMaxZoomDistance = 10 end Notify("Camera", "Third Person Disabled", 2) end local function EnableFullbright() FullbrightEnabled = true Settings.OriginalAmbient = Lighting.Ambient Settings.OriginalBrightness = Lighting.Brightness Settings.OriginalFogEnd = Lighting.FogEnd Lighting.Ambient = Color3.new(1, 1, 1) Lighting.Brightness = 2 Lighting.FogEnd = 100000 Lighting.GlobalShadows = false for _, effect in ipairs(Lighting:GetChildren()) do if effect:IsA("Atmosphere") or effect:IsA("BloomEffect") or effect:IsA("ColorCorrectionEffect") then effect.Enabled = false end end Notify("Fullbright", "Fullbright Enabled", 2) end local function DisableFullbright() FullbrightEnabled = false if Settings.OriginalAmbient then Lighting.Ambient = Settings.OriginalAmbient end if Settings.OriginalBrightness then Lighting.Brightness = Settings.OriginalBrightness end if Settings.OriginalFogEnd then Lighting.FogEnd = Settings.OriginalFogEnd end Lighting.GlobalShadows = true for _, effect in ipairs(Lighting:GetChildren()) do if effect:IsA("Atmosphere") or effect:IsA("BloomEffect") or effect:IsA("ColorCorrectionEffect") then effect.Enabled = true end end Notify("Fullbright", "Fullbright Disabled", 2) end local function SetFOV(value) Settings.FOVValue = value Camera.FieldOfView = value end local OriginalJumpscare = nil local JumpscareHooked = false local function EnableAntiJumpscare() AntiJumpscareEnabled = true local jumpscareRemote = GetRemote("ReplicatedStorage.Remotes.Jumpscare") if jumpscareRemote and not JumpscareHooked then JumpscareHooked = true OriginalJumpscare = jumpscareRemote.OnClientInvoke jumpscareRemote.OnClientInvoke = function(...) if AntiJumpscareEnabled then return nil end if OriginalJumpscare then return OriginalJumpscare(...) end end end Notify("Anti-Cheat", "Anti-Jumpscare Enabled", 2) end local function DisableAntiJumpscare() AntiJumpscareEnabled = false Notify("Anti-Cheat", "Anti-Jumpscare Disabled", 2) end local WarningConnection = nil local function EnableAntiWarning() AntiWarningEnabled = true local warningRemote = GetRemote("ReplicatedStorage.Remotes.Warning") if warningRemote then WarningConnection = warningRemote.OnClientEvent:Connect(function() if AntiWarningEnabled then return end end) end Notify("Anti-Cheat", "Anti-Warning Enabled", 2) end local function DisableAntiWarning() AntiWarningEnabled = false if WarningConnection then WarningConnection:Disconnect() WarningConnection = nil end Notify("Anti-Cheat", "Anti-Warning Disabled", 2) end local FadeConnection = nil local function EnableAntiFade() AntiFadeEnabled = true local fadeRemote = GetRemote("ReplicatedStorage.Remotes.Fade") if fadeRemote then FadeConnection = fadeRemote.OnClientEvent:Connect(function() if AntiFadeEnabled then return end end) end Notify("Anti-Cheat", "Anti-Fade Enabled", 2) end local function DisableAntiFade() AntiFadeEnabled = false if FadeConnection then FadeConnection:Disconnect() FadeConnection = nil end Notify("Anti-Cheat", "Anti-Fade Disabled", 2) end local AutoBatteryConnection = nil local AutoGeneratorConnection = nil local AutoTaskConnection = nil local function EnableAutoBattery() AutoBatteryEnabled = true AutoBatteryConnection = RunService.Heartbeat:Connect(function() if not AutoBatteryEnabled then return end local hrp = GetHRP() if not hrp then return end local batteries = Workspace:FindFirstChild("House") if batteries then batteries = batteries:FindFirstChild("Batteries") end if batteries then for _, battery in ipairs(batteries:GetChildren()) do if battery.Name == "Battery" then local part = battery:FindFirstChild("Union") or battery:FindFirstChildWhichIsA("BasePart") if part then local prompt = part:FindFirstChildOfClass("ProximityPrompt") if prompt and prompt.Enabled then local distance = (hrp.Position - part.Position).Magnitude if distance < 50 then fireproximityprompt(prompt) end end end end end end end) Notify("Auto Tasks", "Auto Battery Enabled", 2) end local function DisableAutoBattery() AutoBatteryEnabled = false if AutoBatteryConnection then AutoBatteryConnection:Disconnect() AutoBatteryConnection = nil end Notify("Auto Tasks", "Auto Battery Disabled", 2) end local function EnableAutoGenerator() AutoGeneratorEnabled = true AutoGeneratorConnection = RunService.Heartbeat:Connect(function() if not AutoGeneratorEnabled then return end local hrp = GetHRP() if not hrp then return end local house = Workspace:FindFirstChild("House") if house then local generator = house:FindFirstChild("Generator") if generator then local button = generator:FindFirstChild("Button") if button then local prompt = button:FindFirstChildOfClass("ProximityPrompt") if prompt and prompt.Enabled then local distance = (hrp.Position - button.Position).Magnitude if distance < 20 then fireproximityprompt(prompt) end end end end end end) Notify("Auto Tasks", "Auto Generator Enabled", 2) end local function DisableAutoGenerator() AutoGeneratorEnabled = false if AutoGeneratorConnection then AutoGeneratorConnection:Disconnect() AutoGeneratorConnection = nil end Notify("Auto Tasks", "Auto Generator Disabled", 2) end local function EnableAutoTasks() AutoTasksEnabled = true AutoTaskConnection = RunService.Heartbeat:Connect(function() if not AutoTasksEnabled then return end local hrp = GetHRP() if not hrp then return end for _, prompt in ipairs(Workspace:GetDescendants()) do if prompt:IsA("ProximityPrompt") and prompt.Enabled then local part = prompt.Parent if part and part:IsA("BasePart") then local distance = (hrp.Position - part.Position).Magnitude if distance < 10 then pcall(function() fireproximityprompt(prompt) end) end end end end end) Notify("Auto Tasks", "Auto Tasks Enabled", 2) end local function DisableAutoTasks() AutoTasksEnabled = false if AutoTaskConnection then AutoTaskConnection:Disconnect() AutoTaskConnection = nil end Notify("Auto Tasks", "Auto Tasks Disabled", 2) end local LocationNames = { Bedroom = {"Bedroom", "Bed", "BedRoom", "bed"}, Kitchen = {"Kitchen", "kitchen", "KitchenArea"}, LivingRoom = {"LivingRoom", "Living", "LivingArea", "Couch"}, Garage = {"Garage", "garage", "GarageArea"}, Generator = {"Generator", "generator"}, FrontDoor = {"FrontDoor", "Door", "Front", "Porch", "Entrance"}, } local function FindLocationPosition(names) local roots = { Workspace:FindFirstChild("House"), Workspace:FindFirstChild("Game"), Workspace, } for _, root in ipairs(roots) do if root then for _, name in ipairs(names) do local found = root:FindFirstChild(name, true) if found then if found:IsA("BasePart") then return found.Position elseif found:IsA("Model") then local part = found.PrimaryPart or found:FindFirstChildWhichIsA("BasePart") if part then return part.Position end end end end end end return nil end local function TeleportTo(position) local hrp = GetHRP() if not hrp then return end if typeof(position) == "Vector3" then hrp.CFrame = CFrame.new(position + Vector3.new(0, 3, 0)) Notify("Teleport", "Teleported!", 2) end end local function TeleportToLocation(key) local hrp = GetHRP() if not hrp then return end local names = LocationNames[key] if not names then Notify("Teleport", "Unknown location", 2) return end local pos = FindLocationPosition(names) if pos then hrp.CFrame = CFrame.new(pos + Vector3.new(0, 3, 0)) Notify("Teleport", "Teleported to " .. key, 2) else Notify("Teleport", key .. " not found in workspace", 3) end end local function TeleportToPlayer(playerName) local targetPlayer = Players:FindFirstChild(playerName) if targetPlayer and targetPlayer.Character then local targetHRP = targetPlayer.Character:FindFirstChild("HumanoidRootPart") if targetHRP then TeleportTo(targetHRP.Position) end end end local function TeleportToSpawn() local hrp = GetHRP() if not hrp then return end local spawn = Workspace:FindFirstChild("SpawnLocation") if spawn then hrp.CFrame = CFrame.new(spawn.Position + Vector3.new(0, 3, 0)) Notify("Teleport", "Teleported to Spawn", 2) else hrp.CFrame = CFrame.new(Vector3.new(0, 5, 0)) Notify("Teleport", "Spawn not found, used origin", 2) end end local function RedeemCode(code) if not GameInfo.IsLobby then Notify("Codes", "Must be in lobby to redeem codes", 2) return end local codeRemote = GetRemote("ReplicatedStorage.Remotes.Codes.Redeem") if codeRemote then pcall(function() codeRemote:FireServer(code) end) Notify("Codes", "Attempted to redeem: " .. code, 2) else Notify("Codes", "Code system not found", 2) end end local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() local Window = Rayfield:CreateWindow({ Name = "Weird Strict Dad | V1", Icon = "ghost", LoadingTitle = "Weird Strict Dad Exploit", LoadingSubtitle = "Loading...", Theme = "Default", DisableRayfieldPrompts = false, DisableBuildWarnings = false, ConfigurationSaving = { Enabled = false, FolderName = nil, FileName = "WSDConfig" }, Discord = { Enabled = false, }, KeySystem = false, }) local ESPTab = Window:CreateTab("ESP", "eye") ESPTab:CreateSection("Enemy ESP") ESPTab:CreateToggle({ Name = "Enemy ESP (Dad/Monster)", CurrentValue = false, Flag = "EnemyESPToggle", Callback = function(Value) if Value then EnableEnemyESP() else DisableEnemyESP() end end, }) ESPTab:CreateColorPicker({ Name = "Enemy ESP Color", Color = Color3.fromRGB(255, 0, 0), Flag = "EnemyESPColor", Callback = function(Value) Settings.EnemyESPColor = Value if EnemyESPEnabled then UpdateEnemyESP() end end }) ESPTab:CreateSection("Player ESP") ESPTab:CreateToggle({ Name = "Player ESP", CurrentValue = false, Flag = "PlayerESPToggle", Callback = function(Value) if Value then EnablePlayerESP() else DisablePlayerESP() end end, }) ESPTab:CreateColorPicker({ Name = "Player ESP Color", Color = Color3.fromRGB(0, 255, 0), Flag = "PlayerESPColor", Callback = function(Value) Settings.PlayerESPColor = Value end }) ESPTab:CreateSection("Item ESP") ESPTab:CreateToggle({ Name = "Item ESP (Batteries/Items)", CurrentValue = false, Flag = "ItemESPToggle", Callback = function(Value) if Value then EnableItemESP() else DisableItemESP() end end, }) ESPTab:CreateColorPicker({ Name = "Item ESP Color", Color = Color3.fromRGB(255, 255, 0), Flag = "ItemESPColor", Callback = function(Value) Settings.ItemESPColor = Value if ItemESPEnabled then UpdateItemESP() end end }) local MovementTab = Window:CreateTab("Movement", "footprints") MovementTab:CreateSection("Speed") MovementTab:CreateToggle({ Name = "Enable Speed", CurrentValue = false, Flag = "SpeedToggle", Callback = function(Value) if Value then EnableSpeed() else DisableSpeed() end end, }) MovementTab:CreateSlider({ Name = "Speed Value", Range = {10, 100}, Increment = 1, Suffix = " WalkSpeed", CurrentValue = 32, Flag = "SpeedValue", Callback = function(Value) Settings.SpeedValue = Value if SpeedEnabled then local humanoid = GetHumanoid() if humanoid then humanoid.WalkSpeed = Value end end end, }) MovementTab:CreateSection("Flight") MovementTab:CreateToggle({ Name = "Enable Fly", CurrentValue = false, Flag = "FlyToggle", Callback = function(Value) if Value then EnableFly() else DisableFly() end end, }) MovementTab:CreateSlider({ Name = "Fly Speed", Range = {10, 150}, Increment = 5, Suffix = " speed", CurrentValue = 50, Flag = "FlySpeed", Callback = function(Value) Settings.FlySpeed = Value end, }) MovementTab:CreateSection("Other") MovementTab:CreateToggle({ Name = "Enable Noclip", CurrentValue = false, Flag = "NoclipToggle", Callback = function(Value) if Value then EnableNoclip() else DisableNoclip() end end, }) MovementTab:CreateToggle({ Name = "Infinite Jump", CurrentValue = false, Flag = "InfJumpToggle", Callback = function(Value) if Value then EnableInfiniteJump() else DisableInfiniteJump() end end, }) local CameraTab = Window:CreateTab("Camera", "camera") CameraTab:CreateSection("Camera Mode") CameraTab:CreateToggle({ Name = "Third Person Mode", CurrentValue = false, Flag = "ThirdPersonToggle", Callback = function(Value) if Value then EnableThirdPerson() else DisableThirdPerson() end end, }) CameraTab:CreateSlider({ Name = "Zoom Distance", Range = {10, 200}, Increment = 5, Suffix = " studs", CurrentValue = 128, Flag = "ZoomDistance", Callback = function(Value) Settings.ZoomDistance = Value if ThirdPersonEnabled then LocalPlayer.CameraMaxZoomDistance = Value end end, }) CameraTab:CreateSection("Visual") CameraTab:CreateToggle({ Name = "Fullbright", CurrentValue = false, Flag = "FullbrightToggle", Callback = function(Value) if Value then EnableFullbright() else DisableFullbright() end end, }) CameraTab:CreateSlider({ Name = "Field of View", Range = {50, 120}, Increment = 1, Suffix = " FOV", CurrentValue = 70, Flag = "FOVValue", Callback = function(Value) SetFOV(Value) end, }) local AntiCheatTab = Window:CreateTab("Anti-Cheat", "shield") AntiCheatTab:CreateSection("Protection") AntiCheatTab:CreateToggle({ Name = "Anti-Jumpscare", CurrentValue = false, Flag = "AntiJumpscareToggle", Callback = function(Value) if Value then EnableAntiJumpscare() else DisableAntiJumpscare() end end, }) AntiCheatTab:CreateToggle({ Name = "Anti-Warning", CurrentValue = false, Flag = "AntiWarningToggle", Callback = function(Value) if Value then EnableAntiWarning() else DisableAntiWarning() end end, }) AntiCheatTab:CreateToggle({ Name = "Anti-Fade (Screen Effects)", CurrentValue = false, Flag = "AntiFadeToggle", Callback = function(Value) if Value then EnableAntiFade() else DisableAntiFade() end end, }) local AutoTab = Window:CreateTab("Auto Tasks", "zap") AutoTab:CreateSection("Automation") AutoTab:CreateToggle({ Name = "Auto Collect Batteries", CurrentValue = false, Flag = "AutoBatteryToggle", Callback = function(Value) if Value then EnableAutoBattery() else DisableAutoBattery() end end, }) AutoTab:CreateToggle({ Name = "Auto Refill Generator", CurrentValue = false, Flag = "AutoGeneratorToggle", Callback = function(Value) if Value then EnableAutoGenerator() else DisableAutoGenerator() end end, }) AutoTab:CreateToggle({ Name = "Auto All Tasks (Nearby)", CurrentValue = false, Flag = "AutoTasksToggle", Callback = function(Value) if Value then EnableAutoTasks() else DisableAutoTasks() end end, }) local TeleportTab = Window:CreateTab("Teleport", "map-pin") TeleportTab:CreateSection("Locations") TeleportTab:CreateButton({ Name = "Teleport to Spawn", Callback = function() TeleportToSpawn() end, }) TeleportTab:CreateButton({ Name = "Teleport to Bedroom", Callback = function() TeleportToLocation("Bedroom") end, }) TeleportTab:CreateButton({ Name = "Teleport to Kitchen", Callback = function() TeleportToLocation("Kitchen") end, }) TeleportTab:CreateButton({ Name = "Teleport to Generator", Callback = function() TeleportToLocation("Generator") end, }) TeleportTab:CreateSection("Player Teleport") local DropdownUpdating = false local PlayerDropdown = TeleportTab:CreateDropdown({ Name = "Select Player", Options = {}, CurrentOption = {}, MultipleOptions = false, Flag = "PlayerTeleport", Callback = function(Option) if DropdownUpdating then return end if Option[1] then TeleportToPlayer(Option[1]) end end, }) task.spawn(function() while true do local playerNames = {} for _, player in ipairs(Players:GetPlayers()) do if player ~= LocalPlayer then table.insert(playerNames, player.Name) end end DropdownUpdating = true pcall(function() PlayerDropdown:Set(playerNames) end) DropdownUpdating = false task.wait(5) end end) local LobbyTab = Window:CreateTab("Lobby", "home") LobbyTab:CreateSection("Code Redeemer") local CodeInput = LobbyTab:CreateInput({ Name = "Enter Code", CurrentValue = "", PlaceholderText = "Enter code here...", RemoveTextAfterFocusLost = false, Flag = "CodeInput", Callback = function(Text) end, }) LobbyTab:CreateButton({ Name = "Redeem Code", Callback = function() local code = Rayfield.Flags.CodeInput.CurrentValue or "" if code ~= "" then RedeemCode(code) else Notify("Codes", "Please enter a code first", 2) end end, }) LobbyTab:CreateSection("Info") LobbyTab:CreateParagraph({ Title = "Lobby Features", Content = "Code redeemer works only in lobby.\n\nUse the code input above to redeem codes.\n\nCommon codes: Update codes are usually announced on the game's social media." }) local InfoTab = Window:CreateTab("Info", "info") InfoTab:CreateSection("Current Gamemode") local GamemodeLabel = InfoTab:CreateLabel("Detecting...") InfoTab:CreateButton({ Name = "Refresh Gamemode Detection", Callback = function() DetectGamemode() GamemodeLabel:Set("Gamemode: " .. GameInfo.GameName) Notify("Info", "Detected: " .. GameInfo.GameName, 3) end, }) InfoTab:CreateSection("Script Info") InfoTab:CreateParagraph({ Title = "Weird Strict Dad Exploit V1", Content = "Supports all gamemodes:\n- Lobby\n- Book 1 Chapters 1-5 (Normal/Nightmare)\n- Book 2 Chapter 1 (Nightmare)\n\nPress RightShift to toggle UI" }) InfoTab:CreateSection("Player List") InfoTab:CreateButton({ Name = "Print Player List to Console", Callback = function() print("\n═══════════════════════════════════════") print(" WEIRD STRICT DAD - PLAYERS ") print("═══════════════════════════════════════") for i, player in ipairs(Players:GetPlayers()) do local status = IsAlive(player) and "ALIVE" or "DEAD/SPECTATING" print(string.format("%d. %s (%s)", i, player.DisplayName, status)) end print("═══════════════════════════════════════\n") Notify("Info", "Player list printed to console", 2) end, }) local SettingsTab = Window:CreateTab("Settings", "settings") SettingsTab:CreateSection("Script Settings") SettingsTab:CreateButton({ Name = "Reset All Settings", Callback = function() if EnemyESPEnabled then DisableEnemyESP() end if PlayerESPEnabled then DisablePlayerESP() end if ItemESPEnabled then DisableItemESP() end if SpeedEnabled then DisableSpeed() end if FlyEnabled then DisableFly() end if NoclipEnabled then DisableNoclip() end if InfiniteJumpEnabled then DisableInfiniteJump() end if ThirdPersonEnabled then DisableThirdPerson() end if FullbrightEnabled then DisableFullbright() end if AntiJumpscareEnabled then DisableAntiJumpscare() end if AutoBatteryEnabled then DisableAutoBattery() end if AutoGeneratorEnabled then DisableAutoGenerator() end if AutoTasksEnabled then DisableAutoTasks() end Notify("Settings", "All settings reset", 2) end, }) SettingsTab:CreateParagraph({ Title = "Hotkeys", Content = "RightShift - Toggle UI\n\nFly Controls:\nWASD - Move\nSpace - Up\nCtrl - Down" }) RunService.RenderStepped:Connect(function() if EnemyESPEnabled then end if PlayerESPEnabled then UpdatePlayerESP() end end) task.spawn(function() while true do task.wait(2) if EnemyESPEnabled then UpdateEnemyESP() end if ItemESPEnabled then UpdateItemESP() end end end) Players.PlayerAdded:Connect(function(player) if PlayerESPEnabled then player.CharacterAdded:Connect(function() task.wait(1) UpdatePlayerESP() end) end end) Players.PlayerRemoving:Connect(function(player) if ESPObjects.Players[player] then local esp = ESPObjects.Players[player] if esp.Highlight then pcall(function() esp.Highlight:Destroy() end) end if esp.Billboard then pcall(function() esp.Billboard:Destroy() end) end ESPObjects.Players[player] = nil end end) LocalPlayer.CharacterAdded:Connect(function(char) task.wait(1) if SpeedEnabled then local humanoid = char:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = Settings.SpeedValue end end if FlyEnabled then DisableFly() task.wait(0.5) EnableFly() end if ThirdPersonEnabled then LocalPlayer.CameraMode = Enum.CameraMode.Classic LocalPlayer.CameraMaxZoomDistance = Settings.ZoomDistance end end) local function applyToPrompt(v) if not v:IsA("ProximityPrompt") then return end v.HoldDuration = 0 v:GetPropertyChangedSignal("HoldDuration"):Connect(function() if v.HoldDuration ~= 0 then v.HoldDuration = 0 end end) end for _, v in ipairs(Workspace:GetDescendants()) do applyToPrompt(v) end Workspace.DescendantAdded:Connect(function(v) applyToPrompt(v) end) DetectGamemode() GamemodeLabel:Set("Gamemode: " .. GameInfo.GameName) Notify("Weird Strict Dad", "Script loaded!\nDetected: " .. GameInfo.GameName, 5) print([[ ╔══════════════════════════════════════════════════════════════╗ ║ WEIRD STRICT DAD - EXPLOIT LOADED ║ ║ Version 1.0 ║ ╠══════════════════════════════════════════════════════════════╣ ║ Features: ║ ║ - Enemy ESP (Dad, PossesedDad, Xenobus, Mom) ║ ║ - Player ESP with distance ║ ║ - Item ESP (Batteries, Gas Cans) ║ ║ - Speed Hack ║ ║ - Fly ║ ║ - Noclip ║ ║ - Infinite Jump ║ ║ - Third Person Camera Bypass ║ ║ - Fullbright ║ ║ - Anti-Jumpscare ║ ║ - Anti-Warning ║ ║ - Anti-Fade ║ ║ - Auto Battery Collect ║ ║ - Auto Generator Refill ║ ║ - Auto Tasks ║ ║ - Teleportation ║ ║ - Code Redeemer (Lobby) ║ ╚══════════════════════════════════════════════════════════════╝ ]])