[Unsolved] Animation won't rotate when on a Skateboard Platform

Hi, I have an issue where the player’s lower torso won’t rotate when in animation on when on a skateboard platform. There aren’t any scripts inside the skateboard that prevent the player from not rotating.

Here is what it looks like -
Screenshot 2021-07-13 163257
Here is what it should look like -


Thank you for your help!

Here are the Scripts Involving the Animation

function GetAnimation(AnimName)
	if not Humanoid then
		return
	end
	local RigType = Humanoid.RigType
	if RigType == Enum.HumanoidRigType.R15 then
		return Animations["R15"][AnimName]
end
end

function SetAnimation(Mode, Value)
	if Mode == "Play" and Value and SkateboardEquipped and CheckIfAlive() then
		for i, v in pairs(ActiveAnimations) do
			if v.Animation == Value.Animation then
				v.AnimationTrack:Stop()
				table.remove(ActiveAnimations, i)
			end
		end
		local AnimationTrack = Humanoid:LoadAnimation(Value.Animation)
		table.insert(ActiveAnimations, {Animation = Value.Animation, AnimationTrack = AnimationTrack})
		AnimationTrack:Play(Value.FadeTime, Value.Weight, Value.Speed)
	elseif Mode == "Stop" and Value then
		for i, v in pairs(ActiveAnimations) do
			if v.Animation == Value.Animation then
				v.AnimationTrack:Stop(Value.FadeTime)
				table.remove(ActiveAnimations, i)
			end
		end
	end
end
	SetAnimation("Play", {Animation = GetAnimation("CoastingPose")})
	InvokeServer("Equipped", Character)

Animations = {
	
	R15 = {
		BoardKick = R15Anims:WaitForChild("BoardKick"),
		CoastingPose = R15Anims:WaitForChild("CoastingPose"),
		LeftTurn = R15Anims:WaitForChild("LeftTurn"),
		RightTurn = R15Anims:WaitForChild("RightTurn"),
		Ollie = R15Anims:WaitForChild("Ollie")
	}
}
1 Like

Is it doing the pose just not rotated?

2 Likes

If thats a seat try rotating the seat.

3 Likes

Is it because you’re not setting the orientation of the LowerTorso to match that of the skateboard? The animation may think that the skateboard is facing one way when its facing the other, if that makes sense.

1 Like

It isnt a seat but skateboard platform and rotation it will mess up skateboard. The issue is that the pose isnt rotating as it should.

1 Like

It is rotated to match the board and for some resson the lower torso won’t rotate. The werid part is that i made a verison for r6 and it works fine.

1 Like

Can I see the script you’re using?

It is over 2,000 lines long but i can get the parts which involing the animation. Just give me a sec

1 Like

With a script that long it’s possible some other parts are interfering with the orientation of the player

sorry I have to go I will post the scripts Tomorrow, sorry

But here is my attend on fixing it -

Board.ChildAdded:connect(function(Child)
	if Child:IsA("Motor") and Child.Name == "PlatformMotor6D" then
		if SkateboardEquipped then
			if Humanoid and Humanoid.RigType == Enum.HumanoidRigType.R15 then
				Child.C0 = (Child.C0 * CFrame.Angles(math.rad(-90), 0, math.rad(-90)))
			end
		end
	end
end)
1 Like

Alright I’ll see you later then, good luck trying to fix it!

1 Like

Where is Humanoid defined in the script?

1 Like

Here are the Scripts Involving the Animation

function GetAnimation(AnimName)
	if not Humanoid then
		return
	end
	local RigType = Humanoid.RigType
	if RigType == Enum.HumanoidRigType.R15 then
		return Animations["R15"][AnimName]
end
end

function SetAnimation(Mode, Value)
	if Mode == "Play" and Value and SkateboardEquipped and CheckIfAlive() then
		for i, v in pairs(ActiveAnimations) do
			if v.Animation == Value.Animation then
				v.AnimationTrack:Stop()
				table.remove(ActiveAnimations, i)
			end
		end
		local AnimationTrack = Humanoid:LoadAnimation(Value.Animation)
		table.insert(ActiveAnimations, {Animation = Value.Animation, AnimationTrack = AnimationTrack})
		AnimationTrack:Play(Value.FadeTime, Value.Weight, Value.Speed)
	elseif Mode == "Stop" and Value then
		for i, v in pairs(ActiveAnimations) do
			if v.Animation == Value.Animation then
				v.AnimationTrack:Stop(Value.FadeTime)
				table.remove(ActiveAnimations, i)
			end
		end
	end
end
	SetAnimation("Play", {Animation = GetAnimation("CoastingPose")})
	InvokeServer("Equipped", Character)

Animations = {
	
	R15 = {
		BoardKick = R15Anims:WaitForChild("BoardKick"),
		CoastingPose = R15Anims:WaitForChild("CoastingPose"),
		LeftTurn = R15Anims:WaitForChild("LeftTurn"),
		RightTurn = R15Anims:WaitForChild("RightTurn"),
		Ollie = R15Anims:WaitForChild("Ollie")
	}
}