rtx menu v2
Key RequiredUniversal

rtx menu v2

Universal Scriptmrusscher0mrusscher0 14.7K views 1.6K executesUpdated Jun 18, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•238 lines (7429 chars)
-- 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

Features & Information

rtx

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts