Kirby
Kirby
LPH_NO_VIRTUALIZE(function()
for i, v in getgc() do
if typeof(v) == "function" and islclosure(v) then
if (#getprotos(v) == 1) and table.find(getconstants(getproto(v, 1)),
4000001) then
hookfunction(v, function() end)
end
end
end
end)()
local Tabs = {
Catching = Window:AddTab({ Title = "Catching", Icon = "" }),
Player = Window:AddTab({ Title = "Player", Icon = "" }),
Physics = Window:AddTab({ Title = "Physics", Icon = "" }),
Throwing = Window:AddTab({ Title = "Throwing", Icon = "" }),
Visuals = Window:AddTab({ Title = "Visuals", Icon = "" }),
Automatics = Window:AddTab({ Title = "Automatics", Icon = "" }),
Misc = Window:AddTab({ Title = "Misc", Icon = "" }),
Configs = Window:AddTab({ Title = "Settings", Icon = "" })
}
-- // VARIABLES ⚠️⚠️⚠️
ScreenGui.Parent = game:GetService("CoreGui")
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Enabled = false
MainFrame.Name = "MainFrame"
MainFrame.Parent = ScreenGui
MainFrame.BackgroundColor3 = Color3.new(0.156863, 0.156863, 0.156863)
MainFrame.BorderColor3 = Color3.new(0, 0, 0)
MainFrame.BorderSizePixel = 0
MainFrame.Transparency = .3
MainFrame.Position = UDim2.new(0.2319296, 0, 0, 0)
MainFrame.Size = UDim2.new(0.575757563, 0, 0.0843672454, 0)
UICorner.Parent = MainFrame
UICorner.CornerRadius = UDim.new(0, 3)
ThrowType.Name = "ThrowType"
ThrowType.Parent = MainFrame
ThrowType.BackgroundColor3 = Color3.new(1, 1, 1)
ThrowType.BackgroundTransparency = 1
ThrowType.BorderColor3 = Color3.new(0, 0, 0)
ThrowType.BorderSizePixel = 0
ThrowType.Size = UDim2.new(0.155746505, 0, 1, 0)
ThrowType_2.Name = "ThrowType"
ThrowType_2.Parent = ThrowType
ThrowType_2.BackgroundColor3 = Color3.new(1, 1, 1)
ThrowType_2.BackgroundTransparency = 1
ThrowType_2.BorderColor3 = Color3.new(0, 0, 0)
ThrowType_2.BorderSizePixel = 0
ThrowType_2.Position = UDim2.new(0.331034482, 0, 0.411764711, 0)
ThrowType_2.Size = UDim2.new(0, 49, 0, 24)
ThrowType_2.Font = Enum.Font.SourceSans
ThrowType_2.Text = "Mag"
ThrowType_2.TextColor3 = Color3.new(1, 0, 0)
ThrowType_2.TextSize = 20
Angle.Name = "Angle"
Angle.Parent = MainFrame
Angle.BackgroundColor3 = Color3.new(1, 1, 1)
Angle.BackgroundTransparency = 1
Angle.BorderColor3 = Color3.new(0, 0, 0)
Angle.BorderSizePixel = 0
Angle.Position = UDim2.new(0.156820625, 0, 0, 0)
Angle.Size = UDim2.new(0.155746505, 0, 1, 0)
UIAspectRatioConstraint_2.Parent = Line_2
UIAspectRatioConstraint_2.AspectRatio = 0.014705882407724857
AngleNumber.Name = "AngleNumber"
AngleNumber.Parent = Angle
AngleNumber.BackgroundColor3 = Color3.new(1, 1, 1)
AngleNumber.BackgroundTransparency = 1
AngleNumber.BorderColor3 = Color3.new(0, 0, 0)
AngleNumber.BorderSizePixel = 0
AngleNumber.Position = UDim2.new(0.331034482, 0, 0.411764711, 0)
AngleNumber.Size = UDim2.new(0, 49, 0, 24)
AngleNumber.Font = Enum.Font.SourceSans
AngleNumber.Text = "35"
AngleNumber.TextColor3 = Color3.new(1, 0, 0)
AngleNumber.TextSize = 20
Power.Name = "Power"
Power.Parent = MainFrame
Power.BackgroundColor3 = Color3.new(1, 1, 1)
Power.BackgroundTransparency = 1
Power.BorderColor3 = Color3.new(0, 0, 0)
Power.BorderSizePixel = 0
Power.Position = UDim2.new(0.31364125, 0, 0, 0)
Power.Size = UDim2.new(0.155746505, 0, 1, 0)
PowerNumber.Name = "PowerNumber"
PowerNumber.Parent = Power
PowerNumber.BackgroundColor3 = Color3.new(1, 1, 1)
PowerNumber.BackgroundTransparency = 1
PowerNumber.BorderColor3 = Color3.new(0, 0, 0)
PowerNumber.BorderSizePixel = 0
PowerNumber.Position = UDim2.new(0.331034482, 0, 0.411764711, 0)
PowerNumber.Size = UDim2.new(0, 49, 0, 24)
PowerNumber.Font = Enum.Font.SourceSans
PowerNumber.Text = "60"
PowerNumber.TextColor3 = Color3.new(1, 0, 0)
PowerNumber.TextSize = 20
TargetPlayer.Name = "TargetPlayer"
TargetPlayer.Parent = MainFrame
TargetPlayer.BackgroundColor3 = Color3.new(1, 1, 1)
TargetPlayer.BackgroundTransparency = 1
TargetPlayer.BorderColor3 = Color3.new(0, 0, 0)
TargetPlayer.BorderSizePixel = 0
TargetPlayer.Position = UDim2.new(0.46938777, 0, 0, 0)
TargetPlayer.Size = UDim2.new(0.155746505, 0, 1, 0)
Playerrr.Name = "Player"
Playerrr.Parent = TargetPlayer
Playerrr.BackgroundColor3 = Color3.new(1, 1, 1)
Playerrr.BackgroundTransparency = 1
Playerrr.BorderColor3 = Color3.new(0, 0, 0)
Playerrr.BorderSizePixel = 0
Playerrr.Position = UDim2.new(0.331034482, 0, 0.411764711, 0)
Playerrr.Size = UDim2.new(0, 49, 0, 24)
Playerrr.Font = Enum.Font.SourceSans
Playerrr.Text = "RedX_12890"
Playerrr.TextColor3 = Color3.new(1, 0, 0)
Playerrr.TextSize = 20
Route.Name = "Route"
Route.Parent = MainFrame
Route.BackgroundColor3 = Color3.new(1, 1, 1)
Route.BackgroundTransparency = 1
Route.BorderColor3 = Color3.new(0, 0, 0)
Route.BorderSizePixel = 0
Route.Position = UDim2.new(0.626208365, 0, 0, 0)
Route.Size = UDim2.new(0.155746505, 0, 1, 0)
RouteOK.Name = "RouteType"
RouteOK.Parent = Route
RouteOK.BackgroundColor3 = Color3.new(1, 1, 1)
RouteOK.BackgroundTransparency = 1
RouteOK.BorderColor3 = Color3.new(0, 0, 0)
RouteOK.BorderSizePixel = 0
RouteOK.Position = UDim2.new(0.331034482, 0, 0.411764711, 0)
RouteOK.Size = UDim2.new(0, 49, 0, 24)
RouteOK.Font = Enum.Font.SourceSans
RouteOK.Text = "Slant"
RouteOK.TextColor3 = Color3.new(1, 0, 0)
RouteOK.TextSize = 20
Int.Name = "Int"
Int.Parent = MainFrame
Int.BackgroundColor3 = Color3.new(1, 1, 1)
Int.BackgroundTransparency = 1
Int.BorderColor3 = Color3.new(0, 0, 0)
Int.BorderSizePixel = 0
Int.Position = UDim2.new(0.78302902, 0, 0, 0)
Int.Size = UDim2.new(0.111707851, 0, 1, 0)
Intable.Name = "Intable"
Intable.Parent = Int
Intable.BackgroundColor3 = Color3.new(1, 1, 1)
Intable.BackgroundTransparency = 1
Intable.BorderColor3 = Color3.new(0, 0, 0)
Intable.BorderSizePixel = 0
Intable.Position = UDim2.new(0.311803937, 0, 0.411764711, 0)
Intable.Size = UDim2.new(0, 49, 0, 24)
Intable.Font = Enum.Font.SourceSans
Intable.Text = "Yes"
Intable.TextColor3 = Color3.new(1, 0, 0)
Intable.TextSize = 20
Catchable.Name = "Catchable"
Catchable.Parent = MainFrame
Catchable.BackgroundColor3 = Color3.new(1, 1, 1)
Catchable.BackgroundTransparency = 1
Catchable.BorderColor3 = Color3.new(0, 0, 0)
Catchable.BorderSizePixel = 0
Catchable.Position = UDim2.new(0.8958112, 0, 0, 0)
Catchable.Size = UDim2.new(0.14188792, 0, 1, 0)
Intable_2.Name = "Intable"
Intable_2.Parent = Catchable
Intable_2.BackgroundColor3 = Color3.new(1, 1, 1)
Intable_2.BackgroundTransparency = 1
Intable_2.BorderColor3 = Color3.new(0, 0, 0)
Intable_2.BorderSizePixel = 0
Intable_2.Position = UDim2.new(0.111803937, 0, 0.411764711, 0)
Intable_2.Size = UDim2.new(0, 49, 0, 24)
Intable_2.Font = Enum.Font.SourceSans
Intable_2.Text = "No"
Intable_2.TextColor3 = Color3.new(1, 0, 0)
Intable_2.TextSize = 20
beam.Attachment0 = Attach0
beam.Attachment1 = Attach1
beam.Color =
ColorSequence.new(
{
ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 0,
0)),
ColorSequenceKeypoint.new(1, Color3.fromRGB(0, 0, 0))
}
)
local VisPart = Instance.new("Part")
VisPart.Size = VisPart.Size + Vector3.new(1.2, 0, 1.2)
VisPart.Name = "TargetVisualPart"
VisPart.Anchored = true
VisPart.Parent = workspace
VisPart.CanCollide = false
VisPart.Material = Enum.Material.Neon
VisPart.Color = Color3.fromRGB(0, 0, 0)
beam.Segments = 5000
local par = Instance.new("Part")
par.Parent = workspace
par.Size = Vector3.new(8, 8, 8)
par.Name = "LandingPart"
par.CanCollide = false
par.Anchored = true
par.Shape = Enum.PartType.Ball
par.Color = Color3.fromRGB(255, 165, 0)
game:GetService("UserInputService"):GetMouseLocation().X,
game:GetService("UserInputService"):GetMouseLocation().Y
)
end
if bot1 then
local bot1HumanoidRootPart =
bot1:FindFirstChild("HumanoidRootPart")
if bot1HumanoidRootPart then
local bot1ScreenPosition, onScreen =
getScreenPosition(bot1HumanoidRootPart)
local bot1Distance =
(bot1ScreenPosition - MousePosition).Magnitude
if bot1Distance < ClosestDistance then
ClosestPlayer = bot1
ClosestDistance = bot1Distance
end
end
end
if bot2 then
local bot2HumanoidRootPart =
bot2:FindFirstChild("HumanoidRootPart")
if bot2HumanoidRootPart then
local bot2ScreenPosition, onScreen =
getScreenPosition(bot2HumanoidRootPart)
local bot2Distance =
(bot2ScreenPosition - MousePosition).Magnitude
if bot2Distance < ClosestDistance then
ClosestPlayer = bot2
ClosestDistance = bot2Distance
end
end
end
end
end
end
return ClosestPlayer
end
(Playa.Character:FindFirstChild("HumanoidRootPart").Position -
Player.Character:FindFirstChild("HumanoidRootPart").Position)
local Direction = Distance.Unit
local magdist = Distance.magnitude
local X = Direction * Vector3.new(1, 0, 0)
local X2 = Direction * Vector3.new(-1, 0, 0)
local Z = Direction * Vector3.new(0, 0, 1)
local DirectionDot = DirectionMoving:Dot(Distance)
local Z2
if
getFieldOrientation(
Player.Character:FindFirstChild("HumanoidRootPart"),
DirectionMoving
) == -1
then
Z2 = Direction * Vector3.new(0, 0, -1)
else
Z2 = Direction * Vector3.new(0, 0, 1)
end
local function
GetTimeOfFlightProjectile(FootballInitalVelocity, AngleNeeded, Grav)
local TimeOfflightEquation = (2 * FootballInitalVelocity *
math.sin(AngleNeeded)) / Grav
return TimeOfflightEquation
end
game:GetService("UserInputService").InputBegan:Connect(
function(input, gameProcessedEvent)
local ThrowTypee = getThrowType()
if input.KeyCode == Enum.KeyCode.C and ThrowTypee ==
"Dime" and not gameProcessedEvent then
ThrowType_2.Text = "Dive"
elseif input.KeyCode == Enum.KeyCode.C and ThrowTypee
== "Dive" and not gameProcessedEvent then
ThrowType_2.Text = "Mag"
elseif input.KeyCode == Enum.KeyCode.C and ThrowTypee
== "Mag" and not gameProcessedEvent then
ThrowType_2.Text = "Dot"
elseif input.KeyCode == Enum.KeyCode.C and ThrowTypee
== "Dot" and not gameProcessedEvent then
ThrowType_2.Text = "Bullet"
elseif input.KeyCode == Enum.KeyCode.C and ThrowTypee
== "Bullet" and not gameProcessedEvent then
ThrowType_2.Text = "Dime"
end
end
)
return Botequation
end
return VelocityOffsetAccountedFor
end
local function
getOffsetPredictionBasedOnRouteandThrowType(Route, ThrowType)
if QBAIMtab.OffSetBased then
local closestPlrtomouse = getNearestPlayerToMouse()
local CalculatedRoute =
CalculateRouteofPlayer(closestPlrtomouse)
local LeftandRightXOf
local LeftandRightZOf
local FowardXOf
local FowardZOf
local BackwardXOf
local BackwardZOf
if Route == "LeftRight" and ThrowType == "Dime" then
LeftandRightXOf = 0.28
LeftandRightZOf = 0.25
elseif Route == "Foward" or "Backward" and ThrowType ==
"Dime" then
FowardXOf = 0.27
FowardZOf = 0.35
BackwardXOf = 0.015
BackwardZOf = 0.2
elseif Route == "LeftRight" and ThrowType == "Dive"
then
LeftandRightXOf = 0.45
LeftandRightZOf = 0.35
end
end
end
(CB.Character:FindFirstChild("HumanoidRootPart").Position -
WR.Character:FindFirstChild("HumanoidRootPart").Position).magnitude
if dist < MaxDistance then
ClosestCB = CB
MaxDistance = dist
end
end
end
end
end
else
for index, CB in next, Players:GetPlayers() do
if CB ~= WR and CB ~= Player and CB.Team ~=
Player.Team then
if CB:IsA("Player") and CB.Character then
local dist =
(CB.Character:FindFirstChild("HumanoidRootPart").Position -
WR.Character:FindFirstChild("HumanoidRootPart").Position).magnitude
if dist < MaxDistance then
ClosestCB = CB
MaxDistance = dist
end
end
end
end
end
return ClosestCB
end
(Corner.Character:FindFirstChild("HumanoidRootPart").Position -
LandingPos).magnitude
local WalksSpeedOFPlr =
Corner.Character:FindFirstChild("Humanoid").WalkSpeed
local DiveingNumberAccountedFor = 0.31
local eqq = (Dist / WalksSpeedOFPlr) -
DiveingNumberAccountedFor --// minus some time because people can dive //--
(wr.Character:FindFirstChild("HumanoidRootPart").Position - LandingPos).magnitude
local WalksSpeedOFPlr =
wr.Character:FindFirstChild("Humanoid").WalkSpeed
local DiveingNumberAccountedFor = 0.31
local eqq = (Dist / WalksSpeedOFPlr) -
DiveingNumberAccountedFor --// minus some time because people can dive //--
local Percent = (Dist * 0.70)
local HighestThreshHold = (Dist - Percent)
local WalkSpeed = 16
if eqq <= TimeOfProjectileFlight then
return true
elseif Dist == 0 then
return true
else
return false
end
end
end
local LeadNumtab
local fieldOrientation =
getFieldOrientation(
Player.Character:FindFirstChild("HumanoidRootPart").Position,
WideReceiver.Character:FindFirstChild("Humanoid").MoveDirection
)
if isMoving(WideReceiver) then
if fieldOrientation == 1 then
LeadNumtab = {
["Dime"] = Vector3.new(1, 1.65, 9),
["Mag"] = Vector3.new(2, 2, 11),
["Dive"] = Vector3.new(1.25, 1.86, 9.5),
["Dot"] = Vector3.new(1, 1.2, 7),
["Fade"] = Vector3.new(0, 0, 0),
["Bullet"] = Vector3.new(5, 1, 1),
["Jump"] = Vector3.new(1, 2.25, 7.5)
}
elseif fieldOrientation == -1 then
LeadNumtab = {
["Dime"] = Vector3.new(1, 1.65, -9),
["Mag"] = Vector3.new(2, 2, -11),
["Dive"] = Vector3.new(1.25, 1.86, -9.5),
["Dot"] = Vector3.new(1, 1.2, -7),
["Fade"] = Vector3.new(0, 0, 0),
["Bullet"] = Vector3.new(-5, 1, -1),
["Jump"] = Vector3.new(1, 2.25, -7.5)
}
end
else
LeadNumtab = {
["Dime"] = Vector3.new(0, 0, 0),
["Mag"] = Vector3.new(0, 0, 0),
["Dive"] = Vector3.new(0, 0, 0),
["Dot"] = Vector3.new(0, 0, 0),
["Fade"] = Vector3.new(0, 0, 0),
["Bullet"] = Vector3.new(0, 0, 0),
["Jump"] = Vector3.new(0, 5, 0)
}
end
local ThrowTypeAccountability
local Equation
if isMoving(WideReceiver) then
if TypeThrow == "Fade" then
Equation = WideReceiver.Character.Head.Position
+ LeadNumtab[TypeThrow]
elseif TypeThrow == "Bullet" then
Equation =
WideReceiver.Character.Head.Position +
(ThrowTypeAccountability) +
LeadNumtab[TypeThrow]
else
Equation =
WideReceiver.Character.Head.Position +
(ThrowTypeAccountability) +
LeadNumtab[TypeThrow]
end
elseif not isMoving(WideReceiver) and TypeThrow ==
"Jump" then --// always make it a jump throw even if not moving //--
Equation =
WideReceiver.Character.Head.Position +
(ThrowTypeAccountability) +
Vector3.new(0, 6, 0)
else
Equation = WideReceiver.Character.Head.Position
end
return Equation
else
warn("Wide Receiver or HumanoidRootPart not found")
return Vector3.new(0, 0, 0)
end
end
local Data = {
Direction = Vector3.new(0, 0, 0),
NormalPower = 55,
BulletModeAngle = 5,
FadeModeAngle = 55,
LowestPower = 40,
MaxPower = 95,
Angle = 45,
MaxAngle = 55,
lowestAngle = 10
}
game:GetService("UserInputService").InputBegan:Connect(
function(input, typeing)
if not AutoAngie and not typeing then
local TT = getThrowType()
if TT == "Bullet" then
if input.KeyCode == Enum.KeyCode.R and
Data.BulletModeAngle < 20 then
Data.BulletModeAngle = Data.BulletModeAngle
+ 5
elseif input.KeyCode == Enum.KeyCode.F and
Data.BulletModeAngle > 5 then
Data.BulletModeAngle = Data.BulletModeAngle
- 5
elseif input.KeyCode == Enum.KeyCode.R and
Data.BulletModeAngle == 20 then
warn("Cannot Up Angle Any more, Max Angle
is 20")
Data.BulletModeAngle = Data.BulletModeAngle
+ 0
elseif input.KeyCode == Enum.KeyCode.F and
Data.BulletModeAngle == 5 then
warn("Cannot Lower Angle Any more, Lowest
Angle is 5")
Data.BulletModeAngle = Data.BulletModeAngle
- 0
end
elseif TT == "Fade" then
if input.KeyCode == Enum.KeyCode.R and
Data.FadeModeAngle < 75 then
Data.FadeModeAngle = Data.FadeModeAngle + 5
elseif input.KeyCode == Enum.KeyCode.F and
Data.FadeModeAngle > 55 then
Data.FadeModeAngle = Data.FadeModeAngle - 5
elseif input.KeyCode == Enum.KeyCode.R and
Data.FadeModeAngle == 75 then
warn("Cannot Up Angle Any more, Max Angle
is 75")
Data.FadeModeAngle = Data.FadeModeAngle + 0
elseif input.KeyCode == Enum.KeyCode.F and
Data.FadeModeAngle == 55 then
warn("Cannot Lower Angle Any more, Lowest
Angle is 55")
Data.FadeModeAngle = Data.FadeModeAngle - 0
end
else
if input.KeyCode == Enum.KeyCode.R and
Data.Angle < 55 then
Data.Angle = Data.Angle + 5
elseif input.KeyCode == Enum.KeyCode.F and
Data.Angle > 10 then
Data.Angle = Data.Angle - 5
elseif input.KeyCode == Enum.KeyCode.R and
Data.Angle == 55 then
warn("Cannot Up Angle Any more, Max Angle
is 55")
Data.Angle = Data.Angle + 0
elseif input.KeyCode == Enum.KeyCode.F and
Data.Angle == 10 then
warn("Cannot Lower Angle Any more, Lowest
Angle is 10")
Data.Angle = Data.Angle - 0
end
end
end
end
)
game:GetService("UserInputService").InputBegan:Connect(
function(input, typein)
if not AutoPowa and not typein then
if input.KeyCode == Enum.KeyCode.Z and
Data.NormalPower < Data.MaxPower then
Data.NormalPower = Data.NormalPower + 5
elseif input.KeyCode == Enum.KeyCode.X and
Data.NormalPower > Data.LowestPower then
Data.NormalPower = Data.NormalPower - 5
elseif input.KeyCode == Enum.KeyCode.Z and
Data.NormalPower == Data.MaxPower then
Data.NormalPower = Data.NormalPower + 0
warn("Max Power, Cannot Adjust Any Higher")
elseif input.KeyCode == Enum.KeyCode.X and
Data.NormalPower == Data.LowestPower then
Data.NormalPower = Data.NormalPower - 0
warn("Lowest Possible Power, Cannot Adjust Any
Lower")
end
end
end
)
local ThrowingTab = {
Direction = Vector3.new(0, 0, 0)
}
game:GetService("UserInputService").InputBegan:Connect(
function(input, gameProcessedEvent)
if game.PlaceId ~= 8206123457 then
if
input.UserInputType ==
Enum.UserInputType.MouseButton1 and
game:GetService("ReplicatedStorage").Values.Throwable and
not gameProcessedEvent
then
if Char then
local Football =
Char:FindFirstChildOfClass("Tool")
if Football then
if state == true then
if state == false then
return
end
local start =
Player.Character:FindFirstChild("Head").Position
if not isLocked then
local nearestPlayer =
getNearestPlayerToMouse()
if nearestPlayer and
nearestPlayer:IsA("Player") then
ClosestPlr = nearestPlayer
end
end
local WhichOne2
if Throwtype == "Fade" then
WhichOne2 = Data.FadeModeAngle
elseif Throwtype == "Bullet" then
WhichOne2 =
Data.BulletModeAngle
else
WhichOne2 = Data.Angle
end
if AutoPowa then
if Throwtype == "Fade" then
Initial = 95
else
Initial = 95
end
else
Initial = Data.NormalPower
end
local toLaunchAnlge
if AutoAngie then
if Throwtype == "Fade" then
toLaunchAnlge =
math.rad(75)
elseif Throwtype == "Bullet"
then
toLaunchAnlge =
clampnum(
HighSpeedLowAngleCalcs(FF2Grav, Initial),
0,
0.296706
)
else
toLaunchAnlge =
OverallVelocityNeededToReachAPosition(
toLaunchAnlge,
start,
YesEnd,
Vector3.new(0, -FF2Grav, 0),
TOF
)
if AutoPowa then
if Throwtype == "Fade" then
PowerSir = 95
elseif Throwtype == "Bullet"
then
PowerSir = clampnum(pow,
90, 95)
else
PowerSir = pow
end
else
PowerSir = Data.NormalPower
end
local neworigin = start +
(ThrowingTab.Direction * 5)
local throwingpar =
Instance.new("Part")
throwingpar.Size = Vector3.new(2,
2, 2)
throwingpar.Color =
Color3.fromRGB(255, 165, 0)
local RemoteEvent =
Football.Handle:FindFirstChild("RemoteEvent")
if RemoteEvent then
local ThrowAnimation =
Char.Humanoid:LoadAnimation(
game:GetService("ReplicatedStorage").Animations.Throw
)
ThrowAnimation.Name = "Throw"
ThrowAnimation:Play()
RemoteEvent:fireServer(
"Clicked",
start,
neworigin +
ThrowingTab.Direction * 10000,
(game.PlaceId == 8206123457
and PowerSir) or 95,
PowerSir
)
throwingpar.Parent = workspace
throwingpar.Velocity = vel
wait(TOF)
throwingpar:Destroy()
else
warn("RemoteEvent not found on
Football's Handle")
end
else
end
else
end
else
end
end
elseif game.PlaceId == 8206123457 then
if input.UserInputType ==
Enum.UserInputType.MouseButton1 and not gameProcessedEvent then
if Char then
local Football =
Char:FindFirstChildOfClass("Tool")
if Football then
if state == true then
if state == false then
return
end
local start =
Player.Character:FindFirstChild("Head").Position
if not isLocked then
local nearestPlayer =
getNearestPlayerToMouse()
if nearestPlayer and
nearestPlayer:IsA("Player") then
ClosestPlr = nearestPlayer
end
end
local WhichOne2
if Throwtype == "Fade" then
WhichOne2 = Data.FadeModeAngle
elseif Throwtype == "Bullet" then
WhichOne2 =
Data.BulletModeAngle
else
WhichOne2 = Data.Angle
end
if AutoPowa then
if Throwtype == "Fade" then
Initial = 95
else
Initial = 95
end
else
Initial = Data.NormalPower
end
local toLaunchAnlge
if AutoAngie then
if Throwtype == "Fade" then
toLaunchAnlge =
math.rad(75)
elseif Throwtype == "Bullet"
then
toLaunchAnlge =
clampnum(
HighSpeedLowAngleCalcs(FF2Grav, Initial),
0,
0.296706
)
else
toLaunchAnlge =
OverallVelocityNeededToReachAPosition(
toLaunchAnlge,
start,
YesEnd,
Vector3.new(0, -FF2Grav, 0),
TOF
)
if AutoPowa then
if Throwtype == "Fade" then
PowerSir = 95
elseif Throwtype == "Bullet"
then
PowerSir = clampnum(pow,
90, 95)
else
PowerSir = pow
end
else
PowerSir = Data.NormalPower
end
local neworigin = start +
(ThrowingTab.Direction * 5)
local throwingpar =
Instance.new("Part")
throwingpar.Size = Vector3.new(2,
2, 2)
throwingpar.Color =
Color3.fromRGB(255, 165, 0)
local RemoteEvent =
Football.Handle:FindFirstChild("RemoteEvent")
if RemoteEvent then
local ThrowAnimation =
Char.Humanoid:LoadAnimation(
game:GetService("ReplicatedStorage").Animations.Throw
)
ThrowAnimation.Name = "Throw"
ThrowAnimation:Play()
RemoteEvent:fireServer(
"Clicked",
start,
neworigin +
ThrowingTab.Direction * 10000,
(game.PlaceId == 8206123457
and PowerSir) or 95,
PowerSir
)
throwingpar.Parent = workspace
throwingpar.Velocity = vel
wait(TOF)
throwingpar:Destroy()
else
warn("RemoteEvent not found on
Football's Handle")
end
else
end
else
end
else
end
end
end
end
)
local TargetPosition
local PredictedRoute
Char.ChildAdded:Connect(
function(v)
if v.Name == "Football" and Char then
local children = v:GetChildren()
if children.Name == "Handle" then
local descendants = children:GetChildren()
if descendants.Name == "LocalScript" then
descendants:Destroy()
end
end
end
end
)
task.spawn(
function()
game:GetService("RunService").Heartbeat:Connect(
function()
task.wait()
local PredictedRoute
task.wait()
if
state and Player.Character and
Player.Character:FindFirstChild("Football") and
ClosestPlr
then
trace.Visible = true
local Throwtype = getThrowType()
Highlight.Enabled = true
Highlight.OutlineTransparency = 0
Highlight.FillColor = Color3.new(1, 0, 0)
Highlight.OutlineColor = Color3.new(0, 0,
0)
if
not string.find(ClosestPlr.Name, "bot
1") and
not string.find(ClosestPlr.Name,
"bot 3")
then
PredictedRoute =
CalculateRouteofPlayer(ClosestPlr)
elseif
string.find(ClosestPlr.Name, "bot 1")
or
string.find(ClosestPlr.Name, "bot
3")
then
PredictedRoute = "Straight"
end
if
not string.find(ClosestPlr.Name, "bot
1") and
not string.find(ClosestPlr.Name,
"bot 3")
then
if
ClosestPlr.Character:FindFirstChild("HumanoidRootPart") then
Highlight.Parent =
ClosestPlr.Character
end
elseif
string.find(ClosestPlr.Name, "bot 1")
or
string.find(ClosestPlr.Name, "bot
3")
then
Highlight.Parent = ClosestPlr
end
ScreenGui.Enabled = true
local WhichOne
if Throwtype == "Fade" then
WhichOne = Data.FadeModeAngle
elseif Throwtype == "Bullet" then
WhichOne = Data.BulletModeAngle
else
WhichOne = Data.Angle
end
local FF2Grav = 28
local Start =
Player.Character:FindFirstChild("Head").Position
local Initial
local LaunchAngle
if AutoPowa then
Initial = 95
else
Initial = Data.NormalPower
end
if AutoAngie then
if Throwtype == "Fade" then
LaunchAngle = math.rad(75)
elseif Throwtype == "Bullet" then
LaunchAngle =
local TOF =
GetTimeOfFlightProjectile(Initial, LaunchAngle, FF2Grav)
local TargetPosition
if
(string.find(ClosestPlr.Name, "bot 1")
or
string.find(ClosestPlr.Name, "bot
3"))
then
if game.PlaceId == 8206123457 then
TargetPosition =
BotEstimatedVel(TOF, ClosestPlr)
elseif game.PlaceId ~= 8206123457 then
TargetPosition =
local POWAA
beam.CurveSize0 = curve0
beam.CurveSize1 = curve1
beam.Attachment0.CFrame =
beam.Attachment0.Parent.CFrame:inverse() * cf0
beam.Attachment1.CFrame =
beam.Attachment1.Parent.CFrame:inverse() * cf1
beam.Width0 = 0.5
beam.Width1 = 0.5
if PredictedRoute then
RouteOK.Text = PredictedRoute
end
if
not (string.find(ClosestPlr.Name,
"bot 1") or
string.find(ClosestPlr.Name,
"bot 3"))
then
local ClosestCB =
getPeopleGuardingClosestToMouse(ClosestPlr)
if Interceptable(ClosestCB,
VisPart.Position, TOF) then
Intable.Text = "Yes"
else
Intable.Text = "No"
end
elseif
string.find(ClosestPlr.Name, "bot
1") or
string.find(ClosestPlr.Name,
"bot 3")
then
local BotCbClosest =
getClosestCBtoBot(ClosestPlr)
if botInterceptable(BotCbClosest,
VisPart.Position, TOF) then
Intable.Text = "Yes"
else
Intable.Text = "No"
end
end
if
not (string.find(ClosestPlr.Name,
"bot 1") or
string.find(ClosestPlr.Name,
"bot 3"))
then
local ClosestWRR =
getNearestPlayerToMouse()
if CatchAble(ClosestWRR,
VisPart.Position, TOF) then
Intable_2.Text = "Yes"
else
Intable_2.Text = "No"
end
elseif
string.find(ClosestPlr.Name, "bot
1") or
string.find(ClosestPlr.Name,
"bot 3")
then
local BotCbWr =
getNearestPlayerToMouse()
if botCatchAble(BotCbWr,
VisPart.Position, TOF) then
Intable_2.Text = "Yes"
else
Intable_2.Text = "No"
end
end
AirTimeTEXT.Text =
tostring(RoundNumToHundredths(TOF)) .. "s"
if AutoAngie then
if Throwtype == "Fade" then
AngleNumber.Text = "75"
else
AngleNumber.Text =
tostring(RoundNumToHundredths(math.deg(LaunchAngle)))
end
else
AngleNumber.Text =
tostring(WhichOne)
end
end
else
ScreenGui.Enabled = false
Highlight.Enabled = false
trace.Visible = false
end
end
)
end
)
task.spawn(
function()
while state == false do
task.wait()
ScreenGui.Enabled = false
beam.Width0 = 0
beam.Width1 = 0
end
end
)
else
ScreenGui.Enabled = false
end
end
}
)
Options.MyToggle:SetValue(false)
local Toggle =
Tabs.Throwing:AddToggle(
"MyToggle",
{
Title = "Auto angle",
Default = false,
Callback = function(Value)
AutoAngie = Value
end
}
)
Options.MyToggle:SetValue(false)
local Toggle =
Tabs.Throwing:AddToggle(
"MyToggle",
{
Title = "Auto Power",
Default = false,
Callback = function(Value)
AutoPowa = Value
end
}
)
Options.MyToggle:SetValue(false)
end
-- // VARIABLES ⚠️⚠️⚠️
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Mouse = LocalPlayer:GetMouse()
local TIMEOUT = 3
local catching = false
local magnetEnabled = false
local CATCH_DISTANCE = 120
local TOUCH_DISTANCE = 120
local CATCH_DELAY = 0
return nearestBall
end
RunService.Heartbeat:Connect(function()
if not catching then return end
Mouse.Button1Down:Connect(function()
if not magnetEnabled then return end
task.wait(CATCH_DELAY)
attachBallToHand(character:FindFirstChild("CatchRight"), nearestBall)
attachBallToHand(character:FindFirstChild("CatchLeft"), nearestBall)
end
catching = false
end
end)
do
local Toggle = Tabs.Catching:AddToggle("MyToggle", {Title = "Enable Magnets",
Default = false })
Toggle:OnChanged(function()
if Options.MyToggle.Value then
local reach = Options.MagnetsAmount.Value
startMagnet(reach) -- Start the magnet with the specified reach
else
stopMagnet() -- Stop the magnet when toggled off
end
end)
Options.MyToggle:SetValue(false)
Slider:SetValue(0)
Dropdown:OnChanged(function(Option)
local presetValues = {
["Choose Magnet Type"] = nil,
["Blatant"] = 20,
["Normal"] = 8,
["Legit"] = 4,
["League"] = 2
}
_G.PullVector = false
_G.PullVectorDistance = 30
_G.PullVectorForce = 100
QuickTPToggle:OnChanged(function()
quickTPEnabled = QuickTPToggle.Value
end)
MobileQuickTPToggle:OnChanged(function()
MobileQuickTPButton.Visible = MobileQuickTPToggle.Value
end)
MobileQuickTPButton.MouseButton1Click:Connect(function()
if MobileQuickTPToggle.Value then
handleQuickTP()
end
end)
local QuickTPSlider = Tabs.Player:AddSlider("QuickTPSlider", {
Title = "Quick TP Distance",
Description = "Adjust the distance for Quick TP",
Default = 5,
Min = 1,
Max = 10,
Rounding = 1,
Callback = function(Value)
tpDistance = Value
Options.QuickTPDistance = Value
end
})
QuickTPSlider:OnChanged(function(Value)
tpDistance = Value
end)
QuickTPSlider:SetValue(5)
Toggle:OnChanged(function()
local InfJumpEnabled = Options.InfJumpToggle.Value
if InfJumpEnabled then
game:GetService("UserInputService").JumpRequest:Connect(function()
if InfJumpEnabled then
game.Players.LocalPlayer.Character.Humanoid:ChangeState("Jumping")
end
end)
end
end)
Options.InfJumpToggle:SetValue(false)
Toggle:OnChanged(function()
local NoClipEnabled = Options.NoClipToggle.Value
local RunService = game:GetService("RunService")
if NoClipEnabled then
RunService.Stepped:Connect(function()
if NoClipEnabled then
for _, v in
pairs(game.Players.LocalPlayer.Character:GetDescendants()) do
if v:IsA("BasePart") and v.CanCollide then
v.CanCollide = false
end
end
end
end)
end
end)
Options.NoClipToggle:SetValue(false)
-- // AUTORUSH ⚠️⚠️⚠️
_G.AutoRush = false
do
local Toggle = Tabs.Physics:AddToggle("AutoRushToggle", {Title =
"AutoRush", Default = false })
Options.AutoRushToggle = Toggle
Toggle:OnChanged(function()
_G.AutoRush = Options.AutoRushToggle.Value
if _G.AutoRush then
local delay = Options.RushDelay.Value
spawn(function() autoRush(delay) end)
end
end)
Options.AutoRushToggle:SetValue(false)
-- // GRAPHER ⚠️⚠️⚠️
local Grapher = {}
Grapher.Segment = Instance.new("Part")
Grapher.Segment.Anchored = true
Grapher.Segment.Transparency = 0.3
Grapher.Segment.Color = Color3.fromRGB(255, 0, 0)
Grapher.Segment.Material = Enum.Material.Neon
Grapher.Segment.CanCollide = false
Grapher.Segment.Size = Vector3.new(0.2, 0.2, 0.2)
Grapher.Segment.Name = "BeamSegment"
Grapher.Params = RaycastParams.new()
Grapher.Params.IgnoreWater = true
Grapher.Params.FilterType = Enum.RaycastFilterType.Whitelist
Grapher.CastStep = 3 / 60
Grapher.LastSavedPower = 60
Grapher.SegmentLifetime = 8
function Grapher:GetCollidables()
local Collidables = {}
function Grapher:WipeMarkers()
for _, obj in pairs(workspace:GetChildren()) do
if obj.Name == "BeamSegment" then
obj:Destroy()
end
end
end
self.Params.FilterDescendantsInstances = self:GetCollidables()
if target then
for _, existing in ipairs(game.CoreGui:GetChildren()) do
if existing:IsA("Highlight") and existing.Adornee == target then
wait(4)
existing:Destroy()
end
end
while Grapher.VisualizerEnabled do
elapsed = elapsed + Grapher.CastStep
local nextPos = origin + velocity * elapsed - Vector3.new(0, 0.5 * 28 *
elapsed ^ 2, 0)
prevPos = nextPos
task.wait()
end
end
function Grapher:StartVisualizer()
Grapher.VisualizerEnabled = true
end
function Grapher:StopVisualizer()
Grapher.VisualizerEnabled = false
Grapher:WipeMarkers()
end
workspace.ChildAdded:Connect(function(child)
if child.Name == "Football" and child:IsA("BasePart") then
local connection
connection = child:GetPropertyChangedSignal("Velocity"):Connect(function()
if Grapher.VisualizerEnabled then
Grapher:GetLanding(child.Position, child.Velocity, child)
end
connection:Disconnect()
end)
end
end)
TColorpicker:OnChanged(function()
Grapher.Segment.Color = TColorpicker.Value
Grapher.Segment.Transparency = TColorpicker.Transparency
if v:IsA("BloomEffect") or v:IsA("BlurEffect") or
v:IsA("DepthOfFieldEffect") or v:IsA("SunRaysEffect") then
if not originalStates[v] then
originalStates[v] = {Enabled = v.Enabled}
end
end
if v:IsA("Sky") then
if not originalStates[v] then
originalStates[v] = {Parent = v.Parent}
end
end
end
end
if obj:IsA("ParticleEmitter") or obj:IsA("Smoke") or
obj:IsA("Explosion") or obj:IsA("Sparkles") or obj:IsA("Fire") then
obj.Enabled = state.Enabled
end
if obj:IsA("BloomEffect") or obj:IsA("BlurEffect") or
obj:IsA("DepthOfFieldEffect") or obj:IsA("SunRaysEffect") then
obj.Enabled = state.Enabled
end
if obj:IsA("Sky") then
obj.Parent = state.Parent
end
end
end
end
if v:IsA("BloomEffect") or v:IsA("BlurEffect") or
v:IsA("DepthOfFieldEffect") or v:IsA("SunRaysEffect") then
v.Enabled = false
end
if v:IsA("Sky") then
v.Parent = nil
end
end
AntiLagToggle:OnChanged(function()
if AntiLagToggle.Value then
if not antiLagEnabled then
saveOriginalStates()
disableEffects()
antiLagEnabled = true
end
else
if antiLagEnabled then
restoreOriginalStates()
antiLagEnabled = false
end
end
end)
game:GetService("RunService").RenderStepped:Connect(function()
for _, v in ipairs(game.Workspace:GetChildren()) do
if v.Name == "Football" and
game:GetService("Players").LocalPlayer.Character and _G.PullVector == true then
local Angle = (v.Position -
game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
.Position).Unit
local Distance = (v.Position -
game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
.Position).Magnitude
game:GetService("Players").LocalPlayer.Character:FindFirstChild("HumanoidRootPart")
.Velocity = Angle * _G.PullVectorDistance
end
end
end
end)
-- // VARIABLES ⚠️⚠️⚠️
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer
local RunService = game:GetService("RunService")
local Mouse = LocalPlayer:GetMouse()
Mouse.Button1Down:Connect(function()
if not magnetEnabled then return end
catching = false
end)
RunService.Stepped:Connect(function()
if not distanceLabel.Visible then return end
SaveManager:SetLibrary(Fluent)
InterfaceManager:SetLibrary(Fluent)
SaveManager:SetIgnoreIndexes({})
InterfaceManager:SetFolder("XHubFF2Script")
SaveManager:SetFolder("XHubFF2Script/FF2")
InterfaceManager:BuildInterfaceSection(Tabs.Configs)
SaveManager:BuildConfigSection(Tabs.Configs)
Window:SelectTab(1)
SaveManager:LoadAutoloadConfig()