
KeylessUniversal

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) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
]])
w
@p1gqesrxqm lmk if it works
teleports dont work but everything else works
FIXED