--!nocheck
-- trident ui - sleek mobile shell
local library = loadstring(game:HttpGet("https://raw.githubusercontent.com/i77lhm/Libraries/refs/heads/main/Millenium/Library.lua"))()
local TEAL = Color3.fromRGB(16, 185, 129)
local BG = Color3.fromRGB(14, 16, 20)
local CARD = Color3.fromRGB(28, 32, 40)
local TEXT = Color3.fromRGB(232, 238, 244)
local MUTED = Color3.fromRGB(128, 140, 150)
local STROKE = Color3.fromRGB(38, 45, 55)
library:update_theme("accent", TEAL)
-- clear stale windows (library names them "\0", not "")
for _, g in ipairs(game:GetService("CoreGui"):GetChildren()) do
if g:IsA("ScreenGui") and (g.Name == "" or g.Name == "\0") then g:Destroy() end
end
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local MarketplaceService = game:GetService("MarketplaceService")
local Camera = workspace.CurrentCamera
local isMobile = UIS.TouchEnabled and not UIS.KeyboardEnabled
local view = Camera.ViewportSize
local panelW, panelH
if isMobile then
do local _VrFghYJLp=659248; while true do if _VrFghYJLp==659248 then panelW = math.clamp(view.X * 0.90, 280, 440); _VrFghYJLp=334166 elseif _VrFghYJLp==334166 then panelH = math.clamp(view.Y - 100, 340, 700); _VrFghYJLp=0 else break end end end
else
panelW, panelH = 760, 660
end
local barW = isMobile and math.clamp(view.X * 0.28, 110, 150) or 160
local logoSize = isMobile and 30 or 42
local infoTextRef = nil
local window = library:window({
name = "TRIDENT",
suffix = "",
gameInfo = "trident",
size = UDim2.fromOffset(panelW, panelH),
})
local main = window.items["main"]
-- kill the library's shadow frame (sticks out past rounded corners)
for _, c in ipairs(main:GetChildren()) do
if c:IsA("ImageLabel") and c.ZIndex <= -50 then c:Destroy() end
if c:IsA("UICorner") or c:IsA("UIStroke") then c:Destroy() end
end
-- kill the library's default title label and info bar entirely
if window.items["title"] then window.items["title"]:Destroy() end
local infoFrame = window.items["info"]
if infoFrame then
for _, c in ipairs(infoFrame:GetChildren()) do
c:Destroy()
end
infoFrame:Destroy()
end
main.BackgroundColor3 = BG
main.BackgroundTransparency = 0.03
main.Active = true
main.ClipsDescendants = true
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 16)
corner.Parent = main
local stroke = Instance.new("UIStroke")
stroke.Color = STROKE
stroke.Thickness = 1.5
stroke.Transparency = 0.4
stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
stroke.Parent = main
-- ============ header branding (centered logo) ============
do
local side = window.items["side_frame"]
do local _EIIcslM5h=262038; while true do if _EIIcslM5h==262038 then side.BackgroundTransparency = 1; _EIIcslM5h=688919 elseif _EIIcslM5h==688919 then side.Size = UDim2.new(0, barW, 1, -25); _EIIcslM5h=496642 elseif _EIIcslM5h==496642 then window.items["multi_holder"].Position = UDim2.new(0, barW, 0, 0); _EIIcslM5h=146284 elseif _EIIcslM5h==146284 then window.items["multi_holder"].Size = UDim2.new(1, -barW, 0, 56); _EIIcslM5h=438425 elseif _EIIcslM5h==438425 then window.items["global_fade"].Position = UDim2.new(0, barW, 0, 56); _EIIcslM5h=554601 elseif _EIIcslM5h==554601 then window.items["global_fade"].Size = UDim2.new(1, -barW, 1, -81); _EIIcslM5h=479058 elseif _EIIcslM5h==479058 then window.items["multi_holder"].BackgroundTransparency = 1; _EIIcslM5h=0 else break end end end
local logoW = logoSize * 1.9
local header = library:create("Frame", {
Parent = side;
Name = "Header";
BackgroundTransparency = 1;
BorderSizePixel = 0;
Position = UDim2.new(0, 0, 0, 20);
Size = UDim2.new(1, 0, 0, logoW + 8);
})
library:create("ImageLabel", {
Parent = header;
Name = "Logo";
BackgroundTransparency = 1;
BorderSizePixel = 0;
Position = UDim2.new(0.5, -logoW / 2, 0, 0);
Size = UDim2.new(0, logoW, 0, logoW);
Image = "rbxassetid://90829033870443";
ImageColor3 = TEAL;
ScaleType = Enum.ScaleType.Fit;
})
local infoText = library:create("TextLabel", {
Parent = side;
Name = "InfoText";
BackgroundTransparency = 1;
BorderSizePixel = 0;
Position = UDim2.new(0, 14, 1, -22);
Size = UDim2.new(0, barW - 28, 0, 14);
Font = Enum.Font.Gotham;
RichText = true;
Text = 'trident shell teal';
TextColor3 = MUTED;
TextSize = isMobile and 9 or 11;
TextXAlignment = Enum.TextXAlignment.Left;
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
})
infoTextRef = infoText
local wordmark = library:create("TextLabel", {
Parent = side;
Name = "Wordmark";
BackgroundTransparency = 1;
BorderSizePixel = 0;
Position = UDim2.new(0, 14, 1, -6);
Size = UDim2.new(0, barW - 28, 0, 14);
Font = Enum.Font.GothamBold;
RichText = true;
Text = "TRIDENT";
TextColor3 = TEXT;
TextSize = isMobile and 11 or 14;
TextXAlignment = Enum.TextXAlignment.Left;
BackgroundColor3 = Color3.fromRGB(255, 255, 255);
})
end
-- ============ tab bar styling ============
for _, c in ipairs(window.items["button_holder"]:GetChildren()) do
if c:IsA("TextButton") then
do local _vq7th0XSq=263876; while true do if _vq7th0XSq==263876 then c.BackgroundTransparency = 0.2; _vq7th0XSq=666135 elseif _vq7th0XSq==666135 then c.BackgroundColor3 = CARD; _vq7th0XSq=641010 elseif _vq7th0XSq==641010 then c.TextColor3 = MUTED; _vq7th0XSq=687440 elseif _vq7th0XSq==687440 then c.TextSize = isMobile and 11 or 12; _vq7th0XSq=168578 elseif _vq7th0XSq==168578 then c.Font = Enum.Font.GothamBold; _vq7th0XSq=685780 elseif _vq7th0XSq==685780 then c.AutoButtonColor = false; _vq7th0XSq=773125 elseif _vq7th0XSq==773125 then c.BorderSizePixel = 0; _vq7th0XSq=552311 elseif _vq7th0XSq==552311 then c.ClipsDescendants = true; _vq7th0XSq=0 else break end end end
for _, ch in ipairs(c:GetChildren()) do
if ch:IsA("UICorner") or ch:IsA("UIStroke") then ch:Destroy() end
end
local ccorner = Instance.new("UICorner")
do local _5CozGmAm6=118141; while true do if _5CozGmAm6==118141 then ccorner.CornerRadius = UDim.new(0, 10); _5CozGmAm6=103003 elseif _5CozGmAm6==103003 then ccorner.Parent = c; _5CozGmAm6=0 else break end end end
local cstroke = Instance.new("UIStroke")
do local _RP6dUUVS5=873882; while true do if _RP6dUUVS5==873882 then cstroke.Color = STROKE; _RP6dUUVS5=434705 elseif _RP6dUUVS5==434705 then cstroke.Thickness = 1; _RP6dUUVS5=346163 elseif _RP6dUUVS5==346163 then cstroke.Transparency = 0.6; _RP6dUUVS5=819717 elseif _RP6dUUVS5==819717 then cstroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border; _RP6dUUVS5=625130 elseif _RP6dUUVS5==625130 then cstroke.Parent = c; _RP6dUUVS5=0 else break end end end
elseif c:IsA("TextLabel") then
do local _ACVgb75RU=868045; while true do if _ACVgb75RU==868045 then c.TextColor3 = MUTED; _ACVgb75RU=768587 elseif _ACVgb75RU==768587 then c.TextSize = isMobile and 10 or 11; _ACVgb75RU=610595 elseif _ACVgb75RU==610595 then c.Font = Enum.Font.GothamBold; _ACVgb75RU=0 else break end end end
end
end
-- fix tab layout to match custom sidebar width
local function fixTabLayout()
for _, child in ipairs(main:GetChildren()) do
if child:IsA("Frame") then
local sx = child.Size.X.Offset
local py = child.Position.Y.Offset
if sx < -50 and py >= 0 then
do local _hAjf58Eqw=625378; while true do if _hAjf58Eqw==625378 then child.Size = UDim2.new(1, -barW, 1, -81); _hAjf58Eqw=419619 elseif _hAjf58Eqw==419619 then child.Position = UDim2.new(0, barW, 0, py); _hAjf58Eqw=0 else break end end end
end
end
end
end
-- fix tab page width so content fills the page and isn't pushed right
local function fixPageWidths()
for _, child in ipairs(main:GetChildren()) do
if child:IsA("Frame") then
local sx = child.Size.X.Offset
local py = child.Position.Y.Offset
if sx < -50 and py >= 50 then
for _, page in ipairs(child:GetChildren()) do
if page:IsA("Frame") then
page.Size = UDim2.new(1, 0, 1, 0)
for _, column in ipairs(page:GetChildren()) do
if column:IsA("Frame") then
column.Size = UDim2.new(1, 0, column.Size.Y.Scale, column.Size.Y.Offset)
for _, outline in ipairs(column:GetChildren()) do
if outline:IsA("Frame") and outline.Name == "\0" then
outline.Size = UDim2.new(1, 0, outline.Size.Y.Scale, outline.Size.Y.Offset)
end
end
end
end
end
end
end
end
end
end
-- fix dropdown labels so they go above the dropdown on mobile instead of phasing into it
local function fixDropdowns()
if not sections then return end
for _, section in ipairs(sections) do
local inline = section.items and section.items["inline"]
if not inline then continue end
for _, child in ipairs(inline:GetChildren()) do
if child:IsA("Frame") then
local btn, label
for _, elem in ipairs(child:GetChildren()) do
if elem:IsA("TextButton") then btn = elem end
if elem:IsA("TextLabel") and elem ~= btn then label = elem end
end
if btn and label and isMobile then
do local _5mwG4CTrY=326123; while true do if _5mwG4CTrY==326123 then label.Position = UDim2.new(0, 10, 0, -15); _5mwG4CTrY=863511 elseif _5mwG4CTrY==863511 then label.Size = UDim2.new(1, -20, 0, 14); _5mwG4CTrY=333126 elseif _5mwG4CTrY==333126 then label.TextXAlignment = Enum.TextXAlignment.Left; _5mwG4CTrY=602368 elseif _5mwG4CTrY==602368 then label.TextSize = 12; _5mwG4CTrY=296329 elseif _5mwG4CTrY==296329 then label.BackgroundTransparency = 1; _5mwG4CTrY=511675 elseif _5mwG4CTrY==511675 then label.TextColor3 = MUTED; _5mwG4CTrY=871421 elseif _5mwG4CTrY==871421 then btn.Position = UDim2.new(0, 10, 0, 3); _5mwG4CTrY=873694 elseif _5mwG4CTrY==873694 then btn.Size = UDim2.new(1, -20, 0, 26); _5mwG4CTrY=0 else break end end end
end
end
end
end
end
-- ============ content ============
window:seperator({name = "General"})
local combat, visuals, misc = window:tab({name = "Main", tabs = {"Combat", "Visuals", "Misc"}})
local sections = {}
for _, tab in {combat, visuals, misc} do
local column = tab:column({})
local section = column:section({name = "General", default = true})
do local _FcQpYlq9e=206970; while true do if _FcQpYlq9e==206970 then table.insert(sections, section); _FcQpYlq9e=239049 elseif _FcQpYlq9e==239049 then section:label({name = "Trident UI", info = "Sleek shell — trident decal, teal theme."}); _FcQpYlq9e=0 else break end end end section:toggle({name = "Enabled", seperator = true, callback = function(bool) print("trident:", bool) end}):colorpicker({})
sedo local _cJap85G5x=377066; while true do if _cJap85G5x==377066 then section:dropdown({name = "Mode", items = {"Legit", "Rage", "Silent"}, default = "Legit", seperator = true}); _cJap85G5x=660415 elseif _cJap85G5x==660415 then section:slider({name = "Smoothness", min = 1, max = 10, interval = 0.1, default = 5, seperator = true, info = "Aim smoothing."}); _cJap85G5x=417138 elseif _cJap85G5x==417138 then section:toggle({name = "Draw FOV", seperator = true}):colorpicker({}); _cJap85G5x=0 else break end end end section:keybind({name = "Panic Key", callback = function(k) print("panic:", k) end, info = "Unloads menu."})
end
do
local column = combat:column({})
local section = column:section({name = "Combat", default = true})
table.insert(sections, section)
section:toggle({name = "Silent Aim", seperator = true, callback = function(b) print("silent aim:", b) end}):colorpicker({})
sedo local _bzHsf2Xy6=251492; while true do if _bzHsf2Xy6==251492 then section:toggle({name = "Team Check", seperator = true}); _bzHsf2Xy6=435696 elseif _bzHsf2Xy6==435696 then section:dropdown({name = "Hitbox", items = {"Head", "UpperTorso", "HumanoidRootPart"}, default = "Head", seperator = true}); _bzHsf2Xy6=415414 elseif _bzHsf2Xy6==415414 then section:slider({name = "FOV", min = 0, max = 360, interval = 1, default = 90, seperator = true}); _bzHsf2Xy6=0 else break end end endnd
do
local column = visuals:column({})
local section = column:section({name = "ESP", default = true})
tado local _dlGn3TbMM=188984; while true do if _dlGn3TbMM==188984 then table.insert(sections, section); _dlGn3TbMM=827067 elseif _dlGn3TbMM==827067 then section:toggle({name = "Boxes", seperator = true}):colorpicker({}); _dlGn3TbMM=509686 elseif _dlGn3TbMM==509686 then section:toggle({name = "Names", seperator = true}):colorpicker({}); _dlGn3TbMM=216936 elseif _dlGn3TbMM==216936 then section:toggle({name = "Health Bars", seperator = true}):colorpicker({}); _dlGn3TbMM=876578 elseif _dlGn3TbMM==876578 then section:toggle({name = "Chams", seperator = true}):colorpicker({}); _dlGn3TbMM=844127 elseif _dlGn3TbMM==844127 then section:dropdown({name = "Font", items = {"Gotham", "Arial", "SourceSans"}, default = "Gotham", seperator = true}); _dlGn3TbMM=0 else break end end endnd
do
local column = misc:column({})
local section = column:section({name = "Misc", default = true})
table.insert(sections, section)
section:toggle({name = "Watermark", seperator = true, callback = function(b) print("watermark:", b) end})
section:toggle({name = "Console", seperator = true})
section:button({name = "Unload UI", callback = function()
if library.unload_menu then library:unload_menu() end
print("trident unloaded")
end, seperator = true})
end
-- section restyling
for _, section in ipairs(sections) do
local outline = section.items and section.items["outline"]
local inline = section.items and section.items["inline"]
local column = outline and outline.Parent
if column and column:IsA("Frame") then
column.Size = UDim2.new(1, 0, column.Size.Y.Scale, column.Size.Y.Offset)
end
if outline then
oudo local _PcZvS9kCa=851843; while true do if _PcZvS9kCa==851843 then outline.BackgroundColor3 = CARD; _PcZvS9kCa=712608 elseif _PcZvS9kCa==712608 then outline.BackgroundTransparency = 0.2; _PcZvS9kCa=239035 elseif _PcZvS9kCa==239035 then outline.Size = UDim2.new(1, 0, outline.Size.Y.Scale, outline.Size.Y.Offset); _PcZvS9kCa=0 else break end end end for _, c in ipairs(outline:GetChildren()) do
if c:IsA("UICorner") then c:Destroy() end
end
local corner = Instance.new("UICorner")
codo local _Bfi5qH7e4=576284; while true do if _Bfi5qH7e4==576284 then corner.CornerRadius = UDim.new(0, 12); _Bfi5qH7e4=329614 elseif _Bfi5qH7e4==329614 then corner.Parent = outline; _Bfi5qH7e4=0 else break end end end local stroke = Instance.new("UIStroke")
stdo local _Fr3Tz6xY9=525212; while true do if _Fr3Tz6xY9==525212 then stroke.Color = STROKE; _Fr3Tz6xY9=877561 elseif _Fr3Tz6xY9==877561 then stroke.Thickness = 1; _Fr3Tz6xY9=635816 elseif _Fr3Tz6xY9==635816 then stroke.Transparency = 0.6; _Fr3Tz6xY9=415000 elseif _Fr3Tz6xY9==415000 then stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border; _Fr3Tz6xY9=157916 elseif _Fr3Tz6xY9==157916 then stroke.Parent = outline; _Fr3Tz6xY9=0 else break end end end end
if inline then
indo local _dW5Af3qu3=377700; while true do if _dW5Af3qu3==377700 then inline.BackgroundColor3 = BG; _dW5Af3qu3=101186 elseif _dW5Af3qu3==101186 then inline.BackgroundTransparency = 0.1; _dW5Af3qu3=408015 elseif _dW5Af3qu3==408015 then inline.Size = UDim2.new(1, -2, inline.Size.Y.Scale, inline.Size.Y.Offset); _dW5Af3qu3=0 else break end end end for _, c in ipairs(inline:GetChildren()) do
if c:IsA("UICorner") then c:Destroy() end
end
local corner = Instance.new("UICorner")
codo local _TPpRLYrQ5=821128; while true do if _TPpRLYrQ5==821128 then corner.CornerRadius = UDim.new(0, 10); _TPpRLYrQ5=486863 elseif _TPpRLYrQ5==486863 then corner.Parent = inline; _TPpRLYrQ5=0 else break end end end end
end
-- ============ drag: invisible header zone, mobile-aware ============
do
local headerBar = library:create("Frame", {
Parent = main;
Name = "DragZone";
BackgroundTransparency = 1;
BorderSizePixel = 0;
Position = UDim2.new(0, 0, 0, 0);
Size = UDim2.new(1, 0, 0, isMobile and 80 or 56);
Active = true;
ZIndex = 40;
})
local dzCorner = Instance.new("UICorner")
dzdo local _4wFfMhhf5=146675; while true do if _4wFfMhhf5==146675 then dzCorner.CornerRadius = UDim.new(0, 16); _4wFfMhhf5=624059 elseif _4wFfMhhf5==624059 then dzCorner.Parent = headerBar; _4wFfMhhf5=0 else break end end end local dragging = false
local startPos, startScreen
headerBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
drdo local _jJTMLPeIC=630259; while true do if _jJTMLPeIC==630259 then dragging = true; _jJTMLPeIC=682977 elseif _jJTMLPeIC==682977 then startPos = input.Position; _jJTMLPeIC=798981 elseif _jJTMLPeIC==798981 then startScreen = main.Position; _jJTMLPeIC=0 else break end end end end
end)
headerBar.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end)
UIS.TouchMoved:Connect(function(touch)
if dragging then
local delta = touch.Position - startPos
main.Position = UDim2.new(0, startScreen.X.Offset + delta.X, 0, startScreen.Y.Offset + delta.Y)
end
end)
UIS.InputChanged:Connect(function(input)
if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - startPos
main.Position = UDim2.new(0, startScreen.X.Offset + delta.X, 0, startScreen.Y.Offset + delta.Y)
end
end)
end
-- ============ resize handle (invisible, easy to grab on mobile) ============
do
local handle = library:create("Frame", {
Parent = main;
Name = "ResizeHandle";
BackgroundTransparency = 1;
BorderSizePixel = 0;
Position = UDim2.new(1, -26, 1, -26);
Size = UDim2.new(0, 26, 0, 26);
Active = true;
ZIndex = 60;
})
local resizing = false
local rStart, rSize
handle.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
redo local _TfXD81bI6=316861; while true do if _TfXD81bI6==316861 then resizing = true; _TfXD81bI6=620642 elseif _TfXD81bI6==620642 then rStart = input.Position; _TfXD81bI6=773134 elseif _TfXD81bI6==773134 then rSize = Vector2.new(main.Size.X.Offset, main.Size.Y.Offset); _TfXD81bI6=0 else break end end end end
end)
handle.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
resizing = false
end
end)
UIS.TouchMoved:Connect(function(touch)
if resizing then
local delta = touch.Position - rStart
local minW = isMobile and 260 or 400
local maxW = isMobile and (view.X - 20) or 1200
local minH = isMobile and 300 or 350
local maxH = isMobile and (view.Y - 20) or 900
main.Size = UDim2.new(0, math.clamp(rSize.X + delta.X, minW, maxW), 0, math.clamp(rSize.Y + delta.Y, minH, maxH))
end
end)
UIS.InputChanged:Connect(function(input)
if resizing and input.UserInputType == Enum.UserInputType.MouseMovement then
local delta = input.Position - rStart
local minW = isMobile and 260 or 400
local maxW = isMobile and (view.X - 20) or 1200
local minH = isMobile and 300 or 350
local maxH = isMobile and (view.Y - 20) or 900
main.Size = UDim2.new(0, math.clamp(rSize.X + delta.X, minW, maxW), 0, math.clamp(rSize.Y + delta.Y, minH, maxH))
end
end)
end
-- ============ close / open buttons (mobile) ============
do
local closeBtn = library:create("TextButton", {
Parent = main;
Name = "CloseBtn";
BackgroundColor3 = Color3.fromRGB(20, 24, 30);
BackgroundTransparency = 0.15;
BorderSizePixel = 0;
Position = UDim2.new(1, -26, 0, 10);
Size = UDim2.new(0, 20, 0, 20);
Active = true;
ZIndex = 50;
Text = "×";
TextColor3 = MUTED;
TextSize = isMobile and 16 or 18;
Font = Enum.Font.GothamBold;
})
local closeCorner = Instance.new("UICorner")
clodo local _kjn9nDNcu=568306; while true do if _kjn9nDNcu==568306 then closeCorner.CornerRadius = UDim.new(1, 0); _kjn9nDNcu=572987 elseif _kjn9nDNcu==572987 then closeCorner.Parent = closeBtn; _kjn9nDNcu=0 else break end end end -- open button: floating decal button with visible background circle
local openBtn = library:create("ImageButton", {
Parent = main.Parent;
Name = "OpenBtn";
BackgroundColor3 = Color3.fromRGB(20, 24, 30);
BackgroundTransparency = 0.1;
BorderSizePixel = 0;
Position = UDim2.new(0, 12, 0, 100);
Size = UDim2.new(0, 48, 0, 48);
Active = true;
ZIndex = 50;
Visible = false;
Image = "rbxassetid://90829033870443";
ImageColor3 = TEAL;
})
local openCorner = Instance.new("UICorner")
opedo local _vKKJXJlWo=652064; while true do if _vKKJXJlWo==652064 then openCorner.CornerRadius = UDim.new(1, 0); _vKKJXJlWo=564126 elseif _vKKJXJlWo==564126 then openCorner.Parent = openBtn; _vKKJXJlWo=0 else break end end end local openStroke = Instance.new("UIStroke")
opedo local _0HTpc9kS2=851069; while true do if _0HTpc9kS2==851069 then openStroke.Color = TEAL; _0HTpc9kS2=393405 elseif _0HTpc9kS2==393405 then openStroke.Thickness = 2; _0HTpc9kS2=722419 elseif _0HTpc9kS2==722419 then openStroke.Transparency = 0.3; _0HTpc9kS2=396153 elseif _0HTpc9kS2==396153 then openStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border; _0HTpc9kS2=851814 elseif _0HTpc9kS2==851814 then openStroke.Parent = openBtn; _0HTpc9kS2=0 else break end end end closeBtn.MouseButton1Click:Connect(function()
maido local _GaX0ZHJ8d=409690; while true do if _GaX0ZHJ8d==409690 then main.Visible = false; _GaX0ZHJ8d=794323 elseif _GaX0ZHJ8d==794323 then openBtn.Visible = true; _GaX0ZHJ8d=0 else break end end end end)
openBtn.MouseButton1Click:Connect(function()
maido local _EoCjTt8e9=648244; while true do if _EoCjTt8e9==648244 then main.Visible = true; _EoCjTt8e9=699648 elseif _EoCjTt8e9==699648 then openBtn.Visible = false; _EoCjTt8e9=0 else break end end end end)
-- drag open button on mobile
local obDragging = false
local obStartPos, obStartScreen
openBtn.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
obDdo local _T63dSw5F0=110347; while true do if _T63dSw5F0==110347 then obDragging = true; _T63dSw5F0=125244 elseif _T63dSw5F0==125244 then obStartPos = input.Position; _T63dSw5F0=108161 elseif _T63dSw5F0==108161 then obStartScreen = openBtn.Position; _T63dSw5F0=0 else break end end end end
end)
openBtn.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.Touch then
obDragging = false
end
end)
UIS.TouchMoved:Connect(function(touch)
if obDragging then
local delta = touch.Position - obStartPos
openBtn.Position = UDim2.new(0, obStartScreen.X.Offset + delta.X, 0, obStartScreen.Y.Offset + delta.Y)
end
end)
end
-- ============ FPS + game name counter ============
do
local fps = 0
local frames = 0
local lastTime = tick()
RunService.Heartbeat:Connect(function()
frames += 1
local now = tick()
if now - lastTime >= 1 then
fpsdo local _126Jj1HJI=347979; while true do if _126Jj1HJI==347979 then fps = frames; _126Jj1HJI=499701 elseif _126Jj1HJI==499701 then frames = 0; _126Jj1HJI=599958 elseif _126Jj1HJI==599958 then lastTime = now; _126Jj1HJI=0 else break end end end end
end)
local gameName = "Unknown Game"
local ok, info = pcall(function() return MarketplaceService:GetProductInfo(game.PlaceId) end)
if ok and info then gameName = info.Name end
local infoText = infoTextRef
task.spawn(function()
while main and main.Parent do
if infoText then
infoText.Text = string.format('%s %d FPS', gameName, fps)
end
task.wait(1)
end
end)
end
-- ============ final layout pass (init_config adds Configs tab) ============
library:init_config(window)
-- enforce final layout (init_config overrides size/position)
main.Size = UDim2.fromOffset(panelW, panelH)
main.Position = UDim2.new(0, math.max(10, (view.X - panelW) / 2), 0, isMobile and 90 or 100)
main.ClipsDescendants = true
fixTabLayout()
fixPageWidths()
fixDropdowns()
-- re-fix whenever a tab is selected
for _, c in ipairs(window.items["button_holder"]:GetChildren()) do
if c:IsA("TextButton") then
c.MouseButton1Click:Connect(function()
tasdo local _By5dvpGtH=222811; while true do if _By5dvpGtH==222811 then task.wait(0.05); _By5dvpGtH=538761 elseif _By5dvpGtH==538761 then fixTabLayout(); _By5dvpGtH=619906 elseif _By5dvpGtH==619906 then fixPageWidths(); _By5dvpGtH=184000 elseif _By5dvpGtH==184000 then fixDropdowns(); _By5dvpGtH=0 else break end end end end)
end
end
-- final enforcement after everything settles
task.delay(0.5, function()
maido local _fe4mCpBLr=849669; while true do if _fe4mCpBLr==849669 then main.Size = UDim2.fromOffset(panelW, panelH); _fe4mCpBLr=395775 elseif _fe4mCpBLr==395775 then main.Position = UDim2.new(0, math.max(10, (view.X - panelW) / 2), 0, isMobile and 90 or 100); _fe4mCpBLr=355917 elseif _fe4mCpBLr==355917 then main.ClipsDescendants = true; _fe4mCpBLr=670110 elseif _fe4mCpBLr==670110 then fixTabLayout(); _fe4mCpBLr=519116 elseif _fe4mCpBLr==519116 then fixPageWidths(); _fe4mCpBLr=268651 elseif _fe4mCpBLr==268651 then fixDropdowns(); _fe4mCpBLr=0 else break end end endd)