
KeylessUniversal

local Players = game:GetService("Players")
local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local camera = workspace.CurrentCamera
-- Hancurkan GUI lama jika script dieksekusi ulang agar tidak menumpuk
if playerGui:FindFirstChild("BackroomsCameraGUI") then
playerGui.BackroomsCameraGUI:Destroy()
end
-- Membuat GUI Utama di PlayerGui
local mainGui = Instance.new("ScreenGui")
mainGui.Name = "BackroomsCameraGUI"
mainGui.ResetOnSpawn = false
mainGui.Parent = playerGui
-- Tombol Camera (Bisa digeser / Draggable)
local toggleBtn = Instance.new("TextButton", mainGui)
toggleBtn.Size = UDim2.new(0, 120, 0, 45)
toggleBtn.Position = UDim2.new(0.05, 0, 0.4, 0)
toggleBtn.Text = "CAMERA"
toggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.Code
toggleBtn.TextSize = 16
toggleBtn.Active = true
toggleBtn.Draggable = true -- Bisa digeser ke mana saja
local uiCorner = Instance.new("UICorner", toggleBtn)
uiCorner.CornerRadius = UDim.new(0, 8)
local isActive = false
local effects = {}
local connections = {}
-- Variabel untuk menyimpan pengaturan kamera asli player
local originalCameraMode
local originalMaxZoom
local originalMinZoom
local function createEffects()
-- Simpan pengaturan kamera asli sebelum diubah
originalCameraMode = player.CameraMode
originalMaxZoom = player.CameraMaxZoomDistance
originalMinZoom = player.CameraMinZoomDistance
-- Paksa POV ke Orang Pertama (First-Person)
player.CameraMode = Enum.CameraMode.LockFirstPerson
player.CameraMaxZoomDistance = 0.5
player.CameraMinZoomDistance = 0.5
-- 1. Efek Blur & Backrooms Color Correction
local blur = Instance.new("BlurEffect", Lighting)
blur.Size = 10
table.insert(effects, blur)
local cc = Instance.new("ColorCorrectionEffect", Lighting)
cc.TintColor = Color3.fromRGB(220, 200, 130)
cc.Contrast = 0.4
cc.Saturation = -0.3
table.insert(effects, cc)
-- 2. GUI Overlay (VHS, Kesemutan, REC, & Tanggal)
local vhsGui = Instance.new("ScreenGui")
vhsGui.Name = "VHSOverlay"
vhsGui.ResetOnSpawn = false
vhsGui.Parent = playerGui
table.insert(effects, vhsGui)
-- Efek Kesemutan / Static Noise
local staticNoise = Instance.new("ImageLabel", vhsGui)
staticNoise.Size = UDim2.new(1, 0, 1, 0)
staticNoise.BackgroundTransparency = 1
staticNoise.Image = "rbxassetid://9784318084"
staticNoise.ImageTransparency = 0.75
staticNoise.ScaleType = Enum.ScaleType.Tile
staticNoise.TileSize = UDim2.new(0, 256, 0, 256)
-- Teks "REC..." merah (Sesuai Gambar)
local recText = Instance.new("TextLabel", vhsGui)
recText.Size = UDim2.new(0, 150, 0, 50)
recText.Position = UDim2.new(0.05, 0, 0.08, 0)
recText.BackgroundTransparency = 1
recText.Text = "REC..."
recText.TextColor3 = Color3.fromRGB(220, 20, 20)
recText.Font = Enum.Font.SpecialElite
recText.TextSize = 32
recText.TextXAlignment = Enum.TextXAlignment.Left
-- Animasi kedip teks REC
task.spawn(function()
while vhsGui.Parent do
recText.TextTransparency = 0
task.wait(0.8)
recText.TextTransparency = 0.5
task.wait(0.8)
end
end)
-- Teks Tanggal & Waktu Vintage (Sesuai Gambar)
local dateText = Instance.new("TextLabel", vhsGui)
dateText.Size = UDim2.new(0, 300, 0, 70)
dateText.Position = UDim2.new(0.05, 0, 0.82, 0)
dateText.BackgroundTransparency = 1
dateText.Text = "MARCH.1990\n06/28/1990"
dateText.TextColor3 = Color3.fromRGB(255, 255, 255)
dateText.Font = Enum.Font.Code
dateText.TextSize = 20
dateText.TextXAlignment = Enum.TextXAlignment.Left
-- Layar Kematian Merah ("You Died")
local deathFrame = Instance.new("Frame", vhsGui)
deathFrame.Size = UDim2.new(1, 0, 1, 0)
deathFrame.BackgroundColor3 = Color3.fromRGB(120, 0, 0)
deathFrame.BackgroundTransparency = 1
local deathLabel = Instance.new("TextLabel", deathFrame)
deathLabel.Size = UDim2.new(1, 0, 1, 0)
deathLabel.BackgroundTransparency = 1
deathLabel.Text = "You Died"
deathLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
deathLabel.Font = Enum.Font.Creepster
deathLabel.TextScaled = true
deathLabel.TextTransparency = 1
-- 3. Suara Creepy (ID: 120812539198119, Volume: 65%)
local creepySound = Instance.new("Sound", camera)
creepySound.SoundId = "rbxassetid://120812539198119"
creepySound.Volume = 0.65
creepySound.Looped = true
creepySound:Play()
table.insert(effects, creepySound)
-- 4. Suara Langkah Kaki Berjalan & Berlari (ID: 5446226292, Volume: 65%)
local footstepSound = Instance.new("Sound", camera)
footstepSound.SoundId = "rbxassetid://5446226292"
footstepSound.Volume = 0.65
table.insert(effects, footstepSound)
-- 5. Camera Shake, Glitch, & Footstep Trigger saat Berjalan/Berlari
local tickCount = 0
local stepTimer = 0
local runConn = RunService.RenderStepped:Connect(function(dt)
local char = player.Character
if char and char:FindFirstChild("Humanoid") and char:FindFirstChild("HumanoidRootPart") then
local hum = char.Humanoid
local speed = hum.MoveDirection.Magnitude
if speed > 0 then
local isRunning = hum.WalkSpeed > 18
local intensity = isRunning and 0.35 or 0.15
local freq = isRunning and 14 or 9
tickCount = tickCount + dt * freq
local shakeX = math.sin(tickCount) * intensity
local shakeY = math.cos(tickCount * 2) * intensity
camera.CFrame = camera.CFrame * CFrame.Angles(math.rad(shakeX), math.rad(shakeY), 0)
stepTimer = stepTimer + dt
local stepInterval = isRunning and 0.3 or 0.5
if stepTimer >= stepInterval then
footstepSound:Play()
stepTimer = 0
end
-- Efek Glitch Distorsi Warna Acak
if math.random() > 0.92 then
cc.Contrast = math.random(2, 6) / 10
staticNoise.ImageTransparency = 0.5
else
cc.Contrast = 0.4
staticNoise.ImageTransparency = 0.75
end
else
stepTimer = 0
end
end
end)
table.insert(connections, runConn)
-- 6. Sistem Kematian Player
if player.Character and player.Character:FindFirstChild("Humanoid") then
local deathConn = player.Character.Humanoid.Died:Connect(function()
local twInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
TweenService:Create(deathFrame, twInfo, {BackgroundTransparency = 0.2}):Play()
TweenService:Create(deathLabel, twInfo, {TextTransparency = 0}):Play()
task.wait(3.5) -- Tahan selama 3.5 detik
local fadeOut = TweenInfo.new(1.5, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
TweenService:Create(deathFrame, fadeOut, {BackgroundTransparency = 1}):Play()
TweenService:Create(deathLabel, fadeOut, {TextTransparency = 1}):Play()
end)
table.insert(connections, deathConn)
end
camera.FieldOfView = 55
end
local function clearEffects()
-- Kembalikan pengaturan kamera ke semula saat dimatikan
if originalCameraMode then
player.CameraMode = originalCameraMode
end
if originalMaxZoom then
player.CameraMaxZoomDistance = originalMaxZoom
end
if originalMinZoom then
player.CameraMinZoomDistance = originalMinZoom
end
for _, effect in pairs(effects) do
if effect then effect:Destroy() end
end
for _, conn in pairs(connections) do
if conn then conn:Disconnect() end
end
effects = {}
connections = {}
camera.FieldOfView = 70
end
-- Tombol Interaksi GUI (Bisa ditekan On/Off)
toggleBtn.MouseButton1Click:Connect(function()
isActive = not isActive
if isActive then
toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 0)
toggleBtn.Text = "CAM: ON"
createEffects()
else
toggleBtn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
toggleBtn.Text = "CAMERA"
clearEffects()
end
end)No comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

