Attack/Cutscene help

im trying to make a player in a cutscene move about, same with the person who is being hit in the cutscene. my only issue is. How? Now i say this cause if i made them move about in the animation (i use moon animator) it would cause them to go back to their ROOT part position at the end which is not what i want. i cant explain it well and i apologise for that. i will try to elaborate in any questions you may have.

Haven’t tried this solution out personally, but when the animation stops, set the position of the root to the position of the torso.

The remaining problem would be fadetime. You can set fadetime to 0, so the torso doesn’t awkwardly lerp to the root, however, the character will switch from the cutscene animation instantaneously.

thanks! ill give this a shoot cause i have no idea

best regards

iNateW

Edit: I found this code on the dev forum but i have no idea how to implement it into my game.

local function GetAnimator(Part) if Part:IsA(“BasePart”) then local Animator = Part:FindFirstChild(“Humanoid”) if Animator and Animator:IsA(“Humanoid”) then return Animator end end return nil end local function GetAttachment(Part) if Part:IsA(“BasePart”) then return Part.Attachment end return nil end local function GetRootPart(Character) if Character:IsA(“Model”) then for _,Child in pairs(Character:GetChildren()) do if Child:IsA(“BasePart”) then return Child end end end return nil end local function GetRootJoint(Part) local Attachment = GetAttachment(Part) if Attachment then return Attachment.Parent end return nil end local function GetRoot(Character) if Character:IsA(“Model”) then local RootPart = GetRootPart(Character) if RootPart then local Animator = GetAnimator(RootPart) if Animator then return Animator end end end return nil end local function GetHumanoid(Character) if Character:IsA(“Model”) then local RootPart = GetRootPart(Character) if RootPart then local Animator = GetAnimator(RootPart) if Animator then return Animator end end end return nil end local function GetHumanoidRootPart(Character) if Character:IsA(“Model”) then local RootPart = GetRootPart(Character) if RootPart then local Animator = GetAnimator(RootPart) if Animator then return RootPart end end end return nil end local function GetHumanoidRootJoint(Character) local RootPart = GetHumanoidRootPart(Character) if RootPart then return GetRootJoint(RootPart) end return nil end --I know this is a bit redundant, but it’s so you don’t have to worry about which order the arguments are in. local function GetAnim(Character, Anim) if Character:IsA(“Model”) then local Animator = GetAnimator(Character) if Animator then return Animator:LoadAnimation(Anim) end end return nil end local function GetAnimFromRoot(Character, Anim) if Character:IsA(“Model”) then local RootPart =