
KeylessUniversal

-- ─────────────── ✦ Universal - Eclipsium ✦ ───────────────
-- Created by: primesto.fx
-- Maintained by: primesto.fx
-- DM on Discord for requests: primesto.fx
-- ────────────────────────────────────────────────────────────────
-- ------------------------------- Configuration ----------------------------------
local Eclipsium = {}
-- Whether to enable pick scripts GUI when true; otherwise scripts run in order
Eclipsium.pickscript = true
Eclipsium.scripts = {
{
id = "placeholder",
name = "Placeholder",
enabled = true,
url = "placeholder",
delay = 3,
},
{
id = "placeholder2",
name = "Placeholder",
enabled = true,
url = "placeholder",
delay = 3,
},
}
--[[ You can add more scripts to the list above by following the structure
Each script should have:
- id: A unique identifier for the script.
- name: A name for the script that will be displayed.
- enabled: A boolean indicating whether to load this script.
- url: The direct URL to the raw Lua script.
- delay: (optional) Number of seconds to wait before loading the script, recommend using this.
]]
------------------------------- Color Palette ----------------------------------
local UI = {}
UI.colors = {
deep_purple = "#450a53",
pink = "#410038",
overlay = "#0B0710",
container = "#3A1A3A",
container_highlight = "#140418",
text = "#E6E6E6",
divider = "#262028",
shadow = "#1B1218",
accent = "#FF2D95",
prog_glow = "#FF5AAE",
container_border = "#2F1A2F",
accent_dark = "#C01A7A",
subtitle = "#bb8dbb",
rose = "#C51B50",
picker_bg = "#0F0810",
picker_border = "#340615",
}
-- Modify the colors above to change how the UI looks.
------------------------------- Color Helper ----------------------------------
local function hexToColor3(hex)
local fallback = (UI and UI.colors and UI.colors.text) or "#E6E6E6"
if not hex then hex = fallback end
if typeof(hex) == "Color3" then return hex end
if type(hex) ~= "string" then hex = fallback end
local s = hex:gsub("#", "")
if #s ~= 6 then hex = fallback; s = hex:gsub("#", "") end
local r = tonumber("0x"..s:sub(1,2))
local g = tonumber("0x"..s:sub(3,4))
local b = tonumber("0x"..s:sub(5,6))
if not (r and g and b) then
local sf = (UI and UI.colors and UI.colors.text) or "E6E6E6"
local ss = sf:gsub("#", "")
return Color3.fromRGB(tonumber("0x"..ss:sub(1,2)), tonumber("0x"..ss:sub(3,4)), tonumber("0x"..ss:sub(5,6)))
end
return Color3.fromRGB(r, g, b)
end
local RECENT_NOTIFS = setmetatable({}, { __mode = "k" })
local ACTIVE_NOTIF_COUNT = 0
local SCRIPTS_REMAINING = 0
local CURRENT_OVERLAY = nil
CURRENT_OVERLAY = nil
-- ------------------------------- Services & Utilities -------------------------------
local Services = {}
Services.Players = game:GetService("Players")
Services.CoreGui = game:GetService("CoreGui")
Services.TweenService = game:GetService("TweenService")
Services.Lighting = game:GetService("Lighting")
local function sleep(sec)
if not sec or sec <= 0 then return end
if type(task) == "table" and type(task.wait) == "function" then
task.wait(sec)
elseif type(wait) == "function" then
wait(sec)
else
local t0 = os.clock()
while os.clock() - t0 < sec do end
end
end
-- ------------------------------- Notification Helper Code -------------------------------
local function getParentGui(parent)
local Players = Services.Players
local CoreGui = Services.CoreGui
local lp = Players and Players.LocalPlayer
if parent and parent ~= gui then
return parent
end
local existing = CoreGui:FindFirstChild("Eclipsium_Notifications")
local playerGui = lp and lp:FindFirstChild("PlayerGui")
if not existing and playerGui then existing = playerGui:FindFirstChild("Eclipsium_Notifications") end
if existing then return existing end
local created = Instance.new("ScreenGui")
created.Name = "Eclipsium_Notifications"
created.ResetOnSpawn = false
created.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
created.IgnoreGuiInset = true
if lp and lp:FindFirstChild("PlayerGui") then
created.Parent = lp:WaitForChild("PlayerGui")
else
created.Parent = CoreGui
end
created.DisplayOrder = 10000
return created
end
local function ensureHolder(parentGui)
local holder = parentGui:FindFirstChild("EclipsiumNotificationsHolder")
if holder then return holder end
holder = Instance.new("Frame")
holder.Name = "EclipsiumNotificationsHolder"
holder.Size = UDim2.new(0, 600, 0, 200)
holder.AnchorPoint = Vector2.new(0.5, 0)
holder.Position = UDim2.new(0.5, 0, 0, 12)
holder.BackgroundTransparency = 1
holder.ZIndex = 1000
holder.Parent = parentGui
local layout = Instance.new("UIListLayout")
layout.Name = "EclipsiumNotificationsLayout"
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Padding = UDim.new(0, 8)
layout.VerticalAlignment = Enum.VerticalAlignment.Top
layout.HorizontalAlignment = Enum.HorizontalAlignment.Center
layout.Parent = holder
local pad = Instance.new("UIPadding") pad.Parent = holder
pad.PaddingLeft = UDim.new(0, 0)
pad.PaddingTop = UDim.new(0, 0)
return holder
end
local function ensureOverlayAndBlur(parentGui)
local TweenService = Services.TweenService
local overlay = nil
local CoreGui = Services.CoreGui
local Players = Services.Players
local lp = Players and Players.LocalPlayer
local playerGui = lp and lp:FindFirstChild("PlayerGui")
overlay = parentGui:FindFirstChild("EclipsiumNotificationOverlay")
if not overlay and CoreGui then overlay = CoreGui:FindFirstChild("EclipsiumNotificationOverlay") end
if not overlay and playerGui then overlay = playerGui:FindFirstChild("EclipsiumNotificationOverlay") end
if overlay then
if overlay.Parent ~= parentGui then
overlay.Parent = parentGui
end
overlay.BackgroundColor3 = hexToColor3(UI.colors.overlay)
overlay.ZIndex = (parentGui:FindFirstChild("EclipsiumNotificationsHolder") and parentGui.EclipsiumNotificationsHolder.ZIndex or 1000) - 1
TweenService:Create(overlay, TweenInfo.new(0.12, Enum.EasingStyle.Quad), {BackgroundTransparency = 0.1}):Play()
CURRENT_OVERLAY = overlay
else
overlay = Instance.new("Frame")
overlay.Name = "EclipsiumNotificationOverlay"
overlay.Size = UDim2.new(1, 0, 1, 0)
overlay.AnchorPoint = Vector2.new(0, 0)
overlay.Position = UDim2.new(0, 0, 0, 0)
overlay.BackgroundTransparency = 1
overlay.BackgroundColor3 = hexToColor3(UI.colors.overlay)
overlay.BorderSizePixel = 0
overlay.ZIndex = (parentGui:FindFirstChild("EclipsiumNotificationsHolder") and parentGui.EclipsiumNotificationsHolder.ZIndex or 1000) - 1
overlay.Parent = parentGui
TweenService:Create(overlay, TweenInfo.new(0.18, Enum.EasingStyle.Quad), {BackgroundTransparency = 0.1}):Play()
CURRENT_OVERLAY = overlay
end
local Lighting = Services.Lighting
local existing = Lighting:FindFirstChild("EclipsiumNotifBlur")
if not existing then
local blur = Instance.new("BlurEffect")
blur.Name = "EclipsiumNotifBlur"
blur.Size = 0
blur.Enabled = true
blur.Parent = Lighting
TweenService:Create(blur, TweenInfo.new(0.18, Enum.EasingStyle.Quad), {Size = 12}):Play()
end
return overlay
end
local function buildNotificationCard(parentGui, text)
local container = Instance.new("Frame")
container.Name = "EclipsiumNotification"
container.Size = UDim2.new(0, 0, 0, 0)
container.BackgroundColor3 = hexToColor3(UI.colors.container)
container.BackgroundTransparency = 0
container.BorderSizePixel = 0
container.AnchorPoint = Vector2.new(0.5, 0.5)
container.Position = UDim2.new(0.5, 0, 0.05, 0)
container.ZIndex = 10002
container.Parent = parentGui
ACTIVE_NOTIF_COUNT = ACTIVE_NOTIF_COUNT + 1
RECENT_NOTIFS[container] = true
local finalSize = UDim2.new(0, 640, 0, 96)
local shadow = Instance.new("Frame")
shadow.Name = "EclipsiumNotificationShadow"
shadow.Size = UDim2.new(0, finalSize.X.Offset + 16, 0, finalSize.Y.Offset + 8)
shadow.AnchorPoint = Vector2.new(0.5, 0.5)
shadow.Position = UDim2.new(0.5, 0, 0.05, 8)
shadow.BackgroundColor3 = hexToColor3(UI.colors.shadow)
shadow.BackgroundTransparency = 1
shadow.ZIndex = container.ZIndex - 1
shadow.Parent = parentGui
local shadowCorner = Instance.new("UICorner") shadowCorner.CornerRadius = UDim.new(0,12) shadowCorner.Parent = shadow
local cCorner = Instance.new("UICorner") cCorner.CornerRadius = UDim.new(0,12) cCorner.Parent = container
local cStroke = Instance.new("UIStroke")
cStroke.Color = hexToColor3(UI.colors.container_border)
cStroke.Thickness = 1
cStroke.Parent = container
local inner = Instance.new("Frame")
inner.Size = UDim2.new(1, -28, 1, -20)
inner.Position = UDim2.new(0, 14, 0, 10)
inner.BackgroundTransparency = 1
inner.BackgroundColor3 = hexToColor3(UI.colors.container_highlight)
inner.ZIndex = container.ZIndex + 1
inner.Parent = container
local innerCorner = Instance.new("UICorner") innerCorner.CornerRadius = UDim.new(0,10) innerCorner.Parent = inner
local innerStroke = Instance.new("UIStroke") innerStroke.Color = hexToColor3(UI.colors.container_border) innerStroke.Thickness = 0.6 innerStroke.Transparency = 0.7 innerStroke.Parent = inner
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -140, 0, 28)
label.Position = UDim2.new(0, 80, 0, 6)
label.BackgroundTransparency = 1
label.Font = Enum.Font.GothamBold
label.TextSize = 20
label.Text = tostring(text or "Notification")
label.TextColor3 = hexToColor3(UI.colors.text)
label.TextXAlignment = Enum.TextXAlignment.Left
label.ZIndex = inner.ZIndex + 1
label.Parent = inner
local subtitle = Instance.new("TextLabel")
subtitle.Size = UDim2.new(1, -140, 0, 20)
subtitle.Position = UDim2.new(0, 80, 0, 36)
subtitle.BackgroundTransparency = 1
subtitle.Font = Enum.Font.Gotham
subtitle.TextSize = 14
subtitle.Text = "Loading — please wait"
subtitle.TextColor3 = hexToColor3(UI.colors.subtitle)
subtitle.TextXAlignment = Enum.TextXAlignment.Left
subtitle.ZIndex = inner.ZIndex + 1
subtitle.Parent = inner
local icon = Instance.new("TextLabel")
icon.Size = UDim2.new(0, 56, 0, 56)
icon.Position = UDim2.new(0, 12, 0, 10)
icon.BackgroundTransparency = 1
icon.Font = Enum.Font.GothamBold
icon.TextSize = 28
icon.Text = "⚡"
icon.TextColor3 = hexToColor3(UI.colors.accent)
icon.ZIndex = inner.ZIndex + 2
icon.Parent = inner
local barHolder = Instance.new("Frame")
barHolder.Size = UDim2.new(1, -24, 0, 8)
barHolder.Position = UDim2.new(0, 12, 1, -14)
barHolder.BackgroundTransparency = 1
barHolder.ZIndex = container.ZIndex + 1
barHolder.Parent = container
local progGlow = Instance.new("Frame")
progGlow.Name = "ProgGlow"
progGlow.AnchorPoint = Vector2.new(0, 0)
progGlow.Position = UDim2.new(0, 0, 0, 0)
progGlow.Size = UDim2.new(0, 0, 1, 0)
progGlow.BackgroundColor3 = hexToColor3(UI.colors.prog_glow)
progGlow.BackgroundTransparency = 1
progGlow.ZIndex = container.ZIndex + 1
progGlow.Parent = barHolder
local pgc = Instance.new("UICorner") pgc.CornerRadius = UDim.new(0,4) pgc.Parent = progGlow
local prog = Instance.new("Frame")
prog.AnchorPoint = Vector2.new(0, 0)
prog.Position = UDim2.new(0, 0, 0, 0)
prog.Size = UDim2.new(0, 0, 1, 0)
prog.BackgroundColor3 = hexToColor3(UI.colors.accent)
prog.BorderSizePixel = 0
prog.ZIndex = container.ZIndex + 2
prog.Parent = barHolder
local progCorner = Instance.new("UICorner") progCorner.CornerRadius = UDim.new(0,4) progCorner.Parent = prog
local progStroke = Instance.new("UIStroke") progStroke.Color = hexToColor3(UI.colors.accent) progStroke.Thickness = 1 progStroke.Transparency = 0.6 progStroke.Parent = prog
local g = Instance.new("UIGradient")
g.Rotation = 0
g.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, hexToColor3(UI.colors.accent)),
ColorSequenceKeypoint.new(1, hexToColor3(UI.colors.accent_dark))
})
g.Parent = prog
local cg = Instance.new("UIGradient")
cg.Rotation = 90
cg.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, hexToColor3(UI.colors.deep_purple)),
ColorSequenceKeypoint.new(1, hexToColor3(UI.colors.deep_purple))
})
cg.Parent = container
local top = Instance.new("Frame")
top.Size = UDim2.new(1, 0, 0, 6)
top.Position = UDim2.new(0, 0, 0, 0)
top.BackgroundColor3 = hexToColor3(UI.colors.deep_purple)
top.BackgroundTransparency = 0.9
top.BorderSizePixel = 0
top.ZIndex = container.ZIndex + 3
top.Parent = container
local tcorner = Instance.new("UICorner") tcorner.CornerRadius = UDim.new(0,6) tcorner.Parent = top
return {
container = container,
shadow = shadow,
inner = inner,
label = label,
subtitle = subtitle,
icon = icon,
prog = prog,
progGlow = progGlow,
finalSize = finalSize,
}
end
------------------------------- Animation Functions -------------------------------
local function animateEntrance(elems)
local TweenService = Services.TweenService
TweenService:Create(elems.container, TweenInfo.new(0.56, Enum.EasingStyle.Elastic, Enum.EasingDirection.Out), {Size = elems.finalSize, Position = UDim2.new(0.5, 0, 0.12, 0)}):Play()
TweenService:Create(elems.shadow, TweenInfo.new(0.48, Enum.EasingStyle.Quad), {Size = UDim2.new(0, elems.finalSize.X.Offset + 16, 0, elems.finalSize.Y.Offset + 8), Position = UDim2.new(0.5, 0, 0.12, 8), BackgroundTransparency = 0.88}):Play()
TweenService:Create(elems.inner, TweenInfo.new(0.28, Enum.EasingStyle.Quad), {BackgroundTransparency = 0}):Play()
TweenService:Create(elems.progGlow, TweenInfo.new(0.32, Enum.EasingStyle.Quad), {BackgroundTransparency = 0.7}):Play()
elems.label.TextTransparency = 1
elems.subtitle.TextTransparency = 1
elems.icon.TextTransparency = 1
TweenService:Create(elems.label, TweenInfo.new(0.28, Enum.EasingStyle.Quad), {TextTransparency = 0}):Play()
TweenService:Create(elems.subtitle, TweenInfo.new(0.28, Enum.EasingStyle.Quad), {TextTransparency = 0}):Play()
TweenService:Create(elems.icon, TweenInfo.new(0.28, Enum.EasingStyle.Quad), {TextTransparency = 0}):Play()
end
local function animateExitAndCleanup(elems, overlay, notifDone)
local TweenService = Services.TweenService
if elems and type(elems) == "table" then
ACTIVE_NOTIF_COUNT = math.max(0, ACTIVE_NOTIF_COUNT - 1)
if elems.label then TweenService:Create(elems.label, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play() end
if elems.subtitle then TweenService:Create(elems.subtitle, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play() end
if elems.icon then TweenService:Create(elems.icon, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play() end
if elems.inner then TweenService:Create(elems.inner, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}):Play() end
if elems.container then TweenService:Create(elems.container, TweenInfo.new(0.22, Enum.EasingStyle.Quad), {Position = UDim2.new(0.5,0,0.0,0), Size = UDim2.new(0, 40, 0, 20)}):Play() end
end
task.delay(0.28, function()
if elems and type(elems) == "table" then
if elems.label then TweenService:Create(elems.label, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play() end
if elems.subtitle then TweenService:Create(elems.subtitle, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play() end
if elems.icon then TweenService:Create(elems.icon, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {TextTransparency = 1}):Play() end
if elems.inner then TweenService:Create(elems.inner, TweenInfo.new(0.14, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}):Play() end
local contTween = elems.container and TweenService:Create(elems.container, TweenInfo.new(0.32, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Position = UDim2.new(0.5,0,0.0,0), Size = UDim2.new(0, 40, 0, 20)}) or nil
local shadowTween = elems.shadow and TweenService:Create(elems.shadow, TweenInfo.new(0.28, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}) or nil
if contTween then contTween:Play() end
if shadowTween then shadowTween:Play() end
local function do_cleanup()
if elems and elems.progGlow and elems.progGlow.Parent then elems.progGlow:Destroy() end
if elems and elems.container and elems.container.Parent then elems.container:Destroy() end
if elems and elems.shadow and elems.shadow.Parent then elems.shadow:Destroy() end
local toRemove = overlay or CURRENT_OVERLAY
if ACTIVE_NOTIF_COUNT == 0 and SCRIPTS_REMAINING == 0 then
if toRemove and toRemove.Parent then
TweenService:Create(toRemove, TweenInfo.new(0.12, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}):Play()
task.delay(0.14, function()
if toRemove and toRemove.Parent then toRemove:Destroy() end
if CURRENT_OVERLAY == toRemove then CURRENT_OVERLAY = nil end
end)
end
local b = Services.Lighting:FindFirstChild("EclipsiumNotifBlur")
if b then
TweenService:Create(b, TweenInfo.new(0.12, Enum.EasingStyle.Quad), {Size = 0}):Play()
task.delay(0.14, function()
local b2 = Services.Lighting:FindFirstChild("EclipsiumNotifBlur")
if b2 and b2.Parent then b2:Destroy() end
end)
end
end
end
if contTween then
contTween.Completed:Connect(function()
do_cleanup()
if notifDone and type(notifDone.Fire) == "function" then notifDone:Fire(true) end
if notifDone and type(notifDone.Destroy) == "function" then notifDone:Destroy() end
end)
else
do_cleanup()
if notifDone and type(notifDone.Fire) == "function" then notifDone:Fire(true) end
if notifDone and type(notifDone.Destroy) == "function" then notifDone:Destroy() end
end
else
if notifDone and type(notifDone.Fire) == "function" then notifDone:Fire(true) end
if notifDone and type(notifDone.Destroy) == "function" then notifDone:Destroy() end
end
end)
end
local function runCallbackProgress(runCallback, elems, dur, overlay, notifDone)
local TweenService = Services.TweenService
if type(runCallback) == "function" then
local doneEvent = Instance.new("BindableEvent")
local finished = false
local ok, err
local conn = doneEvent.Event:Connect(function(a, b)
finished = true
ok = a; err = b
end)
task.wait(0)
task.spawn(function()
runCallback()
doneEvent:Fire(true, nil)
end)
local progress = 0
while not finished do
progress = math.min(0.9, progress + 0.02)
elems.prog.Size = UDim2.new(progress, 0, 1, 0)
task.wait(0.05)
end
elems.prog.Size = UDim2.new(1, 0, 1, 0)
task.wait(0.18)
conn:Disconnect()
doneEvent:Destroy()
animateExitAndCleanup(elems, overlay, notifDone)
else
local progTween = TweenService:Create(elems.prog, TweenInfo.new(dur, Enum.EasingStyle.Linear), {Size = UDim2.new(1, 0, 1, 0)})
progTween:Play()
task.delay(dur, function()
animateExitAndCleanup(elems, overlay, notifDone)
end)
end
end
local function makeNotification(text, duration, parent, runCallback)
local dur = (type(duration) == "number" and duration > 0) and duration or 3
local parentGui = getParentGui(parent)
parentGui.IgnoreGuiInset = true
parentGui.DisplayOrder = 10000
if NOTIFICATIONS_ENABLED == false then return nil end
local holder = ensureHolder(parentGui)
local overlay = ensureOverlayAndBlur(parentGui)
local elems = buildNotificationCard(parentGui, text)
animateEntrance(elems)
local completion = Instance.new("BindableEvent")
task.spawn(function()
runCallbackProgress(runCallback, elems, dur, overlay, completion)
end)
return elems.container, completion
end
local function forceNotify(text, duration, parent)
local dur = (type(duration) == "number" and duration > 0) and duration or 4
local parentGui = getParentGui(parent)
parentGui.IgnoreGuiInset = true
parentGui.DisplayOrder = 10000
local holder = ensureHolder(parentGui)
local overlay = ensureOverlayAndBlur(parentGui)
local elems = buildNotificationCard(parentGui, text)
animateEntrance(elems)
local completion = Instance.new("BindableEvent")
task.spawn(function()
runCallbackProgress(nil, elems, dur, overlay, completion)
end)
return elems.container, completion
end
--------------------------------------- ** Loader Code Starts here ** ---------------------------------------
local function convertToRawUrl(url)
if type(url) ~= "string" then return url end
url = url:gsub("^%s+",""):gsub("%s+$", "")
-- conv common github.com blob URLs to raw.githubusercontent.com
local github_blob = url:match("https?://github%.com/.+/.+/blob/.+")
if github_blob then
-- https://github.com/<user>/<repo>/blob/<branch>/path -> https://raw.githubusercontent.com/<user>/<repo>/<branch>/path
url = url:gsub("https://github.com/", "https://raw.githubusercontent.com/")
url = url:gsub("http://github.com/", "https://raw.githubusercontent.com/")
url = url:gsub("/blob/", "/")
return url
end
return url
end
local function isValidLink(url)
if type(url) ~= "string" then return false end
url = url:match("^%s*(.-)%s*$") or url
if url:match("^https?://") then return true end
if url:match("raw%.githubusercontent%.com") then return true end
return false
end
------------------------------- Loader Main Function ----------------------------------
local function isEmpty(v)
return v == nil or (type(v) == "string" and v:match("^%s*$"))
end
local function executeEntry(entry)
local label = tostring((not isEmpty(entry.name) and entry.name) or (not isEmpty(entry.id) and entry.id) or "<unknown>")
if isEmpty(entry.name) or isEmpty(entry.id) then
forceNotify(("%s: You need to pass a name and ID for the script."):format(label), 6)
SCRIPTS_REMAINING = math.max(0, SCRIPTS_REMAINING - 1)
return
end
if not entry.url then
forceNotify(("%s: You need to pass a proper link to load."):format(label), 6)
SCRIPTS_REMAINING = math.max(0, SCRIPTS_REMAINING - 1)
return
end
local url = convertToRawUrl(entry.url)
if not isValidLink(url) then
forceNotify(("%s: You need to pass a proper link to load."):format(label), 6)
SCRIPTS_REMAINING = math.max(0, SCRIPTS_REMAINING - 1)
return
end
local _, doneEvent = makeNotification(("Executing %s"):format(label), nil, nil, function()
if type(entry.delay) == "number" and entry.delay > 0 then
sleep(entry.delay)
end
local body = game:HttpGet(url)
if not body or type(body) ~= "string" or body:match("^%s*$") or body:match("404") or body:match("Not Found") then
forceNotify(("%s: Link didn't return anything to load"):format(label), 6)
SCRIPTS_REMAINING = math.max(0, SCRIPTS_REMAINING - 1)
return
end
local fn, loadErr = loadstring(body)
if not fn then
forceNotify(("%s: Link didn't return anything to load"):format(label), 6)
SCRIPTS_REMAINING = math.max(0, SCRIPTS_REMAINING - 1)
return
end
task.spawn(function()
fn(true)
end)
SCRIPTS_REMAINING = math.max(0, SCRIPTS_REMAINING - 1)
end)
if doneEvent and doneEvent.Event then
doneEvent.Event:Wait()
end
end
function Eclipsium.run()
local function sleep(sec)
if not sec or sec <= 0 then return end
if type(task) == "table" and type(task.wait) == "function" then
task.wait(sec)
elseif type(wait) == "function" then
wait(sec)
else
local t0 = os.clock()
while os.clock() - t0 < sec do end
end
end
local enabledCount = 0
for _, e in ipairs(Eclipsium.scripts) do
if e.enabled ~= false then enabledCount = enabledCount + 1 end
end
-- if pickscript is enabled or disabled
if Eclipsium.pickscript then
local parentGui = getParentGui(nil)
local overlay = ensureOverlayAndBlur(parentGui)
do
local b = Services.Lighting:FindFirstChild("EclipsiumNotifBlur")
if b then
Services.TweenService:Create(b, TweenInfo.new(0.18, Enum.EasingStyle.Quad), {Size = 18}):Play()
end
end
local panel = Instance.new("Frame")
panel.Name = "EclipsiumScriptPicker"
panel.Size = UDim2.new(0, 640, 0, 420)
panel.Position = UDim2.new(0.5, -320, 0.5, -210)
panel.AnchorPoint = Vector2.new(0, 0)
panel.BackgroundColor3 = hexToColor3(UI.colors.picker_bg)
panel.BackgroundTransparency = 0.06
panel.BorderSizePixel = 0
panel.ZIndex = 10005
panel.Parent = parentGui
local panelCorner = Instance.new("UICorner") panelCorner.CornerRadius = UDim.new(0, 12) panelCorner.Parent = panel
local panelStroke = Instance.new("UIStroke") panelStroke.Color = hexToColor3(UI.colors.rose) panelStroke.Thickness = 2 panelStroke.Parent = panel
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -24, 0, 36)
title.Position = UDim2.new(0, 12, 0, 12)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextSize = 18
title.Text = "Select scripts to run"
title.TextColor3 = hexToColor3(UI.colors.text)
title.TextXAlignment = Enum.TextXAlignment.Left
title.Parent = panel
local TweenService = Services.TweenService
local list = Instance.new("ScrollingFrame")
list.Name = "EclipsiumScriptList"
list.Size = UDim2.new(1, -24, 1, -120)
list.Position = UDim2.new(0, 12, 0, 56)
list.BackgroundTransparency = 1
list.ScrollBarThickness = 8
list.CanvasSize = UDim2.new(0, 0, 0, 0)
list.Parent = panel
local listLayout = Instance.new("UIListLayout")
listLayout.Parent = list
listLayout.SortOrder = Enum.SortOrder.LayoutOrder
listLayout.Padding = UDim.new(0, 8)
local listPadding = Instance.new("UIPadding") listPadding.Parent = list
listPadding.PaddingTop = UDim.new(0, 4)
listPadding.PaddingBottom = UDim.new(0, 8)
local selections = {}
local buttons = {}
local visibleIndices = {}
for i, entry in ipairs(Eclipsium.scripts) do
if entry and entry.enabled ~= false then
table.insert(visibleIndices, i)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 44)
btn.BackgroundColor3 = hexToColor3(UI.colors.container_highlight)
btn.BorderSizePixel = 0
btn.Font = Enum.Font.Gotham
btn.Text = ""
btn.TextColor3 = hexToColor3(UI.colors.text)
btn.AnchorPoint = Vector2.new(0, 0)
btn.Parent = list
local inner = Instance.new("Frame")
inner.Size = UDim2.new(1, -12, 1, 0)
inner.Position = UDim2.new(0, 8, 0, 0)
inner.BackgroundTransparency = 1
inner.Parent = btn
local nameLabel = Instance.new("TextLabel")
nameLabel.Size = UDim2.new(1, -56, 1, 0)
nameLabel.Position = UDim2.new(0, 0, 0, 0)
nameLabel.BackgroundTransparency = 1
nameLabel.Font = Enum.Font.GothamBold
nameLabel.TextSize = 16
nameLabel.Text = tostring(entry.name or entry.id or ("Script %d"):format(i))
nameLabel.TextColor3 = hexToColor3(UI.colors.text)
nameLabel.TextXAlignment = Enum.TextXAlignment.Left
nameLabel.Parent = inner
local check = Instance.new("TextLabel")
check.Size = UDim2.new(0, 36, 0, 36)
check.Position = UDim2.new(1, -36, 0.5, -18)
check.BackgroundTransparency = 1
check.Font = Enum.Font.GothamBold
check.TextSize = 20
check.Text = ""
check.TextColor3 = hexToColor3(UI.colors.text)
check.Parent = inner
local cc = Instance.new("UICorner") cc.CornerRadius = UDim.new(0,8) cc.Parent = btn
local stroke = Instance.new("UIStroke")
stroke.Color = hexToColor3(UI.colors.container_border)
stroke.Thickness = 1
stroke.Parent = btn
local btnIndex = #visibleIndices
buttons[btnIndex] = {button = btn, check = check, name = nameLabel, stroke = stroke}
selections[btnIndex] = false
btn.MouseEnter:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.12), {BackgroundColor3 = hexToColor3(UI.colors.container)}):Play()
end)
btn.MouseLeave:Connect(function()
if selections[i] then
TweenService:Create(btn, TweenInfo.new(0.12), {BackgroundColor3 = hexToColor3(UI.colors.accent)}):Play()
else
TweenService:Create(btn, TweenInfo.new(0.12), {BackgroundColor3 = hexToColor3(UI.colors.container_highlight)}):Play()
end
end)
btn.MouseButton1Click:Connect(function()
selections[btnIndex] = not selections[btnIndex]
if selections[btnIndex] then
check.Text = "✓"
buttons[btnIndex].stroke.Color = hexToColor3(UI.colors.rose)
buttons[btnIndex].stroke.Thickness = 2
TweenService:Create(btn, TweenInfo.new(0.14), {BackgroundColor3 = hexToColor3(UI.colors.accent)}):Play()
else
check.Text = ""
buttons[btnIndex].stroke.Color = hexToColor3(UI.colors.container_border)
buttons[btnIndex].stroke.Thickness = 1
TweenService:Create(btn, TweenInfo.new(0.14), {BackgroundColor3 = hexToColor3(UI.colors.container_highlight)}):Play()
end
end)
end
end
task.spawn(function()
task.wait(0.03)
local total = 0
for _, v in ipairs(list:GetChildren()) do
if v:IsA("GuiObject") and v.Visible then
total = total + (v.AbsoluteSize.Y + 8)
end
end
list.CanvasSize = UDim2.new(0, 0, 0, total)
end)
local confirm = Instance.new("TextButton")
confirm.Size = UDim2.new(0.5, -18, 0, 44)
confirm.Position = UDim2.new(0, 12, 1, -60)
confirm.AnchorPoint = Vector2.new(0, 0)
confirm.BackgroundColor3 = hexToColor3(UI.colors.accent)
confirm.Font = Enum.Font.GothamBold
confirm.TextSize = 16
confirm.Text = "Confirm"
confirm.TextColor3 = hexToColor3(UI.colors.text)
confirm.Parent = panel
local cCorner = Instance.new("UICorner") cCorner.CornerRadius = UDim.new(0,6) cCorner.Parent = confirm
local cancel = Instance.new("TextButton")
cancel.Size = UDim2.new(0.5, -18, 0, 44)
cancel.Position = UDim2.new(0.5, 6, 1, -60)
cancel.AnchorPoint = Vector2.new(0, 0)
cancel.BackgroundColor3 = hexToColor3(UI.colors.container_border)
cancel.Font = Enum.Font.GothamBold
cancel.TextSize = 16
cancel.Text = "Cancel"
cancel.TextColor3 = hexToColor3(UI.colors.text)
cancel.Parent = panel
local xCorner = Instance.new("UICorner") xCorner.CornerRadius = UDim.new(0,6) xCorner.Parent = cancel
local selEvent = Instance.new("BindableEvent")
confirm.MouseButton1Click:Connect(function()
local chosen = {}
for btnIndex, sel in ipairs(selections) do
if sel then
local orig = visibleIndices[btnIndex]
if orig and Eclipsium.scripts[orig] and Eclipsium.scripts[orig].enabled ~= false then
table.insert(chosen, orig)
end
end
end
selEvent:Fire(chosen)
end)
cancel.MouseButton1Click:Connect(function()
local TweenService = Services.TweenService
if overlay and overlay.Parent then
TweenService:Create(overlay, TweenInfo.new(0.12, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}):Play()
task.delay(0.14, function()
if overlay and overlay.Parent then overlay:Destroy() end
if CURRENT_OVERLAY == overlay then CURRENT_OVERLAY = nil end
end)
end
local b = Services.Lighting:FindFirstChild("EclipsiumNotifBlur")
if b then
TweenService:Create(b, TweenInfo.new(0.12, Enum.EasingStyle.Quad), {Size = 0}):Play()
task.delay(0.14, function()
local b2 = Services.Lighting:FindFirstChild("EclipsiumNotifBlur")
if b2 and b2.Parent then b2:Destroy() end
end)
end
selEvent:Fire(nil)
end)
local chosen = selEvent.Event:Wait()
panel:Destroy()
if not chosen or #chosen == 0 then
local TweenService = Services.TweenService
if overlay and overlay.Parent then
TweenService:Create(overlay, TweenInfo.new(0.12, Enum.EasingStyle.Quad), {BackgroundTransparency = 1}):Play()
task.delay(0.14, function()
if overlay and overlay.Parent then overlay:Destroy() end
if CURRENT_OVERLAY == overlay then CURRENT_OVERLAY = nil end
end)
end
local b = Services.Lighting:FindFirstChild("EclipsiumNotifBlur")
if b then
TweenService:Create(b, TweenInfo.new(0.12, Enum.EasingStyle.Quad), {Size = 0}):Play()
task.delay(0.14, function()
local b2 = Services.Lighting:FindFirstChild("EclipsiumNotifBlur")
if b2 and b2.Parent then b2:Destroy() end
end)
end
SCRIPTS_REMAINING = 0
return
end
SCRIPTS_REMAINING = #chosen
for _, idx in ipairs(chosen) do
local entry = Eclipsium.scripts[idx]
if entry then
executeEntry(entry)
end
end
else
SCRIPTS_REMAINING = enabledCount
for _, entry in ipairs(Eclipsium.scripts) do
if entry.enabled ~= false then
executeEntry(entry)
end
end
end
end
Eclipsium.run()
return EclipsiumNo comments yet for this script.

![[KEYLESS] Moondiety Script | 17+ supported Games](https://scriptblox.com/images/sb/0-1753093706828.png)

