Run it
Copy the script and paste it into your executor.
local genv = getgenv()
if genv.VLHitbox then
local old = genv.VLHitbox
if old.render then
old.render:()
old.added
old.added:()
old.removed
old.removed:()
_, v (old.balls {})
(()
v.box
v.box:()
v.ring
v.ring:()
)
genv.VolleyballLegendsHitboxExpander
(()
genv.VolleyballLegendsHitboxExpander.()
)
genv.VolleyballLegendsHitboxExpander =
CS = :()
RS = :()
cam = .CurrentCamera
vec2 = .new
rad =
col = .(, , )
trans =
thick =
balls = {}
(ball)
ball:() ball:()
root = ball.PrimaryPart ball:(, )
root balls[ball]
box = .()
box.Shape = .PartType.Ball
box.Size = .(rad * , rad * , rad * )
box.CFrame = root.CFrame
box.Transparency =
box.CanCollide =
box.CanTouch =
box.CanQuery =
box.Anchored =
box.CastShadow =
box.Massless =
box.Parent = ball
ring = .()
ring.Color = col
ring.Filled =
ring.NumSides =
ring.Thickness = thick
ring.Transparency = trans
ring.Visible =
balls[ball] = {
box = box,
ring = ring
}
(ball)
d = balls[ball]
d
(()
d.box:()
d.ring:()
)
balls[ball] =
added = CS:():(addBall)
removed = CS:():(killBall)
render = RS.RenderStepped:(()
cam = .CurrentCamera
ball, d (balls)
root = ball.PrimaryPart ball:(, )
root ball.Parent
(ball)
d.box.CFrame = root.CFrame
pos, on = cam:(root.Position)
on pos.Z >
edge = cam:(root.Position + cam.CFrame.RightVector * rad)
r = .(edge.X - pos.X)
r ~= r r <=
d.ring.Visible =
d.ring.Position = (pos.X, pos.Y)
d.ring.Radius = r
d.ring.Visible =
d.ring.Visible =
)
_, ball (CS:())
(ball)
genv.VLHitbox = {
render = render,
added = added,
removed = removed,
balls = balls
}- Ball Hitbox Expander - Ball Hitbox Visualizer
Stay safe
Never paste your .ROBLOSECURITY cookie anywhere, and use an alt account with scripts.

Universal