Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

how can i delete the t pose between animations in roblox?

Hello, im currently making a npc that is sitting and walks somewhere when the player touches the part. My problem is that i want those one animation to stop and the other to play immediately but instead of that it stops the idle animation and then you get a roblox t pose and after that the second animation plays.

local Part = script.Parent
local NPC = script.Parent.Skeleton
local Animation = script.Parent.Guyscare
local Idle = script.Parent.IdleAnim

local animat = NPC.Humanoid:LoadAnimation(Idle)




animat:Play()

Part.Touched:Connect(function(Hit)
	local Anim = NPC.Humanoid:LoadAnimation(Animation)

local Player = game:GetService("Players"):GetPlayerFromCharacter(Hit.Parent)
	if Player then
		 
		
		Anim:Play(1)
		animat:Stop(0)
		Anim.Stopped:Wait()
		script.Parent:Destroy()
	end
end)

1 answer

✓ Accepted answer

Found the Issue, your using a outdated version of Humanoid:LoadAnimation

You need to load the animation using a Animator which more Information can be found here: https://developer.roblox.com/en-us/api-reference/function/Animator/LoadAnimation

Anyway to fix It simply add a Animator Inside of the NPC humanoid, then a animation Inside of It, then use this script: (If It doesn't work try using the other one and simply modify It)

local Part = script.Parent
local NPC = script.Parent.Skeleton
local Animator = NPC.Humanoid.Animator
local Animation = script.Parent.Guyscare
local Idle = script.Parent.IdleAnim

local animat = NPC.Humanoid:FindFirstChild("Animator"):LoadAnimation(Idle)




animat:Play()

Part.Touched:Connect(function(Hit)
	local Anim = NPC.Humanoid:FindFirstChild("Animator"):LoadAnimation(Animation)

	local Player = game:GetService("Players"):GetPlayerFromCharacter(Hit.Parent)
	if Player then


		Anim:Play(1)
		animat:Stop(0)
		Anim.Stopped:Wait()
		script.Parent:Destroy()
	end
end)

Other script:

local NPC = script.Parent

while wait() do
	local AnimationTrack = NPC.Humanoid:FindFirstChild("Animator"):LoadAnimation(NPC.Humanoid.Animator.Animation)
	AnimationTrack:Play()
end

1 comment

0

Thank you very much! I'll try this

This discussion is preserved as it was. New answers, comments, and votes are closed.