I tried to make that the other arm can move but it's making weird things instand
repeat wait() until workspace:findFirstChild(game.Players.LocalPlayer.Name)
wait()
local cam = workspace.CurrentCamera
local player = game.Players.LocalPlayer
local char = player.Character
local hastool = false
local armweld = player.Character.Torso["Right Shoulder"]
local origarmweldcf = armweld.C0
local basearmweldcf = origarmweldcf + Vector3.new(0,0.25,-0.25)
local baseheadweldcf = char.Torso.Neck.C1
local heading, attitude, bank
local cam2 = workspace.CurrentCamera
local player2 = game.Players.LocalPlayer
local char2 = player.Character
local hastool2 = false
local armweld2 = player.Character.Torso["Left Shoulder"]
local origarmweldcf2 = armweld.C0
local basearmweldcf2 = origarmweldcf + Vector3.new(0,-0.25,0.25)
local baseheadweldcf2 = char.Torso.Neck.C1
local heading, attitude, bank
function holdingtool()
for _,instance in ipairs(char:GetChildren()) do
if instance:IsA("Tool") then
return true
end
end
end
cam.Changed:connect(function()
local sx, sy, sz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cam.CoordinateFrame:components()
heading = math.atan2(m02, m22)
attitude = math.asin(-m12)
bank = math.atan2(m10, m11)
if hastool then
armweld.C0 = basearmweldcf*CFrame.Angles(0,0,attitude)
end
char.Torso.Neck.C1 = baseheadweldcf*CFrame.Angles(attitude,0,0)
local sx, sy, sz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cam.CoordinateFrame:components()
heading = math.atan2(m02, m22)
attitude = math.asin(-m12)
bank = math.atan2(m10, m11)
if hastool then
armweld.C0 = basearmweldcf*CFrame.Angles(0,0,attitude)
end
char.Torso.Neck.C1 = baseheadweldcf*CFrame.Angles(attitude,0,0)
end)
char.ChildAdded:connect(function(child)
if child:IsA("Tool") then
hastool = true
armweld.C0 = basearmweldcf*CFrame.Angles(0,0,attitude)
end
end)
char.ChildAdded:connect(function(child)
if child:IsA("Tool") then
hastool = true
armweld2.C0 = basearmweldcf*CFrame.Angles(0,0,attitude)
end
end)
char.ChildRemoved:connect(function()
wait()
if not holdingtool() then
hastool = false
armweld.C0 = origarmweldcf
end
end)
char.ChildRemoved:connect(function()
wait()
if not holdingtool() then
hastool = false
armweld2.C0 = origarmweldcf
end
end)

1 comment
please help!!