local Library = loadstring(game:HttpGet("https://[Log in to view URL]"))()

-- Create Window
local Window = Library:AddWindow({
	title = {"Gaming Hub", " v3 . 0 . 1 "},
	theme = {
		Accent = Color3.fromRGB(0, 255, 0)
	},
	key = Enum.KeyCode.RightControl,
	default = true
})

--  Tabs
local Tab = Window:AddTab("Main", {default = false})
local Tab1 = Window:AddTab("Settings", {default = false})
local Tab2 = Window:AddTab("Extra", {default = false})

--  Sections
local Section = Tab:AddSection("Welcome", {default = false})
local Section1 = Tab1:AddSection("Welcome", {default = false})
local Section2 = Tab2:AddSection("Credits", {default = false})

-- section Main
local Button = Section:AddButton("Auto Parry", function()
	 local Debug = true -- Set this to true if you want my debug output.
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local Players = game:GetService("Players")
     
    local Player = Players.LocalPlayer or Players.PlayerAdded:Wait()
    local Remotes = ReplicatedStorage:WaitForChild("Remotes", 9e9) -- A second argument in waitforchild what could it mean?
    local Balls = workspace:WaitForChild("Balls", 9e9)
     
    -- Functions
     
    local function print(...) -- Debug print.
        if Debug then
            warn(...)
        end
    end
     
    local function VerifyBall(Ball) -- Returns nil if the ball isn't a valid projectile; true if it's the right ball.
        if typeof(Ball) == "Instance" and Ball:IsA("BasePart") and Ball:IsDescendantOf(Balls) and Ball:GetAttribute("realBall") == true then
            return true
        end
    end
     
    local function IsTarget() -- Returns true if we are the current target.
        return (Player.Character and Player.Character:FindFirstChild("Highlight"))
    end
     
    local function Parry() -- Parries.
        Remotes:WaitForChild("ParryButtonPress"):Fire()
    end
     
    -- The actual code
     
    Balls.ChildAdded:Connect(function(Ball)
        if not VerifyBall(Ball) then
            return
        end
     
        print(`Ball Spawned: {Ball}`)
     
        local OldPosition = Ball.Position
        local OldTick = tick()
     
        Ball:GetPropertyChangedSignal("Position"):Connect(function()
            if IsTarget() then -- No need to do the math if we're not being attacked.
                local Distance = (Ball.Position - workspace.CurrentCamera.Focus.Position).Magnitude
                local Velocity = (OldPosition - Ball.Position).Magnitude -- Fix for .Velocity not working. Yes I got the lowest possible grade in accuplacer math.
     
                print(`Distance: {Distance}\nVelocity: {Velocity}\nTime: {Distance / Velocity}`)
     
                if (Distance / Velocity) <= 10 then -- Sorry for the magic number. This just works. No, you don't get a slider for this because it's 2am.
                    Parry()
                end
            end
     
            if (tick() - OldTick >= 1/60) then -- Don't want it to update too quickly because my velocity implementation is aids. Yes, I tried Ball.Velocity. No, it didn't work.
                OldTick = tick()
                OldPosition = Ball.Position
            end
        end)
    end)
end)

local Button = Section:AddButton("spam Parry", function()
	  local button = Instance.new("TextButton")
  button.Text = "Spam: OFF"
  button.Size = UDim2.new(1, -10, 1, -10)
  button.Position = UDim2.new(0, 10, 0, 10)
  button.BackgroundColor3 = Color3.new(0, 0, 0)
  button.BorderColor3 = Color3.new(0, 0, 0)
  button.BorderSizePixel = 2
  button.Font = Enum.Font.SourceSans
  button.TextColor3 = Color3.new(255, 0, 0)
  button.TextSize = 15
  button.Parent = frame
  
  local activated = false
  
  local function toggle()
    activated = not activated
    button.Text = activated and "Spam: ON" or "Spam: OFF"
    while activated do
      local args = {
        [1] = 1.5,
        [2] = CFrame.new(-254.2939910888672, 112.13581848144531, -119.27256774902344) * CFrame.Angles(-2.029526710510254, 0.5662040710449219, 2.314905881881714),
        [3] = {
          ["2617721424"] = Vector3.new(-273.400146484375, -724.8031005859375, -20.92414093017578),
        },
        [4] = {
          [1] = 910,
          [2] = 154
        }
      }
      game:GetService("ReplicatedStorage").Remotes.ParryAttempt:FireServer(unpack(args))
      game:GetService("RunService").Heartbeat:Wait(0.000001)
    end
  end
  
  button.MouseButton1Click:Connect(toggle)
  
  -- Adicionar keybind "E" para ativar o botão
  local UserInputService = game:GetService("UserInputService")
  local eKeyPressed = false
  
  UserInputService.InputBegan:Connect(function(input, gameProcessedEvent)
    if input.KeyCode == Enum.KeyCode.E and not gameProcessedEvent then
      eKeyPressed = true
      toggle()
    end
  end)
  
  UserInputService.InputEnded:Connect(function(input, gameProcessedEvent)
    if input.KeyCode == Enum.KeyCode.E then
      eKeyPressed = false
    end
  end)
  
  local NotificationHolder = loadstring(game:HttpGet("https://[Log in to view URL]"))()
  local Notification = loadstring(game:HttpGet("https://[Log in to view URL]"))()
  
  Notification:Notify(
    {Title = "Private Hub beta", Description = "The best of all scripts   /   By: Zinkz"},
    {OutlineColor = Color3.fromRGB(80, 80, 80), Time = 10, Type = "option"},
    {Image = "http://[Log in to view URL]", ImageColor = Color3.fromRGB(255, 84, 84), Callback = function(State) print(tostring(State)) end}
  )
end
end)


-- section 1 Settings

local Button = Section1:AddButton("Show fps", function()
	  
        wait(2)
 
    repeat wait() until game:IsLoaded() wait(2)
    local ScreenGui = Instance.new("ScreenGui")
    local Fps = Instance.new("TextLabel")
    local Ping = Instance.new("TextLabel")
 
    --Properties:
 
    ScreenGui.Parent = game.CoreGui
    ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
 
    Fps.Name = "Fps"
    Fps.Parent = ScreenGui
    Fps.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
    Fps.BackgroundTransparency = 1.000
    Fps.Position = UDim2.new(0.786138654, 0, 0, 0)
    Fps.Size = UDim2.new(0, 125, 0, 25)
    Fps.Font = Enum.Font.SourceSans
    Fps.TextColor3 = Color3.fromRGB(255, 0, 0)
    Fps.TextScaled = true
    Fps.TextSize = 14.000
    Fps.TextWrapped = true
 
    Ping.Name = "Ping"
    Ping.Parent = ScreenGui
    Ping.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
    Ping.BackgroundTransparency = 1.000
    Ping.BorderColor3 = Color3.fromRGB(25, 25, 25)
    Ping.Position = UDim2.new(0.700000048, 0, 0, 0)
    Ping.Size = UDim2.new(0, 125, 0, 25)
    Ping.Font = Enum.Font.SourceSans
    Ping.TextColor3 = Color3.fromRGB(255, 0, 0)
    Ping.TextScaled = true
    Ping.TextSize = 14.000
    Ping.TextWrapped = true
 
 
    -- Scripts:
 
    local script = Instance.new('LocalScript', Fps)
    local RunService = game:GetService("RunService")
    RunService.RenderStepped:Connect(function(frame) -- This will fire every time a frame is rendered
    script.Parent.Text = ("FPS: "..math.round(1/frame)) 
    end)
 
 
    local script = Instance.new('LocalScript', Ping)
    local RunService = game:GetService("RunService")
    RunService.RenderStepped:Connect(function(ping) 
    script.Parent.Text = ("Ping: " ..game:GetService("Stats").Network.ServerStatsItem["Data Ping"]:GetValueString(math.round(2/ping))) -- your ping
    end)
 
 
    local Rayfield = loadstring(game:HttpGet('https://[Log in to view URL]'))()
 
    local workspace = game:GetService("Workspace")
    local players = game:GetService("Players")
    local localPlayer = players.LocalPlayer
    local UserInputService = game:GetService("UserInputService")
    local replicatedStorage = game:GetService("ReplicatedStorage")
    local heartbeatConnection
        
end)

local Button = Section1:AddButton("Esp", function()
	
    getgenv().enabled = true --Toggle on/off
getgenv().filluseteamcolor = true --Toggle fill color using player team color on/off
getgenv().outlineuseteamcolor = true --Toggle outline color using player team color on/off
getgenv().fillcolor = Color3.new(0, 0, 0) --Change fill color, no need to edit if using team color
getgenv().outlinecolor = Color3.new(1, 1, 1) --Change outline color, no need to edit if using team color
getgenv().filltrans = 0 --Change fill transparency
getgenv().outlinetrans = 0 --Change outline transparency
 
    loadstring(game:HttpGet("https://[Log in to view URL]"))()

end)

local Button = Section1:AddButton("weird auto parry", function()
	   getgenv().god = true
while getgenv().god and task.wait() do
    for _,ball in next, workspace.Balls:GetChildren() do
        if ball then
            if game:GetService("Players").LocalPlayer.Character and game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
                game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.Position, ball.Position)
                if game:GetService("Players").LocalPlayer.Character:FindFirstChild("Highlight") then
                    game:GetService("Players").LocalPlayer.Character.HumanoidRootPart.CFrame = ball.CFrame * CFrame.new(0, 0, (ball.Velocity).Magnitude * -0.5)
                    game:GetService("ReplicatedStorage").Remotes.ParryButtonPress:Fire()
                end
            end
        end
    end
        end
      		print("Using Auto Parry")
end)

-- section 2

local Button = Section1:AddButton("Chicken But", function()
	print("Button has been pressed")
end)

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: