
Key Required VerifiedUniversal

--[[
WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
]]
local Players = game:GetService("Players")
local HttpService = game:GetService("HttpService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")
local isMobile = UserInputService.TouchEnabled and not UserInputService.KeyboardEnabled
local camera = workspace.CurrentCamera
local SCREEN_SIZE = camera.ViewportSize
local isSmallScreen = isMobile or SCREEN_SIZE.X < 800
local menuScale = 0.75
local minScale, maxScale = 0.5, 1.0
local scaleStep = 0.05
local scriptCache = {}
local guiVisible = true
local popupShown = false
local currentPage = 1
local scriptsPerPage = 10
local function HttpGet(url)
for i = 1, 5 do
local s, r = pcall(game.HttpGet, game, url, true)
if s and r and #r > 50 then return r end
task.wait(1)
end
return nil
end
local function formatTime(utc)
if not utc then return "Recent" end
local y,m,d,h,min = utc:match("(%d+)-(%d+)-(%d+)T(%d+):(%d+)")
if y then
local t = os.time{year=y, month=m, day=d, hour=h, min=min}
return os.date("%m.%d %H:%M", t)
end
return utc:sub(1,16)
end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "ScriptBloxPro"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = playerGui
local mainFrame = Instance.new("Frame")
mainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 15)
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = true
mainFrame.Parent = screenGui
local function updateFrameSize()
local w = SCREEN_SIZE.X * menuScale
local h = SCREEN_SIZE.Y * menuScale
mainFrame.Size = UDim2.new(0, w - 40, 0, h - 40)
end
updateFrameSize()
mainFrame.Position = UDim2.new(0.5, -mainFrame.Size.X.Offset/2, 0.5, -mainFrame.Size.Y.Offset/2)
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 20)
corner.Parent = mainFrame
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(139, 92, 246)
stroke.Thickness = 1.8
stroke.Parent = mainFrame
local header = Instance.new("Frame")
header.Size = UDim2.new(1, 0, 0, 60)
header.BackgroundTransparency = 1
header.Parent = mainFrame
local logo = Instance.new("TextLabel")
logo.Size = UDim2.new(0, 120, 1, 0)
logo.BackgroundTransparency = 1
logo.Text = "🧾 ScriptBlox"
logo.TextColor3 = Color3.fromRGB(139, 92, 246)
logo.TextScaled = true
logo.Font = Enum.Font.GothamBold
logo.Parent = header
local navFrame = Instance.new("Frame")
navFrame.Size = UDim2.new(1, -200, 1, 0)
navFrame.Position = UDim2.new(0, 120, 0, 0)
navFrame.BackgroundTransparency = 1
navFrame.Parent = header
local navLayout = Instance.new("UIListLayout")
navLayout.FillDirection = Enum.FillDirection.Horizontal
navLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
navLayout.VerticalAlignment = Enum.VerticalAlignment.Center
navLayout.Padding = UDim.new(0, 30)
navLayout.Parent = navFrame
local navItems = {"Home", "Upload", "Trending", "Rules", "Executors", "Docs Beta"}
for _, item in ipairs(navItems) do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 80, 0, 30)
btn.BackgroundTransparency = 1
btn.Text = item
btn.TextColor3 = Color3.fromRGB(200, 200, 220)
btn.TextScaled = true
btn.Font = Enum.Font.Gotham
btn.Parent = navFrame
btn.MouseButton1Click:Connect(function()
for _, b in ipairs(navFrame:GetChildren()) do
if b:IsA("TextButton") then
b.TextColor3 = Color3.fromRGB(200, 200, 220)
end
end
btn.TextColor3 = Color3.fromRGB(139, 92, 246)
end)
end
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 30, 0, 30)
closeBtn.Position = UDim2.new(1, -35, 0, 15)
closeBtn.BackgroundColor3 = Color3.fromRGB(255, 50, 50)
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
closeBtn.TextScaled = true
closeBtn.Font = Enum.Font.GothamBold
local closeCorner = Instance.new("UICorner")
closeCorner.CornerRadius = UDim.new(0, 15)
closeCorner.Parent = closeBtn
closeBtn.Parent = header
local authFrame = Instance.new("Frame")
authFrame.Size = UDim2.new(0, 200, 1, 0)
authFrame.Position = UDim2.new(1, -200, 0, 0)
authFrame.BackgroundTransparency = 1
authFrame.Parent = header
local authLayout = Instance.new("UIListLayout")
authLayout.FillDirection = Enum.FillDirection.Horizontal
authLayout.HorizontalAlignment = Enum.HorizontalAlignment.Right
authLayout.VerticalAlignment = Enum.VerticalAlignment.Center
authLayout.Padding = UDim.new(0, 10)
authLayout.Parent = authFrame
local authBtns = {"Login", "Sign Up"}
for _, item in ipairs(authBtns) do
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(0, 70, 0, 30)
btn.BackgroundColor3 = Color3.fromRGB(139, 92, 246)
btn.Text = item
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextScaled = true
btn.Font = Enum.Font.GothamBold
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 8)
c.Parent = btn
btn.Parent = authFrame
end
local statsFrame = Instance.new("Frame")
statsFrame.Size = UDim2.new(1, 0, 0, 40)
statsFrame.Position = UDim2.new(0, 0, 0, 70)
statsFrame.BackgroundTransparency = 1
statsFrame.Parent = mainFrame
local statsLayout = Instance.new("UIListLayout")
statsLayout.FillDirection = Enum.FillDirection.Horizontal
statsLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
statsLayout.VerticalAlignment = Enum.VerticalAlignment.Center
statsLayout.Padding = UDim.new(0, 50)
statsLayout.Parent = statsFrame
local statsItems = {
{text = "517", color = Color3.fromRGB(0, 255, 0), label = "Registered users"},
{text = "314", color = Color3.fromRGB(100, 100, 255), label = "Guests online"}
}
for _, item in ipairs(statsItems) do
local frame = Instance.new("Frame")
frame.BackgroundTransparency = 1
frame.Parent = statsFrame
local num = Instance.new("TextLabel")
num.Size = UDim2.new(0, 50, 1, 0)
num.BackgroundTransparency = 1
num.Text = item.text
num.TextColor3 = item.color
num.TextScaled = true
num.Font = Enum.Font.GothamBold
num.Parent = frame
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0, 120, 1, 0)
lbl.Position = UDim2.new(0, 50, 0, 0)
lbl.BackgroundTransparency = 1
lbl.Text = item.label
lbl.TextColor3 = Color3.fromRGB(150, 150, 170)
lbl.TextScaled = true
lbl.Font = Enum.Font.Gotham
lbl.Parent = frame
end
local dragging = false
local dragStart, startPos
header.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = mainFrame.Position
end
end)
header.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
mainFrame.Position = UDim2.new(
startPos.X.Scale,
startPos.X.Offset + delta.X,
startPos.Y.Scale,
startPos.Y.Offset + delta.Y
)
end
end)
header.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
local resizeContainer = Instance.new("Frame")
resizeContainer.Size = UDim2.new(0, 100, 0, 35)
resizeContainer.Position = UDim2.new(1, -110, 0, 12.5)
resizeContainer.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
resizeContainer.Parent = header
local rcCorner = Instance.new("UICorner")
rcCorner.CornerRadius = UDim.new(0, 12)
rcCorner.Parent = resizeContainer
local rcStroke = Instance.new("UIStroke")
rcStroke.Color = Color3.fromRGB(70, 70, 80)
rcStroke.Thickness = 1
rcStroke.Parent = resizeContainer
local minusBtn = Instance.new("TextButton")
minusBtn.Size = UDim2.new(0, 30, 1, 0)
minusBtn.BackgroundTransparency = 1
minusBtn.Text = "-"
minusBtn.TextColor3 = Color3.fromRGB(200, 200, 200)
minusBtn.TextScaled = true
minusBtn.Font = Enum.Font.GothamBold
minusBtn.Parent = resizeContainer
local plusBtn = Instance.new("TextButton")
plusBtn.Size = UDim2.new(0, 30, 1, 0)
plusBtn.Position = UDim2.new(1, -30, 0, 0)
plusBtn.BackgroundTransparency = 1
plusBtn.Text = "+"
plusBtn.TextColor3 = Color3.fromRGB(200, 200, 200)
plusBtn.TextScaled = true
plusBtn.Font = Enum.Font.GothamBold
plusBtn.Parent = resizeContainer
local scaleLabel = Instance.new("TextLabel")
scaleLabel.Size = UDim2.new(0, 40, 1, 0)
scaleLabel.Position = UDim2.new(0, 30, 0, 0)
scaleLabel.BackgroundTransparency = 1
scaleLabel.Text = math.floor(menuScale * 100) .. "%"
scaleLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
scaleLabel.TextScaled = true
scaleLabel.Font = Enum.Font.Gotham
scaleLabel.Parent = resizeContainer
minusBtn.MouseButton1Click:Connect(function()
menuScale = math.max(minScale, menuScale - scaleStep)
scaleLabel.Text = math.floor(menuScale * 100) .. "%"
updateFrameSize()
end)
plusBtn.MouseButton1Click:Connect(function()
menuScale = math.min(maxScale, menuScale + scaleStep)
scaleLabel.Text = math.floor(menuScale * 100) .. "%"
updateFrameSize()
end)
local searchFrame = Instance.new("Frame")
searchFrame.Size = UDim2.new(1, -24, 0, 60)
searchFrame.Position = UDim2.new(0, 12, 0, 120)
searchFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
searchFrame.Parent = mainFrame
local sCorner = Instance.new("UICorner")
sCorner.CornerRadius = UDim.new(0, 14)
sCorner.Parent = searchFrame
local searchBox = Instance.new("TextBox")
searchBox.Size = UDim2.new(1, -100, 1, 0)
searchBox.Position = UDim2.new(0, 12, 0, 0)
searchBox.BackgroundTransparency = 1
searchBox.PlaceholderText = "Search the best Lua scripts available in the community uploaded by users!"
searchBox.Text = ""
searchBox.TextColor3 = Color3.fromRGB(220, 220, 220)
searchBox.PlaceholderColor3 = Color3.fromRGB(130, 130, 130)
searchBox.TextScaled = true
searchBox.Font = Enum.Font.Gotham
searchBox.Parent = searchFrame
local searchBtn = Instance.new("TextButton")
searchBtn.Size = UDim2.new(0, 80, 0, 35)
searchBtn.Position = UDim2.new(1, -90, 0.5, -17.5)
searchBtn.BackgroundColor3 = Color3.fromRGB(139, 92, 246)
searchBtn.Text = "Search"
searchBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
searchBtn.TextScaled = true
searchBtn.Font = Enum.Font.GothamBold
local sbCorner = Instance.new("UICorner")
sbCorner.CornerRadius = UDim.new(0, 10)
sbCorner.Parent = searchBtn
searchBtn.Parent = searchFrame
local strictToggle = Instance.new("TextButton")
strictToggle.Size = UDim2.new(0, 180, 0, 30)
strictToggle.Position = UDim2.new(0, 12, 1, -30)
strictToggle.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
strictToggle.Text = "Strict search (match exact input)"
strictToggle.TextColor3 = Color3.fromRGB(150, 150, 170)
strictToggle.TextScaled = true
strictToggle.Font = Enum.Font.Gotham
local stCorner = Instance.new("UICorner")
stCorner.CornerRadius = UDim.new(0, 8)
stCorner.Parent = strictToggle
strictToggle.Parent = searchFrame
local promoFrame = Instance.new("Frame")
promoFrame.Size = UDim2.new(1, -24, 0, 140)
promoFrame.Position = UDim2.new(0, 12, 0, 190)
promoFrame.BackgroundTransparency = 1
promoFrame.Parent = mainFrame
local promoLayout = Instance.new("UIListLayout")
promoLayout.FillDirection = Enum.FillDirection.Horizontal
promoLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
promoLayout.VerticalAlignment = Enum.VerticalAlignment.Center
promoLayout.Padding = UDim.new(0, 30)
promoLayout.Parent = promoFrame
local promoItems = {
{icon = "👥", title = "Active community", desc = "Join hundreds of thousands of people already sharing content!"},
{icon = "📚", title = "Extensive collection", desc = "With tens of thousands of scripts uploaded every day and tens of thousands!"},
{icon = "✨", title = "Bring your scripts", desc = "Have scripts? Upload, share & make your presence known"}
}
for _, item in ipairs(promoItems) do
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 220, 1, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
frame.Parent = promoFrame
local pCorner = Instance.new("UICorner")
pCorner.CornerRadius = UDim.new(0, 12)
pCorner.Parent = frame
local icon = Instance.new("TextLabel")
icon.Size = UDim2.new(0, 40, 0, 40)
icon.Position = UDim2.new(0, 10, 0, 10)
icon.BackgroundTransparency = 1
icon.Text = item.icon
icon.TextColor3 = Color3.fromRGB(139, 92, 246)
icon.TextScaled = true
icon.Font = Enum.Font.GothamBold
icon.Parent = frame
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -60, 0, 25)
title.Position = UDim2.new(0, 50, 0, 10)
title.BackgroundTransparency = 1
title.Text = item.title
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = frame
local desc = Instance.new("TextLabel")
desc.Size = UDim2.new(1, -60, 0, 50)
desc.Position = UDim2.new(0, 50, 0, 35)
desc.BackgroundTransparency = 1
desc.Text = item.desc
desc.TextColor3 = Color3.fromRGB(150, 150, 170)
desc.TextScaled = true
desc.Font = Enum.Font.Gotham
desc.TextXAlignment = Enum.TextXAlignment.Left
desc.TextYAlignment = Enum.TextYAlignment.Top
desc.Parent = frame
end
local content = Instance.new("Frame")
content.Size = UDim2.new(1, -24, 1, -400)
content.Position = UDim2.new(0, 12, 0, 340)
content.BackgroundColor3 = Color3.fromRGB(15, 15, 20)
content.Parent = mainFrame
local cCorner = Instance.new("UICorner")
cCorner.CornerRadius = UDim.new(0, 16)
cCorner.Parent = content
local recentLabel = Instance.new("TextLabel")
recentLabel.Size = UDim2.new(1, -100, 0, 40)
recentLabel.Position = UDim2.new(0, 0, 0, 0)
recentLabel.BackgroundTransparency = 1
recentLabel.Text = "Recent Scripts"
recentLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
recentLabel.TextScaled = true
recentLabel.Font = Enum.Font.GothamBold
recentLabel.Parent = content
local uploadBtn = Instance.new("TextButton")
uploadBtn.Size = UDim2.new(0, 80, 0, 35)
uploadBtn.Position = UDim2.new(1, -90, 0, 2.5)
uploadBtn.BackgroundColor3 = Color3.fromRGB(139, 92, 246)
uploadBtn.Text = "+ Upload"
uploadBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
uploadBtn.TextScaled = true
uploadBtn.Font = Enum.Font.GothamBold
local uCorner = Instance.new("UICorner")
uCorner.CornerRadius = UDim.new(0, 10)
uCorner.Parent = uploadBtn
uploadBtn.Parent = content
local scroll = Instance.new("ScrollingFrame")
scroll.Size = UDim2.new(1, -16, 1, -100)
scroll.Position = UDim2.new(0, 8, 0, 45)
scroll.BackgroundTransparency = 1
scroll.ScrollBarThickness = 8
scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
scroll.Parent = content
local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0, 15)
layout.FillDirection = Enum.FillDirection.Vertical
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Parent = scroll
local paginationFrame = Instance.new("Frame")
paginationFrame.Size = UDim2.new(1, 0, 0, 40)
paginationFrame.Position = UDim2.new(0, 0, 1, -40)
paginationFrame.BackgroundTransparency = 1
paginationFrame.Parent = content
local pageLabel = Instance.new("TextLabel")
pageLabel.Size = UDim2.new(0, 100, 1, 0)
pageLabel.Position = UDim2.new(0.5, -50, 0, 0)
pageLabel.BackgroundTransparency = 1
pageLabel.Text = "Page 1"
pageLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
pageLabel.TextScaled = true
pageLabel.Font = Enum.Font.Gotham
pageLabel.Parent = paginationFrame
local prevBtn = Instance.new("TextButton")
prevBtn.Size = UDim2.new(0, 60, 0, 30)
prevBtn.Position = UDim2.new(0.5, -170, 0.5, -15)
prevBtn.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
prevBtn.Text = "Previous"
prevBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
prevBtn.TextScaled = true
prevBtn.Font = Enum.Font.Gotham
local prevCorner = Instance.new("UICorner")
prevCorner.CornerRadius = UDim.new(0, 8)
prevCorner.Parent = prevBtn
prevBtn.Parent = paginationFrame
local nextBtn = Instance.new("TextButton")
nextBtn.Size = UDim2.new(0, 60, 0, 30)
nextBtn.Position = UDim2.new(0.5, 110, 0.5, -15)
nextBtn.BackgroundColor3 = Color3.fromRGB(139, 92, 246)
nextBtn.Text = "Next"
nextBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
nextBtn.TextScaled = true
nextBtn.Font = Enum.Font.GothamBold
local nextCorner = Instance.new("UICorner")
nextCorner.CornerRadius = UDim.new(0, 8)
nextCorner.Parent = nextBtn
nextBtn.Parent = paginationFrame
local loading = false
local function clear()
for _, v in pairs(scroll:GetChildren()) do
if v:IsA("Frame") then v:Destroy() end
end
end
local function fetchScriptCode(scriptId, callback)
if scriptCache[scriptId] then
callback(scriptCache[scriptId])
return
end
local url = "https://scriptblox.com/api/script/fetch?script_id=" .. scriptId
spawn(function()
local res = HttpGet(url)
if res then
local s, data = pcall(HttpService.JSONDecode, HttpService, res)
if s and data and data.result and data.result.script then
scriptCache[scriptId] = data.result.script
callback(data.result.script)
return
end
end
callback(nil)
end)
end
local function createCard(data)
local card = Instance.new("Frame")
card.Size = UDim2.new(1, -20, 0, 130)
card.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
card.BorderSizePixel = 0
card.Parent = scroll
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 14)
corner.Parent = card
local pad = Instance.new("UIPadding")
pad.PaddingLeft = UDim.new(0, 14)
pad.PaddingRight = UDim.new(0, 14)
pad.PaddingTop = UDim.new(0, 10)
pad.PaddingBottom = UDim.new(0, 10)
pad.Parent = card
local thumb = Instance.new("Frame")
thumb.Size = UDim2.new(0, 80, 1, 0)
thumb.Position = UDim2.new(0, 0, 0, 0)
thumb.BackgroundColor3 = Color3.fromRGB(40, 40, 50)
thumb.Parent = card
local tCorner = Instance.new("UICorner")
tCorner.CornerRadius = UDim.new(0, 8)
tCorner.Parent = thumb
local icon = Instance.new("TextLabel")
icon.Size = UDim2.new(1, 0, 1, 0)
icon.BackgroundTransparency = 1
icon.Text = "📜"
icon.TextColor3 = Color3.fromRGB(139, 92, 246)
icon.TextScaled = true
icon.Font = Enum.Font.GothamBold
icon.Parent = thumb
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -100, 0, 26)
title.Position = UDim2.new(0, 90, 0, 0)
title.BackgroundTransparency = 1
title.Text = data.title or "Untitled"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = card
local game = Instance.new("TextLabel")
game.Size = UDim2.new(1, -100, 0, 20)
game.Position = UDim2.new(0, 90, 0, 30)
game.BackgroundTransparency = 1
game.Text = "Game: " .. (data.game and data.game.name or "Universal")
game.TextColor3 = Color3.fromRGB(130, 200, 255)
game.TextScaled = true
game.Font = Enum.Font.Gotham
game.TextXAlignment = Enum.TextXAlignment.Left
game.Parent = card
local statsFrame = Instance.new("Frame")
statsFrame.Size = UDim2.new(1, -100, 0, 22)
statsFrame.Position = UDim2.new(0, 90, 0, 55)
statsFrame.BackgroundTransparency = 1
statsFrame.Parent = card
local likesEmoji = Instance.new("TextLabel")
likesEmoji.Size = UDim2.new(0, 22, 0, 22)
likesEmoji.Position = UDim2.new(0, 0, 0, 0)
likesEmoji.BackgroundTransparency = 1
likesEmoji.Text = "❤️"
likesEmoji.TextColor3 = Color3.fromRGB(255, 100, 100)
likesEmoji.TextScaled = true
likesEmoji.Font = Enum.Font.Gotham
likesEmoji.Parent = statsFrame
local likesText = Instance.new("TextLabel")
likesText.Size = UDim2.new(0, 50, 1, 0)
likesText.Position = UDim2.new(0, 24, 0, 0)
likesText.BackgroundTransparency = 1
likesText.Text = tostring(data.likeCount or 0)
likesText.TextColor3 = Color3.fromRGB(220, 220, 220)
likesText.TextScaled = true
likesText.Font = Enum.Font.Gotham
likesText.TextXAlignment = Enum.TextXAlignment.Left
likesText.Parent = statsFrame
local viewsEmoji = Instance.new("TextLabel")
viewsEmoji.Size = UDim2.new(0, 22, 0, 22)
viewsEmoji.Position = UDim2.new(0, 80, 0, 0)
viewsEmoji.BackgroundTransparency = 1
viewsEmoji.Text = "👁"
viewsEmoji.TextColor3 = Color3.fromRGB(100, 200, 255)
viewsEmoji.TextScaled = true
viewsEmoji.Font = Enum.Font.Gotham
viewsEmoji.Parent = statsFrame
local viewsText = Instance.new("TextLabel")
viewsText.Size = UDim2.new(0, 60, 1, 0)
viewsText.Position = UDim2.new(0, 104, 0, 0)
viewsText.BackgroundTransparency = 1
viewsText.Text = tostring(data.views or 0)
viewsText.TextColor3 = Color3.fromRGB(220, 220, 220)
viewsText.TextScaled = true
viewsText.Font = Enum.Font.Gotham
viewsText.TextXAlignment = Enum.TextXAlignment.Left
viewsText.Parent = statsFrame
local timeText = Instance.new("TextLabel")
timeText.Size = UDim2.new(0, 100, 1, 0)
timeText.Position = UDim2.new(0, 170, 0, 0)
timeText.BackgroundTransparency = 1
timeText.Text = formatTime(data.createdAt)
timeText.TextColor3 = Color3.fromRGB(150, 150, 150)
timeText.TextScaled = true
timeText.Font = Enum.Font.Gotham
timeText.TextXAlignment = Enum.TextXAlignment.Left
timeText.Parent = statsFrame
local bestBadge = Instance.new("TextLabel")
bestBadge.Size = UDim2.new(0, 60, 0, 25)
bestBadge.Position = UDim2.new(0, 90, 0, -5)
bestBadge.BackgroundColor3 = Color3.fromRGB(255, 215, 0)
bestBadge.Text = "BEST"
bestBadge.TextColor3 = Color3.fromRGB(0, 0, 0)
bestBadge.TextScaled = true
bestBadge.Font = Enum.Font.GothamBold
local bbCorner = Instance.new("UICorner")
bbCorner.CornerRadius = UDim.new(0, 5)
bbCorner.Parent = bestBadge
bestBadge.Visible = (data.likeCount or 0) > 1000
bestBadge.Parent = card
card.MouseEnter:Connect(function()
TweenService:Create(card, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(35, 35, 40)}):Play()
end)
card.MouseLeave:Connect(function()
TweenService:Create(card, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(25, 25, 30)}):Play()
end)
local run = Instance.new("TextButton")
run.Size = UDim2.new(0, 65, 0, 32)
run.Position = UDim2.new(1, -70, 0.5, -16)
run.BackgroundColor3 = Color3.fromRGB(0, 180, 80)
run.Text = "RUN"
run.TextColor3 = Color3.fromRGB(255, 255, 255)
run.TextScaled = true
run.Font = Enum.Font.GothamBold
run.Parent = card
local rc = Instance.new("UICorner")
rc.CornerRadius = UDim.new(0, 10)
rc.Parent = run
local copy = Instance.new("TextButton")
copy.Size = UDim2.new(0, 65, 0, 32)
copy.Position = UDim2.new(1, 0, 0.5, -16)
copy.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
copy.Text = "COPY"
copy.TextColor3 = Color3.fromRGB(255, 255, 255)
copy.TextScaled = true
copy.Font = Enum.Font.GothamBold
copy.Parent = card
local cc = Instance.new("UICorner")
cc.CornerRadius = UDim.new(0, 10)
cc.Parent = copy
run.MouseButton1Click:Connect(function()
local function execute(code)
if code then
local s, f = pcall(loadstring, code)
if s and f then pcall(f) end
end
end
if data.script then
execute(data.script)
else
run.Text = "Loading..."
fetchScriptCode(data._id, function(code)
if code then execute(code) end
run.Text = "RUN"
end)
end
end)
copy.MouseButton1Click:Connect(function()
copy.Text = "Loading..."
copy.BackgroundColor3 = Color3.fromRGB(180, 120, 0)
local function tryCopy(code)
if code and code ~= "" then
pcall(setclipboard, code)
copy.Text = "OK"
copy.BackgroundColor3 = Color3.fromRGB(0, 180, 0)
else
copy.Text = "Error"
copy.BackgroundColor3 = Color3.fromRGB(180, 0, 0)
end
task.delay(1.2, function()
if copy and copy.Parent then
copy.Text = "COPY"
copy.BackgroundColor3 = Color3.fromRGB(255, 170, 0)
end
end)
end
if data.script then
tryCopy(data.script)
else
fetchScriptCode(data._id, tryCopy)
end
end)
end
local function loadScripts(query, page)
local all = {}
local urlBase = query and query ~= "" and "https://scriptblox.com/api/script/search" or "https://scriptblox.com/api/script/fetch"
local url = urlBase
if query and query ~= "" then
url = url .. (url:find("?") and "&" or "?") .. "q=" .. HttpService:UrlEncode(query) .. "&page=" .. page
else
url = url .. (url:find("?") and "&" or "?") .. "page=" .. page
end
local res = HttpGet(url)
if not res then return {} end
local s, data = pcall(HttpService.JSONDecode, HttpService, res)
if not s or not data.result or not data.result.scripts then return {} end
for _, s in ipairs(data.result.scripts) do
table.insert(all, s)
end
return all
end
local function showScripts(query)
if loading then return end
loading = true
clear()
local scripts = loadScripts(query, currentPage)
if #scripts > 0 then
for _, s in ipairs(scripts) do
createCard(s)
end
else
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 0, 50)
lbl.BackgroundTransparency = 1
lbl.Text = query and "Nothing found" or "No recent scripts"
lbl.TextColor3 = Color3.fromRGB(180, 180, 180)
lbl.TextScaled = true
lbl.Font = Enum.Font.Gotham
lbl.Parent = scroll
end
pageLabel.Text = "Page " .. currentPage
prevBtn.BackgroundColor3 = currentPage > 1 and Color3.fromRGB(139, 92, 246) or Color3.fromRGB(100, 100, 100)
loading = false
end
searchBtn.MouseButton1Click:Connect(function()
currentPage = 1
showScripts(searchBox.Text)
end)
searchBox.FocusLost:Connect(function(enter)
if enter then
currentPage = 1
showScripts(searchBox.Text)
end
end)
uploadBtn.MouseButton1Click:Connect(function()
print("Upload clicked")
end)
prevBtn.MouseButton1Click:Connect(function()
if currentPage > 1 then
currentPage -= 1
showScripts(searchBox.Text)
end
end)
nextBtn.MouseButton1Click:Connect(function()
currentPage += 1
showScripts(searchBox.Text)
end)
closeBtn.MouseButton1Click:Connect(function()
guiVisible = false
mainFrame.Visible = false
if not popupShown then
popupShown = true
local popup = Instance.new("Frame")
popup.Size = UDim2.new(0, 200, 0, 60)
popup.Position = UDim2.new(1, -220, 1, -80)
popup.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
popup.Parent = screenGui
local pCorner = Instance.new("UICorner")
pCorner.CornerRadius = UDim.new(0, 12)
pCorner.Parent = popup
local pStroke = Instance.new("UIStroke")
pStroke.Color = Color3.fromRGB(139, 92, 246)
pStroke.Thickness = 1
pStroke.Parent = popup
local text = Instance.new("TextLabel")
text.Size = UDim2.new(1, 0, 1, 0)
text.BackgroundTransparency = 1
text.Text = "Press , to bring the GUI back"
text.TextColor3 = Color3.fromRGB(255, 255, 255)
text.TextScaled = true
text.Font = Enum.Font.Gotham
text.Parent = popup
popup.Size = UDim2.new(0, 0, 0, 0)
TweenService:Create(popup, TweenInfo.new(0.3, Enum.EasingStyle.Back), {Size = UDim2.new(0, 200, 0, 60)}):Play()
task.wait(3)
TweenService:Create(popup, TweenInfo.new(0.3, Enum.EasingStyle.Back), {Size = UDim2.new(0, 0, 0, 0)}):Play()
task.wait(0.3)
popup:Destroy()
popupShown = false
end
end)
UserInputService.InputBegan:Connect(function(input, processed)
if processed then return end
if input.KeyCode == Enum.KeyCode.Comma then
guiVisible = not guiVisible
mainFrame.Visible = guiVisible
if guiVisible then
showScripts(searchBox.Text)
end
end
end)
RunService.Heartbeat:Connect(function()
local newSize = camera.ViewportSize
if newSize.X ~= SCREEN_SIZE.X or newSize.Y ~= SCREEN_SIZE.Y then
SCREEN_SIZE = newSize
updateFrameSize()
mainFrame.Position = UDim2.new(0.5, -mainFrame.Size.X.Offset/2, 0.5, -mainFrame.Size.Y.Offset/2)
end
end)
task.wait(1)
showScripts("")



Sick but needs a close and minimize button
Add close button actually cool
My Clipboard be like: