--!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 _gnwhZXFgF=751564; while true do if _gnwhZXFgF==751564 then panelW = math.clamp(view.X * 0.90, 280, 440); _gnwhZXFgF=182636 elseif _gnwhZXFgF==182636 then panelH = math.clamp(view.Y - 100, 340, 700); _gnwhZXFgF=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 _i4vHnZ37E=263498; while true do if _i4vHnZ37E==263498 then side.BackgroundTransparency = 1; _i4vHnZ37E=767006 elseif _i4vHnZ37E==767006 then side.Size = UDim2.new(0, barW, 1, -25); _i4vHnZ37E=821502 elseif _i4vHnZ37E==821502 then window.items["multi_holder"].Position = UDim2.new(0, barW, 0, 0); _i4vHnZ37E=413638 elseif _i4vHnZ37E==413638 then window.items["multi_holder"].Size = UDim2.new(1, -barW, 0, 56); _i4vHnZ37E=829727 elseif _i4vHnZ37E==829727 then window.items["global_fade"].Position = UDim2.new(0, barW, 0, 56); _i4vHnZ37E=712089 elseif _i4vHnZ37E==712089 then window.items["global_fade"].Size = UDim2.new(1, -barW, 1, -81); _i4vHnZ37E=395850 elseif _i4vHnZ37E==395850 then window.items["multi_holder"].BackgroundTransparency = 1; _i4vHnZ37E=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 _gW8kv7r9O=642528; while true do if _gW8kv7r9O==642528 then c.BackgroundTransparency = 0.2; _gW8kv7r9O=739250 elseif _gW8kv7r9O==739250 then c.BackgroundColor3 = CARD; _gW8kv7r9O=723404 elseif _gW8kv7r9O==723404 then c.TextColor3 = MUTED; _gW8kv7r9O=848337 elseif _gW8kv7r9O==848337 then c.TextSize = isMobile and 11 or 12; _gW8kv7r9O=710821 elseif _gW8kv7r9O==710821 then c.Font = Enum.Font.GothamBold; _gW8kv7r9O=620838 elseif _gW8kv7r9O==620838 then c.AutoButtonColor = false; _gW8kv7r9O=569879 elseif _gW8kv7r9O==569879 then c.BorderSizePixel = 0; _gW8kv7r9O=407225 elseif _gW8kv7r9O==407225 then c.ClipsDescendants = true; _gW8kv7r9O=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 _HyzJUw8r0=812840; while true do if _HyzJUw8r0==812840 then ccorner.CornerRadius = UDim.new(0, 10); _HyzJUw8r0=255800 elseif _HyzJUw8r0==255800 then ccorner.Parent = c; _HyzJUw8r0=0 else break end end end
local cstroke = Instance.new("UIStroke")
do local _ZcA2jHXSa=202427; while true do if _ZcA2jHXSa==202427 then cstroke.Color = STROKE; _ZcA2jHXSa=600710 elseif _ZcA2jHXSa==600710 then cstroke.Thickness = 1; _ZcA2jHXSa=315061 elseif _ZcA2jHXSa==315061 then cstroke.Transparency = 0.6; _ZcA2jHXSa=168248 elseif _ZcA2jHXSa==168248 then cstroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border; _ZcA2jHXSa=896580 elseif _ZcA2jHXSa==896580 then cstroke.Parent = c; _ZcA2jHXSa=0 else break end end end
elseif c:IsA("TextLabel") then
do local _3ove5eL46=638118; while true do if _3ove5eL46==638118 then c.TextColor3 = MUTED; _3ove5eL46=325529 elseif _3ove5eL46==325529 then c.TextSize = isMobile and 10 or 11; _3ove5eL46=761978 elseif _3ove5eL46==761978 then c.Font = Enum.Font.GothamBold; _3ove5eL46=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 _TioHnUfDN=631916; while true do if _TioHnUfDN==631916 then child.Size = UDim2.new(1, -barW, 1, -81); _TioHnUfDN=218638 elseif _TioHnUfDN==218638 then child.Position = UDim2.new(0, barW, 0, py); _TioHnUfDN=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 _roYaEEeuE=536983; while true do if _roYaEEeuE==536983 then label.Position = UDim2.new(0, 10, 0, -15); _roYaEEeuE=850248 elseif _roYaEEeuE==850248 then label.Size = UDim2.new(1, -20, 0, 14); _roYaEEeuE=305412 elseif _roYaEEeuE==305412 then label.TextXAlignment = Enum.TextXAlignment.Left; _roYaEEeuE=339390 elseif _roYaEEeuE==339390 then label.TextSize = 12; _roYaEEeuE=300463 elseif _roYaEEeuE==300463 then label.BackgroundTransparency = 1; _roYaEEeuE=439011 elseif _roYaEEeuE==439011 then label.TextColor3 = MUTED; _roYaEEeuE=812447 elseif _roYaEEeuE==812447 then btn.Position = UDim2.new(0, 10, 0, 3); _roYaEEeuE=644533 elseif _roYaEEeuE==644533 then btn.Size = UDim2.new(1, -20, 0, 26); _roYaEEeuE=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 _FGaH4vJ5c=326860; while true do if _FGaH4vJ5c==326860 then table.insert(sections, section); _FGaH4vJ5c=113459 elseif _FGaH4vJ5c==113459 then section:label({name = "Trident UI", info = "Sleek shell — trident decal, teal theme."}); _FGaH4vJ5c=0 else break end end end section:toggle({name = "Enabled", seperator = true, callback = function(bool) print("trident:", bool) end}):colorpicker({})
sedo local _ffZbDKxcz=337329; while true do if _ffZbDKxcz==337329 then section:dropdown({name = "Mode", items = {"Legit", "Rage", "Silent"}, default = "Legit", seperator = true}); _ffZbDKxcz=652835 elseif _ffZbDKxcz==652835 then section:slider({name = "Smoothness", min = 1, max = 10, interval = 0.1, default = 5, seperator = true, info = "Aim smoothing."}); _ffZbDKxcz=848197 elseif _ffZbDKxcz==848197 then section:toggle({name = "Draw FOV", seperator = true}):colorpicker({}); _ffZbDKxcz=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 _OivqJ7UxN=146223; while true do if _OivqJ7UxN==146223 then section:toggle({name = "Team Check", seperator = true}); _OivqJ7UxN=221997 elseif _OivqJ7UxN==221997 then section:dropdown({name = "Hitbox", items = {"Head", "UpperTorso", "HumanoidRootPart"}, default = "Head", seperator = true}); _OivqJ7UxN=465758 elseif _OivqJ7UxN==465758 then section:slider({name = "FOV", min = 0, max = 360, interval = 1, default = 90, seperator = true}); _OivqJ7UxN=0 else break end end endnd
do
local column = visuals:column({})
local section = column:section({name = "ESP", default = true})
tado local _pjwoQbLEe=649046; while true do if _pjwoQbLEe==649046 then table.insert(sections, section); _pjwoQbLEe=481812 elseif _pjwoQbLEe==481812 then section:toggle({name = "Boxes", seperator = true}):colorpicker({}); _pjwoQbLEe=805124 elseif _pjwoQbLEe==805124 then section:toggle({name = "Names", seperator = true}):colorpicker({}); _pjwoQbLEe=415398 elseif _pjwoQbLEe==415398 then section:toggle({name = "Health Bars", seperator = true}):colorpicker({}); _pjwoQbLEe=778017 elseif _pjwoQbLEe==778017 then section:toggle({name = "Chams", seperator = true}):colorpicker({}); _pjwoQbLEe=319465 elseif _pjwoQbLEe==319465 then section:dropdown({name = "Font", items = {"Gotham", "Arial", "SourceSans"}, default = "Gotham", seperator = true}); _pjwoQbLEe=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 _MO90Oe7aM=199928; while true do if _MO90Oe7aM==199928 then outline.BackgroundColor3 = CARD; _MO90Oe7aM=196426 elseif _MO90Oe7aM==196426 then outline.BackgroundTransparency = 0.2; _MO90Oe7aM=843799 elseif _MO90Oe7aM==843799 then outline.Size = UDim2.new(1, 0, outline.Size.Y.Scale, outline.Size.Y.Offset); _MO90Oe7aM=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 _uPmpGYhWk=296360; while true do if _uPmpGYhWk==296360 then corner.CornerRadius = UDim.new(0, 12); _uPmpGYhWk=174319 elseif _uPmpGYhWk==174319 then corner.Parent = outline; _uPmpGYhWk=0 else break end end end local stroke = Instance.new("UIStroke")
stdo local _hpGDXBrfx=795930; while true do if _hpGDXBrfx==795930 then stroke.Color = STROKE; _hpGDXBrfx=417390 elseif _hpGDXBrfx==417390 then stroke.Thickness = 1; _hpGDXBrfx=761944 elseif _hpGDXBrfx==761944 then stroke.Transparency = 0.6; _hpGDXBrfx=148650 elseif _hpGDXBrfx==148650 then stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border; _hpGDXBrfx=451066 elseif _hpGDXBrfx==451066 then stroke.Parent = outline; _hpGDXBrfx=0 else break end end end end
if inline then
indo local _91RDKIMJG=220480; while true do if _91RDKIMJG==220480 then inline.BackgroundColor3 = BG; _91RDKIMJG=227214 elseif _91RDKIMJG==227214 then inline.BackgroundTransparency = 0.1; _91RDKIMJG=457032 elseif _91RDKIMJG==457032 then inline.Size = UDim2.new(1, -2, inline.Size.Y.Scale, inline.Size.Y.Offset); _91RDKIMJG=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 _AYHhXoU1U=450354; while true do if _AYHhXoU1U==450354 then corner.CornerRadius = UDim.new(0, 10); _AYHhXoU1U=596993 elseif _AYHhXoU1U==596993 then corner.Parent = inline; _AYHhXoU1U=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 _FwfMHKGhP=574798; while true do if _FwfMHKGhP==574798 then dzCorner.CornerRadius = UDim.new(0, 16); _FwfMHKGhP=850174 elseif _FwfMHKGhP==850174 then dzCorner.Parent = headerBar; _FwfMHKGhP=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 _lLe9ZXmiL=270617; while true do if _lLe9ZXmiL==270617 then dragging = true; _lLe9ZXmiL=765449 elseif _lLe9ZXmiL==765449 then startPos = input.Position; _lLe9ZXmiL=400467 elseif _lLe9ZXmiL==400467 then startScreen = main.Position; _lLe9ZXmiL=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 _Ac7rRtyNG=536060; while true do if _Ac7rRtyNG==536060 then resizing = true; _Ac7rRtyNG=383351 elseif _Ac7rRtyNG==383351 then rStart = input.Position; _Ac7rRtyNG=175192 elseif _Ac7rRtyNG==175192 then rSize = Vector2.new(main.Size.X.Offset, main.Size.Y.Offset); _Ac7rRtyNG=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 _9Yh7g6Foo=671249; while true do if _9Yh7g6Foo==671249 then closeCorner.CornerRadius = UDim.new(1, 0); _9Yh7g6Foo=244087 elseif _9Yh7g6Foo==244087 then closeCorner.Parent = closeBtn; _9Yh7g6Foo=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 _SJPCyHNfg=290789; while true do if _SJPCyHNfg==290789 then openCorner.CornerRadius = UDim.new(1, 0); _SJPCyHNfg=246622 elseif _SJPCyHNfg==246622 then openCorner.Parent = openBtn; _SJPCyHNfg=0 else break end end end local openStroke = Instance.new("UIStroke")
opedo local _qRde18oza=117842; while true do if _qRde18oza==117842 then openStroke.Color = TEAL; _qRde18oza=879404 elseif _qRde18oza==879404 then openStroke.Thickness = 2; _qRde18oza=103691 elseif _qRde18oza==103691 then openStroke.Transparency = 0.3; _qRde18oza=419320 elseif _qRde18oza==419320 then openStroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border; _qRde18oza=656398 elseif _qRde18oza==656398 then openStroke.Parent = openBtn; _qRde18oza=0 else break end end end closeBtn.MouseButton1Click:Connect(function()
maido local _ouWsZqCSN=780407; while true do if _ouWsZqCSN==780407 then main.Visible = false; _ouWsZqCSN=619152 elseif _ouWsZqCSN==619152 then openBtn.Visible = true; _ouWsZqCSN=0 else break end end end end)
openBtn.MouseButton1Click:Connect(function()
maido local _jzBAQrHyp=672196; while true do if _jzBAQrHyp==672196 then main.Visible = true; _jzBAQrHyp=302273 elseif _jzBAQrHyp==302273 then openBtn.Visible = false; _jzBAQrHyp=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 _4KTUFtQdx=116034; while true do if _4KTUFtQdx==116034 then obDragging = true; _4KTUFtQdx=208828 elseif _4KTUFtQdx==208828 then obStartPos = input.Position; _4KTUFtQdx=859590 elseif _4KTUFtQdx==859590 then obStartScreen = openBtn.Position; _4KTUFtQdx=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 _XSzXum6Dn=221104; while true do if _XSzXum6Dn==221104 then fps = frames; _XSzXum6Dn=680035 elseif _XSzXum6Dn==680035 then frames = 0; _XSzXum6Dn=365883 elseif _XSzXum6Dn==365883 then lastTime = now; _XSzXum6Dn=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 _aJQXUkQG7=282554; while true do if _aJQXUkQG7==282554 then task.wait(0.05); _aJQXUkQG7=555521 elseif _aJQXUkQG7==555521 then fixTabLayout(); _aJQXUkQG7=189807 elseif _aJQXUkQG7==189807 then fixPageWidths(); _aJQXUkQG7=394392 elseif _aJQXUkQG7==394392 then fixDropdowns(); _aJQXUkQG7=0 else break end end end end)
end
end
-- final enforcement after everything settles
task.delay(0.5, function()
maido local _fFU6tI885=653713; while true do if _fFU6tI885==653713 then main.Size = UDim2.fromOffset(panelW, panelH); _fFU6tI885=693126 elseif _fFU6tI885==693126 then main.Position = UDim2.new(0, math.max(10, (view.X - panelW) / 2), 0, isMobile and 90 or 100); _fFU6tI885=135177 elseif _fFU6tI885==135177 then main.ClipsDescendants = true; _fFU6tI885=334568 elseif _fFU6tI885==334568 then fixTabLayout(); _fFU6tI885=667624 elseif _fFU6tI885==667624 then fixPageWidths(); _fFU6tI885=260548 elseif _fFU6tI885==260548 then fixDropdowns(); _fFU6tI885=0 else break end end endd)