Сontent continues after AD

Сontent continues after AD

\

Сontent continues after AD

Script – Volleyball

Thank you for using our website
Your script:

				
					-- openrealm - discord
-- https://discord.gg/BXmKrr7M - builderman's crib

-- Volleyball 4.2 Utilities --

local library = loadstring(game:HttpGet(('https://raw.githubusercontent.com/bloodball/-back-ups-for-libs/main/wall%20v3')))()

local window_frame = library:CreateWindow("Volleyball 4.2") -- Creates the window

local util_frame = window_frame:CreateFolder("Utilities") -- Creates the folder(U will put here your buttons,etc)

local utils = { -- Dev
	getPlayingBall = function() -- Get the ball that is in the match (not the fastest way)
		for i, v in pairs(workspace:GetChildren()) do
			if v.Name == "Ball" and game.Players:FindFirstChild(tostring(v.Spawner.Value)).Team.Name ~= "Player" then
				return v
			end
		end
	end
}
local ballTrajectory = false;
local ballHeightIndicator = false;

local attach0 = Instance.new("Attachment", game.Workspace.Terrain);
local attach1 = Instance.new("Attachment", game.Workspace.Terrain);

local beam = Instance.new("Beam", game.Workspace.Terrain);
beam.Attachment0 = attach0;
beam.Attachment1 = attach1;
beam.FaceCamera = true;
beam.Segments = 1000; -- See a perfect curve of the ball trajectory

local function beamProjectile(g, v0, x0, t1) -- extremely fast trajectory prediction (EgoMoose)
	-- calculate the bezier points
	local c = 0.5*0.5*0.5;
	local p3 = 0.5*g*t1*t1 + v0*t1 + x0;
	local p2 = p3 - (g*t1*t1 + v0*t1)/3;
	local p1 = (c*g*t1*t1 + 0.5*v0*t1 + x0 - c*(x0+p3))/(3*c) - p2;

	-- the curve sizes
	local curve0 = (p1 - x0).magnitude;
	local curve1 = (p2 - p3).magnitude;

	-- build the world CFrames for the attachments
	local b = (x0 - p3).unit;
	local r1 = (p1 - x0).unit;
	local u1 = r1:Cross(b).unit;
	local r2 = (p2 - p3).unit;
	local u2 = r2:Cross(b).unit;
	b = u1:Cross(r1).unit;

	local cf1 = CFrame.new(
		x0.x, x0.y, x0.z,
		r1.x, u1.x, b.x,
		r1.y, u1.y, b.y,
		r1.z, u1.z, b.z
	)

	local cf2 = CFrame.new(
		p3.x, p3.y, p3.z,
		r2.x, u2.x, b.x,
		r2.y, u2.y, b.y,
		r2.z, u2.z, b.z
	)

	return curve0, -curve1, cf1, cf2;
end

local heightMarker = Instance.new("Part", game.Workspace)
heightMarker.Anchored = true
heightMarker.CanCollide = false
heightMarker.Transparency = 0.5
heightMarker.Size = Vector3.new(5, 0.1, 5)
heightMarker.BrickColor = BrickColor.new("Bright yellow")
heightMarker.Material = Enum.Material.Neon

game:GetService("RunService").RenderStepped:Connect(function(dt)
	local ball = utils.getPlayingBall();
	if ballTrajectory then
		if ball then
			local g = Vector3.new(0, -game.Workspace.Gravity+20, 0);
			local x0 = ball.Position.Value;
			local v0 = ball.Velocity.Value;

			local curve0, curve1, cf1, cf2 = beamProjectile(g, v0, x0, 3);
			beam.CurveSize0 = curve0;
			beam.CurveSize1 = curve1;

			attach0.CFrame = attach0.Parent.CFrame:inverse() * cf1;
			attach1.CFrame = attach1.Parent.CFrame:inverse() * cf2;
		end
	end
	if ballHeightIndicator and ball then
		local targetY = 0

		local ballPos = ball.Position.Value

		local midPoint = (ballPos + Vector3.new(ballPos.X, targetY, ballPos.Z)) / 2

		local heightDifference = math.abs(ballPos.Y - targetY)
		heightMarker.Size = Vector3.new(0.1, heightDifference, 0.1)
		heightMarker.CFrame = CFrame.new(midPoint) * CFrame.Angles(0, 0, 0)
	end
end)

util_frame:Toggle("Ball Prediction",function(bool)
    ballTrajectory = bool;
end)
util_frame:Toggle("Ball Height Indicator",function(bool)
    ballHeightIndicator = bool;
end)
				
			

How about trying out new scripts?