`local Meshes = script.Meshes
local RunService = game:GetService(“RunService”)
local TweenService = game:GetService(“TweenService”)
local Debris = game:GetService(“Debris”)
local SpinModule = {}
function SpinModule.rotate(Folder,Humrp)
local Sphere1 = Meshes.Sphere1:Clone()
Sphere1.CFrame = Humrp.CFrame * CFrame.new(0,-3.25,0)
Sphere1.Size = Vector3.new(1,1,1)
Sphere1.Parent = Folder
local Sphere2 = Meshes.Sphere2:Clone()
Sphere2.CFrame = Sphere1.CFrame
Sphere2.Size = Vector3.new(1.5,1.5,1.5)
Sphere2.Parent = Folder
local Cel = Meshes.CelShade:Clone()
Cel.CFrame = Sphere1.CFrame
Cel.Size = Vector3.new(1.25,1.25,1.25)
Cel.Parent = Folder
local Spikes = Meshes.Spikes:Clone()
Spikes.CFrame = Sphere1.CFrame
Spikes.Size = Vector3.new(1,1,1)
Spikes.Parent = Folder
TweenService:Create(Sphere1,TweenInfo.new(.25),{Size = Vector3.new(15,15,15)}):Play()
TweenService:Create(Sphere2,TweenInfo.new(.25),{Size = Vector3.new(15.5,15.5,15.5)}):Play()
TweenService:Create(Cel,TweenInfo.new(.25),{Size = Vector3.new(16,16,16)}):Play()
TweenService:Create(Spikes,TweenInfo.new(.25),{Size = Vector3.new(25,2,24), CFrame = Spikes.CFrame * CFrame.new(0,0.95,0)}):Play()
delay(2, function()
for _, obj in pairs(Folder:GetChildren()) do
if obj.Name ~= "Rock" then
TweenService:Create(obj,TweenInfo.new(1),{Transparency = 1}):Play()
end
end
end)
local connection
connection = RunService.Heartbeat:Connect(function()
Sphere2.CFrame = Sphere2.CFrame*CFrame.Angles(0,math.rad(15),0)
end)
delay(3, function() -- how long the move runs for
if connection then
connection:Disconnect()
end
end)
function SpinModule.Rock(Folder,Humrp)
local cfr = Humrp.CFrame*CFrame.new(0,-3.25,0)
local angle = 0
for i=1, 15 do -- make sure the second number is a multiple of 360
local size = math.random(2,4)
local Rock = Meshes.Rock:Clone()
Rock.Size = Vector3.new(size,size,size)
Rock.CFrame = cfr*CFrame.fromEulerAnglesXYZ(0,math.rad(angle),0)*CFrame.new(0,-size,-10)
Rock.Orientation = Vector3.new(math.random(-180,180),math.random(-180,180),math.random(-180,180))
Rock.Parent = Folder
TweenService:Create(Rock,TweenInfo.new(.5),{Position = Rock.Position + Vector3.new(0,size,0)}):Play()
delay(8, function()
TweenService:Create(Rock,TweenInfo.new(.5),{Transparency = 1, Position = Rock.Position + Vector3.new(0,size,0)}):Play()
end)
angle += 24
end
end
return SpinModule
end`