Cave Mode
Key Required

Cave Mode

DOORS 🚨LocalscriptLocalscript 736 views 197 executesUpdated Jan 22, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•84 lines (2154 chars)
local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")
local SoundService = game:GetService("SoundService")
local Players = game:GetService("Players")

Lighting.FogColor = Color3.fromHex("#161c33")
Lighting.FogStart = 0
Lighting.FogEnd = 35
Lighting.GlobalShadows = true
Lighting.Brightness = 0.5
Lighting.TimeOfDay = "00:00:00"

local ambienceSound = Instance.new("Sound")
ambienceSound.Name = "SpookyAmbience"
ambienceSound.SoundId = "rbxassetid://9065315388"
ambienceSound.Volume = 0.4
ambienceSound.Parent = SoundService

local canPlaySound = true

task.spawn(function()
	if canPlaySound then ambienceSound:Play() end
	
	while true do
		local waitTime = math.random(120, 250)
		task.wait(waitTime)
		
		if canPlaySound and not ambienceSound.IsPlaying then
			ambienceSound:Play()
		end
	end
end)

Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:Connect(function(character)
		canPlaySound = true
		local humanoid = character:WaitForChild("Humanoid", 10)
		if humanoid then
			humanoid.Died:Connect(function()
				canPlaySound = false
				ambienceSound:Stop()
			end)
		end
	end)
end)

local function isCharacter(obj)
	if obj.Parent:FindFirstChild("Humanoid") then return true end
	if obj.Parent.Parent and obj.Parent.Parent:FindFirstChild("Humanoid") then return true end
	return false
end

local baseStoneColor = Color3.fromRGB(100, 100, 100) 

local function processObject(object)
	if object:IsA("BasePart") then
		if object.Material ~= Enum.Material.Neon and 
		   not isCharacter(object) and
		   not object:GetAttribute("IsConverted") then
			
			object:SetAttribute("IsConverted", true)
			object.Material = Enum.Material.Slate
			
			local oldColor = object.Color
			object.Color = baseStoneColor:Lerp(oldColor, 0.1) 
			object.Reflectance = 0
		end
	end

	if object:IsA("Light") and not object:GetAttribute("LightDimmed") then
		if not isCharacter(object) then
			object:SetAttribute("LightDimmed", true)
			object.Brightness = object.Brightness * 0.75
		end
	end
end

while true do
	for _, object in pairs(Workspace:GetDescendants()) do
		processObject(object)
	end
	
	task.wait(2)
end

Features & Information

Cave Mode for doors roblox. Cave atmosphere + Cave Hotel (This works on and floor or subfloor)
#doors#doorsmod#cavemode

Community Comments (2)

What if combined this script in floor 2 (The Mines)

Replying to @Totally_Real_Cringle
LocalscriptLocalscriptJan 22, 2026

More stone lol

More Scripts for DOORS 🚨