-- RTX v2 Mod Menu - Full Script local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") -- Create ScreenGui local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "RTXv2MenuGui" ScreenGui.Parent = PlayerGui ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling -- Main Frame (movable, resizable) local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 350, 0, 280) MainFrame.Position = UDim2.new(0.5, -175, 0.5, -140) MainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) MainFrame.BorderSizePixel = 2 MainFrame.BorderColor3 = Color3.new(0, 0, 0) MainFrame.AnchorPoint = Vector2.new(0.5, 0.5) MainFrame.Parent = ScreenGui MainFrame.Active = true MainFrame.Draggable = true -- Title local Title = Instance.new("TextLabel") Title.Parent = MainFrame Title.Size = UDim2.new(1, 0, 0, 40) Title.BackgroundTransparency = 1 Title.Text = "RTX v2 Mod Menu" Title.Font = Enum.Font.GothamBold Title.TextSize = 22 Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextStrokeTransparency = 0.7 Title.TextXAlignment = Enum.TextXAlignment.Center Title.Position = UDim2.new(0, 0, 0, 0) -- Container for mods buttons local ModsContainer = Instance.new("ScrollingFrame") ModsContainer.Parent = MainFrame ModsContainer.Position = UDim2.new(0, 10, 0, 50) ModsContainer.Size = UDim2.new(1, -20, 1, -60) ModsContainer.CanvasSize = UDim2.new(0, 0, 0, 0) ModsContainer.BackgroundTransparency = 1 ModsContainer.ScrollBarThickness = 5 ModsContainer.VerticalScrollBarInset = Enum.ScrollBarInset.ScrollBar ModsContainer.AutomaticCanvasSize = Enum.AutomaticSize.Y -- UIListLayout for ModsContainer local ListLayout = Instance.new("UIListLayout") ListLayout.Parent = ModsContainer ListLayout.SortOrder = Enum.SortOrder.LayoutOrder ListLayout.Padding = UDim.new(0, 10) -- Helper: Create Toggle Button local function CreateToggle(name, defaultState, callback) local Button = Instance.new("TextButton") Button.Size = UDim2.new(1, 0, 0, 40) Button.BackgroundColor3 = Color3.fromRGB(35, 35, 35) Button.BorderSizePixel = 0 Button.TextColor3 = Color3.fromRGB(255, 255, 255) Button.Font = Enum.Font.GothamSemibold Button.TextSize = 18 Button.Text = name .. ": OFF" local toggled = defaultState local function UpdateText() if toggled then Button.Text = name .. ": ON" Button.BackgroundColor3 = Color3.fromRGB(50, 150, 255) else Button.Text = name .. ": OFF" Button.BackgroundColor3 = Color3.fromRGB(35, 35, 35) end end Button.MouseButton1Click:Connect(function() toggled = not toggled UpdateText() callback(toggled) end) UpdateText() return Button end -- Store references for effects so we can toggle local SunRays, Bloom, ColorCorrection, DepthOfField -- RTX v2 mod toggles -- Realistic Shadows toggle local function ToggleShadows(enabled) Lighting.GlobalShadows = enabled if enabled then Lighting.Ambient = Color3.fromRGB(50, 50, 50) Lighting.OutdoorAmbient = Color3.fromRGB(100, 100, 100) else Lighting.Ambient = Color3.fromRGB(128, 128, 128) Lighting.OutdoorAmbient = Color3.fromRGB(128, 128, 128) end end -- Color Correction toggle local function ToggleColorCorrection(enabled) if enabled then if not ColorCorrection then ColorCorrection = Instance.new("ColorCorrectionEffect") ColorCorrection.Brightness = 0.05 ColorCorrection.Contrast = 0.3 ColorCorrection.Saturation = 0.5 ColorCorrection.TintColor = Color3.fromRGB(235, 235, 235) ColorCorrection.Name = "RTXv2ColorCorrection" ColorCorrection.Parent = Lighting end else if ColorCorrection then ColorCorrection:Destroy() ColorCorrection = nil end end end -- Bloom toggle local function ToggleBloom(enabled) if enabled then if not Bloom then Bloom = Instance.new("BloomEffect") Bloom.Intensity = 1.5 Bloom.Size = 50 Bloom.Threshold = 0.7 Bloom.Name = "RTXv2Bloom" Bloom.Parent = Lighting end else if Bloom then Bloom:Destroy() Bloom = nil end end end -- Sun Rays toggle local function ToggleSunRays(enabled) if enabled then if not SunRays then SunRays = Instance.new("SunRaysEffect") SunRays.Intensity = 0.2 SunRays.Spread = 0.3 SunRays.Name = "RTXv2SunRays" SunRays.Parent = Lighting end else if SunRays then SunRays:Destroy() SunRays = nil end end end -- Depth of Field toggle (optional, adds camera depth blur) local function ToggleDOF(enabled) if enabled then if not DepthOfField then DepthOfField = Instance.new("DepthOfFieldEffect") DepthOfField.FocusDistance = 30 DepthOfField.InFocusRadius = 15 DepthOfField.NearIntensity = 0.3 DepthOfField.FarIntensity = 0.5 DepthOfField.Name = "RTXv2DOF" DepthOfField.Parent = Lighting end else if DepthOfField then DepthOfField:Destroy() DepthOfField = nil end end end -- Add toggles to menu local toggles = { {name = "Realistic Shadows", func = ToggleShadows}, {name = "Color Correction", func = ToggleColorCorrection}, {name = "Bloom Effect", func = ToggleBloom}, {name = "Sun Rays", func = ToggleSunRays}, {name = "Depth of Field", func = ToggleDOF}, } for _, toggleData in ipairs(toggles) do local btn = CreateToggle(toggleData.name, false, toggleData.func) btn.Parent = ModsContainer end -- Make menu resizable local UIS = game:GetService("UserInputService") local Resizing = false local ResizeStart = nil local ResizeStartSize = nil local resizeCorner = Instance.new("Frame") resizeCorner.Name = "ResizeCorner" resizeCorner.Size = UDim2.new(0, 20, 0, 20) resizeCorner.Position = UDim2.new(1, -20, 1, -20) resizeCorner.BackgroundColor3 = Color3.fromRGB(50, 50, 50) resizeCorner.BorderSizePixel = 0 resizeCorner.Parent = MainFrame resizeCorner.ZIndex = 10 resizeCorner.Cursor = "SizeNWSE" resizeCorner.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then Resizing = true ResizeStart = input.Position ResizeStartSize = MainFrame.Size input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then Resizing = false end end) end end) UIS.InputChanged:Connect(function(input) if Resizing and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - ResizeStart local newWidth = math.clamp(ResizeStartSize.X.Offset + delta.X, 200, 600) local newHeight = math.clamp(ResizeStartSize.Y.Offset + delta.Y, 150, 500) MainFrame.Size = UDim2.new(0, newWidth, 0, newHeight) end end) -- Show menu ScreenGui.Enabled = true