How can i make it so when for e.g i want to do a roll, the player moves the body towards the goal in a way like real life works where it can be seen the movement of the person, or for e.g i want to kick someone in the head and launch them backwards and they get up to a point in the air and then fall down on the ground. I can't think of any way, if i just change the position of their rootpart it will look like the guy just teleported
This can simply be done with CFrame. You cannot move the body parts of a player with .Position. Instead, you can do something like this:
local plr = game:GetService("Players").PlayerName -- Gets the player specified wait(.1) plr.Character.Torso.CFrame = plr.Character.Torso.CFrame + Vector3.new(vector1,vector2,vector3)
That code block is not very useful for when other players are in the game. Use this to enable this for every player that joins:
game:GetService("Players").PlayerAdded:connect(function(plr) wait(1) local char = plr.Character char.Torso.CFrame = char.Torso.CFrame + Vector3.new(vector1,vector2,vector3) end)
Or, if you wanted to get more advanced, you can learn how to Animate with CFrame. I'm just learning it and I don't have a grip on it yet. You can use this link to learn about Lerping