Hi. I am trying to get a character with long legs (upper and lower) with the rest of the body parts staying the same, except for a few adjustments like hip placement. It is going great and everything is working, but the arms don’t stay at the right place. I am able to make them relatively close by moving them with vectors, but when I walk or when animations play they shoot out away and come back, rather than staying near the torso. I have tried looking through humanoid to find something but couldn’t find anything.
Arms Shoot out when walking or animations play. - Roblox Studio (gyazo.com)
The first script is in a part that encompasses the whole map. The second one is in startercharacterscripts. Both work relatively well, but I am not sure how to make the arms stay by the sides.
local button = script.Parent
button.Touched:Connect(function(hit)
local humanoid = hit.Parent:FindFirstChildWhichIsA('Humanoid')
if humanoid then
if humanoid.HipHeight > 10 then
local body = hit.Parent
humanoid.WalkSpeed = humanoid.WalkSpeed*2
humanoid.JumpHeight = humanoid.JumpHeight*2
body.LowerTorso.Size = body.LowerTorso.OriginalSize.Value
body.LeftFoot.Size = body.LeftFoot.OriginalSize.Value
body.LeftHand.Size = body.LeftHand.OriginalSize.Value
body.LeftLowerArm.Size = body.LeftLowerArm.OriginalSize.Value
body.LeftUpperArm.Size = body.LeftUpperArm.OriginalSize.Value
body.RightFoot.Size = body.RightFoot.OriginalSize.Value
body.RightHand.Size = body.RightHand.OriginalSize.Value
body.RightLowerArm.Size = body.RightLowerArm.OriginalSize.Value
body.RightUpperArm.Size = body.RightUpperArm.OriginalSize.Value
body.UpperTorso.Size = body.UpperTorso.OriginalSize.Value
body.Head.Size = body.Head.OriginalSize.Value
body.HumanoidRootPart.Size = body.HumanoidRootPart.OriginalSize.Value
body.UpperTorso.Position = body.LowerTorso.Position + Vector3.new(0, body.UpperTorso.Size.Y/2, 0)
body.Head.Position = body.UpperTorso.Position + Vector3.new(-body.Head.Size.X/15, body.Head.Size.Y + body.Head.Size.Y/3, body.Head.Size.Z/3)
body.LeftUpperArm.Position = body.UpperTorso.Position + Vector3.new(-body.LeftUpperArm.Size.X/2, body.LeftUpperArm.Size.Y/5, -body.LeftUpperArm.Size.Z/2)
body.LeftLowerArm.Position = body.LeftUpperArm.Position + Vector3.new(0, -body.LeftLowerArm.Size.Y/1.5, body.LeftLowerArm.Size.Z)
body.LeftHand.Position = body.LeftLowerArm.Position + Vector3.new(0, -body.LeftHand.Size.Y*2, 0)
body.RightUpperArm.Position = body.LeftUpperArm.Position + Vector3.new(body.RightUpperArm.Size.X*1.5, 0, -body.RightUpperArm.Size.Z/2)
body.RightLowerArm.Position = body.LeftLowerArm.Position + Vector3.new(body.RightLowerArm.Size.X*1.5, 0, body.RightLowerArm.Size.Z/1.5)
body.RightHand.Position = body.RightLowerArm.Position + Vector3.new(0, -body.RightHand.Size.Y*2, 0)
body.HumanoidRootPart.Position = body.HumanoidRootPart.Position + Vector3.new(0, -4.5, 0)
body.Animate.ScaleDampeningPercent.Value = 2.5
humanoid.HipHeight = 10
end
end
end)
local humanoid = script.Parent.Humanoid
local person = script.Parent
humanoid.BodyHeightScale.Value = humanoid.BodyHeightScale.Value*6
Hopefully you can find the solution, because it would make the game much better and help me a lot!
EDIT: Turns out it doesn’t work as well as expected, so it is more urgent. When I test with 4 players the first one works like mentioned above, but the other 3 don’t even take into account anything after the resizing, which is odd because there is no error in output, so I really need a way to fix it.