local HttpService = game:GetService("HttpService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local ScriptSearchGUI = Instance.new("ScreenGui") ScriptSearchGUI.Name = "ScriptSearchGUI" ScriptSearchGUI.Parent = game:GetService("CoreGui") ScriptSearchGUI.ResetOnSpawn = false local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Parent = ScriptSearchGUI MainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) MainFrame.BorderSizePixel = 0 MainFrame.Position = UDim2.new(0.5, -250, 0.5, -175) MainFrame.Size = UDim2.new(0, 500, 0, 350) MainFrame.Visible = true local MainFrameCorner = Instance.new("UICorner") MainFrameCorner.CornerRadius = UDim.new(0, 8) MainFrameCorner.Parent = MainFrame local MainFrameStroke = Instance.new("UIStroke") MainFrameStroke.Color = Color3.fromRGB(80, 80, 80) MainFrameStroke.Thickness = 1 MainFrameStroke.Parent = MainFrame local TitleBar = Instance.new("Frame") TitleBar.Name = "TitleBar" TitleBar.Parent = MainFrame TitleBar.BackgroundColor3 = Color3.fromRGB(25, 25, 25) TitleBar.BorderSizePixel = 0 TitleBar.Size = UDim2.new(1, 0, 0, 30) TitleBar.Draggable = true TitleBar.Active = true local TitleBarCorner = Instance.new("UICorner") TitleBarCorner.CornerRadius = UDim.new(0, 8) TitleBarCorner.Parent = TitleBar local TitleLabel = Instance.new("TextLabel") TitleLabel.Name = "TitleLabel" TitleLabel.Parent = TitleBar TitleLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) TitleLabel.BackgroundTransparency = 1 TitleLabel.Size = UDim2.new(1, 0, 1, 0) TitleLabel.Font = Enum.Font.GothamBold TitleLabel.Text = "ScriptSearch" TitleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) TitleLabel.TextScaled = true TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.Position = UDim2.new(0, 10, 0, 0) local CloseButton = Instance.new("TextButton") CloseButton.Name = "CloseButton" CloseButton.Parent = TitleBar CloseButton.BackgroundColor3 = Color3.fromRGB(25, 25, 25) CloseButton.BackgroundTransparency = 0 CloseButton.Position = UDim2.new(1, -30, 0, 0) CloseButton.Size = UDim2.new(0, 30, 0, 30) CloseButton.Font = Enum.Font.GothamBold CloseButton.Text = "×" CloseButton.TextColor3 = Color3.fromRGB(255, 255, 255) CloseButton.TextScaled = true CloseButton.MouseButton1Click:Connect(function() ScriptSearchGUI:Destroy() end) local SearchFrame = Instance.new("Frame") SearchFrame.Name = "SearchFrame" SearchFrame.Parent = MainFrame SearchFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45) SearchFrame.BorderSizePixel = 0 SearchFrame.Position = UDim2.new(0, 10, 0, 40) SearchFrame.Size = UDim2.new(1, -20, 0, 40) local SearchFrameCorner = Instance.new("UICorner") SearchFrameCorner.CornerRadius = UDim.new(0, 6) SearchFrameCorner.Parent = SearchFrame local SearchBox = Instance.new("TextBox") SearchBox.Name = "SearchBox" SearchBox.Parent = SearchFrame SearchBox.BackgroundColor3 = Color3.fromRGB(45, 45, 45) SearchBox.Position = UDim2.new(0, 5, 0, 0) SearchBox.Size = UDim2.new(1, -75, 1, 0) SearchBox.Font = Enum.Font.Gotham SearchBox.Text = "" SearchBox.TextColor3 = Color3.fromRGB(255, 255, 255) SearchBox.PlaceholderText = "Search scripts..." SearchBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 150) SearchBox.TextXAlignment = Enum.TextXAlignment.Left SearchBox.ClearTextOnFocus = false local SearchButton = Instance.new("TextButton") SearchButton.Name = "SearchButton" SearchButton.Parent = SearchFrame SearchButton.BackgroundColor3 = Color3.fromRGB(40, 40, 55) SearchButton.Position = UDim2.new(1, -65, 0.5, -15) SearchButton.Size = UDim2.new(0, 60, 0, 30) SearchButton.Font = Enum.Font.GothamBold SearchButton.Text = "Search" SearchButton.TextColor3 = Color3.fromRGB(255, 255, 255) SearchButton.TextScaled = true local SearchButtonCorner = Instance.new("UICorner") SearchButtonCorner.CornerRadius = UDim.new(0, 6) SearchButtonCorner.Parent = SearchButton local ResultsFrame = Instance.new("ScrollingFrame") ResultsFrame.Name = "ResultsFrame" ResultsFrame.Parent = MainFrame ResultsFrame.BackgroundColor3 = Color3.fromRGB(45, 45, 45) ResultsFrame.Position = UDim2.new(0, 10, 0, 90) ResultsFrame.Size = UDim2.new(1, -20, 1, -100) ResultsFrame.CanvasSize = UDim2.new(0, 0, 0, 0) ResultsFrame.ScrollBarThickness = 5 ResultsFrame.ScrollBarImageColor3 = Color3.fromRGB(70, 70, 90) local ResultsFrameCorner = Instance.new("UICorner") ResultsFrameCorner.CornerRadius = UDim.new(0, 6) ResultsFrameCorner.Parent = ResultsFrame local ResultsListLayout = Instance.new("UIListLayout") ResultsListLayout.Parent = ResultsFrame ResultsListLayout.SortOrder = Enum.SortOrder.LayoutOrder ResultsListLayout.Padding = UDim.new(0, 5) local LoadingLabel = Instance.new("TextLabel") LoadingLabel.Name = "LoadingLabel" LoadingLabel.Parent = ResultsFrame LoadingLabel.Size = UDim2.new(1, 0, 0, 30) LoadingLabel.Position = UDim2.new(0, 0, 0, 10) LoadingLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255) LoadingLabel.BackgroundTransparency = 1 LoadingLabel.Font = Enum.Font.GothamBold LoadingLabel.Text = "Enter a search term and click Search" LoadingLabel.TextColor3 = Color3.fromRGB(200, 200, 200) LoadingLabel.TextScaled = true LoadingLabel.Visible = true local function clearResults() for i, v in pairs(ResultsFrame:GetChildren()) do if v:IsA("Frame") then v:Destroy() end end end local function createScriptFrame(scriptData) local scriptFrame = Instance.new("Frame") scriptFrame.Name = "ScriptFrame" scriptFrame.Parent = ResultsFrame scriptFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 55) scriptFrame.Size = UDim2.new(1, -10, 0, 100) scriptFrame.LayoutOrder = scriptData.order local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = scriptFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(60, 60, 80) stroke.Thickness = 1 stroke.Parent = scriptFrame local titleLabel = Instance.new("TextLabel") titleLabel.Name = "TitleLabel" titleLabel.Parent = scriptFrame titleLabel.Size = UDim2.new(1, -90, 0, 20) titleLabel.Position = UDim2.new(0, 10, 0, 5) titleLabel.BackgroundTransparency = 1 titleLabel.Font = Enum.Font.GothamBold titleLabel.Text = scriptData.title or "Untitled Script" titleLabel.TextColor3 = Color3.fromRGB(255, 255, 255) titleLabel.TextScaled = true titleLabel.TextXAlignment = Enum.TextXAlignment.Left local gameLabel = Instance.new("TextLabel") gameLabel.Name = "GameLabel" gameLabel.Parent = scriptFrame gameLabel.Size = UDim2.new(0.5, -10, 0, 20) gameLabel.Position = UDim2.new(0, 10, 0, 30) gameLabel.BackgroundTransparency = 1 gameLabel.Font = Enum.Font.Gotham gameLabel.Text = "Game: " .. (scriptData.game or "Universal") gameLabel.TextColor3 = Color3.fromRGB(180, 180, 180) gameLabel.TextScaled = true gameLabel.TextXAlignment = Enum.TextXAlignment.Left local createdLabel = Instance.new("TextLabel") createdLabel.Name = "CreatedLabel" createdLabel.Parent = scriptFrame createdLabel.Size = UDim2.new(0.5, -10, 0, 20) createdLabel.Position = UDim2.new(0, 10, 0, 55) createdLabel.BackgroundTransparency = 1 createdLabel.Font = Enum.Font.Gotham createdLabel.Text = "By: " .. (scriptData.owner and scriptData.owner.username or "Raz") createdLabel.TextColor3 = Color3.fromRGB(180, 180, 180) createdLabel.TextScaled = true createdLabel.TextXAlignment = Enum.TextXAlignment.Left local viewsLabel = Instance.new("TextLabel") viewsLabel.Name = "ViewsLabel" viewsLabel.Parent = scriptFrame viewsLabel.Size = UDim2.new(0.5, -10, 0, 20) viewsLabel.Position = UDim2.new(0.5, 10, 0, 55) viewsLabel.BackgroundTransparency = 1 viewsLabel.Font = Enum.Font.Gotham viewsLabel.Text = "Views: " .. (scriptData.views or 0) viewsLabel.TextColor3 = Color3.fromRGB(120, 180, 255) viewsLabel.TextScaled = true viewsLabel.TextXAlignment = Enum.TextXAlignment.Left local copyButton = Instance.new("TextButton") copyButton.Name = "CopyButton" copyButton.Parent = scriptFrame copyButton.Size = UDim2.new(0, 70, 0, 30) copyButton.Position = UDim2.new(1, -80, 0, 10) copyButton.BackgroundColor3 = Color3.fromRGB(80, 80, 200) copyButton.Text = "Copy" copyButton.TextColor3 = Color3.fromRGB(255, 255, 255) copyButton.TextScaled = true copyButton.Font = Enum.Font.GothamBold copyButton.BorderSizePixel = 0 local copyCorner = Instance.new("UICorner") copyCorner.CornerRadius = UDim.new(0, 6) copyCorner.Parent = copyButton local executeButton = Instance.new("TextButton") executeButton.Name = "ExecuteButton" executeButton.Parent = scriptFrame executeButton.Size = UDim2.new(0, 70, 0, 30) executeButton.Position = UDim2.new(1, -80, 1, -40) executeButton.BackgroundColor3 = Color3.fromRGB(80, 220, 80) executeButton.Text = "Execute" executeButton.TextColor3 = Color3.fromRGB(255, 255, 255) executeButton.TextScaled = true executeButton.Font = Enum.Font.GothamBold executeButton.BorderSizePixel = 0 local executeCorner = Instance.new("UICorner") executeCorner.CornerRadius = UDim.new(0, 6) executeCorner.Parent = executeButton copyButton.MouseButton1Click:Connect(function() setclipboard(scriptData.script) local originalText = copyButton.Text copyButton.Text = "Copied!" wait(1) copyButton.Text = originalText end) executeButton.MouseButton1Click:Connect(function() loadstring(scriptData.script)() local originalText = executeButton.Text executeButton.Text = "Executed!" wait(1) executeButton.Text = originalText end) local function createGlow(parent) local glow = Instance.new("Frame") glow.Name = "Glow" glow.Parent = parent glow.Size = UDim2.new(1, 10, 1, 10) glow.Position = UDim2.new(0.5, -5, 0.5, -5) glow.BackgroundColor3 = parent.BackgroundColor3 glow.BackgroundTransparency = 0.7 glow.BorderSizePixel = 0 glow.ZIndex = 0 local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = glow return glow end local copyGlow = createGlow(copyButton) local executeGlow = createGlow(executeButton) local function tweenGlow(glow, visible) local transparency = visible and 0.7 or 1 TweenService:Create(glow, TweenInfo.new(0.2), { BackgroundTransparency = transparency }):Play() end copyButton.MouseEnter:Connect(function() tweenGlow(copyGlow, true) end) copyButton.MouseLeave:Connect(function() tweenGlow(copyGlow, false) end) executeButton.MouseEnter:Connect(function() tweenGlow(executeGlow, true) end) executeButton.MouseLeave:Connect(function() tweenGlow(executeGlow, false) end) tweenGlow(copyGlow, false) tweenGlow(executeGlow, false) end local function searchScripts() local searchTerm = SearchBox.Text if searchTerm == "" then LoadingLabel.Text = "Please enter a search term" LoadingLabel.Visible = true return end clearResults() LoadingLabel.Text = "Searching..." LoadingLabel.Visible = true local success, response = pcall(function() return HttpService:HttpGet("https://scriptblox.com/api/script/search?q=" .. searchTerm) end) if not success then LoadingLabel.Text = "Error loading scripts. Please try again." return end local success, decoded = pcall(function() return HttpService:JSONDecode(response) end) if not success or not decoded.result or not decoded.result.scripts then LoadingLabel.Text = "Error loading scripts. Please try again." return end if #decoded.result.scripts == 0 then LoadingLabel.Text = "No scripts found for: " .. searchTerm return end LoadingLabel.Visible = false for i, scriptData in pairs(decoded.result.scripts) do scriptData.order = i createScriptFrame(scriptData) end end SearchButton.MouseButton1Click:Connect(searchScripts) SearchBox.FocusLost:Connect(function(enterPressed) if enterPressed then searchScripts() end end) ResultsFrame:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() local contentSize = ResultsFrame.AbsoluteContentSize ResultsFrame.CanvasSize = UDim2.new(0, 0, 0, contentSize.Y + 10) end) local function animateButton(button, enter) local targetColor = enter and Color3.fromRGB(60, 60, 75) or Color3.fromRGB(40, 40, 55) TweenService:Create(button, TweenInfo.new(0.2), { BackgroundColor3 = targetColor }):Play() end SearchButton.MouseEnter:Connect(function() animateButton(SearchButton, true) end) SearchButton.MouseLeave:Connect(function() animateButton(SearchButton, false) end) local function animateCloseButton(button, enter) local targetColor = enter and Color3.fromRGB(255, 50, 50) or Color3.fromRGB(25, 25, 25) TweenService:Create(button, TweenInfo.new(0.2), { BackgroundColor3 = targetColor }):Play() end CloseButton.MouseEnter:Connect(function() animateCloseButton(CloseButton, true) end) CloseButton.MouseLeave:Connect(function() animateCloseButton(CloseButton, false) end) local ToggleIcon = Instance.new("TextButton") ToggleIcon.Name = "ToggleIcon" ToggleIcon.Parent = ScriptSearchGUI ToggleIcon.Size = UDim2.new(0, 60, 0, 60) ToggleIcon.Position = UDim2.new(0, 10, 0.5, -30) ToggleIcon.BackgroundColor3 = Color3.fromRGB(25, 25, 35) ToggleIcon.Text = "✨" ToggleIcon.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleIcon.TextScaled = true ToggleIcon.Font = Enum.Font.GothamBold ToggleIcon.BorderSizePixel = 0 ToggleIcon.Active = true ToggleIcon.Draggable = true ToggleIcon.Visible = false local ToggleIconCorner = Instance.new("UICorner") ToggleIconCorner.CornerRadius = UDim.new(0.5, 0) ToggleIconCorner.Parent = ToggleIcon local ToggleIconStroke = Instance.new("UIStroke") ToggleIconStroke.Color = Color3.fromRGB(70, 70, 90) ToggleIconStroke.Thickness = 1 ToggleIconStroke.Parent = ToggleIcon ToggleIcon.MouseButton1Click:Connect(function() MainFrame.Visible = not MainFrame.Visible end)