Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
COMMUNITY QUESTION

how could i fix this bad argument CFrame error that shows up in the output?

the output keeps on saying - bad argument #3 to 'C0' (CFrame expected, got nil) here is the script

local rp = game.ReplicatedStorage
local dark = rp:WaitForChild("Right Hand")


game.Players.PlayerAdded:Connect(function(player)
	player.CharacterAdded:connect(function(character)
		character:WaitForChild("RightHand").Transparency = 0
		
		local ClonedRH = dark:Clone()
		ClonedRH.Parent = character
		
		ClonedRH:SetPrimaryPartCFrame(character:WaitForChild("RightHand").CFrame)
		local Weld = Instance.new("Weld")
		Weld.Part0 = ClonedRH.Main
		Weld.Part1 = character:WaitForChild("RightHand")
		Weld.C0 = dark:SetPrimaryPartCFrame(CFrame.new(0,0,0) * CFrame.Angles(0,0,0))
		Weld.Parent = character:WaitForChild("RightHand")
	end)
end)	

i did this script to weld a model to a characters right hand. but now im trying to rotate it the right way bc when i spawn its rotated differently. and when i would rotate it , it would only rotate the main part thats why i did setprimarypartcframe now its giving the error that i mentioned earlier. pay attention to line 16. and if you know how to fix it can you modify the script and elaborate.

can someone help me please? ty

2 answers

local rp = game.ReplicatedStorage
local dark = rp:WaitForChild("Right Hand")


game.Players.PlayerAdded:Connect(function(player)
    player.CharacterAdded:connect(function(character)
        character:WaitForChild("RightHand").Transparency = 0

        local ClonedRH = dark:Clone()
        ClonedRH.Parent = character

        ClonedRH:SetPrimaryPartCFrame(character:WaitForChild("RightHand").CFrame)
        local Weld = Instance.new("Weld")
        Weld.Part0 = ClonedRH.Main
        Weld.Part1 = character:WaitForChild("RightHand")
        Weld.C0 = dark.PrimaryPart.CFrame * CFrame.Angles(0,0,0))
        Weld.Parent = character:WaitForChild("RightHand")
    end)
end)    

Try this, the reason your code doesn't work is because SetPrimaryPartCFrame is not a CFrame value, rather it is a function.

1 comment

0

it didnt work it just made the main part go up like 50 studs

After SetPrimaryPart, try .Orientation if you're trying to rotate it then in the brackets put (0, whatever orientation it's at, 0). This work?

This discussion is preserved as it was. New answers, comments, and votes are closed.