-- 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))