-- Load Rayfield local Rayfield = loadstring(game:HttpGet('https://sirius.menu/rayfield'))() -- Create the window local Window = Rayfield:CreateWindow({ Name = "NV Vision script", LoadingTitle = "Loading NV Vision...", LoadingSubtitle = "by deepseek ai", ConfigurationSaving = { Enabled = true, FolderName = "NVVisionscript", FileName = "Config" }, Discord = { Enabled = false, Invite = "noinvitelink", RememberJoins = true }, KeySystem = false }) -- Create the NV Vision tab local NVTab = Window:CreateTab("NV Vision", 4483362458) local NVSection = NVTab:CreateSection("Night Vision Controls") -- Variables local nightVisionActive = false local customColorActive = false local currentColor = Color3.fromRGB(0, 255, 0) -- Default green local notificationsEnabled = true -- Popups on by default local lighting = game:GetService("Lighting") local colorCorrection = nil local bloom = nil local originalSettings = {} -- Store original lighting settings local function storeOriginalSettings() originalSettings = { Ambient = lighting.Ambient, Brightness = lighting.Brightness, ColorShift_Bottom = lighting.ColorShift_Bottom, ColorShift_Top = lighting.ColorShift_Top, ExposureCompensation = lighting.ExposureCompensation, FogColor = lighting.FogColor, FogEnd = lighting.FogEnd, FogStart = lighting.FogStart, OutdoorAmbient = lighting.OutdoorAmbient, ClockTime = lighting.ClockTime } end -- Create effects if they don't exist local function ensureEffects() if not colorCorrection or not colorCorrection.Parent then colorCorrection = Instance.new("ColorCorrectionEffect") colorCorrection.Parent = lighting end if not bloom or not bloom.Parent then bloom = Instance.new("BloomEffect") bloom.Parent = lighting end end -- Function to show notifications (if enabled) local function showNotification(title, content, duration) if notificationsEnabled then Rayfield:Notify({ Title = title, Content = content, Duration = duration or 2, Image = 4483362458 }) end end -- Function to apply night vision with specific color local function applyNightVision(color) ensureEffects() -- Store original settings first time if next(originalSettings) == nil then storeOriginalSettings() end -- Apply night vision effects lighting.Ambient = Color3.fromRGB(100, 100, 100) lighting.Brightness = 2 lighting.ColorShift_Bottom = Color3.fromRGB(0, 0, 0) lighting.ColorShift_Top = Color3.fromRGB(0, 0, 0) lighting.ExposureCompensation = 0 lighting.FogColor = color lighting.FogEnd = 100000 lighting.FogStart = 0 lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) lighting.ClockTime = 12 -- Color correction for the tint colorCorrection.Brightness = 0.2 colorCorrection.Contrast = 0.3 colorCorrection.Saturation = 0.5 colorCorrection.TintColor = color -- Bloom for that "night vision glow" bloom.Intensity = 0.3 bloom.Size = 30 bloom.Threshold = 0.5 end -- Function to remove night vision local function removeNightVision() -- Restore original settings if we have them if next(originalSettings) ~= nil then for setting, value in pairs(originalSettings) do lighting[setting] = value end else -- Default reset values lighting.Ambient = Color3.fromRGB(0, 0, 0) lighting.Brightness = 1 lighting.ColorShift_Bottom = Color3.fromRGB(0, 0, 0) lighting.ColorShift_Top = Color3.fromRGB(0, 0, 0) lighting.ExposureCompensation = 0 lighting.FogColor = Color3.fromRGB(192, 192, 192) lighting.FogEnd = 100000 lighting.FogStart = 0 lighting.OutdoorAmbient = Color3.fromRGB(0, 0, 0) lighting.ClockTime = 14 end -- Remove effects if colorCorrection and colorCorrection.Parent then colorCorrection:Destroy() colorCorrection = nil end if bloom and bloom.Parent then bloom:Destroy() bloom = nil end end -- Update function for when settings change local function updateNightVision() if nightVisionActive then applyNightVision(currentColor) else removeNightVision() end end -- Normal Night Vision Toggle (Green) local NormalNVToggle = NVTab:CreateToggle({ Name = "Night Vision (Green)", CurrentValue = false, Flag = "NormalNV", Callback = function(Value) if Value then -- Turn off custom mode customColorActive = false nightVisionActive = true currentColor = Color3.fromRGB(0, 255, 0) CustomNVToggle:Set(false) applyNightVision(currentColor) showNotification("Night Vision", "Green NV enabled", 2) else nightVisionActive = false if not customColorActive then removeNightVision() end showNotification("Night Vision", "Night vision disabled", 2) end end }) -- Custom Color Night Vision Toggle local CustomNVToggle = NVTab:CreateToggle({ Name = "Custom Color Night Vision", CurrentValue = false, Flag = "CustomNV", Callback = function(Value) if Value then -- Turn off green mode nightVisionActive = true customColorActive = true NormalNVToggle:Set(false) -- Apply with current custom color from color picker applyNightVision(currentColor) showNotification("Custom Night Vision", "Custom color enabled", 2) else customColorActive = false nightVisionActive = false NormalNVToggle:Set(false) removeNightVision() showNotification("Custom Night Vision", "Custom color disabled", 2) end end }) -- Color Picker for Custom Night Vision local ColorPicker = NVTab:CreateColorPicker({ Name = "Choose Custom Color", Color = Color3.fromRGB(255, 0, 0), -- Default red so you can see the difference Flag = "NVColorPicker", Callback = function(Color) currentColor = Color -- If custom mode is active, update immediately if customColorActive then applyNightVision(currentColor) showNotification("Color Updated", "Custom NV color changed", 1) end end }) -- Toggle to disable popups (NEW) local DisablePopupsToggle = NVTab:CreateToggle({ Name = "Disable Popup Notifications", CurrentValue = false, Flag = "DisablePopups", Callback = function(Value) notificationsEnabled = not Value -- When toggle is ON, disable notifications showNotification("Notifications", Value and "Popups disabled" or "Popups enabled", 2) end }) -- Information label with "no text" only local InfoLabel = NVTab:CreateLabel("no text") -- Reset button local ResetButton = NVTab:CreateButton({ Name = "Reset All", Callback = function() nightVisionActive = false customColorActive = false NormalNVToggle:Set(false) CustomNVToggle:Set(false) removeNightVision() showNotification("Reset", "All night vision disabled", 2) end }) -- Handle lighting changes (in case game resets lighting) game:GetService("RunService").RenderStepped:Connect(function() if nightVisionActive then -- Reapply if lighting was reset applyNightVision(currentColor) end end) -- Welcome notification (only shows if popups are enabled) showNotification("NV Vision Loaded", "Check the NV Vision tab", 3) -- Cleanup when GUI is destroyed game:GetService("CoreGui").ChildRemoved:Connect(function(child) if child == Rayfield then removeNightVision() end end)