Weld not working

  1. What do you want to achieve?
    I am trying to rotate the character around.

  2. What is the issue?
    The problem is that only the torso is rotating.

  3. What solutions have you tried so far?
    i’ve added welds but did’nt worked (i don’t know how to use it.)

local torso = script.Parent.Char.Torso
local count = 0
while wait(.1) do
	count = count + 3
	torso.Orientation = Vector3.new(0,count,0)

The Video

Thanks for reading :smiley:

If you want to rotate the Character, you should rotate the HumanoidRootPart, not the Torso.

I am not sure, but I think u need to rotate HumanoidRootPart to make this

Theres no humanoid root part (30 chars)

Ah I see. In that case, weld all the body parts to the torso, then unanchor everything but the torso.

If you aren’t moving the torso with physics, welds will do nothing to help you. You need to either use SetPrimaryPartCFrame, or move the torso with body movers and unanchor everything but the torso, like above.

No, this is incorrect. Un-anchored parts welded to another part inherit CFrame transformations.

Why it does’nt work?


All welds are set to

Part0 = torso
Part1 = All other bodyparts

Are the other parts unanchored?

Yeah (30 charrssssssssssssssssssssss)

Oh I see, you were using Orientation to rotate it. You want to use CFrames. (https://developer.roblox.com/en-us/recipes/Rotate-a-Part-Using-Degrees)

1 Like

If you want to rotate the whole player around, you should be changing the torso’s CFrame. I would recommend changing the HumanoidRootPart’s CFrame instead since then it would work for more than just R6 players. Here’s code that works like yours that should work:

local torso = script.Parent.Char.Torso
while wait(.1) do
	torso.CFrame = torso.CFrame * CFrame.Angles(0,.04,0)

This however is the code I would most recommend that utilizes RunService and targets the characters HumanoidRootPart:

local RunService = game:GetService("RunService")
local HumanoidRootPart = script.Parent.Char.HumanoidRootPart
	HumanoidRootPart.CFrame = HumanoidRootPart.CFrame * CFrame.Angles(0,.01,0)

Thanks it worked!!! (30 charss)

1 Like