Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Library = loadstring(Game:HttpGet("https://raw.githubusercontent.com/bloodball/-back-ups-for-libs/main/wizard"))()
- local PhantomForcesWindow = Library:NewWindow("MatHub")
- local KillingCheats = PhantomForcesWindow:NewSection("Functions")
- KillingCheats:CreateButton("Auto Parry", function()
- local Debug = false -- 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)
- KillingCheats:CreateButton("Auto Win", 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
- end)
- KillingCheats:CreateButton("Auto Spam", function()
- loadstring(game:HttpGet("https://pastebin.com/raw/dDyt2epF"))();
- end)
- KillingCheats:CreateButton("Auto Detect Spam", function()
- getgenv().AutoDetectSpam = true
- --///////////////////////////////////////////////////////////////////--
- local Alive = workspace:WaitForChild("Alive", 9e9)
- local Players = game:GetService("Players")
- local Player = Players.LocalPlayer
- local ReplicatedStorage = game:GetService("ReplicatedStorage")
- local Remotes = ReplicatedStorage:WaitForChild("Remotes", 9e9)
- local ParryAttempt = Remotes:WaitForChild("ParryAttempt", 9e9)
- local Balls = workspace:WaitForChild("Balls", 9e9)
- --///////////////////////////////////////////////////////////////////--
- local function get_ProxyPlayer()
- local Distance = math.huge
- local plrRP = Player.Character and Player.Character:FindFirstChild("HumanoidRootPart")
- local PlayerReturn = nil
- for _,plr1 in pairs(Alive:GetChildren()) do
- if plr1:FindFirstChild("Humanoid") and plr1.Humanoid.Health > 50 then
- if plr1.Name ~= Player.Name and plrRP and plr1:FindFirstChild("HumanoidRootPart") then
- local magnitude = (plr1.HumanoidRootPart.Position - plrRP.Position).Magnitude
- if magnitude <= Distance then
- Distance = magnitude
- PlayerReturn = plr1
- end
- end
- end
- end
- return PlayerReturn
- end
- local function SuperClick()
- task.spawn(function()
- if IsAlive() and #Alive:GetChildren() > 1 then
- local args1 = 0.5
- local args2 = CFrame.new()
- local args3 = {["enzo"] = Vector3.new()}
- local args4 = {500, 500}
- if args1 and args2 and args3 and args4 then
- ParryAttempt:FireServer(args1, args2, args3, args4)
- end
- end
- end)
- end
- task.spawn(function()
- while task.wait() do
- if getgenv().SpamClickA and getgenv().AutoDetectSpam then
- SuperClick()
- end
- end
- end)
- local ParryCounter = 0
- local DetectSpamDistance = 0
- local function GetBall(ball)
- local Target = ""
- ball:GetPropertyChangedSignal("Position"):Connect(function()
- local PlayerPP = Player and Player.Character and Player.Character.PrimaryPart
- local NearestPlayer = get_ProxyPlayer()
- if ball and PlayerPP and NearestPlayer and NearestPlayer.PrimaryPart then
- local PlayerDistance = (PlayerPP.Position - NearestPlayer.PrimaryPart.Position).Magnitude
- local BallDistance = (PlayerPP.Position - ball.Position).Magnitude
- DetectSpamDistance = 25 + math.clamp(ParryCounter / 3, 0, 25)
- if ParryCounter > 2 and PlayerDistance < DetectSpamDistance and BallDistance < 55 then
- getgenv().SpamClickA = true
- else
- getgenv().SpamClickA = false
- end
- end
- end)
- ball:GetAttributeChangedSignal("target"):Connect(function()
- Target = ball:GetAttribute("target")
- local NearestPlayer = get_ProxyPlayer()
- if NearestPlayer then
- if Target == NearestPlayer.Name or Target == Player.Name then
- ParryCounter = ParryCounter + 1
- else
- ParryCounter = 0
- end
- end
- end)
- end
- for _,ball in pairs(Balls:GetChildren()) do
- if ball and not ball:GetAttribute("realBall") then
- return
- end
- GetBall(ball)
- end
- Balls.ChildAdded:Connect(function(ball)
- if not getgenv().AutoDetectSpam then
- return
- elseif ball and not ball:GetAttribute("realBall") then
- return
- end
- getgenv().SpamClickA = false
- ParryCounter = 0
- GetBall(ball)
- end)
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement