Security Cam
Key Required

Security Cam

Brookhaven 🏡RPGlodonGlodon 4.9K views 1.9K executesUpdated May 4, 2026
1.7/ 5(3 votes)
1233% Positive
Lua Script•457 lines (16884 chars)
-- =====================================================
-- SECURITY HUB PREMIUM v3.5 - NIGHT VISION REAL + LUCES TOGGLE
-- NV Verde Real | Luces Casa Encender/Apagar | Drag Total
-- =====================================================

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local CurrentCamera = workspace.CurrentCamera

local SecurityHub = Instance.new("ScreenGui")
SecurityHub.Name = "NightCamHub_v35"
SecurityHub.ResetOnSpawn = false
SecurityHub.Parent = playerGui

-- ==================== GUI ====================
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 460, 0, 380)
MainFrame.Position = UDim2.new(0.5, -230, 0.5, -190)
MainFrame.BackgroundColor3 = Color3.fromRGB(6, 6, 6)
MainFrame.BorderSizePixel = 0
MainFrame.Visible = false
MainFrame.Active = true
MainFrame.Parent = SecurityHub

local UICornerMain = Instance.new("UICorner")
UICornerMain.CornerRadius = UDim.new(0, 24)
UICornerMain.Parent = MainFrame

local GreenBorder = Instance.new("UIStroke")
GreenBorder.Color = Color3.fromRGB(0, 255, 120)
GreenBorder.Thickness = 3.5
GreenBorder.Parent = MainFrame

local InnerFrame = Instance.new("Frame")
InnerFrame.Size = UDim2.new(1, -14, 1, -14)
InnerFrame.Position = UDim2.new(0, 7, 0, 7)
InnerFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
InnerFrame.BorderSizePixel = 0
InnerFrame.Parent = MainFrame

local UICornerInner = Instance.new("UICorner")
UICornerInner.CornerRadius = UDim.new(0, 20)
UICornerInner.Parent = InnerFrame

-- Título + Crédito
local TitleBar = Instance.new("Frame")
TitleBar.Size = UDim2.new(1, 0, 0, 50)
TitleBar.BackgroundTransparency = 1
TitleBar.Parent = InnerFrame

local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -140, 0.5, 0)
Title.BackgroundTransparency = 1
Title.Text = "🔒 NIGHT CAM v3.5"
Title.TextColor3 = Color3.fromRGB(0, 255, 140)
Title.TextScaled = true
Title.Font = Enum.Font.GothamBold
Title.Parent = TitleBar

local CreditTop = Instance.new("TextLabel")
CreditTop.Size = UDim2.new(1, -140, 0.5, 0)
CreditTop.Position = UDim2.new(0, 0, 0.5, 0)
CreditTop.BackgroundTransparency = 1
CreditTop.Text = "Developer/Creador: ueu9195"
CreditTop.TextColor3 = Color3.fromRGB(0, 200, 100)
CreditTop.TextScaled = true
CreditTop.Font = Enum.Font.Gotham
CreditTop.Parent = TitleBar

-- DRAG EN TODO EL GUI
local dragging, dragStart, startPos
MainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = MainFrame.Position
    end
end)
UserInputService.InputChanged:Connect(function(input)
    if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        local delta = input.Position - dragStart
        MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
    end
end)
UserInputService.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)

-- Cerrar con mensaje
local function CloseWithThanks()
    if isInViewMode then ToggleViewMode() end
    local ThanksFrame = Instance.new("Frame")
    ThanksFrame.Size = UDim2.new(0, 380, 0, 140)
    ThanksFrame.Position = UDim2.new(0.5, -190, 0.5, -70)
    ThanksFrame.BackgroundColor3 = Color3.fromRGB(10, 25, 15)
    ThanksFrame.ZIndex = 100
    ThanksFrame.Parent = playerGui
    Instance.new("UICorner", ThanksFrame).CornerRadius = UDim.new(0, 20)

    local ThanksText = Instance.new("TextLabel")
    ThanksText.Size = UDim2.new(1, -40, 1, -40)
    ThanksText.Position = UDim2.new(0, 20, 0, 20)
    ThanksText.BackgroundTransparency = 1
    ThanksText.Text = "Gracias por Usar el Script de ueu9195\n¡Hasta la próxima!"
    ThanksText.TextColor3 = Color3.fromRGB(0, 255, 160)
    ThanksText.TextScaled = true
    ThanksText.Font = Enum.Font.GothamBold
    ThanksText.Parent = ThanksFrame

    task.wait(2.8)
    TweenService:Create(ThanksFrame, TweenInfo.new(0.8), {Position = UDim2.new(0.5, -190, 0.5, -200), BackgroundTransparency = 1}):Play()
    task.wait(1)
    ThanksFrame:Destroy()
    MainFrame.Visible = false
end

local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 38, 0, 38)
CloseBtn.Position = UDim2.new(1, -46, 0, 6)
CloseBtn.BackgroundColor3 = Color3.fromRGB(170, 20, 20)
CloseBtn.Text = "✕"
CloseBtn.TextColor3 = Color3.new(1,1,1)
CloseBtn.TextScaled = true
CloseBtn.Parent = InnerFrame
Instance.new("UICorner", CloseBtn).CornerRadius = UDim.new(1,0)
CloseBtn.MouseButton1Click:Connect(CloseWithThanks)

-- Botones
local PlaceCamBtn = Instance.new("TextButton")
PlaceCamBtn.Size = UDim2.new(0.28, 0, 0, 48)
PlaceCamBtn.Position = UDim2.new(0.04, 0, 0.22, 0)
PlaceCamBtn.BackgroundColor3 = Color3.fromRGB(0, 130, 75)
PlaceCamBtn.Text = "📍 COLOCAR"
PlaceCamBtn.TextColor3 = Color3.new(1,1,1)
PlaceCamBtn.TextScaled = true
PlaceCamBtn.Font = Enum.Font.GothamBold
PlaceCamBtn.Parent = InnerFrame
Instance.new("UICorner", PlaceCamBtn).CornerRadius = UDim.new(0, 14)

local ViewCamBtn = Instance.new("TextButton")
ViewCamBtn.Size = UDim2.new(0.28, 0, 0, 48)
ViewCamBtn.Position = UDim2.new(0.34, 0, 0.22, 0)
ViewCamBtn.BackgroundColor3 = Color3.fromRGB(0, 210, 100)
ViewCamBtn.Text = "👁 VIEW\nTOGGLE"
ViewCamBtn.TextColor3 = Color3.new(1,1,1)
ViewCamBtn.TextScaled = true
ViewCamBtn.Font = Enum.Font.GothamBold
ViewCamBtn.Parent = InnerFrame
Instance.new("UICorner", ViewCamBtn).CornerRadius = UDim.new(0, 14)

local NVBtn = Instance.new("TextButton")
NVBtn.Size = UDim2.new(0.28, 0, 0, 48)
NVBtn.Position = UDim2.new(0.64, 0, 0.22, 0)
NVBtn.BackgroundColor3 = Color3.fromRGB(0, 100, 200)
NVBtn.Text = "🌙 NIGHT VISION"
NVBtn.TextColor3 = Color3.new(1,1,1)
NVBtn.TextScaled = true
NVBtn.Font = Enum.Font.GothamBold
NVBtn.Parent = InnerFrame
Instance.new("UICorner", NVBtn).CornerRadius = UDim.new(0, 14)

local LightsBtn = Instance.new("TextButton")
LightsBtn.Size = UDim2.new(0.28, 0, 0, 48)
LightsBtn.Position = UDim2.new(0.04, 0, 0.38, 0)
LightsBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 0)
LightsBtn.Text = "💡 LUCES CASA"
LightsBtn.TextColor3 = Color3.new(1,1,1)
LightsBtn.TextScaled = true
LightsBtn.Font = Enum.Font.GothamBold
LightsBtn.Parent = InnerFrame
Instance.new("UICorner", LightsBtn).CornerRadius = UDim.new(0, 14)

local ZoomInBtn = Instance.new("TextButton")
ZoomInBtn.Size = UDim2.new(0.22, 0, 0, 42)
ZoomInBtn.Position = UDim2.new(0.04, 0, 0.55, 0)
ZoomInBtn.BackgroundColor3 = Color3.fromRGB(0, 180, 100)
ZoomInBtn.Text = "ZOOM +"
ZoomInBtn.TextColor3 = Color3.new(1,1,1)
ZoomInBtn.TextScaled = true
ZoomInBtn.Font = Enum.Font.GothamBold
ZoomInBtn.Parent = InnerFrame
Instance.new("UICorner", ZoomInBtn).CornerRadius = UDim.new(0, 12)

local ZoomOutBtn = Instance.new("TextButton")
ZoomOutBtn.Size = UDim2.new(0.22, 0, 0, 42)
ZoomOutBtn.Position = UDim2.new(0.28, 0, 0.55, 0)
ZoomOutBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 80)
ZoomOutBtn.Text = "ZOOM -"
ZoomOutBtn.TextColor3 = Color3.new(1,1,1)
ZoomOutBtn.TextScaled = true
ZoomOutBtn.Font = Enum.Font.GothamBold
ZoomOutBtn.Parent = InnerFrame
Instance.new("UICorner", ZoomOutBtn).CornerRadius = UDim.new(0, 12)

-- VIEWPORT
local Viewport = Instance.new("ViewportFrame")
Viewport.Size = UDim2.new(0.58, 0, 0.48, 0)
Viewport.Position = UDim2.new(0.4, 0, 0.42, 0)
Viewport.BackgroundColor3 = Color3.fromRGB(2, 2, 2)
Viewport.Parent = InnerFrame
Instance.new("UICorner", Viewport).CornerRadius = UDim.new(0, 16)

local ViewportCam = Instance.new("Camera")
ViewportCam.Parent = Viewport
Viewport.CurrentCamera = ViewportCam

local Crosshair = Instance.new("ImageLabel")
Crosshair.Size = UDim2.new(0, 36, 0, 36)
Crosshair.Position = UDim2.new(0.5, -18, 0.5, -18)
Crosshair.BackgroundTransparency = 1
Crosshair.Image = "rbxassetid://318389432"
Crosshair.ImageColor3 = Color3.fromRGB(0, 255, 100)
Crosshair.Parent = Viewport

local NightOverlay = Instance.new("ImageLabel")
NightOverlay.Size = UDim2.new(1,0,1,0)
NightOverlay.BackgroundTransparency = 1
NightOverlay.Image = "rbxassetid://188145721"
NightOverlay.ImageTransparency = 0.55
NightOverlay.ImageColor3 = Color3.fromRGB(0, 255, 110)
NightOverlay.Visible = true
NightOverlay.Parent = Viewport
Instance.new("UICorner", NightOverlay).CornerRadius = UDim.new(0, 16)

local CreditBottom = Instance.new("TextLabel")
CreditBottom.Size = UDim2.new(1, 0, 0, 20)
CreditBottom.Position = UDim2.new(0, 0, 1, -25)
CreditBottom.BackgroundTransparency = 1
CreditBottom.Text = "Developer/Creador: ueu9195"
CreditBottom.TextColor3 = Color3.fromRGB(0, 200, 100)
CreditBottom.TextScaled = true
CreditBottom.Font = Enum.Font.Gotham
CreditBottom.Parent = InnerFrame

-- Variables
local currentCamPart = nil
local viewConnection = nil
local previewConnection = nil
local camRotY = 0
local camRotX = 0
local currentFOV = 65
local defaultFOV = 65
local isInViewMode = false
local nightVisionOn = true
local originalCameraType = nil
local lightsSaved = {}  -- Guardar brillo original
local blinkConnection = nil

local function CreateCameraModel(position, lookAt)
    local model = Instance.new("Model")
    model.Name = "SecurityCam_Model"
    
    local mainBody = Instance.new("Part")
    mainBody.Size = Vector3.new(1.6, 1.6, 2.6)
    mainBody.Position = position
    mainBody.CFrame = CFrame.lookAt(position, lookAt)
    mainBody.Anchored = true
    mainBody.CanCollide = true
    mainBody.Material = Enum.Material.Metal
    mainBody.Color = Color3.fromRGB(35, 35, 40)
    mainBody.Transparency = 0.05
    mainBody.Parent = model
    
    local lens = Instance.new("Part")
    lens.Shape = Enum.PartType.Cylinder
    lens.Size = Vector3.new(1.35, 0.8, 1.35)
    lens.Position = mainBody.Position + mainBody.CFrame.LookVector * 1.4
    lens.CFrame = mainBody.CFrame * CFrame.Angles(0, 0, math.rad(90))
    lens.Anchored = true
    lens.CanCollide = false
    lens.Material = Enum.Material.Glass
    lens.Color = Color3.fromRGB(5, 5, 10)
    lens.Transparency = 0.15
    lens.Reflectance = 0.45
    lens.Parent = model
    
    local redLight = Instance.new("PointLight", mainBody)
    redLight.Color = Color3.fromRGB(255, 30, 30)
    redLight.Brightness = 1.8
    redLight.Range = 3
    
    model.PrimaryPart = mainBody
    model.Parent = workspace
    
    if blinkConnection then blinkConnection:Disconnect() end
    blinkConnection = RunService.Heartbeat:Connect(function()
        if redLight and redLight.Parent then
            redLight.Brightness = 1.6 + math.sin(tick() * 9) * 1.4
        end
    end)
    
    return model
end

local function PlaceSecurityCamera()
    if currentCamPart then currentCamPart:Destroy() end
    local character = player.Character
    if not character or not character:FindFirstChild("HumanoidRootPart") then return end
    
    local root = character.HumanoidRootPart
    local look = root.CFrame.LookVector
    local pos = root.Position + Vector3.new(0, 5.5, 0) + look * 5.5
    
    currentCamPart = CreateCameraModel(pos, root.Position + look * 12)
    camRotY = 0
    camRotX = 0
    currentFOV = defaultFOV
end

local function ToggleViewMode()
    if not currentCamPart then return end
    if isInViewMode then
        if viewConnection then viewConnection:Disconnect() end
        if previewConnection then previewConnection:Disconnect() end
        isInViewMode = false
        if originalCameraType then CurrentCamera.CameraType = originalCameraType end
        CurrentCamera.FieldOfView = defaultFOV
        ViewCamBtn.BackgroundColor3 = Color3.fromRGB(0, 210, 100)
    else
        isInViewMode = true
        originalCameraType = CurrentCamera.CameraType
        CurrentCamera.CameraType = Enum.CameraType.Scriptable
        currentFOV = defaultFOV
        
        viewConnection = RunService.RenderStepped:Connect(function()
            if currentCamPart and currentCamPart.PrimaryPart then
                local base = currentCamPart.PrimaryPart.CFrame
                local final = base * CFrame.Angles(math.rad(camRotX), math.rad(camRotY), 0)
                CurrentCamera.CFrame = final
                CurrentCamera.FieldOfView = currentFOV
            end
        end)
        
        previewConnection = RunService.RenderStepped:Connect(function()
            if currentCamPart and currentCamPart.PrimaryPart then
                local base = currentCamPart.PrimaryPart.CFrame
                ViewportCam.CFrame = base * CFrame.Angles(math.rad(camRotX), math.rad(camRotY), 0)
                ViewportCam.FieldOfView = currentFOV
            end
        end)
        ViewCamBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 70)
    end
end

local function ToggleNightVision()
    nightVisionOn = not nightVisionOn
    NightOverlay.Visible = nightVisionOn
    NVBtn.Text = nightVisionOn and "🌙 NIGHT VISION ON" or "☀ NIGHT VISION OFF"
    NVBtn.BackgroundColor3 = nightVisionOn and Color3.fromRGB(0, 100, 200) or Color3.fromRGB(180, 140, 0)
end

local function ToggleHouseLights()
    local root = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
    if not root then return end
    
    local lightsFound = 0
    local turnedOn = false
    
    for _, obj in ipairs(workspace:GetDescendants()) do
        if obj:IsA("PointLight") or obj:IsA("SurfaceLight") or obj:IsA("SpotLight") then
            local dist = (obj.Parent.Position - root.Position).Magnitude
            if dist < 70 then
                lightsFound += 1
                if obj.Brightness == 0 then
                    -- Encender (restaurar brillo aproximado)
                    obj.Brightness = 2.5
                    turnedOn = true
                else
                    -- Apagar
                    obj.Brightness = 0
                end
            end
        end
    end
    
    if turnedOn then
        LightsBtn.Text = "💡 APAGAR LUCES"
        LightsBtn.BackgroundColor3 = Color3.fromRGB(180, 60, 0)
    else
        LightsBtn.Text = "💡 ENCENDER LUCES"
        LightsBtn.BackgroundColor3 = Color3.fromRGB(0, 140, 80)
    end
    
    print("Luces toggled - Encontradas cerca: " .. lightsFound)
end

local function ChangeZoom(amount)
    currentFOV = math.clamp(currentFOV + amount, 18, 110)
end

-- Rotación
local Controls = Instance.new("Frame")
Controls.Size = UDim2.new(0.35, 0, 0, 65)
Controls.Position = UDim2.new(0.03, 0, 0.78, 0)
Controls.BackgroundTransparency = 1
Controls.Parent = InnerFrame

local function RotBtn(text, pos, func)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(0.48,0,1,0)
    btn.Position = UDim2.new(pos,0,0,0)
    btn.BackgroundColor3 = Color3.fromRGB(0, 100, 60)
    btn.Text = text
    btn.TextColor3 = Color3.new(1,1,1)
    btn.TextScaled = true
    btn.Font = Enum.Font.GothamBold
    btn.Parent = Controls
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0,14)
    btn.MouseButton1Click:Connect(func)
end

RotBtn("◀ IZQ", 0, function() camRotY += 40 end)
RotBtn("DER ▶", 0.52, function() camRotY -= 40 end)

-- Eventos
PlaceCamBtn.MouseButton1Click:Connect(PlaceSecurityCamera)
ViewCamBtn.MouseButton1Click:Connect(ToggleViewMode)
NVBtn.MouseButton1Click:Connect(ToggleNightVision)
LightsBtn.MouseButton1Click:Connect(ToggleHouseLights)
ZoomInBtn.MouseButton1Click:Connect(function() ChangeZoom(-9) end)
ZoomOutBtn.MouseButton1Click:Connect(function() ChangeZoom(9) end)

UserInputService.InputBegan:Connect(function(i, gp)
    if gp then return end
    if i.KeyCode == Enum.KeyCode.F4 then
        MainFrame.Visible = not MainFrame.Visible
    end
end)

-- Drag giro Viewport
local isDragging = false
Viewport.InputBegan:Connect(function(i)
    if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then isDragging = true end
end)
Viewport.InputEnded:Connect(function(i)
    if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then isDragging = false end
end)
UserInputService.InputChanged:Connect(function(i)
    if isDragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
        camRotY -= i.Delta.X * 0.65
        camRotX = math.clamp(camRotX - i.Delta.Y * 0.55, -80, 80)
    end
end)

task.wait(0.7)
MainFrame.Visible = true

print("✅ v3.5 Cargado - NIGHT VISION Mejorado + Luces Toggle Real")
print("• Night Vision ahora es más visible y verde")
print("• Botón de luces ahora Enciende y Apaga (toggle)")
print("• Funciona en Brookhaven (luces cercanas)")
print("Arrastra cualquier parte del GUI")

Features & Information

Es un super Gui, puede poner Cámaras de Seguridad, puedes hacer Fov, Unfov, puede poner Visión Nocturna, Apagar las luces de tu Casa, encenderlas, entre más. (Dato): Para mover la cámara view libremente usar la pantalla eh moverlo con tu dedo y mause. (Developer): ueu9195 | "Apodo" : JCaribeX (Soportes): Delta, Fluxus, Arceus X & X Neo. (Adaptable para Versiónes de Android: 11,12,13,14,15,16. (4924922222)IDK (Creado por) : ueu9195 | "Apodo" : JCaribeX.
#Free#Camera

Community Comments (1)

GlodonGlodonMay 4, 2026

Disfruteeeen!!!

More Scripts for Brookhaven 🏡RP