
KeylessUniversal

-- Escape The Fog v2.6 (Fully Customizable)
-- Horror chase with adjustable settings and random exit spawn
local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local SoundService = game:GetService("SoundService")
local LocalPlayer = Players.LocalPlayer
---=== USER SETTINGS ===---
local SETTINGS = {
FogColor = Color3.fromRGB(100, 100, 100), -- Fog appearance
FogStart = 5, -- Fog begins 5 studs away
FogEnd = 50, -- Visibility range
EscapeBoxSize = Vector3.new(3, 3, 3), -- Exit box dimensions
EscapeBoxColor = Color3.fromRGB(0, 255, 0),-- Bright green exit
HunterBoxSize = Vector3.new(4, 4, 4), -- Hunter dimensions
HunterSpeed = 2., -- DEFAULT SPEED (0.7) - Change this value!
HunterColor = Color3.fromRGB(255, 0, 0), -- Red hunter
KickMessage = "You escaped!",
DeathMessage = "The hunter caught you...",
MusicID = 170925426,
ForceFirstPerson = true,
MinSpawnDistance = 200, -- Closest possible exit spawn
MaxSpawnDistance = 300, -- Farthest possible exit spawn
CatchDistance = 6 -- Hunter detection range
}
---=== GAME INIT ===---
local fogEnabled = false
local escapeBox = nil
local hunterBox = nil
local backgroundSound = nil
-- Creates exit at random distance (30-100 studs)
local function createEscapeBox()
if escapeBox then escapeBox:Destroy() end
escapeBox = Instance.new("Part")
escapeBox.Size = SETTINGS.EscapeBoxSize
escapeBox.Anchored = true
escapeBox.CanCollide = false
escapeBox.Transparency = 0 -- Fully visible
escapeBox.Color = SETTINGS.EscapeBoxColor
escapeBox.Material = Enum.Material.Neon
-- Random spawn distance (30-100 studs)
local spawnDistance = math.random(SETTINGS.MinSpawnDistance, SETTINGS.MaxSpawnDistance)
local angle = math.random() * math.pi * 2
escapeBox.Position = LocalPlayer.Character.HumanoidRootPart.Position +
Vector3.new(
math.cos(angle) * spawnDistance,
0,
math.sin(angle) * spawnDistance
)
escapeBox.Parent = workspace
return escapeBox
end
-- Hunter with customizable speed
local function createHunter()
if hunterBox then hunterBox:Destroy() end
hunterBox = Instance.new("Part")
hunterBox.Size = SETTINGS.HunterBoxSize
hunterBox.Anchored = true
hunterBox.CanCollide = false
hunterBox.Transparency = 0
hunterBox.Color = SETTINGS.HunterColor
hunterBox.Material = Enum.Material.Neon
hunterBox.Position = LocalPlayer.Character.HumanoidRootPart.Position + Vector3.new(100, 0, 100)
-- Hunter highlight remains
local highlight = Instance.new("Highlight")
highlight.FillColor = SETTINGS.HunterColor
highlight.OutlineColor = Color3.new(0.5, 0, 0)
highlight.Parent = hunterBox
hunterBox.Parent = workspace
return hunterBox
end
-- Hunter movement with adjustable speed
local function updateHunter()
if not hunterBox or not LocalPlayer.Character then return end
local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if not hrp then return end
-- Movement with SETTINGS.HunterSpeed
local direction = (hrp.Position - hunterBox.Position).Unit
hunterBox.Position = hunterBox.Position + (direction * SETTINGS.HunterSpeed * 0.1)
-- Match player height
hunterBox.Position = Vector3.new(
hunterBox.Position.X,
hrp.Position.Y,
hunterBox.Position.Z
)
-- Catch check
if (hrp.Position - hunterBox.Position).Magnitude < SETTINGS.CatchDistance then
LocalPlayer:Kick(SETTINGS.DeathMessage)
end
end
-- Core game setup
local function startGame()
-- Environment
Lighting.FogColor = SETTINGS.FogColor
Lighting.FogStart = SETTINGS.FogStart
Lighting.FogEnd = SETTINGS.FogEnd
Lighting.GlobalShadows = false
Lighting.Brightness = 0.3
-- Camera
if SETTINGS.ForceFirstPerson then
LocalPlayer.CameraMode = Enum.CameraMode.LockFirstPerson
end
-- Audio
backgroundSound = Instance.new("Sound")
backgroundSound.SoundId = "rbxassetid://"..SETTINGS.MusicID
backgroundSound.Looped = true
backgroundSound.Volume = 0.5
backgroundSound.Parent = SoundService
backgroundSound:Play()
-- Objects
createEscapeBox()
createHunter()
-- Main loop
RunService.Heartbeat:Connect(function()
updateHunter()
-- Escape check
if escapeBox and LocalPlayer.Character then
local hrp = LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
if hrp and (hrp.Position - escapeBox.Position).Magnitude < 8 then
LocalPlayer:Kick(SETTINGS.KickMessage)
end
end
end)
-- Reset on death
LocalPlayer.CharacterAdded:Connect(function()
Lighting.FogColor = Color3.new(1, 1, 1)
Lighting.FogStart = 100
Lighting.FogEnd = 100000
if backgroundSound then
backgroundSound:Stop()
end
end)
end
-- Launch game
startGame()
print("Escape The Fog activated! Settings:")
print("- Hunter Speed: "..SETTINGS.HunterSpeed)
print("- Exit Spawn Range: "..SETTINGS.MinSpawnDistance.."-"..SETTINGS.MaxSpawnDistance.." studs")
print("- First-Person: "..tostring(SETTINGS.ForceFirstPerson))



Bro.... This script. Is so terrifying.
is chatgpt LOL
Script made DeepSeek