-- Carrega a versão mais recente da AquaUI local AquaUI = loadstring(game:HttpGet("https://gist.githubusercontent.com/marcossilvasilva3456789-commits/1e745d8c6d417ca5ac1f2057569f81c2/raw/6e4d6015fd4846f897c552de2290343ffc526777/pasbevos%2520library%2520atualizado%2520beta%2520v2"))() -- Criar o menu local menu = AquaUI:CreateWindow("Zerax Hub", UDim2.new(0, 650, 0, 550)) -- Serviços local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer -- ============================================ -- ABA: HUMANOID (character manipulation) -- ============================================ local HumanoidTab = menu:CreateTab("Humanoid") -- Função auxiliar para obter o Humanoid local local function getLocalHumanoid() local char = LocalPlayer.Character if char then return char:FindFirstChildOfClass("Humanoid") end end -- ===== Secção: Movement ===== local secMovement = menu:CreateSection(HumanoidTab, "⚡ Movement") -- ---------- Double Speed ---------- local baseWalkSpeed = 16 local speedToggle = false local speedConnection = nil local function startSpeedConnection() if speedConnection then speedConnection:Disconnect() end speedConnection = RunService.Heartbeat:Connect(function() if not speedToggle then return end local h = getLocalHumanoid() if h and math.abs(h.WalkSpeed - baseWalkSpeed * 2) > 0.01 then h.WalkSpeed = baseWalkSpeed * 2 end end) end menu:AddToggle(secMovement, { Title = "Double Speed", Description = "Doubles WalkSpeed and prevents it from dropping", Default = false, Callback = function(val) speedToggle = val local hum = getLocalHumanoid() if val then if hum then baseWalkSpeed = hum.WalkSpeed hum.WalkSpeed = baseWalkSpeed * 2 end startSpeedConnection() else if speedConnection then speedConnection:Disconnect(); speedConnection = nil end if hum then hum.WalkSpeed = baseWalkSpeed end end end }) -- ---------- Double Jump ---------- local baseJumpPower = 50 local jumpToggle = false local jumpConnection = nil local function startJumpConnection() if jumpConnection then jumpConnection:Disconnect() end jumpConnection = RunService.Heartbeat:Connect(function() if not jumpToggle then return end local h = getLocalHumanoid() if h and math.abs(h.JumpPower - baseJumpPower * 2) > 0.01 then h.JumpPower = baseJumpPower * 2 end end) end menu:AddToggle(secMovement, { Title = "Double Jump", Description = "Doubles JumpPower and prevents it from dropping", Default = false, Callback = function(val) jumpToggle = val local hum = getLocalHumanoid() if val then if hum then baseJumpPower = hum.JumpPower hum.JumpPower = baseJumpPower * 2 end startJumpConnection() else if jumpConnection then jumpConnection:Disconnect(); jumpConnection = nil end if hum then hum.JumpPower = baseJumpPower end end end }) -- ---------- Infinite Jump ---------- local infJumpEnabled = false local jumpRequestConnection = nil local function hookInfiniteJump() if jumpRequestConnection then jumpRequestConnection:Disconnect() end jumpRequestConnection = UserInputService.JumpRequest:Connect(function() if not infJumpEnabled then return end local h = getLocalHumanoid() if h then h:ChangeState(Enum.HumanoidStateType.Jumping) end end) end menu:AddToggle(secMovement, { Title = "Infinite Jump", Description = "Allows you to jump in the air (press jump key)", Default = false, Callback = function(val) infJumpEnabled = val if val then hookInfiniteJump() else if jumpRequestConnection then jumpRequestConnection:Disconnect(); jumpRequestConnection = nil end end end }) -- Reaplica tudo quando o personagem renasce LocalPlayer.CharacterAdded:Connect(function(char) local hum = char:WaitForChild("Humanoid") if infJumpEnabled then hookInfiniteJump() end if speedToggle then if hum then hum.WalkSpeed = baseWalkSpeed * 2 end startSpeedConnection() end if jumpToggle then if hum then hum.JumpPower = baseJumpPower * 2 end startJumpConnection() end end) -- ===== Player Selection & Goto ===== local secPlayers = menu:CreateSection(HumanoidTab, "👥 Player Selector") local targetPlayer = nil local playerDropdown = nil local function getPlayerNames() local names = {} for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer then table.insert(names, plr.Name) end end if #names == 0 then table.insert(names, "No players") end return names end local function createPlayerDropdown() local names = getPlayerNames() playerDropdown = menu:AddDropdown(secPlayers, { Title = "Select Target", Options = names, Default = names[1] or "No players", Callback = function(opt) for _, p in ipairs(Players:GetPlayers()) do if p.Name == opt then targetPlayer = p break end end end }) end createPlayerDropdown() menu:CreateButton(secPlayers, { Title = "🔄 Refresh List", Callback = function() local newNames = getPlayerNames() if playerDropdown and playerDropdown.Update then playerDropdown:Update(newNames) else pcall(function() playerDropdown:Destroy() end) createPlayerDropdown() end AquaUI:Notify({Title = "Player List", Description = "List updated", Duration = 2}) end }) menu:AddSeparator(secPlayers) menu:CreateButton(secPlayers, { Title = "Goto Player", Description = "Teleport next to the selected player", Callback = function() if not targetPlayer then AquaUI:Notify({Title = "Error", Description = "No player selected", Duration = 2}) return end local targetChar = targetPlayer.Character if not targetChar or not targetChar:FindFirstChild("HumanoidRootPart") then AquaUI:Notify({Title = "Error", Description = "Target character not loaded", Duration = 2}) return end local myChar = LocalPlayer.Character if not myChar or not myChar:FindFirstChild("HumanoidRootPart") then AquaUI:Notify({Title = "Error", Description = "Your character not loaded", Duration = 2}) return end local targetRoot = targetChar.HumanoidRootPart local myRoot = myChar.HumanoidRootPart myRoot.CFrame = targetRoot.CFrame * CFrame.new(3, 0, 0) AquaUI:Notify({Title = "Teleported", Description = "You are now next to "..targetPlayer.Name, Duration = 2}) end }) -- ============================================ -- ABA: CATCHER (TP mechanics) -- ============================================ local CatcherTab = menu:CreateTab("Catcher") local secCatcher = menu:CreateSection(CatcherTab, "🌀 Teleport Control") local function getLocalRoot() local char = LocalPlayer.Character return char and char:FindFirstChild("HumanoidRootPart") end local function getTargetRoot(targetPlr) local char = targetPlr.Character return char and char:FindFirstChild("HumanoidRootPart") end -- ---------- TP All ---------- local tpAllEnabled = false local tpAllThread = nil local function tpAllLoop() while tpAllEnabled do local localRoot = getLocalRoot() if localRoot then local others = {} for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer then table.insert(others, p) end end for _, plr in ipairs(others) do if not tpAllEnabled then break end local targetRoot = getTargetRoot(plr) if targetRoot then localRoot.CFrame = targetRoot.CFrame localRoot.Velocity = Vector3.zero localRoot.RotVelocity = Vector3.zero pcall(function() sethiddenproperty(localRoot, "PhysicsRepRootPart", targetRoot) end) end task.wait(0.2) end end task.wait() end end menu:AddToggle(secCatcher, { Title = "TP All", Description = "Continuously teleports you inside every player (0.2s each)", Default = false, Callback = function(val) tpAllEnabled = val if val then AquaUI:Notify({Title = "TP All", Description = "Activated", Duration = 2}) tpAllThread = task.spawn(tpAllLoop) else if tpAllThread then task.cancel(tpAllThread) end AquaUI:Notify({Title = "TP All", Description = "Deactivated", Duration = 2}) end end }) -- ---------- TP Automatically ---------- local tpAutoEnabled = false local tpAutoThread = nil local function tpAutoLoop() local currentIndex = 1 local lastSwitch = tick() while tpAutoEnabled do local localRoot = getLocalRoot() if localRoot then local others = {} for _, p in ipairs(Players:GetPlayers()) do if p ~= LocalPlayer then table.insert(others, p) end end if #others > 0 then local now = tick() if now - lastSwitch >= 0.4 then local target = others[currentIndex] if target then local targetRoot = getTargetRoot(target) if targetRoot then localRoot.CFrame = targetRoot.CFrame localRoot.Velocity = Vector3.zero localRoot.RotVelocity = Vector3.zero pcall(function() sethiddenproperty(localRoot, "PhysicsRepRootPart", targetRoot) end) end end currentIndex = currentIndex + 1 if currentIndex > #others then currentIndex = 1 end lastSwitch = now end end end task.wait() end end menu:AddToggle(secCatcher, { Title = "TP Automatically", Description = "Auto teleport to players one by one, 0.4s repeat, 0.1s inside", Default = false, Callback = function(val) tpAutoEnabled = val if val then AquaUI:Notify({Title = "TP Automatically", Description = "Enabled", Duration = 2}) tpAutoThread = task.spawn(tpAutoLoop) else if tpAutoThread then task.cancel(tpAutoThread) end AquaUI:Notify({Title = "TP Automatically", Description = "Disabled", Duration = 2}) end end }) -- ============================================ -- ABA: ESP (Player ESP) -- ============================================ local EspTab = menu:CreateTab("ESP") local secEsp = menu:CreateSection(EspTab, "👁️ ESP Settings") local espEnabled = false local showRedOnly = false local showBlueOnly = false -- Armazena objetos de ESP para cada jogador local espObjects = {} -- [player] = { highlight, billboard, connection } local function getTeamColor(player) -- Tenta identificar time pela propriedade TeamColor if player.Team and player.Team.TeamColor then local color = player.Team.TeamColor.Color -- Simplificação: se o tom for próximo de vermelho ou azul if color.r > 0.8 and color.g < 0.3 and color.b < 0.3 then return Color3.new(1, 0, 0) -- Red elseif color.b > 0.8 and color.r < 0.3 and color.g < 0.3 then return Color3.new(0, 0, 1) -- Blue end end -- Fallback: se o nome do time contiver "Red" ou "Blue" if player.Team then local name = player.Team.Name:lower() if name:find("red") then return Color3.new(1, 0, 0) end if name:find("blue") then return Color3.new(0, 0, 1) end end return Color3.new(1, 1, 1) -- White (unknown) end local function shouldShow(player) if not espEnabled then return false end if player == LocalPlayer then return false end local color = getTeamColor(player) local isRed = (color.r > 0.9 and color.g < 0.1 and color.b < 0.1) local isBlue = (color.b > 0.9 and color.r < 0.1 and color.g < 0.1) if showRedOnly and showBlueOnly then return true elseif showRedOnly then return isRed elseif showBlueOnly then return isBlue else return true end end local function createESP(player) if espObjects[player] then return end local function setup() local char = player.Character if not char then return end local root = char:FindFirstChild("HumanoidRootPart") local head = char:FindFirstChild("Head") if not root or not head then return end -- Highlight (caixa 3D) local highlight = Instance.new("Highlight") highlight.Name = "ESP_Highlight" highlight.FillTransparency = 1 highlight.OutlineTransparency = 0 highlight.OutlineColor = getTeamColor(player) highlight.Parent = char -- BillboardGui para nome e distância local billboard = Instance.new("BillboardGui") billboard.Name = "ESP_Billboard" billboard.AlwaysOnTop = true billboard.Size = UDim2.new(0, 200, 0, 50) billboard.StudsOffset = Vector3.new(0, 2.5, 0) billboard.Parent = head local label = Instance.new("TextLabel") label.BackgroundTransparency = 1 label.TextColor3 = Color3.new(1, 1, 1) label.TextStrokeTransparency = 0 label.Font = Enum.Font.SourceSansBold label.TextScaled = true label.Size = UDim2.new(1, 0, 1, 0) label.Parent = billboard local connection connection = RunService.RenderStepped:Connect(function() if not player.Parent then connection:Disconnect() return end local currentChar = player.Character if not currentChar or currentChar ~= char then -- Personagem mudou connection:Disconnect() espObjects[player] = nil if shouldShow(player) then createESP(player) end return end if not shouldShow(player) then highlight.Enabled = false billboard.Enabled = false return else highlight.Enabled = true billboard.Enabled = true end local myRoot = getLocalRoot() local targetRoot = root if myRoot and targetRoot then local dist = (myRoot.Position - targetRoot.Position).Magnitude label.Text = string.format("%s\n[%.0f studs]", player.Name, dist) else label.Text = player.Name end highlight.OutlineColor = getTeamColor(player) end) espObjects[player] = { highlight = highlight, billboard = billboard, connection = connection } end if player.Character then setup() end player.CharacterAdded:Connect(function(char) if shouldShow(player) then -- Limpa objetos antigos se existirem if espObjects[player] then local old = espObjects[player] if old.highlight then old.highlight:Destroy() end if old.billboard then old.billboard:Destroy() end if old.connection then old.connection:Disconnect() end espObjects[player] = nil end setup() end end) end local function removeESP(player) local obj = espObjects[player] if not obj then return end if obj.highlight then obj.highlight:Destroy() end if obj.billboard then obj.billboard:Destroy() end if obj.connection then obj.connection:Disconnect() end espObjects[player] = nil end local function refreshAllESP() for _, player in ipairs(Players:GetPlayers()) do if shouldShow(player) then if not espObjects[player] then createESP(player) end else removeESP(player) end end end -- Conexões de jogadores Players.PlayerAdded:Connect(function(player) if shouldShow(player) then createESP(player) end player:GetPropertyChangedSignal("Team"):Connect(function() if espEnabled then refreshAllESP() end end) end) Players.PlayerRemoving:Connect(function(player) removeESP(player) end) -- Toggles da UI menu:AddToggle(secEsp, { Title = "ESP Enabled", Description = "Turns the ESP system on/off", Default = false, Callback = function(val) espEnabled = val if val then refreshAllESP() else for player, _ in pairs(espObjects) do removeESP(player) end end end }) menu:AddToggle(secEsp, { Title = "Show Red Team Only", Description = "Only highlight players on the Red team", Default = false, Callback = function(val) showRedOnly = val if espEnabled then refreshAllESP() end end }) menu:AddToggle(secEsp, { Title = "Show Blue Team Only", Description = "Only highlight players on the Blue team", Default = false, Callback = function(val) showBlueOnly = val if espEnabled then refreshAllESP() end end }) local CreditTab = menu:CreateTab("Credit") local secCredit = menu:CreateSection(CreditTab, "Credits") menu:AddLabel(secCredit, { Title = "Creator: swat07_script" }) menu:AddLabel(secCredit, { Title = "Discord Server: https://discord.gg/vArYQrx4A" }) menu:AddLabel(secCredit, { Title = "Discord Owner: krnl" }) menu:AddLabel(secCredit, { Title = "Usernames: Krnl_oficial | Swat07_oficial" }) menu:AddLabel(secCredit, { Title = "Anyone who wants to join the Discord server, enter here" })