PurpleMax Script
Key RequiredUniversal

PurpleMax Script

Universal ScriptKaayKaay 247 views 7 executesUpdated Feb 17, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•187 lines (6905 chars)
-- [[ KEY SYSTEM (ADD TO THE TOP OF YOUR SCRIPT) ]]
local CORRECT_KEY = "KEY-YourKeyHere" -- Set your fixed key here
local validated = false

local function startKeySystem()
    local ScreenGui = Instance.new("ScreenGui")
    local Frame = Instance.new("Frame")
    local TextBox = Instance.new("TextBox")
    local TextButton = Instance.new("TextButton")
    
    ScreenGui.Name = "KeyAuthSystem"
    ScreenGui.Parent = game:GetService("CoreGui")
    
    Frame.Size = UDim2.new(0, 300, 0, 150)
    Frame.Position = UDim2.new(0.5, -150, 0.5, -75)
    Frame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
    Frame.BorderSizePixel = 2
    Frame.Parent = ScreenGui
    
    TextBox.Size = UDim2.new(0, 260, 0, 40)
    TextBox.Position = UDim2.new(0, 20, 0, 40)
    TextBox.PlaceholderText = "Paste KEY- here..."
    TextBox.Text = ""
    TextBox.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    TextBox.TextColor3 = Color3.new(1, 1, 1)
    TextBox.Parent = Frame
    
    TextButton.Size = UDim2.new(0, 200, 0, 40)
    TextButton.Position = UDim2.new(0, 50, 0, 95)
    TextButton.Text = "VERIFY"
    TextButton.BackgroundColor3 = Color3.fromRGB(130, 0, 255)
    TextButton.TextColor3 = Color3.new(1, 1, 1)
    TextButton.Font = Enum.Font.GothamBold
    TextButton.Parent = Frame

    TextButton.MouseButton1Click:Connect(function()
        local input = TextBox.Text
        -- Checks if it starts with KEY- and has a valid length
        if string.sub(input, 1, 4) == "KEY-" and #input > 10 then
            print("Access Granted!")
            validated = true
            ScreenGui:Destroy()
        else
            TextBox.Text = ""
            TextBox.PlaceholderText = "INVALID KEY!"
            TextBox.PlaceholderColor3 = Color3.new(1, 0, 0)
        end
    end)
end

startKeySystem()

-- Wait until the key is validated before running the rest of the script
repeat task.wait() until validated == true

---------------------------------------------------------
-- SCRIPT STARTS HERE
---------------------------------------------------------
local Lighting = game:GetService("Lighting")

-- Lighting Settings (Medium Visibility)
Lighting.Ambient = Color3.fromRGB(60, 20, 100) -- Purple Ambient
Lighting.OutdoorAmbient = Color3.fromRGB(40, 15, 70)
Lighting.Brightness = 1.2 
Lighting.ClockTime = 18 

-- Color Correction Effect
local colorCorrection = Lighting:FindFirstChildOfClass("ColorCorrectionEffect") or Instance.new("ColorCorrectionEffect")
colorCorrection.Parent = Lighting
colorCorrection.TintColor = Color3.fromRGB(200, 150, 255) -- Soft Purple
colorCorrection.Brightness = 0.05 
colorCorrection.Saturation = 0.4 

-- Fog Settings
Lighting.FogColor = Color3.fromRGB(40, 10, 60)
Lighting.FogEnd = 1500 
Lighting.FogStart = 100

-- Resolution Fix
getgenv().Resolution = {
    [".gg/scripters"] = 0.69
}

local Camera = workspace.CurrentCamera
if getgenv().gg_scripters == nil then
    game:GetService("RunService").RenderStepped:Connect(function()
        Camera.CFrame = Camera.CFrame * CFrame.new(0, 0, 0, 1, 0, 0, 0, getgenv().Resolution[".gg/scripters"], 0, 0, 0, 1)
    end)
end
getgenv().gg_scripters = "Aori0001"

RunService.RenderStepped:Connect(function()
    circle.Position = Vector2.new(Camera.ViewportSize.X/2, Camera.ViewportSize.Y/2)
    circle.Visible = aimbotActive
end)

-- Load Infinite Yield
loadstring(game:HttpGet(('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'),true))()

-- [[ HITBOX ADJUSTER ]]
local hitboxSizes = {Head = 0}
local originalSizes = {}

local function ResizeBodyPart(targetPlayer, partName, size)
    if targetPlayer == LocalPlayer or not targetPlayer.Character then return end
    local part = targetPlayer.Character:FindFirstChild(partName)
    if not part then return end

    if not originalSizes[part] then originalSizes[part] = part.Size end
    local newSize = math.max(size, 0.1)

    part.Size = Vector3.new(newSize, newSize, newSize)
    part.Transparency = 0.5
    part.CanCollide = false
    part.Massless = true
end

RunService.Heartbeat:Connect(function()
    for _, otherPlayer in ipairs(Players:GetPlayers()) do
        if otherPlayer ~= LocalPlayer then
            ResizeBodyPart(otherPlayer, "Head", hitboxSizes.Head)
        end
    end
end)

-- Hitbox GUI
local function createHitboxSizeGui()
    local screenGui = Instance.new("ScreenGui", LocalPlayer:WaitForChild("PlayerGui"))
    local frame = Instance.new("Frame", screenGui)
    frame.Size = UDim2.new(0, 300, 0, 100)
    frame.Position = UDim2.new(0.5, -150, 0.5, 50)
    frame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
    frame.Active = true
    frame.Draggable = true

    local titleLabel = Instance.new("TextLabel", frame)
    titleLabel.Size = UDim2.new(1, 0, 0, 20)
    titleLabel.Text = "Hitbox Size Adjuster"
    titleLabel.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
    titleLabel.TextColor3 = Color3.new(1, 1, 1)

    local sliderBackground = Instance.new("Frame", frame)
    sliderBackground.Size = UDim2.new(0.8, 0, 0, 8)
    sliderBackground.Position = UDim2.new(0.1, 0, 0.6, 0)
    sliderBackground.BackgroundColor3 = Color3.fromRGB(80, 80, 80)

    local sliderButton = Instance.new("TextButton", sliderBackground)
    sliderButton.Size = UDim2.new(0, 20, 0, 20)
    sliderButton.Position = UDim2.new(0, -10, 0.5, -10)
    sliderButton.Text = ""

    sliderButton.MouseButton1Down:Connect(function()
        local connection
        connection = game:GetService("UserInputService").InputChanged:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseMovement then
                local relativeX = math.clamp(input.Position.X - sliderBackground.AbsolutePosition.X, 0, sliderBackground.AbsoluteSize.X)
                hitboxSizes.Head = (relativeX / sliderBackground.AbsoluteSize.X) * 50
                sliderButton.Position = UDim2.new(relativeX / sliderBackground.AbsoluteSize.X, -10, 0.5, -10)
            end
        end)
        game:GetService("UserInputService").InputEnded:Connect(function(input)
            if input.UserInputType == Enum.UserInputType.MouseButton1 then connection:Disconnect() end
        end)
    end)
end
createHitboxSizeGui()

-- [[ SPINNING PURPLE TRIANGLE ]]
local screenGuiTri = Instance.new("ScreenGui", LocalPlayer.PlayerGui)
screenGuiTri.Name = "ColossalTriangle"
local triangulo = Instance.new("TextLabel", screenGuiTri)
triangulo.BackgroundTransparency = 1
triangulo.Size = UDim2.new(0, 800, 0, 800) 
triangulo.Position = UDim2.new(0, 100, 1, -100) 
triangulo.AnchorPoint = Vector2.new(0.5, 0.5)
triangulo.Text = "▲" 
triangulo.TextColor3 = Color3.fromRGB(130, 0, 255)
triangulo.TextSize = 600
triangulo.Font = Enum.Font.GothamBold

local stroke = Instance.new("UIStroke", triangulo)
stroke.Color = Color3.fromRGB(200, 50, 255)
stroke.Thickness = 8

RunService.RenderStepped:Connect(function(dt)
    triangulo.Rotation = triangulo.Rotation + (80 * dt)
end)

Features & Information

key site: https://keystaps.tiiny.site/index.html

Community Comments (2)

KaayKaayFeb 17, 2026

@tuffcattyy :o

rqcccrqcccFeb 20, 2026

-- [[ KEY SYSTEM (ADD TO THE TOP OF YOUR SCRIPT) ]]

More Scripts for Universal Scripts