I want to rotate a model, and move it at the same time

I want to make this stop sign model spin, and move forwards at the same time.

Code:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local CollectionService = game:GetService("CollectionService")
local TweenService = game:GetService("TweenService")
local VFXFolder = workspace.VFXFolder

local StopSign = {
	["Special Technique: Stop Sign"] = function(Player, Params)
		local Character = Params["Character"]
		local Humrp = Character.HumanoidRootPart
		local Hum = Character.Humanoid
		
		local stopsignModel = ReplicatedStorage.Assets.VFX.StopSign.ThrownStopSign:Clone()
		stopsignModel.Name = "ThrownStopSign"
		stopsignModel.Parent = VFXFolder
		local weld = Instance.new("Weld")
		weld.Parent = Humrp
		weld.Part0 = Humrp
		weld.Part1 = stopsignModel.PrimaryPart
		weld.C0 = CFrame.new(3, 2, 7) * CFrame.Angles(0,math.rad(-90),0)
		local function rotateFunc()
			local goal = {C0 = weld.C0 * CFrame.Angles(0,math.rad(0),math.rad(-180))}
			local spinTween1 = TweenService:Create(weld, TweenInfo.new(.5, Enum.EasingStyle.Linear,Enum.EasingDirection.In), goal)
			spinTween1:Play()
			spinTween1.Completed:Connect(function()
				rotateFunc()
			end)
		end
		local positionTween = TweenService:Create(weld, TweenInfo.new(.5, Enum.EasingStyle.Linear,Enum.EasingDirection.In), {C0 = weld.C0 * CFrame.new(0,0,-14)})
		positionTween:Play()
		rotateFunc()
		CollectionService:AddTag(stopsignModel, Character.Name)
	end,
}

return StopSign

That is the entire module script, i use the C0 of the weld to rotate it, and i thought i could do the same with the position but no i couldn’t :frowning:

Video of what happens:

I figured it out. I used a tween for the position, and used an animation for the spinning motion. Thank you for all the replies…

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.