-- [[ TOWER HUB - UNIVERSAL EDITION ]] -- local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local CoreGui = game:GetService("CoreGui") -- Criando a Interface Principal (GUI) local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "TowerHubUniversal" ScreenGui.Parent = CoreGui ScreenGui.ResetOnSpawn = false -- Janela de Aviso (6 segundos) local NoticeFrame = Instance.new("Frame") NoticeFrame.Name = "NoticeFrame" NoticeFrame.Parent = ScreenGui NoticeFrame.BackgroundColor3 = Color3.fromRGB(40, 40, 40) NoticeFrame.Size = UDim2.new(0, 300, 0, 120) NoticeFrame.Position = UDim2.new(0.5, -150, 0.4, -60) NoticeFrame.BorderSizePixel = 2 NoticeFrame.BorderColor3 = Color3.fromRGB(255, 200, 0) local NoticeText = Instance.new("TextLabel") NoticeText.Parent = NoticeFrame NoticeText.Size = UDim2.new(1, 0, 1, 0) NoticeText.BackgroundTransparency = 1 NoticeText.Font = Enum.Font.SourceSansBold NoticeText.Text = "AVISO ⚠️\n\nESSE SCRIPT É FEITO PARA JOGOS DE TORRES" NoticeText.TextColor3 = Color3.fromRGB(255, 215, 0) NoticeText.TextSize = 20 NoticeText.TextWrapped = true -- Janela Principal local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Parent = ScreenGui MainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30) MainFrame.Position = UDim2.new(0.1, 0, 0.2, 0) MainFrame.Size = UDim2.new(0, 220, 0, 420) MainFrame.Active = true MainFrame.Draggable = true MainFrame.Visible = false -- Botão de Abrir/Fechar local ToggleVisual = Instance.new("TextButton") ToggleVisual.Name = "ToggleVisual" ToggleVisual.Parent = ScreenGui ToggleVisual.Position = UDim2.new(0, 10, 0, 10) ToggleVisual.Size = UDim2.new(0, 80, 0, 30) ToggleVisual.BackgroundColor3 = Color3.fromRGB(45, 45, 45) ToggleVisual.Text = "Abrir/Fechar" ToggleVisual.TextColor3 = Color3.fromRGB(255, 255, 255) ToggleVisual.TextSize = 14 ToggleVisual.Visible = false ToggleVisual.MouseButton1Click:Connect(function() MainFrame.Visible = not MainFrame.Visible end) local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Parent = MainFrame Title.BackgroundColor3 = Color3.fromRGB(45, 45, 45) Title.Size = UDim2.new(1, 0, 0, 40) Title.Font = Enum.Font.SourceSansBold Title.Text = "TOWER HUB (UNIVERSAL)" Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 16 local ContentFrame = Instance.new("Frame") ContentFrame.Name = "ContentFrame" ContentFrame.Parent = MainFrame ContentFrame.BackgroundTransparency = 1 ContentFrame.Position = UDim2.new(0, 0, 0, 45) ContentFrame.Size = UDim2.new(1, 0, 1, -45) local UIListLayout = Instance.new("UIListLayout") UIListLayout.Parent = ContentFrame UIListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 8) -- Variáveis Universais local noclip = false local infiniteJump = false local tpItemEnabled = false local superGravity = false local molaGravEnabled = false local molaSpeedEnabled = false local ganchoEnabled = false local function createButton(text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 190, 0, 40) btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btn.Font = Enum.Font.SourceSans btn.Text = text .. ": OFF" btn.TextColor3 = Color3.fromRGB(255, 100, 100) btn.TextSize = 16 btn.Parent = ContentFrame local state = false btn.MouseButton1Click:Connect(function() state = not state if state then btn.BackgroundColor3 = Color3.fromRGB(80, 120, 80) btn.TextColor3 = Color3.fromRGB(100, 255, 100) btn.Text = text .. ": ON" else btn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) btn.TextColor3 = Color3.fromRGB(255, 100, 100) btn.Text = text .. ": OFF" end callback(state) end) return btn end -- 1. NOCLIP createButton("NOCLIP", function(state) noclip = state end) RunService.Stepped:Connect(function() if noclip and LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) -- 2. INFINITE JUMP createButton("INFINITE JUMP", function(state) infiniteJump = state end) UserInputService.JumpRequest:Connect(function() if infiniteJump and LocalPlayer.Character then local humanoid = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end end) -- 3. TELEPORT (ITEM) createButton("TP ITEM", function(state) tpItemEnabled = state local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if state then if backpack and not backpack:FindFirstChild("Teleporter") and not LocalPlayer.Character:FindFirstChild("Teleporter") then local tool = Instance.new("Tool") tool.Name = "Teleporter" tool.RequiresHandle = false tool.Activated:Connect(function() if tpItemEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local mouse = LocalPlayer:GetMouse() if mouse.Target then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 3, 0)) end end end) tool.Parent = backpack end else if backpack and backpack:FindFirstChild("Teleporter") then backpack.Teleporter:Destroy() end if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Teleporter") then LocalPlayer.Character.Teleporter:Destroy() end end end) -- 4. SUPER GRAVIDADE local bodyVelocity = nil createButton("SUPER GRAVIDADE", function(state) superGravity = state local root = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if state then if root then bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.Name = "SuperGravForce" bodyVelocity.MaxForce = Vector3.new(0, math.huge, 0) bodyVelocity.Velocity = Vector3.new(0, 100, 0) bodyVelocity.Parent = root end else if bodyVelocity then bodyVelocity:Destroy() bodyVelocity = nil end if root and root:FindFirstChild("SuperGravForce") then root.SuperGravForce:Destroy() end end end) -- 5. MOLA GRAVITACIONAL createButton("MOLA GRAVITACIONAL", function(state) molaGravEnabled = state local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if state then if backpack and not backpack:FindFirstChild("Mola Gravitacional") and not LocalPlayer.Character:FindFirstChild("Mola Gravitacional") then local tool = Instance.new("Tool") tool.Name = "Mola Gravitacional" tool.RequiresHandle = false tool.Equipped:Connect(function() if molaGravEnabled then workspace.Gravity = 35 end end) tool.Unequipped:Connect(function() workspace.Gravity = 196.2 end) tool.Parent = backpack end else workspace.Gravity = 196.2 if backpack and backpack:FindFirstChild("Mola Gravitacional") then backpack["Mola Gravitacional"]:Destroy() end if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Mola Gravitacional") then LocalPlayer.Character["Mola Gravitacional"]:Destroy() end end end) -- 6. MOLA SPEED (Estabilizada para Universal) local speedConnection = nil createButton("MOLA SPEED", function(state) molaSpeedEnabled = state local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") if state then if backpack and not backpack:FindFirstChild("Mola Speed") and not LocalPlayer.Character:FindFirstChild("Mola Speed") then local tool = Instance.new("Tool") tool.Name = "Mola Speed" tool.RequiresHandle = false tool.Equipped:Connect(function() -- Loop universal para garantir que sistemas do jogo não resetem a velocidade speedConnection = RunService.RenderStepped:Connect(function() local humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if molaSpeedEnabled and humanoid then humanoid.WalkSpeed = 100 end end) end) tool.Unequipped:Connect(function() if speedConnection then speedConnection:Disconnect() speedConnection = nil end local humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = 16 end end) tool.Parent = backpack end else if speedConnection then speedConnection:Disconnect() speedConnection = nil end local humanoid = LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = 16 end if backpack and backpack:FindFirstChild("Mola Speed") then backpack["Mola Speed"]:Destroy() end if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Mola Speed") then LocalPlayer.Character["Mola Speed"]:Destroy() end end end) -- 7. GANCHO local antigoAnchored = {} createButton("GANCHO", function(state) ganchoEnabled = state local backpack = LocalPlayer:FindFirstChildOfClass("Backpack") local function soltarGancho() if LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") and antigoAnchored[part] ~= nil then part.Anchored = antigoAnchored[part] end end end antigoAnchored = {} end if state then if backpack and not backpack:FindFirstChild("Gancho") and not LocalPlayer.Character:FindFirstChild("Gancho") then local tool = Instance.new("Tool") tool.Name = "Gancho" tool.RequiresHandle = false tool.Activated:Connect(function() if not ganchoEnabled or not LocalPlayer.Character then return end local root = LocalPlayer.Character:FindFirstChild("HumanoidRootPart") local mouse = LocalPlayer:GetMouse() if root and mouse.Target then soltarGancho() root.CFrame = CFrame.new(mouse.Hit.Position + Vector3.new(0, 2, 0)) task.wait(0.05) for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then antigoAnchored[part] = part.Anchored part.Anchored = true end end end end) tool.Unequipped:Connect(function() soltarGancho() end) tool.Parent = backpack end else soltarGancho() if backpack and backpack:FindFirstChild("Gancho") then backpack.Gancho:Destroy() end if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Gancho") then LocalPlayer.Character.Gancho:Destroy() end end end) -- TIMER DE INICIALIZAÇÃO task.spawn(function() task.wait(6) NoticeFrame:Destroy() MainFrame.Visible = true ToggleVisual.Visible = true end)