Back to Scripts
Roblox Browser

Roblox Browser

ScriptBlox
Universal Patched Free

Game: Universal Script 📌

1,680,188 Views
61 Likes
6 Dislikes
wtfchronic

wtfchronic

offline

Features

Source Credit: Catboyy https://scriptblox.com/u/CatBoyy ------------------------------------------ Whoevers botting likes can f*ck off This sh*t was made with AI icl

Script Code

-- Full Source Credit: Catboyy (https://scriptblox.com/u/CatBoyy)
-- This was swiftly, and lazily made with AI


local GuiService = game:GetService("GuiService")
local HttpService = game:GetService("HttpService")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")

-- Function to validate and format URL
local function formatUrl(input)
    input = input:match("^%s*(.-)%s*$")
    if input == "" then
        return nil, "Please enter a URL or search query."
    end
    if input:match("^https?://") then
        return input, nil
    end
    local searchQuery = input:gsub(" ", "+")
    return "https://www.google.com/search?q=" .. searchQuery, nil
end

-- Function to open browser
local function open_browser(url, asJson)
    local info = { presentationStyle = 2, url = tostring(url or ""), title = "Web Browser", visible = true }
    local msg = asJson and HttpService:JSONEncode(info) or (info.title .. "\n" .. info.url)
    GuiService:BroadcastNotification(msg, 20)
end

-- Create GUI
local player = game.Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "BrowserGui"
screenGui.Parent = playerGui
screenGui.ResetOnSpawn = false

-- Create Main Frame with Gradient
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0, 500, 0, 60)  -- Slimmer frame for cleaner look
frame.Position = UDim2.new(0.5, -250, 1, 60)  -- Start off-screen bottom
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
frame.BorderSizePixel = 0
frame.Parent = screenGui

local uiGradient = Instance.new("UIGradient")
uiGradient.Color = ColorSequence.new{
    ColorSequenceKeypoint.new(0, Color3.fromRGB(30, 30, 30)),
    ColorSequenceKeypoint.new(1, Color3.fromRGB(15, 15, 15))
}
uiGradient.Parent = frame

local uiCornerFrame = Instance.new("UICorner")
uiCornerFrame.CornerRadius = UDim.new(0, 12)
uiCornerFrame.Parent = frame

local uiStrokeFrame = Instance.new("UIStroke")
uiStrokeFrame.Thickness = 1
uiStrokeFrame.Color = Color3.fromRGB(40, 40, 40)
uiStrokeFrame.Transparency = 0.7
uiStrokeFrame.Parent = frame

-- Create Subtle Drag Handle (integrated into top edge)
local dragHandle = Instance.new("Frame")
dragHandle.Size = UDim2.new(1, 0, 0, 4)  -- Thin handle integrated into frame
dragHandle.Position = UDim2.new(0, 0, 0, 0)
dragHandle.BackgroundTransparency = 1  -- Make it invisible but functional
dragHandle.Parent = frame

-- Add faint grip dots for subtle cue
for i = 1, 5 do
    local gripDot = Instance.new("Frame")
    gripDot.Size = UDim2.new(0, 3, 0, 3)
    gripDot.Position = UDim2.new(0.5, -30 + (i * 12), 0, 1)
    gripDot.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
    gripDot.BorderSizePixel = 0
    gripDot.Parent = dragHandle
end

-- Create TextBox for URL/Search input
local textBox = Instance.new("TextBox")
textBox.Size = UDim2.new(0.85, -50, 0, 35)  -- Adjusted height for vertical centering
textBox.Position = UDim2.new(0.05, 0, 0.5, -17.5)  -- Centered vertically
textBox.BackgroundColor3 = Color3.fromRGB(15, 15, 15)  -- Darker for cleaner look
textBox.BackgroundTransparency = 0.5
textBox.TextColor3 = Color3.fromRGB(220, 220, 220)
textBox.PlaceholderText = "e.g, google.com"
textBox.PlaceholderColor3 = Color3.fromRGB(120, 120, 120)
textBox.Font = Enum.Font.Gotham
textBox.TextSize = 14
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.Text = ""  -- Start empty
textBox.Parent = frame

local uiCornerTextBox = Instance.new("UICorner")
uiCornerTextBox.CornerRadius = UDim.new(0, 8)
uiCornerTextBox.Parent = textBox

local uiStrokeTextBox = Instance.new("UIStroke")
uiStrokeTextBox.Thickness = 1
uiStrokeTextBox.Color = Color3.fromRGB(50, 50, 50)
uiStrokeTextBox.Transparency = 0.3
uiStrokeTextBox.Parent = textBox

-- Hover effect for textbox
local function addHoverEffect(element)
    local originalTransparency = element.BackgroundTransparency
    local originalStrokeColor = uiStrokeTextBox.Color
    
    element.MouseEnter:Connect(function()
        TweenService:Create(element, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0.4}):Play()
        uiStrokeTextBox.Color = Color3.fromRGB(70, 70, 70)
    end)
    
    element.MouseLeave:Connect(function()
        TweenService:Create(element, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0.5}):Play()
        uiStrokeTextBox.Color = originalStrokeColor
    end)
end

addHoverEffect(textBox)

-- Create Send Button
local sendButton = Instance.new("TextButton")
sendButton.Size = UDim2.new(0, 35, 0, 35)
sendButton.Position = UDim2.new(0.9, -10, 0.5, -17.5)  -- Centered vertically
sendButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
sendButton.BackgroundTransparency = 0.7
sendButton.Text = "↑"
sendButton.TextColor3 = Color3.fromRGB(200, 200, 200)
sendButton.Font = Enum.Font.GothamBold
sendButton.TextSize = 16
sendButton.Parent = frame

local uiCornerButton = Instance.new("UICorner")
uiCornerButton.CornerRadius = UDim.new(0, 17.5)
uiCornerButton.Parent = sendButton

local uiStrokeButton = Instance.new("UIStroke")
uiStrokeButton.Thickness = 1
uiStrokeButton.Color = Color3.fromRGB(100, 100, 100)
uiStrokeButton.Transparency = 0.4
uiStrokeButton.Parent = sendButton

-- Hover effect for button
local function addButtonHover(element)
    local originalTransparency = element.BackgroundTransparency
    local originalStrokeColor = uiStrokeButton.Color
    
    element.MouseEnter:Connect(function()
        TweenService:Create(element, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0.6}):Play()
        uiStrokeButton.Color = Color3.fromRGB(150, 150, 150)
    end)
    
    element.MouseLeave:Connect(function()
        TweenService:Create(element, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {BackgroundTransparency = 0.7}):Play()
        uiStrokeButton.Color = originalStrokeColor
    end)
end

addButtonHover(sendButton)

-- Create Status Label
local statusLabel = Instance.new("TextLabel")
statusLabel.Size = UDim2.new(0.9, 0, 0, 20)
statusLabel.Position = UDim2.new(0.05, 0, 0.85, 0)
statusLabel.BackgroundTransparency = 1
statusLabel.TextColor3 = Color3.fromRGB(150, 150, 150)
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 12
statusLabel.Text = ""
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.Parent = frame

-- Opening Animation
local function animateOpen()
    local tweenInfo = TweenInfo.new(0.5, Enum.EasingStyle.Quint, Enum.EasingDirection.Out)
    local goal = {Position = UDim2.new(0.5, -250, 0.9, -30)}
    TweenService:Create(frame, tweenInfo, goal):Play()
end

animateOpen()

-- Dragging Functionality
local dragging = false
local dragInput
local dragStart
local startPos

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

dragHandle.InputChanged:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end)

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

-- Button click event
sendButton.MouseButton1Click:Connect(function()
    local input = textBox.Text
    local url, errorMsg = formatUrl(input)
    
    if errorMsg then
        statusLabel.Text = errorMsg
        statusLabel.TextColor3 = Color3.fromRGB(255, 100, 100)
        wait(3)
        statusLabel.Text = ""
        return
    end
    
    statusLabel.Text = "Opening " .. input .. "..."
    statusLabel.TextColor3 = Color3.fromRGB(100, 200, 100)
    open_browser(url, true)
    
    wait(3)
    statusLabel.Text = ""
end)

-- Allow Enter key to submit
textBox.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        sendButton.MouseButton1Click:Fire()
    end
end)

Ratings & Reviews

No reviews yet. Be the first to review this script!

Comments (0)

Please login to comment

Login with Discord

Loading comments...