
KeylessUniversal

-- [[ 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)No comments yet for this script.



