BallService
BallService is a Server-Sided Module with Blade-Ball Simulation based.
(discontinued)
Github | Get Module | Test Place | version 2.4.0
Features
- Easy to Use
- Strict-typed
- Efficiency workloads
- Optimized performance (with
--!native
& other) - Curves (Vector3Curve (Linear Curve), Quadratic Curve, Cubic Curve)
- Non-curve (Linear movement with TweenService)
- Available with Parallel version
- Customization Settings
- Personalize (Trail, Color, Outline & Effects)
Example Usage
-- Server Side
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BallService = require(ReplicatedStorage:WaitForChild("BallService2P"):WaitForChild("BallService2"))
local Players = game:GetService("Players")
local RemoteEvent = ReplicatedStorage:WaitForChild("RemoteEvent")
Players.PlayerAdded:Connect(function(plr)
plr.CharacterAdded:Connect(function()
BallService:UpdatePlayers()
end)
end)
game:GetService("Workspace").ChildAdded:Connect(function(child)
if child and child.Name == "Dummy" and child:IsA("Model") then
BallService:SetTest(true, game:GetService("Workspace"):WaitForChild("Dummy"))
BallService:UpdatePlayers()
end
end)
BallService.OnStop:Connect(function()
warn("BallService stopped, resuming..")
repeat task.wait() until BallService.isPlayable
BallService:Play()
end)
BallService.OnTargetDied:Connect(function(targetObject: Model)
print(targetObject, "Died")
end)
BallService.OnBallHit:Connect(function(hit)
print("Ball Hit:", hit)
end)
BallService:Set({
DefaultPos = Vector3.new(11.85, 3.31, -7.84),
Test = {
TestDummy = game:GetService("Workspace"):WaitForChild("Dummy"),
TestMode = true,
},
Curve = {
UseCurve = true,
CubicCurve = true,
MaxHeightCurve = -20,
MinHeightCurve = -20,
},
Silent = true,
})
task.wait(1)
BallService:init()
repeat task.wait() until BallService.isPlayable
BallService:Play()
print(BallService:IsPlaying())
print("Server Loaded")
-- Client Side
local Players = game:GetService("Players")
local PlayerGui = Players.LocalPlayer.PlayerGui
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local BallService2 = require(ReplicatedStorage:WaitForChild("BallService2P"):WaitForChild("BallService2"))
local RunService = game:GetService("RunService")
BallService2:init()
RunService.RenderStepped:Connect(function()
if Players.LocalPlayer and Players.LocalPlayer.Character then
if BallService2:GetTarget() == Players.LocalPlayer.Character then
BallService2:SetColor(Color3.fromRGB(255, 0, 0))
BallService2:SetOutline(Color3.fromRGB(255, 0, 0))
BallService2:SetFill(Color3.fromRGB(255, 0, 0))
BallService2:SetTrail({Color3.fromRGB(255, 0, 0)})
else
BallService2:SetColor(Color3.fromRGB(255, 255, 255))
BallService2:SetOutline(Color3.fromRGB(255, 255, 255))
BallService2:SetFill(Color3.fromRGB(255, 255, 255))
BallService2:SetTrail({Color3.fromRGB(255, 255, 255)})
end
end
end)
print("Client Service Loaded")
Gameplay Test
Streamable (video & non-curved simulation)
Veed.io (alternative video & non-curved simulation)
Note > You may have to make own system to block the ball, but there sample i have made for this on Test Place.
Would you use this?
- Yes
- Later
- No
0 voters
Rate BallService
- Excellent
- Well
- Bad
0 voters