What is the C0 and C1 of the Right Shoulder Motor6D?

When a player equips a tool in my game, I’m going to set the C0/C1 of the Right Shoulder Motor6D to what it is normally so that the player’s right arm isn’t lifted.

Only problem is I don’t know what the original C0 and C1 Right Shoulder values are, I’ve googled and haven’t anything.

You can capture the original C0/C1 in variables and return them to the original values when the tool is unequipped

Good idea!

Didn’t seem to work.

local RightShoulder = Character:WaitForChild("RightUpperArm"):WaitForChild("RightShoulder")
local C0 = RightShoulder.C0
local C1 = RightShoulder.C1

--then i do this when i equip the tool
RightShoulder.C0 = C0
RightShoulder.C1 = C1

Did I do it right?

You’re capturing the C0 and C1 correctly assuming all of your variables are valid.

Tools have an event called Unequipped that you can hook into. Instead of doing it when you equip the tool you’ll want to do it when you unequip it unlike your pseudo code suggests.

local RightShoulder = Character:WaitForChild("RightUpperArm"):WaitForChild("RightShoulder")
local C0 = RightShoulder.C0
local C1 = RightShoulder.C1

Tool.Equipped:Connect(function()
  RightShoulder.C0 = <YourArmUpC0>
  RightShoulder.C1 = <YourArmUpC1>
end)

Tool.Unequipped:Connect(function()
  RightShoulder.C0 = C0
  RightShoulder.C1 = C1
end)

But you pretty much have it. :slight_smile:

1 Like

I think you misunderstood the question (I probably worded it badly).

I want to make it so the Players arm is down by their side like it normally is while they have the tool equipped.

Tools do what your code does automatically.

Ah, I’m sorry. I did misunderstand. Are you wanting the arm to continue to be animated as well then?

Yeah.

You can do the following to undo the rotation. It might be best to just edit the Animate script though.

rightShoulderJoint.C1 = rightShoulderJoint.C1 *  CFrame.new(0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1, 0):inverse()
2 Likes

It’s probably better if you disable the equip animation altogether and handle it yourself, like the post above mentioned.

Another option is just to move away from tools as they are quite a limited API. You can always utilize Player:GetMouse() and weld the gun handle to the player’s arm manually when the player equips it (however you want to handle equipping).

You’ll have to do as @TheGamer101 suggested here if you want to use a tool and still have the animation since the Character’s Animate script handles that for whatever reason.

The solution above is easier but creating your own tools is a lot more versatile in my opinion. Totally up to you though! The title of this is a tad misleading though, which is why I misunderstood the question to begin with so it might help to update that if you can :slight_smile:

I decided to just leave it and have the tool be lifted up all the time to save hassle.

@CompilerError I assume you didn’t read the description? I explained what I needed it for there so not sure what you want to update

I read the description, but you’re correct I misread it.

For some reason I read “unequips” instead of “equips” there. The title of the post is “What is the C0 and C1 of the Right Shoulder Motor6D” which is what I gave an answer to. I apologize for the misunderstanding though!