Gamepass character (PACTH)
Key Required Patched

Gamepass character (PACTH)

Battlegrounds RampageScripterblablaScripterblabla 1K views 13 executesUpdated Feb 22, 2026
5.0/ 5(3 votes)
30100% Positive
Lua Script•234 lines (6821 chars)
local Players = game:GetService("Players")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer

local remotes = ReplicatedStorage:WaitForChild("Remotes")
local changeChar = remotes:WaitForChild("ChangeCharacter")

local characters = {
    "Luffy",
    "Jonathan",
    "Sakuya",
}

local sg = Instance.new("ScreenGui")
sg.Name = "CharChangerRGB"
sg.ResetOnSpawn = false
sg.Parent = player:WaitForChild("PlayerGui")


local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 240, 0, 340)
frame.Position = UDim2.new(0.5, -120, 0.5, -170)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 30) -- will be overridden by rainbow
frame.BorderSizePixel = 0
frame.Parent = sg

Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 10)


local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -40, 0, 45)
title.Position = UDim2.new(0, 40, 0, 0)
title.BackgroundTransparency = 1
title.Text = "Character Switch"
title.TextSize = 22
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = frame


local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 32, 0, 32)
closeBtn.Position = UDim2.new(0, 6, 0, 6)
closeBtn.BackgroundColor3 = Color3.fromRGB(210, 50, 50)
closeBtn.Text = "X"
closeBtn.TextColor3 = Color3.new(1,1,1)
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 18
closeBtn.Parent = frame
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(1, 0)


local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 48, 0, 48)
toggleBtn.Position = UDim2.new(0.1, 0, 0.15, 0)
toggleBtn.BackgroundColor3 = Color3.fromRGB(50, 120, 220)
toggleBtn.Text = "C"
toggleBtn.TextColor3 = Color3.new(1,1,1)
toggleBtn.Font = Enum.Font.GothamBlack
toggleBtn.TextSize = 24
toggleBtn.Parent = sg

local toggleCorner = Instance.new("UICorner", toggleBtn)
toggleCorner.CornerRadius = UDim.new(1, 0)

local toggleStroke = Instance.new("UIStroke", toggleBtn)
toggleStroke.Thickness = 2.5
toggleStroke.Transparency = 0.2


local function makeDraggable(obj)
    local UIS = game:GetService("UserInputService")
    local dragging, dragStart, startPos

    obj.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = obj.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then dragging = false end
            end)
        end
    end)

    obj.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
            local delta = input.Position - dragStart
            obj.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
        end
    end)
end

makeDraggable(frame)
makeDraggable(toggleBtn)


local function toggleGUI()
    frame.Visible = not frame.Visible
    toggleBtn.Text = frame.Visible and "C" or "O"
end

closeBtn.Activated:Connect(toggleGUI)
toggleBtn.Activated:Connect(toggleGUI)


local credit = Instance.new("TextLabel")
credit.Size = UDim2.new(1, -20, 0, 30)
credit.Position = UDim2.new(0, 10, 1, -40)
credit.BackgroundTransparency = 1
credit.Text = "Made by Scripterblabla — Enjoy it"
credit.TextSize = 14
credit.Font = Enum.Font.GothamSemibold
credit.TextXAlignment = Enum.TextXAlignment.Center
credit.Parent = frame


local rainbowObjects = {
    {frame, true},          
    {title, false},         
    {credit, false},        
    {toggleBtn, true},      
    {toggleStroke, true},   
}




local hue = 0
RunService.RenderStepped:Connect(function(delta)
    hue = (hue + delta * 90) % 360   -- 90 = quite fast LED pulsing, lower = slower

    local function getColor(saturation, value)
        return Color3.fromHSV(hue/360, saturation, value)
    end

    
    frame.BackgroundColor3 = getColor(0.25, 0.18)           -- 
    title.TextColor3       = getColor(0.95, 1)              -- 
    credit.TextColor3      = getColor(0.95, 1)

    toggleBtn.BackgroundColor3 = getColor(0.8, 0.9)
    toggleStroke.Color     = getColor(0.95, 1)

    
    -- closeBtn.BackgroundColor3 = getColor(0.95, 0.9)      
end)


local list = Instance.new("ScrollingFrame")
list.Size = UDim2.new(1, -20, 1, -85)
list.Position = UDim2.new(0, 10, 0, 50)
list.BackgroundTransparency = 1
list.ScrollBarThickness = 5
list.CanvasSize = UDim2.new(0, 0, 0, 0)
list.Parent = frame

local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0, 9)
layout.Parent = list


for _, name in ipairs(characters) do
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, 0, 0, 46)
    btn.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
    btn.Text = name
    btn.TextColor3 = Color3.fromRGB(210, 210, 255)
    btn.Font = Enum.Font.GothamSemibold
    btn.TextSize = 17
    btn.Parent = list
    
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8)
    
    local stroke = Instance.new("UIStroke", btn)
    stroke.Thickness = 1.8
    stroke.Transparency = 0.4

    
    table.insert(rainbowObjects, {btn, true})       -- 
    table.insert(rainbowObjects, {btn, false, true}) -- 
    table.insert(rainbowObjects, {stroke, true})    -- 

    btn.MouseEnter:Connect(function()
        -- Optional: boost brightness on hover
    end)

    btn.MouseLeave:Connect(function()
        --
    end)

    btn.Activated:Connect(function()
        changeChar:FireServer(name)
        local old = btn.BackgroundColor3
        btn.BackgroundColor3 = Color3.fromRGB(70, 180, 110)
        task.delay(0.25, function()
            btn.BackgroundColor3 = old
        end)
    end)
end


RunService.RenderStepped:Connect(function(delta)
    hue = (hue + delta * 90) % 360

    local function getColor(s, v)
        return Color3.fromHSV(hue/360, s, v)
    end

    for _, entry in ipairs(rainbowObjects) do
        local obj = entry[1]
        local isBg   = entry[2]
        local isText = entry[3]

        if isText then
            obj.TextColor3 = getColor(0.95, 1)
        elseif isBg then
            if obj:IsA("Frame") or obj:IsA("TextButton") then
                obj.BackgroundColor3 = getColor(0.35, 0.22)  
            elseif obj:IsA("UIStroke") then
                obj.Color = getColor(0.9, 1)
            end
        else
            obj.TextColor3 = getColor(0.9, 1)
        end
    end
end)

layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    list.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 15)
end)

print("?You think I will stop hacking you game?")

Features & Information

(This is patch again bruh) they add gamepass ac, (PACTH)
#PACTH

Community Comments (5)

tatievaajslutatievaajsluFeb 22, 2026

@Scripterblabla welp atp I know this ain't gotta go well there's probably going to be a spy in the discord server

milkywaycandyuhhmilkywaycandyuhhFeb 22, 2026

We rly still doing this lol

polisukmark29polisukmark29Feb 22, 2026

Luffy is going to be free character in the future

dadiro2011dadiro2011Feb 22, 2026

make one for jump showdown pls

polisukmark29polisukmark29Feb 23, 2026

@Scripterblabla um what is this in the script "print("?You think I will stop hacking you game?")"

More Scripts for Battlegrounds Rampage