So, i know the code is sloppy and all, the weld works but the model will not move with the primarypart.

repeat wait() until script.Parent.Parent.Parent.ClassName == "Player"
local sword = script.Parent
local RArm = script.Parent.Parent.Parent.Character["Right Arm"]
local clone = sword:Clone()
clone.Parent = RArm
local handle = clone.Main
local weld = Instance.new("Weld")
weld.Part0 = RArm
weld.C0 = handle.CFrame:inverse()
weld.Part1 = handle
weld.Parent = RArm
wait(1)
clone.PrimaryPart = handle
clone:SetPrimaryPartCFrame((RArm.CFrame)*(CFrame.new(100,100,100)))