How to make a tool rotate on a CFrame?

so i’m finishing up recoding the prism and wanted to make a simple spin script, but it just turns my character into a beyblade. it’s only meant to turn on one axis.
ALSO, how would i make it so it speeds up once the tool is activated? would i make a debounce number and set the time to the cframe .rad?

script

local tool = script.Parent
local mesh = tool:WaitForChild("Handle")

while wait() do
	mesh.CFrame = mesh.CFrame * CFrame.Angles(0, math.rad(5), 90, Random)
end

image

try using tweenservice to tween the rotation (i know you said on cframe but tweenservice would be better use in this scenario)

how would i use that? i know how to use tweening for transparency but i could never get it to work with rotating

local ts = game:GetService("TweenService") -- we get the tweenservice
local ti = TweenInfo.new(1,Enum.EasingStyle.Linear,Enum.EasingDirection.In,-1,false) -- we set the tween info (1 = time, Linear is EasingStyle,In is EasingDirection, -1 = Repeats Forever, false = doesnt Reverse)

local rotatetween = ts:Create(script.Parent,ti,{CFrame = CFrame.new(script.Parent.CFrame.Position, Vector3.new(0,0,360))}) -- we create the tween

rotatetween:Play()

here’s some source code, put this in a part and try it for yourself, be sure that the part is anchored,

2 Likes

i’m back from break
image
this does still not work, it worked for a part in studio but i even made the handle visible to show you

of course i modified the code myself to use “waitforchild:handle” to make the prism spin but still nothing