local emojies = {"?","?","?","?","?","?","?","?","?","?","?"}
local repo = "https://[Log in to view URL]";
local Library = (loadstring(game:HttpGet(repo .. "Library.lua")))();
local ThemeManager = (loadstring(game:HttpGet(repo .. "addons/ThemeManager.lua")))();
local SaveManager = (loadstring(game:HttpGet(repo .. "addons/SaveManager.lua")))();
local color = BrickColor.new("Really red");
local plr = game.Players.LocalPlayer;
local empty = Vector3.new();
local hit = game.ReplicatedStorage.Remotes.ParryAttempt;
local cam = workspace.CurrentCamera;
local Settings = {
Autoparry = {
Toggle = false,
Cooldown = 0.1,
Range = 0.05,
ConstantRange = 5
}
};
local Window = Library:CreateWindow({
Title = "Discord BladeBall",
Center = true,
AutoShow = true,
TabPadding = 8,
MenuFadeTime = 0
});
local Tabs = {
Main = Window:AddTab("All features"),
["UI Settings"] = Window:AddTab("UI Settings")
};
local LeftGroupBox = Tabs.Main:AddLeftGroupbox("Main");
function getspeed()
for i,v in pairs(workspace.Balls:GetChildren()) do
if v.zoomies.VectorVelocity ~= empty then
return v.zoomies.VectorVelocity.Magnitude;
end
end
end
function estimateTime(ball)
return (getspeed() and getdistance(ball) / getspeed()) or 69
end;
function getdistance(ball)
return (ball.Position - plr.Character.HumanoidRootPart.Position).Magnitude
end
LeftGroupBox:AddToggle("Autoparry Toggle", {
Text = "Autoparry "..emojies[math.random(1,#emojies)],
Default = false,
Tooltip = "Automatically hits the ball for you!",
Callback = function(Value)
Settings.Autoparry.Toggle = Value;
end
});
LeftGroupBox:AddSlider("Parry cooldown", {
Text = "Parry cooldown",
Default = 0.1,
Min = 0,
Max = 1,
Rounding = 2,
Compact = false,
Callback = function(Value)
Settings.Autoparry.Cooldown = Value;
end
})
LeftGroupBox:AddSlider("Parry constant range", {
Text = "Parry constant range - studs",
Default = 5,
Min = 0,
Max = 30,
Rounding = 0,
Compact = false,
Callback = function(Value)
Settings.Autoparry.ConstantRange = Value;
end
})
LeftGroupBox:AddSlider("Parry range", {
Text = "Parry timed range - seconds",
Default = 0.05,
Min = 0,
Max = 1,
Rounding = 2,
Compact = false,
Callback = function(Value)
Settings.Autoparry.Range = Value;
end
})
LeftGroupBox:AddButton({
Text = "Blatant aura",
Func = function()
local function getspeed()
for i,v in pairs(workspace.Balls:GetChildren()) do
if v.zoomies.VectorVelocity ~= empty then
return v.zoomies.VectorVelocity;
end
end
end
workspace.Balls.ChildAdded:Connect(function(v)
v.Changed:Connect(function(prop)
c = plr.Character
if getspeed().X > getspeed().Z then
c.HumanoidRootPart.CFrame = v.CFrame + Vector3.new(0,5,10);
else
c.HumanoidRootPart.CFrame = v.CFrame + Vector3.new(10,5,0);
end
cam.CameraSubject = v
if prop == "BrickColor" and v[prop] == color then
while v[prop] == color and v and c.Humanoid.Health ~= 0 do
cnt = 0
hit:FireServer(0.5,cam.CFrame,{},workspace.Balls:GetChildren())
while v.BrickColor == color and cnt ~= 20 do cnt += 1 task.wait() end
end
task.wait()
end;
end);
end);
end,
DoubleClick = false,
Tooltip = "Rejoin to stop!"
})
-- Shoutout to bluwu for helping fr
local hitcd = false
function counter()
task.wait(Settings.Autoparry.Cooldown)
hitcd = false
end
workspace.Balls.ChildAdded:Connect(function(v)
v:GetPropertyChangedSignal("BrickColor"):Connect(function()
if v.BrickColor ~= color then
hitcd = false
end
end)
v:GetPropertyChangedSignal("Position"):Connect(function()
if Settings.Autoparry.Toggle and v["BrickColor"] == color then
if (estimateTime(v) < Settings.Autoparry.Range or getdistance(v) < Settings.Autoparry.ConstantRange) and not hitcd then
hitcd = true
task.spawn(counter)
print("Hit",Settings.Autoparry.Range,Settings.Autoparry.ConstantRange,Settings.Autoparry.Cooldown)
hit:FireServer(0.5,CFrame.new(),{},{})
end
end
task.wait()
end)
end)
local MenuGroup = Tabs["UI Settings"]:AddLeftGroupbox("Menu");
(MenuGroup:AddLabel("Menu bind")):AddKeyPicker("MenuKeybind", {
Default = "End",
NoUI = true,
Text = "Menu keybind"
});
MenuGroup:AddButton("Unload", function()
Library:Unload();
end);
MenuGroup:AddButton("Copy discord invite", function()
setclipboard("No Discord Yet");
end);
Library.ToggleKeybind = Options.MenuKeybind;
ThemeManager:SetLibrary(Library);
SaveManager:SetLibrary(Library);
SaveManager:IgnoreThemeSettings();
SaveManager:BuildConfigSection(Tabs["UI Settings"]);
ThemeManager:SetFolder("Asteria/BB");
SaveManager:SetFolder("Asteria/BB");
ThemeManager:ApplyToTab(Tabs["UI Settings"]);
SaveManager:LoadAutoloadConfig();
To embed this project on your website, copy the following code and paste it into your website's HTML: