Tweening models have been a very common issue. The most efficient way would be to weld the parts to the PrimaryPart of the model and then tweening solely the primary part. The reason your tween isn’t playing (I’m assuming) is because the parts within the model are unwelded and anchored, so the tween target is only targeting 1 part to tween.
I recommend you follow this article: Introduction to Tweening Models
I rewrote your script with a function used to weld the model. Hopefully your tween should play correctly now:
local function weldModel(model)
for _, Part0 in pairs(model:GetDescendants()) do
if Part0:IsA("BasePart") and not (Part0 == model.PrimaryPart) then
local WeldConstraint = Instance.new("WeldConstraint")
WeldConstraint.Part0 = Part0
WeldConstraint.Part1 = model.PrimaryPart
WeldConstraint.Parent = WeldConstraint.Part0
Part0.Anchored = false
end
end
return model
end
local Waifu = weldModel(game.Workspace.ZeroTwo)
local hum = script.Parent.Humanoid
local TweenService = game:GetService("TweenService")
local Waifu180Info = TweenInfo.new(10,Enum.EasingStyle.Linear,Enum.EasingDirection.In,0,false,0)
local Waifu180Tween = TweenService:Create(Waifu.PrimaryPart,Waifu180Info,{CFrame = Waifu.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0,math.rad(180),0)})
local WaifuNegative180Tween = TweenService:Create(Waifu.PrimaryPart,Waifu180Info,{CFrame = Waifu.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0,math.rad(-180),0)})
local anim = Instance.new("Animation")
anim.AnimationId = "rbxassetid://5606803808"
local track = hum:LoadAnimation(anim)
while true do
wait(4)
--track:Play()
wait(1.09)
print("180")
Waifu180Tween:Play()
--Waifu:SetPrimaryPartCFrame(Waifu.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0,math.rad(180),0))
wait(3.07)
print("-180")
WaifuNegative180Tween:Play()
--Waifu:SetPrimaryPartCFrame(Waifu.PrimaryPart.CFrame * CFrame.fromEulerAnglesXYZ(0,math.rad(-180),0))
wait(0.93)
end