I was messing around with cframe to make this orbiting vfx, but i soon realised that its not quite centered
Heres what i did for now (local)
local player = game.Players.LocalPlayer
local OriginPart = game:GetService("ReplicatedStorage").Part
local char = player.CharacterAdded:Wait()
function Ring(Amount:number, Distance:number, Speed:number)
local System = Instance.new("Model")
System.Parent = char
local Angle = 0
for i=1, Amount do
local Part = OriginPart:Clone()
Part.CanCollide = false
Part.CFrame = char.HumanoidRootPart.CFrame * CFrame.Angles(0, math.rad(360/(Amount)*i), 0) * CFrame.new(0,0,Distance)
Part.Parent = System
end
local CalculateNewCFrame = coroutine.create(function()
while true do
Angle += Speed
task.wait(0.01)
end
end)
coroutine.resume(CalculateNewCFrame)
while true do
System:PivotTo(CFrame.new(char.HumanoidRootPart.CFrame.Position) * CFrame.Angles(0, math.rad(Angle), 0))
task.wait()
end
end
--Frame is 0.01, multiply speed by 100 to get the speed of the angle after 1 second
--coroutine.resume(coroutine.create(Ring(5, 10)))
--coroutine.resume(coroutine.create(Ring(3, 15)))
task.spawn(Ring, 5, 10, 0.5)
task.spawn(Ring, 3, 15, 1)
** You are now Level 5! **