local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Players = game:GetService("Players") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local THEMES = { Dark = { Background = Color3.fromRGB(20, 20, 20), Sidebar = Color3.fromRGB(28, 28, 28), Text = Color3.fromRGB(255, 255, 255), TextSec = Color3.fromRGB(160, 160, 160), Accent = Color3.fromRGB(0, 170, 255), Line = Color3.fromRGB(40, 40, 40) }, Light = { Background = Color3.fromRGB(255, 255, 255), Sidebar = Color3.fromRGB(240, 240, 240), Text = Color3.fromRGB(30, 30, 30), TextSec = Color3.fromRGB(80, 80, 80), Accent = Color3.fromRGB(0, 120, 215), Line = Color3.fromRGB(220, 220, 220) } } local LANGS = { {Name = "English", Home = "Home", Settings = "Settings", Mode = "Mode: ", Lang = "Language: English", Welcome = "Welcome back, " .. player.DisplayName .. " (@" .. player.Name .. ")!"}, {Name = "VietNamese", Home = "Trang chủ", Settings = "Cài đặt", Mode = "Chế độ: ", Lang = "Ngôn ngữ: Tiếng Việt", Welcome = "Chào mừng trở lại, " .. player.DisplayName .. " (@" .. player.Name .. ")!"}, {Name = "French", Home = "Accueil", Settings = "Paramètres", Mode = "Mode: ", Lang = "Langue: Français", Welcome = "Bon retour, " .. player.DisplayName .. "!"}, {Name = "Japanese", Home = "ホーム", Settings = "設定", Mode = "モード: ", Lang = "言語: 日本語", Welcome = "おかえりなさい, " .. player.DisplayName .. "!"}, {Name = "Korean", Home = "홈", Settings = "설정", Mode = "모드: ", Lang = "언어: 한국어", Welcome = "환영합니다, " .. player.DisplayName .. "!"}, {Name = "Chinese", Home = "首页", Settings = "设置", Mode = "模式: ", Lang = "语言: 中文", Welcome = "欢迎回来, " .. player.DisplayName .. "!"}, {Name = "German", Home = "Startseite", Settings = "Einstellungen", Mode = "Modus: ", Lang = "Sprache: Deutsch", Welcome = "Willkommen zurück!"}, {Name = "Russian", Home = "Главная", Settings = "Настройки", Mode = "Режим: ", Lang = "Язык: Русский", Welcome = "С возвращением!"}, {Name = "Spanish", Home = "Inicio", Settings = "Ajustes", Mode = "Modo: ", Lang = "Idioma: Español", Welcome = "¡Bienvenido!"}, {Name = "Portuguese", Home = "Início", Settings = "Ajustes", Mode = "Modo: ", Lang = "Idioma: Português", Welcome = "Bem-vindo!"}, {Name = "Thai", Home = "หน้าหลัก", Settings = "การตั้งค่า", Mode = "โหมด: ", Lang = "ภาษา: ไทย", Welcome = "ยินดีต้อนรับกลับ!"}, {Name = "Italian", Home = "Home", Settings = "Impostazioni", Mode = "Modalità: ", Lang = "Lingua: Italiano", Welcome = "Bentornato!"} } local currentTheme = "Dark" local langIdx = 1 local tabBtns = {} local notifyGui = Instance.new("ScreenGui", playerGui) local notifyHolder = Instance.new("Frame", notifyGui) notifyHolder.Size = UDim2.new(0, 300, 1, 0) notifyHolder.Position = UDim2.new(1, -310, 0, 0) notifyHolder.BackgroundTransparency = 1 Instance.new("UIListLayout", notifyHolder).VerticalAlignment = Enum.VerticalAlignment.Bottom local function ShowNotify(title, text) local theme = THEMES[currentTheme] local f = Instance.new("Frame", notifyHolder) f.Size = UDim2.new(1, 0, 0, 70) f.BackgroundColor3 = theme.Sidebar Instance.new("UICorner", f) local s = Instance.new("UIStroke", f) s.Color = theme.Accent s.Thickness = 2 local t = Instance.new("TextLabel", f) t.Text = title t.Size = UDim2.new(1, -10, 0, 25) t.Position = UDim2.new(0, 5, 0, 5) t.TextColor3 = theme.Accent t.BackgroundTransparency = 1 t.Font = Enum.Font.GothamBold t.TextXAlignment = Enum.TextXAlignment.Left local d = Instance.new("TextLabel", f) d.Text = text d.Size = UDim2.new(1, -10, 0, 35) d.Position = UDim2.new(0, 5, 0, 30) d.TextColor3 = theme.Text d.BackgroundTransparency = 1 d.Font = Enum.Font.Gotham d.TextWrapped = true d.TextXAlignment = Enum.TextXAlignment.Left task.delay(6, function() f:Destroy() end) end local screenGui = Instance.new("ScreenGui", playerGui) screenGui.Name = "LoffyOpenSource_V3_2" screenGui.ResetOnSpawn = false local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 600, 0, 350) mainFrame.Position = UDim2.new(0.5, 0, 0.5, 0) mainFrame.AnchorPoint = Vector2.new(0.5, 0.5) mainFrame.BackgroundColor3 = THEMES[currentTheme].Background mainFrame.ClipsDescendants = true mainFrame.Parent = screenGui local uiCorner = Instance.new("UICorner", mainFrame) uiCorner.CornerRadius = UDim.new(0, 12) local uiStroke = Instance.new("UIStroke", mainFrame) uiStroke.Thickness = 1.5 uiStroke.Color = THEMES[currentTheme].Line local sidebar = Instance.new("Frame", mainFrame) sidebar.Size = UDim2.new(0, 160, 1, 0) sidebar.BackgroundColor3 = THEMES[currentTheme].Sidebar sidebar.BorderSizePixel = 0 Instance.new("UICorner", sidebar).CornerRadius = UDim.new(0, 12) local logo = Instance.new("TextLabel", sidebar) logo.Text = "LOFFY | OPENSOURCE ( TYPE YOUR NAME HUB )" logo.Size = UDim2.new(1, 0, 0, 60) logo.Font = Enum.Font.GothamBold logo.TextSize = 15 logo.BackgroundTransparency = 1 RunService.RenderStepped:Connect(function() logo.TextColor3 = Color3.fromHSV(tick() % 5 / 5, 0.7, 1) end) local navList = Instance.new("Frame", sidebar) navList.Size = UDim2.new(1, 0, 1, -100) navList.Position = UDim2.new(0, 0, 0, 70) navList.BackgroundTransparency = 1 Instance.new("UIListLayout", navList).HorizontalAlignment = Enum.HorizontalAlignment.Center local closeBtn = Instance.new("TextButton", mainFrame) closeBtn.Size = UDim2.new(0, 28, 0, 28) closeBtn.Position = UDim2.new(1, -35, 0, 10) closeBtn.BackgroundColor3 = Color3.fromRGB(255, 70, 70) closeBtn.Text = "×" closeBtn.TextColor3 = Color3.new(1, 1, 1) closeBtn.Font = Enum.Font.GothamBold closeBtn.TextSize = 20 Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 6) local function closeUI() local closeTweenInfo = TweenInfo.new(0.4, Enum.EasingStyle.Back, Enum.EasingDirection.In) local tween = TweenService:Create(mainFrame, closeTweenInfo, { Size = UDim2.new(0, 0, 0, 0), BackgroundTransparency = 1 }) TweenService:Create(uiStroke, TweenInfo.new(0.2), {Transparency = 1}):Play() TweenService:Create(sidebar, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play() tween:Play() tween.Completed:Connect(function() screenGui:Destroy() end) end closeBtn.MouseButton1Click:Connect(closeUI) local resizeHandle = Instance.new("ImageButton", mainFrame) resizeHandle.Size = UDim2.new(0, 25, 0, 25) resizeHandle.Position = UDim2.new(1, -25, 1, -25) resizeHandle.BackgroundTransparency = 1 resizeHandle.Image = "rbxassetid://6031945395" resizeHandle.ImageColor3 = THEMES[currentTheme].Accent resizeHandle.ZIndex = 20 local dragging, resizing = false, false local dragStart, startPos, startSize mainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 and not resizing then dragging = true dragStart = input.Position startPos = mainFrame.Position end end) resizeHandle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then resizing = true dragStart = input.Position startSize = mainFrame.Size dragging = false end end) UserInputService.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then if dragging then local delta = input.Position - dragStart mainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) elseif resizing then local delta = input.Position - dragStart mainFrame.Size = UDim2.new(0, math.max(150, startSize.X.Offset + delta.X), 0, math.max(150, startSize.Y.Offset + delta.Y)) end end end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false resizing = false end end) local contentArea = Instance.new("Frame", mainFrame) contentArea.Size = UDim2.new(1, -175, 1, -60) contentArea.Position = UDim2.new(0, 170, 0, 50) contentArea.BackgroundTransparency = 1 local pages = {} local function createPage(name) local p = Instance.new("ScrollingFrame", contentArea) p.Size = UDim2.new(1, 0, 1, 0) p.BackgroundTransparency = 1 p.Visible = false p.ScrollBarThickness = 0 pages[name] = p return p end local homePage = createPage("Home") local settingPage = createPage("Settings") homePage.Visible = true local themeBtn = Instance.new("TextButton", settingPage) themeBtn.Size = UDim2.new(0, 200, 0, 45) themeBtn.BackgroundColor3 = THEMES[currentTheme].Sidebar themeBtn.Text = "Mode: Dark Mode" themeBtn.TextColor3 = THEMES[currentTheme].Text themeBtn.Font = Enum.Font.GothamMedium Instance.new("UICorner", themeBtn) local langBtn = Instance.new("TextButton", settingPage) langBtn.Size = UDim2.new(0, 200, 0, 45) langBtn.Position = UDim2.new(0, 0, 0, 55) langBtn.BackgroundColor3 = THEMES[currentTheme].Sidebar langBtn.Text = "Language: English" langBtn.TextColor3 = THEMES[currentTheme].Text langBtn.Font = Enum.Font.GothamMedium Instance.new("UICorner", langBtn) local function updateLanguage() local l = LANGS[langIdx] local t = (currentTheme == "Dark" and "Dark Mode" or "Light Mode") if l.Name == "VietNamese" then t = (currentTheme == "Dark" and "Tối" or "Sáng") end themeBtn.Text = l.Mode .. t langBtn.Text = l.Lang tabBtns["Home"].Text = l.Home tabBtns["Settings"].Text = l.Settings end themeBtn.MouseButton1Click:Connect(function() currentTheme = (currentTheme == "Dark" and "Light" or "Dark") local t = THEMES[currentTheme] local ti = TweenInfo.new(0.3) TweenService:Create(mainFrame, ti, {BackgroundColor3 = t.Background}):Play() TweenService:Create(sidebar, ti, {BackgroundColor3 = t.Sidebar}):Play() TweenService:Create(uiStroke, ti, {Color = t.Line}):Play() TweenService:Create(themeBtn, ti, {BackgroundColor3 = t.Sidebar, TextColor3 = t.Text}):Play() TweenService:Create(langBtn, ti, {BackgroundColor3 = t.Sidebar, TextColor3 = t.Text}):Play() resizeHandle.ImageColor3 = t.Accent updateLanguage() end) langBtn.MouseButton1Click:Connect(function() langIdx = langIdx + 1 if langIdx > #LANGS then langIdx = 1 end updateLanguage() ShowNotify(LANGS[langIdx].Name, "Language Updated!") end) local function addTab(name) local btn = Instance.new("TextButton", navList) btn.Size = UDim2.new(0.9, 0, 0, 40) btn.BackgroundTransparency = 1 btn.Text = name btn.Font = Enum.Font.GothamMedium btn.TextColor3 = THEMES[currentTheme].TextSec btn.TextSize = 14 tabBtns[name] = btn btn.MouseButton1Click:Connect(function() for _, pg in pairs(pages) do pg.Visible = false end pages[name].Visible = true end) end addTab("Home") addTab("Settings") ShowNotify(LANGS[langIdx].Name, LANGS[langIdx].Welcome)