wins98 executor
Key RequiredUniversal

wins98 executor

Universal Scripttheblacktheblack 1.1K views 4K executesUpdated Sep 22, 2026
Unrated
00
Lua Script•1089 lines (48139 chars)
--[[ Wins98 Executor — Drag por todas as bordas + minimize preserva posição
     - AnchorPoint (0,0) → cresce/encolhe do canto superior esquerdo
     - 4 faixas de drag invisíveis nas bordas
     - Minimize mantém a title bar no mesmo lugar
]]

--==================== CONFIG ====================
local WINDOW_TITLE = "wins98 Executor"
local ICON_ID      = "rbxassetid://8027605472"

--==================== SERVICES ====================
local svc = setmetatable({}, {__index=function(t,k) local s=game:GetService(k); rawset(t,k,s); return s end})
local Players, UIS, RS = svc.Players, svc.UserInputService, svc.RunService
local Http, Debris, Sound, Lighting = svc.HttpService, svc.Debris, svc.SoundService, svc.Lighting
local LP = Players.LocalPlayer

local function getParent()
    if gethui then local ok,h=pcall(gethui); if ok and h then return h end end
    local ok,cg = pcall(function() return game:GetService("CoreGui") end)
    return ok and cg or LP:WaitForChild("PlayerGui")
end
local UI = getParent()
for _, n in ipairs({"DominantExecutor","Wins98Executor","c00lgui"}) do
    local a = UI:FindFirstChild(n); if a then a:Destroy() end
    local pg = LP:FindFirstChild("PlayerGui")
    if pg then local b = pg:FindFirstChild(n); if b then b:Destroy() end end
end

--==================== PALETTE ====================
local C = {
    bg=Color3.fromRGB(212,208,200), light=Color3.fromRGB(255,255,255),
    shadow=Color3.fromRGB(128,128,128), dark=Color3.fromRGB(64,64,64),
    text=Color3.fromRGB(0,0,0), white=Color3.fromRGB(255,255,255),
    navyTop=Color3.fromRGB(10,36,106), navyBot=Color3.fromRGB(10,90,190),
    statusTx=Color3.fromRGB(64,64,64),
}

--==================== BEVEL ====================
local function edge(p,c,s,ps,z)
    local f=Instance.new("Frame"); f.BackgroundColor3=c; f.BorderSizePixel=0
    f.Size=s; f.Position=ps; f.ZIndex=z; f.Parent=p; return f
end
local function bevelRaised(o,t)
    t=t or 1; local z=(o.ZIndex or 1)+1
    for i=0,t-1 do
        edge(o,C.light,UDim2.new(1,0,0,1),UDim2.new(0,i,0,i),z)
        edge(o,C.light,UDim2.new(0,1,1,0),UDim2.new(0,i,0,i),z)
        edge(o,C.dark, UDim2.new(1,0,0,1),UDim2.new(0,i,1,-1-i),z)
        edge(o,C.dark, UDim2.new(0,1,1,0),UDim2.new(1,-1-i,0,i),z)
    end
end
local function bevelSunken(o,t)
    t=t or 1; local z=(o.ZIndex or 1)+1
    for i=0,t-1 do
        edge(o,C.shadow,UDim2.new(1,0,0,1),UDim2.new(0,i,0,i),z)
        edge(o,C.shadow,UDim2.new(0,1,1,0),UDim2.new(0,i,0,i),z)
        edge(o,C.light, UDim2.new(1,0,0,1),UDim2.new(0,i,1,-1-i),z)
        edge(o,C.light, UDim2.new(0,1,1,0),UDim2.new(1,-1-i,0,i),z)
    end
end
local function classicButton(p,t,ps,s,ts)
    local b=Instance.new("TextButton")
    b.BackgroundColor3=C.bg; b.BorderSizePixel=0
    b.Text=t; b.TextColor3=C.text; b.Font=Enum.Font.SourceSans; b.TextSize=ts or 14
    b.AutoButtonColor=false; b.Position=ps; b.Size=s; b.Parent=p
    bevelRaised(b,2)
    b.MouseButton1Down:Connect(function()
        for _,ch in ipairs(b:GetChildren()) do if ch:IsA("Frame") then ch:Destroy() end end
        bevelSunken(b,2)
    end)
    b.MouseButton1Up:Connect(function()
        for _,ch in ipairs(b:GetChildren()) do if ch:IsA("Frame") then ch:Destroy() end end
        bevelRaised(b,2)
    end)
    return b
end

--==================== ROOT ====================
local Gui=Instance.new("ScreenGui")
Gui.Name="Wins98Executor"; Gui.ResetOnSpawn=false
Gui.IgnoreGuiInset=true; Gui.DisplayOrder=999999
Gui.ZIndexBehavior=Enum.ZIndexBehavior.Sibling; Gui.Parent=UI
if syn and syn.protect_gui then pcall(syn.protect_gui,Gui) end

local BASE_W, BASE_H = 640, 420

local Win=Instance.new("Frame")
Win.Size=UDim2.new(0, BASE_W, 0, BASE_H)
-- AnchorPoint (0,0) → cresce/encolhe do canto superior esquerdo
Win.AnchorPoint=Vector2.new(0, 0)
Win.Position=UDim2.new(0.5, -BASE_W/2, 0.5, -BASE_H/2)   -- temporário; será recentralizado
Win.BackgroundColor3=C.bg; Win.BorderSizePixel=0
Win.Active=true; Win.Draggable=false; Win.ZIndex=0; Win.Parent=Gui
bevelRaised(Win,2)

local WinScale = nil
pcall(function()
    WinScale = Instance.new("UIScale")
    WinScale.Parent = Win
end)

--==================== CENTRALIZAR (com UIScale) ====================
local userMoved = false   -- se o usuário arrastar, não recentraliza
local function currentScale()
    return (WinScale and WinScale.Scale) or 1
end
local function centerWindow()
    if userMoved then return end
    local cam = workspace.CurrentCamera
    if not cam then return end
    local ok, vp = pcall(function() return cam.ViewportSize end)
    if not ok or not vp or vp.X < 100 then return end
    local s = currentScale()
    local visualW = BASE_W * s
    local visualH = BASE_H * s
    Win.Position = UDim2.new(0, (vp.X - visualW)/2, 0, (vp.Y - visualH)/2)
end

local function updateScale()
    if not WinScale then return end
    local cam = workspace.CurrentCamera
    if not cam then return end
    local ok, vp = pcall(function() return cam.ViewportSize end)
    if not ok or not vp or vp.X < 100 or vp.Y < 100 then return end
    local s = math.min(1, (vp.X - 20) / BASE_W, (vp.Y - 20) / BASE_H)
    if s < 0.35 then s = 0.35 end
    if s > 1    then s = 1    end
    WinScale.Scale = s
    centerWindow()
end

updateScale()
task.spawn(function()
    for i = 1, 30 do
        updateScale()
        task.wait(0.15)
    end
end)
pcall(function()
    workspace.CurrentCamera:GetPropertyChangedSignal("ViewportSize"):Connect(updateScale)
end)

--==================== DRAG UNIVERSAL ====================
local function makeDraggable(target, handle, uiScale)
    handle = handle or target
    local dragging, dragStart, startPos
    handle.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1
        or input.UserInputType == Enum.UserInputType.Touch then
            dragging  = true
            dragStart = input.Position
            startPos  = target.Position
            userMoved = true    -- marcou: não recentralizar mais
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then dragging = false end
            end)
        end
    end)
    UIS.InputChanged:Connect(function(input)
        if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement
        or input.UserInputType == Enum.UserInputType.Touch) then
            local delta = input.Position - dragStart
            local s = (uiScale and uiScale.Scale) or 1
            if s <= 0.01 then s = 1 end
            target.Position = UDim2.new(
                startPos.X.Scale, startPos.X.Offset + delta.X / s,
                startPos.Y.Scale, startPos.Y.Offset + delta.Y / s
            )
        end
    end)
end

--==================== TITLE BAR ====================
local TB=Instance.new("Frame")
TB.Size=UDim2.new(1,-8,0,28); TB.Position=UDim2.new(0,4,0,4)
TB.BackgroundColor3=C.navyTop; TB.BorderSizePixel=0; TB.ZIndex=2; TB.Parent=Win
local TBG=Instance.new("UIGradient")
TBG.Color=ColorSequence.new({ColorSequenceKeypoint.new(0,C.navyTop),ColorSequenceKeypoint.new(1,C.navyBot)})
TBG.Parent=TB

local WinIcon=Instance.new("ImageLabel")
WinIcon.Size=UDim2.new(0,18,0,18)
WinIcon.Position=UDim2.new(0,6,0,5)
WinIcon.BackgroundTransparency=1
WinIcon.Image=ICON_ID
WinIcon.ZIndex=3
WinIcon.Parent=TB

local Title=Instance.new("TextLabel")
Title.Size=UDim2.new(1,-110,1,0); Title.Position=UDim2.new(0,30,0,0)
Title.BackgroundTransparency=1; Title.Text=WINDOW_TITLE
Title.TextColor3=C.white; Title.Font=Enum.Font.SourceSansBold; Title.TextSize=16
Title.TextXAlignment=Enum.TextXAlignment.Left; Title.ZIndex=3; Title.Parent=TB

local function titleBtn(text,xOff)
    local b=Instance.new("TextButton")
    b.Size=UDim2.new(0,22,0,22); b.Position=UDim2.new(1,xOff,0,3)
    b.BackgroundColor3=C.bg; b.BorderSizePixel=0
    b.Text=text; b.TextColor3=C.text; b.Font=Enum.Font.SourceSansBold; b.TextSize=13
    b.AutoButtonColor=false; b.ZIndex=3; b.Parent=TB; bevelRaised(b,2)
    return b
end
local MinBtn=titleBtn("_",-72)
local MaxBtn=titleBtn("□",-48)
local CloseBtn=titleBtn("X",-24)
CloseBtn.MouseButton1Click:Connect(function() Gui:Destroy() end)

-- Drag pela title bar
makeDraggable(Win, TB, WinScale)

--==================== BORDAS ARRASTÁVEIS (4 faixas) ====================
-- Faixas transparentes de 5px em cada borda. Podem arrastar a janela
-- a partir de qualquer borda (topo/baixo/esquerda/direita).
local EDGE = 5
local function makeEdgeDrag(size, pos)
    local d = Instance.new("Frame")
    d.BackgroundTransparency = 1
    d.BorderSizePixel = 0
    d.Size = size
    d.Position = pos
    d.ZIndex = 50       -- acima de tudo pra capturar input
    d.Active = true     -- IMPORTANTE: sem Active=true, touch não pega
    d.Parent = Win
    makeDraggable(Win, d, WinScale)
    return d
end

-- topo (exclui a área dos botões? não — pode arrastar em cima deles? Não, botões estão em ZIndex 3)
-- Por segurança: topo cobre os 5px acima da title bar (fora do TB)
makeEdgeDrag(
    UDim2.new(1, -10, 0, EDGE),
    UDim2.new(0, 5, 0, 0)
)
-- baixo
makeEdgeDrag(
    UDim2.new(1, -10, 0, EDGE),
    UDim2.new(0, 5, 1, -EDGE)
)
-- esquerda
makeEdgeDrag(
    UDim2.new(0, EDGE, 1, -10),
    UDim2.new(0, 0, 0, 5)
)
-- direita
makeEdgeDrag(
    UDim2.new(0, EDGE, 1, -10),
    UDim2.new(1, -EDGE, 0, 5)
)

--==================== MENU BAR ====================
local MenuBar=Instance.new("Frame")
MenuBar.Size=UDim2.new(1,-8,0,24); MenuBar.Position=UDim2.new(0,4,0,34)
MenuBar.BackgroundColor3=C.bg; MenuBar.BorderSizePixel=0; MenuBar.ZIndex=2; MenuBar.Parent=Win

local function menuItem(text,xOff)
    local b=Instance.new("TextButton")
    b.Size=UDim2.new(0,72,1,0); b.Position=UDim2.new(0,xOff,0,0)
    b.BackgroundColor3=C.bg; b.BorderSizePixel=0
    b.Text=text; b.TextColor3=C.text; b.Font=Enum.Font.SourceSans; b.TextSize=14
    b.AutoButtonColor=false; b.ZIndex=3; b.Parent=MenuBar
    b.MouseEnter:Connect(function() b.BackgroundColor3=C.navyTop; b.TextColor3=C.white end)
    b.MouseLeave:Connect(function() b.BackgroundColor3=C.bg; b.TextColor3=C.text end)
    return b
end
menuItem("File",2); menuItem("Edit",74); menuItem("Scripts",146); menuItem("Help",218)

--==================== TABS ====================
local TabBar=Instance.new("Frame")
TabBar.Size=UDim2.new(1,-8,0,28); TabBar.Position=UDim2.new(0,4,0,60)
TabBar.BackgroundTransparency=1; TabBar.ZIndex=2; TabBar.Parent=Win

local function makeTab(text,x,w)
    local b=Instance.new("TextButton")
    b.Size=UDim2.new(0,w,1,-3); b.Position=UDim2.new(0,x,0,3)
    b.BackgroundColor3=C.bg; b.BorderSizePixel=0
    b.Text=text; b.TextColor3=C.text; b.Font=Enum.Font.SourceSans; b.TextSize=14
    b.AutoButtonColor=false; b.ZIndex=3; b.Parent=TabBar
    return b
end
local TabExec=makeTab("Executor",2,105)
local TabScripts=makeTab("Scripts",109,105)
local TabSettings=makeTab("Settings",216,105)

local function setTabStyle(t,active)
    for _,ch in ipairs(t:GetChildren()) do if ch:IsA("Frame") then ch:Destroy() end end
    if active then
        bevelRaised(t,1)
        local cov=Instance.new("Frame")
        cov.BackgroundColor3=C.bg; cov.BorderSizePixel=0
        cov.Size=UDim2.new(1,-2,0,2); cov.Position=UDim2.new(0,1,1,-1)
        cov.ZIndex=t.ZIndex+2; cov.Parent=t
    else bevelSunken(t,1) end
end

--==================== CONTENT ====================
local Content=Instance.new("Frame")
Content.Size=UDim2.new(1,-8,1,-124); Content.Position=UDim2.new(0,4,0,90)
Content.BackgroundColor3=C.bg; Content.BorderSizePixel=0
Content.ClipsDescendants=true; Content.ZIndex=2; Content.Parent=Win
bevelSunken(Content,2)

--==================== STATUS BAR ====================
local StatusBar=Instance.new("Frame")
StatusBar.Size=UDim2.new(1,-8,0,22); StatusBar.Position=UDim2.new(0,4,1,-26)
StatusBar.BackgroundColor3=C.bg; StatusBar.BorderSizePixel=0
StatusBar.ZIndex=2; StatusBar.Parent=Win
bevelSunken(StatusBar,1)

local StatusReady=Instance.new("TextLabel",StatusBar)
StatusReady.Size=UDim2.new(0,300,1,-4); StatusReady.Position=UDim2.new(0,8,0,2)
StatusReady.BackgroundTransparency=1; StatusReady.Text="Ready"; StatusReady.TextColor3=C.statusTx
StatusReady.Font=Enum.Font.SourceSans; StatusReady.TextSize=13
StatusReady.TextXAlignment=Enum.TextXAlignment.Left; StatusReady.ZIndex=4

local StatusCount=Instance.new("TextLabel",StatusBar)
StatusCount.Size=UDim2.new(0,140,1,-4); StatusCount.Position=UDim2.new(0,320,0,2)
StatusCount.BackgroundTransparency=1; StatusCount.Text=""; StatusCount.TextColor3=C.statusTx
StatusCount.Font=Enum.Font.SourceSans; StatusCount.TextSize=13
StatusCount.TextXAlignment=Enum.TextXAlignment.Left; StatusCount.ZIndex=4

local StatusTime=Instance.new("TextLabel",StatusBar)
StatusTime.Size=UDim2.new(0,110,1,-4); StatusTime.Position=UDim2.new(1,-118,0,2)
StatusTime.BackgroundTransparency=1; StatusTime.TextColor3=C.statusTx
StatusTime.Font=Enum.Font.SourceSans; StatusTime.TextSize=13
StatusTime.TextXAlignment=Enum.TextXAlignment.Right; StatusTime.ZIndex=4
local function tickTime() StatusTime.Text=os.date("%H:%M:%S") end
tickTime()
task.spawn(function() while Win.Parent do tickTime(); task.wait(1) end end)

--==================== OUTPUT ====================
local outLines={"[IDE]: Loading...","[IDE]: Loaded 100%!","[IDE]: Welcome! g00byclank1ng!"}
local MAX_OUT=10
local OutputBox
local function pushOut(s)
    table.insert(outLines,s)
    while #outLines>MAX_OUT do table.remove(outLines,1) end
    if OutputBox then OutputBox.Text=table.concat(outLines,"\n") end
    StatusReady.Text=s
    task.delay(2,function() if StatusReady.Text==s then StatusReady.Text="Ready" end end)
end

--==================== RUN URL ====================
local function runURL(url, name, btn)
    if btn then btn.Text = "[loading] "..name end
    task.spawn(function()
        local ok, err = pcall(function()
            if url:match("^rbxassetid://") then
                local obj = game:GetObjects(url)[1]
                if obj and obj.Source then loadstring(obj.Source)() end
            else
                local src = game:HttpGet(url)
                local fn = loadstring(src)
                if fn then fn() end
            end
        end)
        if ok then
            if btn then btn.Text = "[OK] "..name end
            pushOut("[load] "..name.." OK")
        else
            if btn then btn.Text = "[X] "..name end
            pushOut("[erro] "..name)
            warn("[Wins98] "..name..": "..tostring(err))
        end
        task.delay(2, function()
            if btn and btn.Parent then btn.Text = name end
        end)
    end)
end

--==================== EXECUTOR PAGE ====================
local ExecPage=Instance.new("Frame")
ExecPage.Size=UDim2.new(1,0,1,0); ExecPage.BackgroundTransparency=1
ExecPage.ZIndex=3; ExecPage.Parent=Content

local EditorBox=Instance.new("TextBox")
EditorBox.Position=UDim2.new(0, 6, 0, 6)
EditorBox.Size    =UDim2.new(1, -152, 0, 175)
EditorBox.BackgroundColor3=C.white; EditorBox.BorderSizePixel=0
EditorBox.Text=""; EditorBox.TextColor3=C.text
EditorBox.Font=Enum.Font.Code; EditorBox.TextSize=13
EditorBox.TextXAlignment=Enum.TextXAlignment.Left
EditorBox.TextYAlignment=Enum.TextYAlignment.Top
EditorBox.TextWrapped=true; EditorBox.MultiLine=true; EditorBox.ClearTextOnFocus=false
EditorBox.ZIndex=4; EditorBox.Parent=ExecPage
bevelSunken(EditorBox,2)

local RP_Bg=Instance.new("Frame")
RP_Bg.Position=UDim2.new(1, -140, 0, 6)
RP_Bg.Size    =UDim2.new(0, 134, 0, 175)
RP_Bg.BackgroundColor3=C.bg; RP_Bg.BorderSizePixel=0
RP_Bg.ZIndex=3; RP_Bg.Parent=ExecPage
bevelSunken(RP_Bg,2)

local RightPanel=Instance.new("ScrollingFrame")
RightPanel.Position=UDim2.new(0, 3, 0, 3)
RightPanel.Size    =UDim2.new(1, -6, 1, -6)
RightPanel.BackgroundTransparency=1; RightPanel.BorderSizePixel=0
RightPanel.CanvasSize=UDim2.new(0,0,0,0)
RightPanel.AutomaticCanvasSize=Enum.AutomaticSize.Y
RightPanel.ScrollBarThickness=6; RightPanel.ScrollBarImageColor3=C.shadow
RightPanel.ZIndex=4; RightPanel.Parent=RP_Bg

local RPList=Instance.new("UIListLayout",RightPanel)
RPList.Padding=UDim.new(0,4); RPList.SortOrder=Enum.SortOrder.LayoutOrder

local execShortcuts = {
    {name="SSP.txt",       url="https://rawscripts.net/raw/Universal-Script-Secret-service-panel-Citizen-fake-25766"},
    {name="Excavator.txt", url="https://rawscripts.net/raw/Universal-Script-Excavator-45290"},
    {name="LuaHammer.txt", url="https://rawscripts.net/raw/Universal-Script-Lua-Hammer-11418"},
    {name="GrabKnife.txt", url="https://raw.githubusercontent.com/Icalock/Server/refs/heads/main/Grab%20V4.txt"},
    {name="MlgGun.txt",    url="https://rawscripts.net/raw/Universal-Script-MLG-17147"},
    {name="Wings.txt",     url="https://rawscripts.net/raw/Universal-Script-cool-wings-38639"},
}
for i, s in ipairs(execShortcuts) do
    local b=classicButton(RightPanel, s.name, UDim2.new(0,0,0,0), UDim2.new(1,0,0,24), 12)
    b.LayoutOrder=i; b.ZIndex=5
    b.MouseButton1Click:Connect(function() runURL(s.url, s.name, b) end)
end

local BtnPanel=Instance.new("Frame")
BtnPanel.Position=UDim2.new(0, 6, 0, 187)
BtnPanel.Size    =UDim2.new(0, 100, 0, 100)
BtnPanel.BackgroundTransparency=1; BtnPanel.ZIndex=3; BtnPanel.Parent=ExecPage

local BPList=Instance.new("UIListLayout",BtnPanel)
BPList.Padding=UDim.new(0,5); BPList.SortOrder=Enum.SortOrder.LayoutOrder

local ExecuteBtn=classicButton(BtnPanel,"Execute",UDim2.new(0,0,0,0),UDim2.new(1,0,0,30),14)
local ClearBtn  =classicButton(BtnPanel,"Clear",  UDim2.new(0,0,0,0),UDim2.new(1,0,0,30),14)
local InjectBtn =classicButton(BtnPanel,"Inject", UDim2.new(0,0,0,0),UDim2.new(1,0,0,30),14)
ExecuteBtn.LayoutOrder=1; ClearBtn.LayoutOrder=2; InjectBtn.LayoutOrder=3

OutputBox=Instance.new("TextLabel")
OutputBox.Position=UDim2.new(0, 112, 0, 187)
OutputBox.Size    =UDim2.new(1, -118, 0, 100)
OutputBox.BackgroundColor3=C.white; OutputBox.BorderSizePixel=0
OutputBox.Text=table.concat(outLines,"\n"); OutputBox.TextColor3=C.text
OutputBox.Font=Enum.Font.Code; OutputBox.TextSize=13
OutputBox.TextXAlignment=Enum.TextXAlignment.Left
OutputBox.TextYAlignment=Enum.TextYAlignment.Top
OutputBox.TextWrapped=true; OutputBox.ZIndex=4; OutputBox.Parent=ExecPage
bevelSunken(OutputBox,2)

--==================== EXECUTE / CLEAR / INJECT ====================
local function executeCode(src)
    if not src or src=="" then pushOut("[IDE] empty"); return end
    local fn,err=loadstring(src,"=Wins98Exec")
    if not fn then pushOut("[IDE] syntax: "..tostring(err)); return end
    local oP,oW=print,warn
    local function p(...)
        local t={} for i=1,select("#",...) do t[i]=tostring((select(i,...))) end
        pushOut("[print] "..table.concat(t," ")); pcall(oP,...)
    end
    local function w(...)
        local t={} for i=1,select("#",...) do t[i]=tostring((select(i,...))) end
        pushOut("[warn] "..table.concat(t," ")); pcall(oW,...)
    end
    if setfenv and getfenv then
        pcall(function() local e=getfenv(fn); e.print=p; e.warn=w; setfenv(fn,e) end)
    else _G.print,_G.warn=p,w end
    task.spawn(function()
        local ok,r=pcall(fn)
        _G.print,_G.warn=oP,oW
        if not ok then pushOut("[IDE] error: "..tostring(r)) else pushOut("[IDE] Executed!") end
    end)
end
ExecuteBtn.MouseButton1Click:Connect(function() executeCode(EditorBox.Text) end)
ClearBtn.MouseButton1Click:Connect(function() EditorBox.Text=""; outLines={}; OutputBox.Text="" end)
InjectBtn.MouseButton1Click:Connect(function() pushOut("[IDE]: Injected!") end)

--==================== SCRIPTS PAGE ====================
local ScriptsPage=Instance.new("Frame")
ScriptsPage.Size=UDim2.new(1,0,1,0); ScriptsPage.BackgroundTransparency=1
ScriptsPage.Visible=false; ScriptsPage.ZIndex=3; ScriptsPage.Parent=Content

local SP_Bg=Instance.new("Frame")
SP_Bg.Position=UDim2.new(0,6,0,6); SP_Bg.Size=UDim2.new(1,-12,1,-12)
SP_Bg.BackgroundColor3=C.white; SP_Bg.BorderSizePixel=0
SP_Bg.ZIndex=3; SP_Bg.Parent=ScriptsPage
bevelSunken(SP_Bg,2)

local ScrollScripts=Instance.new("ScrollingFrame")
ScrollScripts.Position=UDim2.new(0,3,0,3); ScrollScripts.Size=UDim2.new(1,-6,1,-6)
ScrollScripts.BackgroundTransparency=1; ScrollScripts.BorderSizePixel=0
ScrollScripts.CanvasSize=UDim2.new(0,0,0,0)
ScrollScripts.AutomaticCanvasSize=Enum.AutomaticSize.Y
ScrollScripts.ScrollBarThickness=14; ScrollScripts.ScrollBarImageColor3=C.shadow
ScrollScripts.ZIndex=4; ScrollScripts.Parent=SP_Bg

local SList=Instance.new("UIListLayout",ScrollScripts)
SList.Padding=UDim.new(0,4); SList.SortOrder=Enum.SortOrder.LayoutOrder

--==================== AÇÕES INTERNAS ====================
local ACTION_FNS = {}
local state = {noclip=false, infjump=nil, pqIndex=3, espActive=false, xrayActive=false,
    savedXray={}, auraParts={}, auraConn=nil, auraHue=0, floatBV=nil, floatConn=nil, floatParts={},
    disco=false, discoThread=nil, texCache=nil, idIndex=1, musicIndex=1}

local PQ_LEVELS = {
    {name="Low", max=100, rate=20}, {name="Med", max=250, rate=40},
    {name="High", max=500, rate=60}, {name="Ultra", max=1000, rate=120},
    {name="Insane", max=2000, rate=250},
}
local baseIds = {158118263,164661730,157755295,160456772,358313209}
local musicIds = {102688248318930, 95156028272944}

local function getTexture()
    if state.texCache then return state.texCache end
    state.texCache = "rbxassetid://"..baseIds[state.idIndex]
    return state.texCache
end
local function cmdChar() local c=LP.Character; return (c and c.Parent) and c or nil end
local function cmdHum() local c=cmdChar(); return c and c:FindFirstChildOfClass("Humanoid") end
local function cmdHRP() local c=cmdChar(); return c and c:FindFirstChild("HumanoidRootPart") end
local function scanWS(pred, cb)
    local stack = {workspace}
    while #stack > 0 do
        local node = table.remove(stack)
        for _, ch in ipairs(node:GetChildren()) do
            if pred(ch) then cb(ch) end
            table.insert(stack, ch)
        end
    end
end

ACTION_FNS.Decal = function()
    local tex = getTexture()
    local faces = {Enum.NormalId.Front,Enum.NormalId.Back,Enum.NormalId.Top,
                   Enum.NormalId.Bottom,Enum.NormalId.Left,Enum.NormalId.Right}
    local n=0
    scanWS(function(o) return o:IsA("BasePart") end, function(part)
        for _,f in ipairs(faces) do
            local dn = "w98_decal_"..f.Name
            if not part:FindFirstChild(dn) then
                local d=Instance.new("Decal"); d.Name=dn; d.Face=f; d.Texture=tex; d.Parent=part; n=n+1
            end
        end
    end)
    pushOut("[decal] "..n.." faces")
end
ACTION_FNS.Skybox = function()
    local old = Lighting:FindFirstChild("w98_sky"); if old then old:Destroy() end
    local sky = Instance.new("Sky"); sky.Name="w98_sky"
    local tex = getTexture()
    for _,f in ipairs({"Bk","Dn","Ft","Lf","Rt","Up"}) do sky["Skybox"..f] = tex end
    sky.Parent = Lighting; pushOut("[skybox] aplicado")
end
ACTION_FNS.Particle = function()
    local tex = getTexture(); local q = PQ_LEVELS[state.pqIndex]; local n=0
    scanWS(function(o) return o:IsA("BasePart") and o.Anchored end, function(p)
        if n>=q.max or p:FindFirstChild("w98_p") then return end
        local em = Instance.new("ParticleEmitter")
        em.Name="w98_p"; em.Texture=tex; em.Rate=q.rate
        em.Lifetime=NumberRange.new(1,3); em.Speed=NumberRange.new(5,15)
        em.SpreadAngle=Vector2.new(360,360); em.LightEmission=0
        em.Parent=p; n=n+1
    end)
    pushOut("[particle] "..q.name.." -> "..n)
end
ACTION_FNS.ResetParticle = function()
    local n=0
    scanWS(function(o) return o:IsA("ParticleEmitter") and o.Name=="w98_p" end, function(p)
        p:Destroy(); n=n+1
    end)
    pushOut("[particle] reset "..n)
end
ACTION_FNS.PQ = function()
    state.pqIndex = state.pqIndex + 1
    if state.pqIndex > #PQ_LEVELS then state.pqIndex = 1 end
    pushOut("[PQ] "..PQ_LEVELS[state.pqIndex].name)
end
ACTION_FNS.ChangeID = function()
    state.idIndex = state.idIndex + 1
    if state.idIndex > #baseIds then state.idIndex = 1 end
    state.texCache = nil
    pushOut("[id] "..baseIds[state.idIndex])
end
ACTION_FNS.Effect666 = function()
    scanWS(function(o) return o:IsA("BasePart") end, function(p)
        p.Color = Color3.new(0,0,0)
        if not p:FindFirstChild("w98_box") then
            local b=Instance.new("SelectionBox"); b.Name="w98_box"; b.Adornee=p
            b.LineThickness=0.05; b.Color3=Color3.fromRGB(255,0,0); b.Parent=p
        end
        if not p:FindFirstChild("w98_fire") then
            local f=Instance.new("Fire"); f.Name="w98_fire"; f.Size=10; f.Parent=p
        end
    end)
    pushOut("[666] aplicado")
end
ACTION_FNS.FireAll = function()
    scanWS(function(o) return o:IsA("BasePart") and not o:FindFirstChild("w98_fire") end, function(p)
        local f=Instance.new("Fire"); f.Name="w98_fire"; f.Size=40; f.Heat=90; f.Parent=p
    end)
    pushOut("[fire] todos")
end
ACTION_FNS.FullBright = function()
    Lighting.Brightness=2; Lighting.ClockTime=14; Lighting.FogEnd=1e6
    Lighting.GlobalShadows=false; Lighting.OutdoorAmbient=Color3.fromRGB(128,128,128)
    pushOut("[fullbright] ON")
end
ACTION_FNS.XRay = function()
    state.xrayActive = not state.xrayActive
    if state.xrayActive then
        state.savedXray = {}
        scanWS(function(o) return o:IsA("BasePart") end, function(p)
            table.insert(state.savedXray, {part=p, t=p.LocalTransparencyModifier})
            p.LocalTransparencyModifier = p.CanCollide and 0.5 or 0.85
            if not p:FindFirstChild("w98_xray") then
                local b=Instance.new("SelectionBox"); b.Name="w98_xray"; b.Adornee=p
                b.LineThickness=0.01; b.SurfaceTransparency=1; b.Transparency=0.5
                b.Parent=p
            end
        end)
        pushOut("[xray] ON")
    else
        for _,d in ipairs(state.savedXray) do
            if d.part and d.part.Parent then
                d.part.LocalTransparencyModifier = d.t
                local b = d.part:FindFirstChild("w98_xray"); if b then b:Destroy() end
            end
        end
        state.savedXray={}; pushOut("[xray] OFF")
    end
end
ACTION_FNS.RGBAura = function()
    if #state.auraParts > 0 then
        for _,d in ipairs(state.auraParts) do d.part:Destroy() end
        state.auraParts = {}
        if state.auraConn then state.auraConn:Disconnect(); state.auraConn=nil end
        pushOut("[aura] OFF"); return
    end
    local hrp = cmdHRP(); if not hrp then pushOut("[aura] sem char"); return end
    for x=-1,1 do for y=-1,1 do for z=-1,1 do
        if math.abs(x)+math.abs(y)+math.abs(z)==2 then
            local p=Instance.new("Part")
            p.Size=Vector3.new(1,1,1); p.Anchored=true; p.CanCollide=false; p.CanQuery=false
            p.Material=Enum.Material.Neon; p.Transparency=0.2; p.Parent=workspace
            table.insert(state.auraParts, {part=p, off=Vector3.new(x*2,y*2+1,z*2)})
        end
    end end end
    state.auraConn = RS.RenderStepped:Connect(function(dt)
        local h = cmdHRP(); if not h then return end
        state.auraHue = (state.auraHue+dt*0.35)%1
        local col = Color3.fromHSV(state.auraHue,1,1)
        for _,d in ipairs(state.auraParts) do
            if d.part.Parent then d.part.Color=col; d.part.CFrame=h.CFrame*CFrame.new(d.off) end
        end
    end)
    pushOut("[aura] ON")
end
ACTION_FNS.ESP = function()
    state.espActive = not state.espActive
    for _,p in ipairs(Players:GetPlayers()) do
        if p~=LP and p.Character then
            local hl = p.Character:FindFirstChild("w98_esp")
            if state.espActive and not hl then
                hl=Instance.new("Highlight"); hl.Name="w98_esp"; hl.Adornee=p.Character
                hl.FillColor=Color3.fromRGB(255,0,0); hl.OutlineColor=Color3.new(1,1,1)
                hl.Parent=p.Character
            elseif not state.espActive and hl then hl:Destroy() end
        end
    end
    pushOut("[esp] "..(state.espActive and "ON" or "OFF"))
end
ACTION_FNS.Float = function()
    local hrp = cmdHRP(); if not hrp then pushOut("[float] sem char"); return end
    if state.floatBV then
        state.floatBV:Destroy(); state.floatBV=nil
        if state.floatConn then state.floatConn:Disconnect(); state.floatConn=nil end
        for _,o in ipairs(state.floatParts) do o:Destroy() end
        state.floatParts = {}; pushOut("[float] OFF"); return
    end
    local bv=Instance.new("BodyVelocity"); bv.MaxForce=Vector3.new(0,1e6,0); bv.Velocity=Vector3.zero
    bv.Parent=hrp; state.floatBV=bv
    state.floatConn = RS.Heartbeat:Connect(function()
        local h=cmdHRP(); if not h then return end
        if state.floatBV and state.floatBV.Parent~=h then state.floatBV:Destroy()
            local nb=Instance.new("BodyVelocity"); nb.MaxForce=Vector3.new(0,1e6,0)
            nb.Velocity=Vector3.zero; nb.Parent=h; state.floatBV=nb end
    end)
    for i=1,3 do local f=Instance.new("Fire"); f.Size=15+i*5; f.Parent=hrp; table.insert(state.floatParts,f) end
    pushOut("[float] ON")
end
ACTION_FNS.Invisible = function()
    local c=cmdChar(); if not c then pushOut("[invis] sem char"); return end
    for _,v in ipairs(c:GetDescendants()) do if v:IsA("BasePart") then v.LocalTransparencyModifier=1 end end
    pushOut("[invis] ON")
end
ACTION_FNS.AntiSlap = function()
    if Gui:FindFirstChild("AntiSlap") then Gui.AntiSlap:Destroy(); pushOut("[anti-slap] OFF"); return end
    local w=Instance.new("Frame"); w.Name="AntiSlap"
    w.Size=UDim2.new(0,280,0,140); w.Position=UDim2.new(0.5,-140,0.5,-70)
    w.AnchorPoint=Vector2.new(0.5,0.5)
    w.BackgroundColor3=C.bg; w.BorderSizePixel=0; w.Active=true
    w.ZIndex=10; w.Parent=Gui; bevelRaised(w,2)

    local hdr=Instance.new("TextLabel",w)
    hdr.Size=UDim2.new(1,-30,0,24); hdr.Position=UDim2.new(0,4,0,4)
    hdr.BackgroundColor3=C.navyTop; hdr.BorderSizePixel=0
    hdr.Text="  Anti-Slap"; hdr.TextColor3=C.white
    hdr.TextXAlignment=Enum.TextXAlignment.Left
    hdr.Font=Enum.Font.SourceSansBold; hdr.TextSize=14; hdr.ZIndex=11

    local closeX=Instance.new("TextButton",w)
    closeX.Size=UDim2.new(0,18,0,18); closeX.Position=UDim2.new(1,-24,0,7)
    closeX.BackgroundColor3=C.bg; closeX.BorderSizePixel=0
    closeX.Text="X"; closeX.TextColor3=C.text; closeX.Font=Enum.Font.SourceSansBold
    closeX.TextSize=12; closeX.AutoButtonColor=false; closeX.ZIndex=12
    bevelRaised(closeX,2)
    closeX.MouseButton1Click:Connect(function() w:Destroy() end)

    local btn=classicButton(w,"ATIVAR",UDim2.new(0,10,0,44),UDim2.new(1,-20,0,44))
    btn.ZIndex=11
    local on, conn = false, nil
    btn.MouseButton1Click:Connect(function()
        on = not on
        btn.Text = on and "DESATIVAR" or "ATIVAR"
        if on then
            conn = RS.Heartbeat:Connect(function()
                local hrp=cmdHRP(); if not hrp then return end
                for _,v in ipairs(hrp:GetChildren()) do
                    if v:IsA("BodyVelocity") or v:IsA("BodyAngularVelocity") then v:Destroy() end
                end
            end)
        elseif conn then conn:Disconnect(); conn=nil end
    end)
    makeDraggable(w, hdr)
    pushOut("[anti-slap] ON")
end
ACTION_FNS.KillAll = function()
    for _,p in ipairs(Players:GetPlayers()) do
        if p.Character then local h=p.Character:FindFirstChild("Head"); if h then h:Destroy() end end
    end
    pushOut("[kill all] done")
end
ACTION_FNS.KickAll = function()
    for _,p in ipairs(Players:GetPlayers()) do
        pcall(function() p:Kick("Teh Game Iz Fuked Up!!!!111") end)
    end
    pushOut("[kick all] tentativa")
end
ACTION_FNS.Jumpscare = function()
    local s=Instance.new("Sound"); s.SoundId="rbxassetid://9069609200"; s.Volume=10
    s.Parent=Sound; s:Play(); Debris:AddItem(s,10)
    local bg=Instance.new("Frame",Gui)
    bg.Size=UDim2.new(1,0,1,0); bg.BackgroundColor3=Color3.new(0,0,0); bg.ZIndex=100
    local img=Instance.new("ImageLabel",bg)
    img.Size=UDim2.new(1,0,1,0); img.BackgroundTransparency=1
    img.Image="rbxassetid://9018233362"; img.ZIndex=101
    Debris:AddItem(bg,9.3); pushOut("[jumpscare]")
end
ACTION_FNS.Disco = function()
    state.disco = not state.disco
    if state.disco and not state.discoThread then
        state.discoThread = task.spawn(function()
            while state.disco do
                scanWS(function(o) return o:IsA("BasePart") end, function(p)
                    p.Color = Color3.new(math.random(),math.random(),math.random())
                end)
                task.wait(0.2)
            end
            state.discoThread = nil
        end)
    end
    pushOut("[disco] "..(state.disco and "ON" or "OFF"))
end
ACTION_FNS.PlayMusic = function()
    local s=Instance.new("Sound")
    s.SoundId="rbxassetid://"..musicIds[state.musicIndex]
    s.Looped=true; s.PlaybackSpeed=0.3; s.Volume=15; s.Parent=Sound; s:Play()
    Debris:AddItem(s,60); pushOut("[music] "..musicIds[state.musicIndex])
end
ACTION_FNS.ChangeMusicID = function()
    state.musicIndex = state.musicIndex + 1
    if state.musicIndex > #musicIds then state.musicIndex = 1 end
    pushOut("[music id] "..musicIds[state.musicIndex])
end
ACTION_FNS.Hints = function()
    for _,msg in ipairs({"team Anymous fuck the game","QAD fuck the game","232w2 fuck the game",
                         "TEAM C00LKIDD FUCK GAME","007N7 FUCK GAME","C00LKIDD FUCK GAME"}) do
        local h=Instance.new("Hint"); h.Text=msg; h.Parent=workspace
    end
    pushOut("[hints] 6 criados")
end
ACTION_FNS.SpeedGUI = function()
    if Gui:FindFirstChild("SpeedGUI") then Gui.SpeedGUI:Destroy(); return end
    local sg=Instance.new("Frame",Gui); sg.Name="SpeedGUI"
    sg.Size=UDim2.new(0,240,0,140); sg.Position=UDim2.new(0.5,-120,0.5,-70)
    sg.AnchorPoint=Vector2.new(0.5,0.5)
    sg.BackgroundColor3=C.bg; sg.BorderSizePixel=0; sg.Active=true; sg.ZIndex=10
    bevelRaised(sg,2)

    local hdr=Instance.new("TextLabel",sg)
    hdr.Size=UDim2.new(1,-30,0,24); hdr.Position=UDim2.new(0,4,0,4)
    hdr.BackgroundColor3=C.navyTop; hdr.BorderSizePixel=0
    hdr.Text="  Speed Changer"; hdr.TextColor3=C.white
    hdr.TextXAlignment=Enum.TextXAlignment.Left
    hdr.Font=Enum.Font.SourceSansBold; hdr.TextSize=14; hdr.ZIndex=11

    local closeX=Instance.new("TextButton",sg)
    closeX.Size=UDim2.new(0,18,0,18); closeX.Position=UDim2.new(1,-24,0,7)
    closeX.BackgroundColor3=C.bg; closeX.BorderSizePixel=0
    closeX.Text="X"; closeX.TextColor3=C.text; closeX.Font=Enum.Font.SourceSansBold
    closeX.TextSize=12; closeX.AutoButtonColor=false; closeX.ZIndex=12
    bevelRaised(closeX,2)
    closeX.MouseButton1Click:Connect(function() sg:Destroy() end)

    local tb=Instance.new("TextBox",sg)
    tb.Size=UDim2.new(1,-20,0,32); tb.Position=UDim2.new(0,10,0,36)
    tb.BackgroundColor3=C.white; tb.Text="16"; tb.TextColor3=C.text
    tb.Font=Enum.Font.Code; tb.TextSize=14; tb.ClearTextOnFocus=false; tb.ZIndex=11
    bevelSunken(tb,2)

    local ab=classicButton(sg,"Aplicar",UDim2.new(0,10,0,76),UDim2.new(1,-20,0,40))
    ab.ZIndex=11
    ab.MouseButton1Click:Connect(function()
        local n=tonumber(tb.Text); if n then
            local h=cmdHum(); if h then h.WalkSpeed=n; pushOut("[speed] "..n) end
        end
    end)
    makeDraggable(sg, hdr)
end
ACTION_FNS.InfJump = function()
    if state.infjump then state.infjump:Disconnect(); state.infjump=nil; pushOut("[infjump] OFF")
    else
        state.infjump = UIS.JumpRequest:Connect(function()
            local h=cmdHum(); if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end
        end)
        pushOut("[infjump] ON")
    end
end
ACTION_FNS.Noclip = function()
    state.noclip = not state.noclip
    if state.noclip then
        pushOut("[noclip] ON")
        task.spawn(function()
            while state.noclip do
                local c=cmdChar()
                if c then for _,v in ipairs(c:GetDescendants()) do
                    if v:IsA("BasePart") then v.CanCollide=false end
                end end
                task.wait(0.15)
            end
        end)
    else pushOut("[noclip] OFF") end
end
ACTION_FNS.Uzi = function()
    local char = LP.Character or LP.CharacterAdded:Wait()
    local mouse = LP:GetMouse()
    local tool=Instance.new("Tool"); tool.Name="UZI"; tool.RequiresHandle=true
    local handle=Instance.new("Part"); handle.Size=Vector3.new(0.2,1.7,1.4); handle.Name="Handle"; handle.Parent=tool
    local snd=Instance.new("Sound"); snd.SoundId="rbxassetid://27127089"; snd.Parent=handle
    local down, eq = false, false
    mouse.Button1Down:Connect(function() down=true end)
    mouse.Button1Up:Connect(function() down=false end)
    tool.Equipped:Connect(function() eq=true end)
    tool.Unequipped:Connect(function() eq=false end)
    task.spawn(function()
        while tool.Parent do
            if eq and down then
                local s=snd:Clone(); s.Parent=handle; s:Play(); Debris:AddItem(s,1)
                local origin=handle.Position
                local dir=(mouse.Hit.Position-origin).Unit*900
                local params=RaycastParams.new()
                params.FilterDescendantsInstances={char}; params.FilterType=Enum.RaycastFilterType.Exclude
                local r=workspace:Raycast(origin,dir,params)
                local hit=r and r.Position or (origin+dir)
                local dist=(origin-hit).Magnitude
                local beam=Instance.new("Part")
                beam.Material=Enum.Material.Neon; beam.BrickColor=BrickColor.new("Bright yellow")
                beam.Anchored=true; beam.CanCollide=false; beam.CanQuery=false
                beam.Size=Vector3.new(0.1,0.1,dist)
                beam.CFrame=CFrame.new(origin,hit)*CFrame.new(0,0,-dist/2)
                beam.Parent=workspace; Debris:AddItem(beam,0.1)
                if r and r.Instance then
                    local model=r.Instance:FindFirstAncestorOfClass("Model")
                    local hum=model and model:FindFirstChildOfClass("Humanoid")
                    if hum then hum:TakeDamage(25) end
                end
                task.wait(0.1)
            else task.wait(0.05) end
        end
    end)
    tool.Parent=LP:WaitForChild("Backpack")
    pushOut("[uzi] dada")
end

--==================== CATEGORIAS DE SCRIPTS ====================
local SCRIPT_CATEGORIES = {
    {name="CORE / REMAKES", scripts={
        {"VR7", "url", "https://rawscripts.net/raw/Universal-Script-VR7-45290"},
        {"RC7 Remake", "url", "https://rawscripts.net/raw/Universal-Script-RC7-Remake-Test-V1-29288"},
        {"c00lgui 007n7", "rbxid", "rbxassetid://11801763945"},
        {"c00lgui rc7 v3rx", "url", "https://rawscripts.net/raw/Universal-Script-coolgui-95955"},
        {"c00lkidd exec", "url", "https://raw.githubusercontent.com/rtlsmonk/c00lgui-made-by-rtls_a1-on-discord/refs/heads/main/have-fun"},
        {"Synapse X", "url", "https://raw.githubusercontent.com/AZYsGithub/Chillz-s-scripts/main/Synapse-X-Remake.lua"},
        {"Secret Service panel", "url", "https://rawscripts.net/raw/Universal-Script-Secret-service-panel-Citizen-fake-25766"},
    }},
    {name="FLY / MOVEMENT", scripts={
        {"Fly V4", "url", "https://pastefy.app/uwD60dpJ/raw"},
        {"Fly V3 DARK", "url", "https://rawscripts.net/raw/Universal-Script-Script-Fly-V3-DARK-50491"},
        {"HD admin fly", "url", "https://rawscripts.net/raw/Universal-Script-HD-Admin-Fly-old-version-239307"},
        {"Wall Hop V5", "url", "https://rawscripts.net/raw/Universal-Script-Wall-Hop-V5-241707"},
        {"Shift Lock", "url", "https://rawscripts.net/raw/Universal-Script-Shift-Lock-121871"},
        {"Speed GUI", "action", "SpeedGUI"},
        {"Inf Jump", "action", "InfJump"},
        {"Noclip", "action", "Noclip"},
    }},
    {name="VISUAL / FX", scripts={
        {"Decal (6 faces)", "action", "Decal"},
        {"Skybox", "action", "Skybox"},
        {"Particle", "action", "Particle"},
        {"Reset Particle", "action", "ResetParticle"},
        {"Particle Quality", "action", "PQ"},
        {"Change ID", "action", "ChangeID"},
        {"666 Effect", "action", "Effect666"},
        {"Fire All", "action", "FireAll"},
        {"Full Bright", "action", "FullBright"},
        {"X-Ray", "action", "XRay"},
        {"RGB Aura", "action", "RGBAura"},
        {"ESP", "action", "ESP"},
        {"Float", "action", "Float"},
        {"Invisible", "action", "Invisible"},
        {"Anti Slap", "action", "AntiSlap"},
        {"Super Ring", "url", "https://rawscripts.net/raw/Universal-Script-Super-ring-Parts-V6-28581"},
        {"Awesome Invis", "url", "https://rawscripts.net/raw/Universal-Script-Awesome-Invisible-man-133400"},
        {"UTG", "url", "https://rawscripts.net/raw/Universal-Script-ULTIMATE-TROLLING-GUI-BY-FANCYKID-91109"},
        {"TOPK3K V4", "url", "https://raw.githubusercontent.com/KenzoSSto1/Topk3k-V4/main/topk3k.lua"},
    }},
    {name="TROLL / FUN", scripts={
        {"Kill All", "action", "KillAll"},
        {"Kick All", "action", "KickAll"},
        {"Jumpscare", "action", "Jumpscare"},
        {"Disco", "action", "Disco"},
        {"Fire All (H)", "action", "FireAll"},
        {"Play Music", "action", "PlayMusic"},
        {"Change Music ID", "action", "ChangeMusicID"},
        {"Uzi", "action", "Uzi"},
        {"Hints", "action", "Hints"},
    }},
    {name="ADMIN / TOOLS", scripts={
        {"Server Admin", "url", "https://rawscripts.net/raw/Universal-Script-server-admin-67330"},
        {"Nameless Admin", "url", "https://rawscripts.net/raw/Universal-Script-Nameless-Admin-23304"},
        {"Ban Hammer", "url", "https://rawscripts.net/raw/Universal-Script-Ban-Hammer-Script-58232"},
    }},
    {name="HUBS", scripts={
        {"RuzHub", "url", "https://rawscripts.net/raw/Universal-Script-RuzHub-239344"},
        {"Banana Hub", "url", "https://raw.githubusercontent.com/aloaloalo322/sssdas/refs/heads/main/cc"},
        {"K00pgui", "url", "https://pastes.io/raw/test-89401"},
        {"SF 1.5 Mobile", "url", "https://raw.githubusercontent.com/g00byd0lanxdd/SF-1.5-MOBILE/refs/heads/main/SF%201.5%20MOBILE"},
        {"SF 1.2", "url", "https://pastefy.app/Pu13Ovm0/raw"},
        {"SF 1.1", "url", "https://pastefy.app/xj9lkBIv/raw"},
        {"Reborn c00lclan v1", "url", "https://rawscripts.net/raw/Universal-Script-Reborn-c00lclan-v1-59164"},
    }},
    {name="UTILITY / GRAB", scripts={
        {"Delta Crack", "url", "https://raw.githubusercontent.com/Xxtan31/Ata/main/deltakeyboardcrack.txt"},
        {"Grab Knife V4", "url", "https://raw.githubusercontent.com/Icalock/Server/refs/heads/main/Grab%20V4.txt"},
        {"Grab v4", "url", "https://raw.githubusercontent.com/retpirato/Roblox-Scripts/refs/heads/master/Grab%20Knife%20V4.lua"},
        {"Grab v4 (2)", "url", "https://rawscripts.net/raw/Universal-Script-Grab-Knife-V4-24831"},
        {"Grab (retpirato)", "url", "https://rawscripts.net/raw/Universal-Script-Grab-V4-16793"},
    }},
}

local totalScripts = 0
local order = 0
for _, cat in ipairs(SCRIPT_CATEGORIES) do
    order = order + 1
    local header=Instance.new("TextLabel",ScrollScripts)
    header.Size=UDim2.new(1,0,0,26)
    header.BackgroundColor3=C.navyTop; header.BorderSizePixel=0
    header.Text="  "..cat.name; header.TextColor3=C.white
    header.TextXAlignment=Enum.TextXAlignment.Left
    header.Font=Enum.Font.SourceSansBold; header.TextSize=14
    header.LayoutOrder=order; header.ZIndex=5
    for _, s in ipairs(cat.scripts) do
        totalScripts = totalScripts + 1; order = order + 1
        local name, kind, val = s[1], s[2], s[3]
        local b = classicButton(ScrollScripts, "  "..name, UDim2.new(0,0,0,0), UDim2.new(1,0,0,30), 14)
        b.TextXAlignment = Enum.TextXAlignment.Left
        b.LayoutOrder = order; b.ZIndex = 5
        b.MouseButton1Click:Connect(function()
            if kind == "url" or kind == "rbxid" then
                runURL(val, name, b)
            elseif kind == "action" then
                local fn = ACTION_FNS[val]
                if fn then
                    task.spawn(function()
                        local ok, err = pcall(fn)
                        if ok then pushOut("[action] "..name)
                        else pushOut("[erro] "..name..": "..tostring(err)) end
                    end)
                else
                    pushOut("[erro] action desconhecida: "..tostring(val))
                end
            end
        end)
    end
end
StatusCount.Text = "Scripts: "..totalScripts

--==================== SETTINGS PAGE ====================
local SettingsPage=Instance.new("Frame")
SettingsPage.Size=UDim2.new(1,0,1,0); SettingsPage.BackgroundTransparency=1
SettingsPage.Visible=false; SettingsPage.ZIndex=3; SettingsPage.Parent=Content

local ST=Instance.new("TextLabel",SettingsPage)
ST.Size=UDim2.new(1,-260,0,36); ST.Position=UDim2.new(0,24,0,20)
ST.BackgroundTransparency=1; ST.Text="Settings Page"; ST.TextColor3=C.text
ST.Font=Enum.Font.SourceSansBold; ST.TextSize=22
ST.TextXAlignment=Enum.TextXAlignment.Left; ST.ZIndex=4

local REBtn=classicButton(SettingsPage,"RE",UDim2.new(1,-200,0,22),UDim2.new(0,80,0,30))
local R6Btn=classicButton(SettingsPage,"R6",UDim2.new(1,-115,0,22),UDim2.new(0,80,0,30))
REBtn.MouseButton1Click:Connect(function()
    local h=cmdHum(); if h then h.RigType=Enum.HumanoidRigType.R15 end
    pushOut("[rig] R15")
end)
R6Btn.MouseButton1Click:Connect(function()
    local h=cmdHum(); if h then h.RigType=Enum.HumanoidRigType.R6 end
    pushOut("[rig] R6")
end)

local GridHolder=Instance.new("Frame",SettingsPage)
GridHolder.Position=UDim2.new(0,24,0,80)
GridHolder.Size=UDim2.new(1,-48,0,200)
GridHolder.BackgroundTransparency=1; GridHolder.ZIndex=3

local SGrid=Instance.new("UIGridLayout",GridHolder)
SGrid.CellSize=UDim2.new(0,180,0,50)
SGrid.CellPadding=UDim2.new(0,14,0,14)
SGrid.SortOrder=Enum.SortOrder.LayoutOrder

local settingsScripts = {
    {name="Primadon.txt",  url="https://rawscripts.net/raw/Universal-Script-Primadon-Hub-11390"},
    {name="Devoyance.txt", url="https://rawscripts.net/raw/Universal-Script-Devoyance-239344"},
    {name="DogeArmy.txt",  url="https://rawscripts.net/raw/Universal-Script-Doge-Army-67330"},
    {name="RoXploit.txt",  url="https://rawscripts.net/raw/Universal-Script-RoXploit-23304"},
    {name="Goner.txt",     url="https://rawscripts.net/raw/Universal-Script-Goner-Hub-241707"},
    {name="Polaria.txt",   url="https://rawscripts.net/raw/Universal-Script-Polaria-Hub-58232"},
}
for i, s in ipairs(settingsScripts) do
    local b=classicButton(GridHolder, s.name, UDim2.new(0,0,0,0), UDim2.new(0,180,0,50))
    b.LayoutOrder=i; b.ZIndex=5
    b.MouseButton1Click:Connect(function() runURL(s.url, s.name, b) end)
end

--==================== TABS ====================
local function switchTab(name)
    ExecPage.Visible     = (name=="Executor")
    ScriptsPage.Visible  = (name=="Scripts")
    SettingsPage.Visible = (name=="Settings")
    setTabStyle(TabExec,     name=="Executor")
    setTabStyle(TabScripts,  name=="Scripts")
    setTabStyle(TabSettings, name=="Settings")
end
TabExec.MouseButton1Click:Connect(function() switchTab("Executor") end)
TabScripts.MouseButton1Click:Connect(function() switchTab("Scripts") end)
TabSettings.MouseButton1Click:Connect(function() switchTab("Settings") end)

--==================== MINIMIZE (preserva a posição da title bar) ====================
-- Como Win.AnchorPoint = (0,0), mudar Win.Size NÃO move o canto superior esquerdo.
-- Logo a title bar fica EXATAMENTE onde estava.
local minOn=false
local savedSize = UDim2.new(0, BASE_W, 0, BASE_H)

MinBtn.MouseButton1Click:Connect(function()
    minOn = not minOn
    if minOn then
        savedSize = Win.Size
        -- Só a altura muda (mantém topo no mesmo pixel da tela)
        Win.Size = UDim2.new(0, BASE_W, 0, 40)
        Content.Visible=false
        TabBar.Visible=false
        MenuBar.Visible=false
        StatusBar.Visible=false
        -- Esconde as faixas laterais (deixa só topo pra arrastar minimizado)
    else
        Win.Size = savedSize
        Content.Visible=true
        TabBar.Visible=true
        MenuBar.Visible=true
        StatusBar.Visible=true
    end
    -- Se estiver minimizado, permite arrastar de novo pela title bar (já funciona)
end)

switchTab("Executor")
warn("[Wins98 Executor] carregado - "..totalScripts.." scripts")

Features & Information

C00lgui SSP E +

Community Comments (3)

voltexvoltexSep 22, 2026

Very cool

Replying to @voltex
theblacktheblackSep 23, 2026

@voltex thanks

Good job vro this is good asf

More Scripts for Universal Scripts