-- FÃNTRICK FULL ULTIMATE EDITION (AI VISUALS + CHAT) -- Branding: by itsmesdkreal // Sub to Kingsley Baliog local Players = game:GetService("Players") local HttpService = game:GetService("HttpService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local PlayerGui = Players.LocalPlayer:WaitForChild("PlayerGui") -- Design Colors (Neon Mint) local COLORS = { Main = Color3.fromRGB(12, 12, 12), Accent = Color3.fromRGB(0, 255, 150), Secondary = Color3.fromRGB(22, 22, 24), Text = Color3.fromRGB(255, 255, 255), Dim = Color3.fromRGB(150, 150, 160), Bot = Color3.fromRGB(0, 180, 255) -- AI Bot Chat Color } -- Cleanup old GUI versions if PlayerGui:FindFirstChild("FantrickOmniFinal") then PlayerGui.FantrickOmniFinal:Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "FantrickOmniFinal" ScreenGui.ResetOnSpawn = false ScreenGui.DisplayOrder = 999 ScreenGui.Parent = PlayerGui -- Helpers: Corners and Glow/Stroke local function mkCorner(p, r) local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, r or 12) c.Parent = p end local function mkGlow(p, thick, color) local s = Instance.new("UIStroke") s.Color = color or COLORS.Accent s.Thickness = thick or 2 s.Transparency = 0.2 s.Parent = p end -- ----------------------------------------------------------------------------- -- MAIN FRAME -- ----------------------------------------------------------------------------- local Main = Instance.new("Frame") Main.Name = "MainFrame" Main.Size = UDim2.new(0, 560, 0, 310) Main.Position = UDim2.new(0.5, -280, 0.5, -155) Main.BackgroundColor3 = COLORS.Main Main.Visible = false Main.ClipsDescendants = true Main.Parent = ScreenGui mkCorner(Main) mkGlow(Main) -- Sidebar Navigation (Left Rail) local Sidebar = Instance.new("Frame") Sidebar.Size = UDim2.new(0, 60, 1, -10) Sidebar.Position = UDim2.new(0, 5, 0, 5) Sidebar.BackgroundColor3 = COLORS.Secondary Sidebar.Parent = Main mkCorner(Sidebar, 10) local NavList = Instance.new("UIListLayout") NavList.Parent = Sidebar NavList.Padding = UDim.new(0, 10) NavList.HorizontalAlignment = Enum.HorizontalAlignment.Center Instance.new("UIPadding", Sidebar).PaddingTop = UDim.new(0, 15) -- Container for Pages local Container = Instance.new("Frame") Container.Name = "Container" Container.Size = UDim2.new(1, -75, 1, -55) Container.Position = UDim2.new(0, 70, 0, 45) Container.BackgroundTransparency = 1 Container.Parent = Main local Pages = {} local function mkPage(name) local p = Instance.new("Frame") p.Name = name.."Page" p.Size = UDim2.new(1, 0, 1, 0) p.BackgroundTransparency = 1 p.Visible = false p.Parent = Container Pages[name] = p return p end -- ----------------------------------------------------------------------------- -- EXECUTOR PAGE (DEFAULT) -- ----------------------------------------------------------------------------- local ExecPage = mkPage("EXE") ExecPage.Visible = true local EditorFrame = Instance.new("Frame") EditorFrame.Size = UDim2.new(1, 0, 1, -45) EditorFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15) EditorFrame.Parent = ExecPage mkCorner(EditorFrame, 10) -- SPINNING LOGO WATERMARK (AI STYLE) local BGLogo = Instance.new("ImageLabel") BGLogo.Size = UDim2.new(0, 160, 0, 160) BGLogo.Position = UDim2.new(0.5, -80, 0.5, -80) BGLogo.BackgroundTransparency = 1 BGLogo.Image = "rbxassetid://6031097225" -- Custom Bolt Logo from AI style BGLogo.ImageColor3 = COLORS.Accent BGLogo.ImageTransparency = 0.9 BGLogo.Parent = EditorFrame task.spawn(function() while task.wait() do BGLogo.Rotation = BGLogo.Rotation + 0.5 end end) local Editor = Instance.new("TextBox") Editor.Size = UDim2.new(1, -20, 1, -20) Editor.Position = UDim2.new(0, 10, 0, 10) Editor.MultiLine = true Editor.ClearTextOnFocus = false Editor.Text = "-- Welcome to FÃntrick Omni\nprint('Mobile Optimized Ready!');" Editor.TextColor3 = COLORS.Accent Editor.Font = Enum.Font.Code Editor.TextSize = 12 Editor.TextXAlignment = "Left" Editor.TextYAlignment = "Top" Editor.BackgroundTransparency = 1 Editor.Parent = EditorFrame local function mkMainBtn(text, x, color) local b = Instance.new("TextButton") b.Size = UDim2.new(0, 120, 0, 38) b.Position = UDim2.new(0, x, 1, -38) b.BackgroundColor3 = color or COLORS.Accent b.Text = text b.TextColor3 = (color == COLORS.Accent and COLORS.Main or COLORS.Text) b.Font = Enum.Font.GothamBold b.Parent = ExecPage mkCorner(b, 8) return b end local Run = mkMainBtn("EXECUTE", 0) local Clr = mkMainBtn("CLEAR", 130, COLORS.Secondary) local Pst = mkMainBtn("PASTE", 260, COLORS.Secondary) -- ----------------------------------------------------------------------------- -- SEARCH PAGE (SCRIPTBLOX) -- ----------------------------------------------------------------------------- local SearchPage = mkPage("SRC") local SInput = Instance.new("TextBox") SInput.Size = UDim2.new(1, -95, 0, 35) SInput.BackgroundColor3 = COLORS.Secondary SInput.PlaceholderText = "Search Scripts..." SInput.TextColor3 = COLORS.Text SInput.Parent = SearchPage mkCorner(SInput, 8) local SBtn = Instance.new("TextButton") SBtn.Size = UDim2.new(0, 85, 0, 35) SBtn.Position = UDim2.new(1, -85, 0, 0) SBtn.BackgroundColor3 = COLORS.Accent SBtn.Text = "SEARCH" SBtn.Font = Enum.Font.GothamBold SBtn.Parent = SearchPage mkCorner(SBtn, 8) local SScroll = Instance.new("ScrollingFrame") SScroll.Size = UDim2.new(1, 0, 1, -45) SScroll.Position = UDim2.new(0, 0, 0, 45) SScroll.BackgroundTransparency = 1 SScroll.AutomaticCanvasSize = "Y" SScroll.Parent = SearchPage Instance.new("UIListLayout", SScroll).Padding = UDim.new(0, 8) local function addScriptCard(title, code, thumb) local Card = Instance.new("Frame") Card.Size = UDim2.new(1, -10, 0, 70) Card.BackgroundColor3 = COLORS.Secondary Card.Parent = SScroll mkCorner(Card, 8) mkGlow(Card, 1, COLORS.Secondary) -- Subtle edge local Img = Instance.new("ImageLabel") Img.Size = UDim2.new(0, 90, 0, 60) Img.Position = UDim2.new(0, 5, 0, 5) if thumb and thumb ~= "" then Img.Image = (thumb:find("http") and thumb or "https://scriptblox.com"..thumb) else Img.Image = "rbxassetid://6031097225" -- Fallback end Img.Parent = Card mkCorner(Img, 6) local T = Instance.new("TextLabel") T.Size = UDim2.new(1, -170, 0, 30) T.Position = UDim2.new(0, 105, 0, 5) T.Text = title:upper() T.TextColor3 = COLORS.Text T.Font = Enum.Font.GothamBold T.TextSize = 12 T.TextXAlignment = Enum.TextXAlignment.Left T.BackgroundTransparency = 1 T.Parent = Card local B = Instance.new("TextButton") B.Size = UDim2.new(0, 60, 0, 30) B.Position = UDim2.new(1, -65, 0.5, -5) B.BackgroundColor3 = COLORS.Accent B.Text = "LOAD" B.Parent = Card mkCorner(B, 6) B.Activated:Connect(function() Editor.Text = code Pages.SRC.Visible = false Pages.EXE.Visible = true end) end SBtn.Activated:Connect(function() for _, v in pairs(SScroll:GetChildren()) do if v:IsA("Frame") then v:Destroy() end end local req = (syn and syn.request) or (http and http.request) or request local res = req({Url = "https://scriptblox.com/api/script/search?q="..HttpService:UrlEncode(SInput.Text).."&max=10", Method = "GET"}) local data = HttpService:JSONDecode(res.Body) if data.result and data.result.scripts then for _, s in pairs(data.result.scripts) do addScriptCard(s.title, s.script, s.thumbnail or "") end end end) -- ----------------------------------------------------------------------------- -- AI CHAT TAB (BOT) -- ----------------------------------------------------------------------------- local BOTPage = mkPage("BOT") local ChatScroll = Instance.new("ScrollingFrame") ChatScroll.Size = UDim2.new(1, 0, 1, -45) ChatScroll.BackgroundTransparency = 1 ChatScroll.AutomaticCanvasSize = "Y" ChatScroll.Parent = BOTPage local ChatList = Instance.new("UIListLayout") ChatList.Parent = ChatScroll ChatList.Padding = UDim.new(0, 5) local InputBar = Instance.new("TextBox") InputBar.Size = UDim2.new(1, -60, 0, 35) InputBar.Position = UDim2.new(0, 0, 1, -35) InputBar.BackgroundColor3 = COLORS.Secondary InputBar.PlaceholderText = "Ask the AI Assistant..." InputBar.TextColor3 = COLORS.Text InputBar.Parent = BOTPage mkCorner(InputBar, 8) local SendBtn = Instance.new("TextButton") SendBtn.Size = UDim2.new(0, 55, 0, 35) SendBtn.Position = UDim2.new(1, -55, 1, -35) SendBtn.BackgroundColor3 = COLORS.Bot SendBtn.Text = "SEND" SendBtn.Font = Enum.Font.GothamBold SendBtn.Parent = BOTPage mkCorner(SendBtn, 8) local function addMsg(sender, text, color) local t = Instance.new("TextLabel") t.Size = UDim2.new(1, -10, 0, 25) t.BackgroundTransparency = 1 t.Text = "["..sender.."]: "..text t.TextColor3 = color or COLORS.Text t.Font = Enum.Font.Gotham t.TextSize = 12 t.TextXAlignment = "Left" t.Parent = ChatScroll ChatScroll.CanvasPosition = Vector2.new(0, ChatScroll.CanvasPosition.Y + 30) end local function aiResponse(msg) addMsg("YOU", msg, COLORS.Accent) msg = msg:lower() task.wait(0.5) if msg:find("fly") then addMsg("AI", "Sent Infinite Yield to Executor. Type ':fly' in game.", COLORS.Bot) Editor.Text = 'loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()' elseif msg:find("speed") or msg:find("walkspeed") then local val = msg:match("%d+") or "100" Players.LocalPlayer.Character.Humanoid.WalkSpeed = tonumber(val) addMsg("AI", "Set walkspeed to " .. val .. "!", COLORS.Bot) else addMsg("AI", "I can help you find scripts! Try asking for 'Fly' or 'Admin'.", COLORS.Bot) end end SendBtn.Activated:Connect(function() if InputBar.Text ~= "" then aiResponse(InputBar.Text) InputBar.Text = "" end end) addMsg("AI", "Hello! I am the Fantrick AI. How can I help you script today?", COLORS.Bot) -- ----------------------------------------------------------------------------- -- NAVIGATION LOGIC -- ----------------------------------------------------------------------------- local function addNav(name, iconId) local B = Instance.new("ImageButton") B.Size = UDim2.new(0, 42, 0, 42) B.BackgroundColor3 = COLORS.Main B.Image = "rbxassetid://"..iconId B.ImageColor3 = COLORS.Dim B.Parent = Sidebar mkCorner(B, 10) B.Activated:Connect(function() for _, p in pairs(Pages) do p.Visible = false end Pages[name].Visible = true for _, btn in pairs(Sidebar:GetChildren()) do if btn:IsA("ImageButton") then btn.ImageColor3 = COLORS.Dim end end B.ImageColor3 = COLORS.Accent end) return B end local ExeNav = addNav("EXE", "6031094678") -- Home/Exec Icon ExeNav.ImageColor3 = COLORS.Accent -- Default highlight addNav("SRC", "6031154871") -- Search Icon addNav("BOT", "6031265147") -- BOT/Chat Icon -- ----------------------------------------------------------------------------- -- DRAGGABLE FLOATING BALL TOGGLE (AI LOGO) -- ----------------------------------------------------------------------------- local Ball = Instance.new("ImageButton") Ball.Name = "FantrickToggle" Ball.Size = UDim2.new(0, 55, 0, 55) Ball.Position = UDim2.new(0.1, 0, 0.2, 0) Ball.BackgroundColor3 = COLORS.Main Ball.Image = "rbxassetid://6031097225" -- The custom Bolt logo from the AI picture Ball.ImageColor3 = COLORS.Accent Ball.Parent = ScreenGui mkCorner(Ball, 30) mkGlow(Ball, 3) local dragging, dragStart, startPos Ball.InputBegan:Connect(function(inp) if inp.UserInputType == Enum.UserInputType.Touch or inp.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true; dragStart = inp.Position; startPos = Ball.Position end end) UserInputService.InputChanged:Connect(function(inp) if dragging and (inp.UserInputType == Enum.UserInputType.Touch or inp.UserInputType == Enum.UserInputType.MouseMovement) then local delta = inp.Position - dragStart Ball.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) Ball.InputEnded:Connect(function() dragging = false end) Ball.Activated:Connect(function() Main.Visible = not Main.Visible end) -- Executor Actions Run.Activated:Connect(function() loadstring(Editor.Text)() end) Clr.Activated:Connect(function() Editor.Text = "" end) Pst.Activated:Connect(function() if getclipboard then Editor.Text = getclipboard() end end) print("FÃNTRICK ULTIMATE OMNI-EDITION LOADED.")