this is kind of a broad question but i cant figure out how to fix this
script:
blade = script.Parent.Blade
handle = script.Parent.Handle
Greatsword = script.Parent
Weld = Instance.new('Weld')
Weld.Parent = Greatsword
Weld.Part0 = handle
Weld.Part1 = blade
Weld.C0 = CFrame.new(0.5,5,0)
Weld.C1 = CFrame.new(2,3,0)*CFrame.Angles(2,0,0)
handle.Touched:connect(function(hit)
local char = hit.Parent
if char:FindFirstChild('Humanoid') then
local player = game.Players:GetPlayerFromCharacter(char)
if player then
local WeldH = Instance.new('Weld')
WeldH.Parent = Greatsword
WeldH.Part0 = handle
WeldH.Part1 = char:WaitForChild('RightHand',.5)
WeldH.C0 = CFrame.new(0,0,0)*CFrame.Angles(1.50,0,12)
end
end
end)
and this is how it looks :/
If there is any information missing just comment

3 comments
You should make the CFrame of the handle the same and the hilt then you *cframe.new
the CFrame of the handle the same as what?
The Angles constructor of the CFrame accepts radians, not degrees (so, if you want a degree angle, change the 2 to math.rad(2))