Gemini executor
Key RequiredUniversal

Gemini executor

Universal ScriptAwesomeesmirean9000Awesomeesmirean9000 49 views 212 executesUpdated Aug 14, 2026
Unrated
00
Lua Script•381 lines (11642 chars)
-- [[ GEMINI PRIVATE SCRIPT HUB - 1000+ SCRIPT MANAGER ]] --
-- Features: Multi-Script List Viewer, File Saving, Execution via xpcall
local CoreGui = game:GetService("CoreGui")
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "GeminiHubMassStorage"
ScreenGui.ResetOnSpawn = false

xpcall(function()
    ScreenGui.Parent = CoreGui
end, function()
    ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")
end)

-- ==========================================
-- OPEN BUTTON
-- ==========================================
local OpenBtn = Instance.new("TextButton")
OpenBtn.Size = UDim2.new(0, 60, 0, 40)
OpenBtn.Position = UDim2.new(0, 0, 0.5, -20)
OpenBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
OpenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
OpenBtn.TextSize = 14
OpenBtn.Font = Enum.Font.GothamBold
OpenBtn.Text = "Open"
OpenBtn.Visible = false
OpenBtn.Parent = ScreenGui

local OpenCorner = Instance.new("UICorner")
OpenCorner.CornerRadius = UDim.new(0, 5)
OpenCorner.Parent = OpenBtn

-- ==========================================
-- MAIN HUB
-- ==========================================
local MainFrame = Instance.new("Frame")
MainFrame.Size = UDim2.new(0, 750, 0, 450)
MainFrame.Position = UDim2.new(0.5, -375, 0.5, -225)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
MainFrame.BorderSizePixel = 0
MainFrame.Active = true
MainFrame.Draggable = true
MainFrame.Parent = ScreenGui

local MainCorner = Instance.new("UICorner")
MainCorner.CornerRadius = UDim.new(0, 8)
MainCorner.Parent = MainFrame

local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 30, 0, 30)
CloseBtn.Position = UDim2.new(0, 5, 0, 5)
CloseBtn.BackgroundColor3 = Color3.fromRGB(200, 50, 50)
CloseBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
CloseBtn.TextSize = 18
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.Text = "X"
CloseBtn.Parent = MainFrame

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 5)
CloseCorner.Parent = CloseBtn

local MainTitle = Instance.new("TextLabel")
MainTitle.Size = UDim2.new(1, 0, 0, 40)
MainTitle.BackgroundTransparency = 1
MainTitle.TextColor3 = Color3.fromRGB(255, 255, 255)
MainTitle.TextSize = 20
MainTitle.Font = Enum.Font.GothamBold
MainTitle.Text = "Gemini Hub - 1000+ Script Manager"
MainTitle.Parent = MainFrame

-- ==========================================
-- SCRIPT LIST
-- ==========================================
local ListContainer = Instance.new("ScrollingFrame")
ListContainer.Size = UDim2.new(0, 220, 0, 330)
ListContainer.Position = UDim2.new(0, 10, 0, 45)
ListContainer.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
ListContainer.BorderSizePixel = 0
ListContainer.CanvasSize = UDim2.new(0, 0, 0, 0)
ListContainer.AutomaticCanvasSize = Enum.AutomaticSize.Y
ListContainer.Parent = MainFrame

local ListLayout = Instance.new("UIListLayout")
ListLayout.SortOrder = Enum.SortOrder.LayoutOrder
ListLayout.Padding = UDim.new(0, 5)
ListLayout.Parent = ListContainer

-- ==========================================
-- SCRIPT EDITOR
-- ==========================================
local ScriptBox = Instance.new("TextBox")
ScriptBox.Size = UDim2.new(0, 490, 0, 330)
ScriptBox.Position = UDim2.new(0, 240, 0, 45)
ScriptBox.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
ScriptBox.TextColor3 = Color3.fromRGB(200, 200, 200)
ScriptBox.TextSize = 14
ScriptBox.Font = Enum.Font.Code
ScriptBox.TextXAlignment = Enum.TextXAlignment.Left
ScriptBox.TextYAlignment = Enum.TextYAlignment.Top
ScriptBox.ClearTextOnFocus = false
ScriptBox.MultiLine = true
ScriptBox.Text = "-- Select a script from the list or create a new one.\n"
ScriptBox.Parent = MainFrame

-- ==========================================
-- NAME INPUT
-- ==========================================
local NameInput = Instance.new("TextBox")
NameInput.Size = UDim2.new(0, 150, 0, 35)
NameInput.Position = UDim2.new(0, 10, 0, 395)
NameInput.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
NameInput.TextColor3 = Color3.fromRGB(255, 255, 255)
NameInput.PlaceholderText = "Script Name..."
NameInput.Text = ""
NameInput.TextSize = 14
NameInput.Font = Enum.Font.Gotham
NameInput.Parent = MainFrame

-- ==========================================
-- SAVE BUTTON
-- ==========================================
local SaveBtn = Instance.new("TextButton")
SaveBtn.Size = UDim2.new(0, 100, 0, 35)
SaveBtn.Position = UDim2.new(0, 175, 0, 395)
SaveBtn.BackgroundColor3 = Color3.fromRGB(40, 160, 60)
SaveBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
SaveBtn.TextSize = 14
SaveBtn.Font = Enum.Font.GothamBold
SaveBtn.Text = "Save / Add"
SaveBtn.Parent = MainFrame

-- ==========================================
-- DELETE BUTTON
-- ==========================================
local DeleteBtn = Instance.new("TextButton")
DeleteBtn.Size = UDim2.new(0, 100, 0, 35)
DeleteBtn.Position = UDim2.new(0, 285, 0, 395)
DeleteBtn.BackgroundColor3 = Color3.fromRGB(200, 40, 40)
DeleteBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
DeleteBtn.TextSize = 14
DeleteBtn.Font = Enum.Font.GothamBold
DeleteBtn.Text = "Delete"
DeleteBtn.Parent = MainFrame

-- ==========================================
-- EXECUTE BUTTON
-- ==========================================
local ExecuteBtn = Instance.new("TextButton")
ExecuteBtn.Size = UDim2.new(0, 100, 0, 35)
ExecuteBtn.Position = UDim2.new(0, 395, 0, 395)
ExecuteBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
ExecuteBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ExecuteBtn.TextSize = 14
ExecuteBtn.Font = Enum.Font.GothamBold
ExecuteBtn.Text = "Execute"
ExecuteBtn.Parent = MainFrame

-- ==========================================
-- CLEAR BUTTON
-- ==========================================
local ClearBtn = Instance.new("TextButton")
ClearBtn.Size = UDim2.new(0, 100, 0, 35)
ClearBtn.Position = UDim2.new(0, 505, 0, 395)
ClearBtn.BackgroundColor3 = Color3.fromRGB(180, 120, 40)
ClearBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ClearBtn.TextSize = 14
ClearBtn.Font = Enum.Font.GothamBold
ClearBtn.Text = "Clear"
ClearBtn.Parent = MainFrame

local ClearCorner = Instance.new("UICorner")
ClearCorner.CornerRadius = UDim.new(0, 5)
ClearCorner.Parent = ClearBtn

-- ==========================================
-- DISCORD CREDIT
-- ==========================================
local CreditLabel = Instance.new("TextLabel")
CreditLabel.Size = UDim2.new(0, 125, 0, 35)
CreditLabel.Position = UDim2.new(0, 615, 0, 395)
CreditLabel.BackgroundTransparency = 1
CreditLabel.TextColor3 = Color3.fromRGB(120, 120, 120)
CreditLabel.TextSize = 10
CreditLabel.Font = Enum.Font.GothamBold
CreditLabel.Text = "discord.gg/9mgSRN9Cy"
CreditLabel.Parent = MainFrame

-- ==========================================
-- STORAGE
-- ==========================================
local HttpService = game:GetService("HttpService")
local MASTER_FILE_NAME = "GeminiMassScripts.json"

local scriptDatabase = {}
local activeScriptSelected = nil

local function ScriptErrorHandler(errMessage)
    local trace = debug.traceback()

    warn("--- [ GEMINI HUB EXECUTION ERROR ] ---")
    warn("Error: " .. tostring(errMessage))
    warn("Traceback:\n" .. tostring(trace))
    warn("--------------------------------------")

    return errMessage
end

local function saveDatabaseToDisk()
    if writefile then
        local encoded = HttpService:JSONEncode(scriptDatabase)
        writefile(MASTER_FILE_NAME, encoded)
    end
end

local function loadDatabaseFromDisk()
    if readfile and isfile and isfile(MASTER_FILE_NAME) then
        xpcall(function()
            local decoded = HttpService:JSONDecode(
                readfile(MASTER_FILE_NAME)
            )

            if type(decoded) == "table" then
                scriptDatabase = decoded
            end
        end, function(err)
            warn("Failed to load script database: " .. tostring(err))
        end)
    end
end

-- ==========================================
-- REFRESH SCRIPT LIST
-- ==========================================
local function refreshListUI()
    for _, child in ipairs(ListContainer:GetChildren()) do
        if child:IsA("TextButton") then
            child:Destroy()
        end
    end

    for name, code in pairs(scriptDatabase) do
        local scriptBtn = Instance.new("TextButton")

        scriptBtn.Size = UDim2.new(1, -10, 0, 30)
        scriptBtn.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
        scriptBtn.TextColor3 = Color3.fromRGB(240, 240, 240)
        scriptBtn.TextSize = 13
        scriptBtn.Font = Enum.Font.Gotham
        scriptBtn.Text = name
        scriptBtn.Parent = ListContainer

        local ButtonCorner = Instance.new("UICorner")
        ButtonCorner.CornerRadius = UDim.new(0, 4)
        ButtonCorner.Parent = scriptBtn

        scriptBtn.MouseButton1Click:Connect(function()
            activeScriptSelected = name
            NameInput.Text = name
            ScriptBox.Text = code
        end)
    end
end

loadDatabaseFromDisk()
refreshListUI()

-- ==========================================
-- OPEN / CLOSE
-- ==========================================
CloseBtn.MouseButton1Click:Connect(function()
    MainFrame.Visible = false
    OpenBtn.Visible = true
end)

OpenBtn.MouseButton1Click:Connect(function()
    OpenBtn.Visible = false
    MainFrame.Visible = true
end)

-- ==========================================
-- SAVE
-- ==========================================
SaveBtn.MouseButton1Click:Connect(function()
    local sName = NameInput.Text

    if sName == "" then
        NameInput.PlaceholderText = "Enter Name!"

        task.wait(1)

        NameInput.PlaceholderText = "Script Name..."
        return
    end

    scriptDatabase[sName] = ScriptBox.Text

    saveDatabaseToDisk()
    refreshListUI()

    activeScriptSelected = sName

    SaveBtn.Text = "Saved!"

    task.wait(1)

    SaveBtn.Text = "Save / Add"
end)

-- ==========================================
-- DELETE
-- ==========================================
DeleteBtn.MouseButton1Click:Connect(function()
    local sName = NameInput.Text

    if scriptDatabase[sName] then
        scriptDatabase[sName] = nil

        saveDatabaseToDisk()
        refreshListUI()

        ScriptBox.Text = ""
        NameInput.Text = ""
        activeScriptSelected = nil

        DeleteBtn.Text = "Deleted!"

        task.wait(1)

        DeleteBtn.Text = "Delete"
    end
end)

-- ==========================================
-- CLEAR
-- ==========================================
ClearBtn.MouseButton1Click:Connect(function()
    ScriptBox.Text = ""
    NameInput.Text = ""
    activeScriptSelected = nil

    ClearBtn.Text = "Cleared!"

    task.wait(0.8)

    ClearBtn.Text = "Clear"
end)

-- ==========================================
-- EXECUTE
-- ==========================================
ExecuteBtn.MouseButton1Click:Connect(function()
    local codeToRun = ScriptBox.Text

    if codeToRun and codeToRun ~= "" then
        local success, result = xpcall(function()
            local func, compileErr = loadstring(codeToRun)

            if func then
                func()
            else
                error("Compile Error: " .. tostring(compileErr))
            end
        end, ScriptErrorHandler)

        if not success then
            ExecuteBtn.Text = "Error! (F9)"
            ExecuteBtn.BackgroundColor3 = Color3.fromRGB(200, 40, 40)
        else
            ExecuteBtn.Text = "Executed!"
            ExecuteBtn.BackgroundColor3 = Color3.fromRGB(40, 160, 60)
        end

        task.wait(1.5)

        ExecuteBtn.Text = "Execute"
        ExecuteBtn.BackgroundColor3 = Color3.fromRGB(0, 120, 215)
    end
end)

Features & Information

kewl

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts