--[[ 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("")