So, this isn't actually an error to start with. The script is working fine but, the issue I have come across is that the weld only welds properly when I am in a good position but if I move from that position then the weld still welds but the actual weapon is floating in the air.
function TestService:Spawn(Player, Weapon)
if Weapon ~= Items.IDArray[Weapon] then
-- Welding
local WeaponSaid = game.ReplicatedStorage[Weapon]
local Fake = WeaponSaid:Clone()
Fake.Parent = game.Workspace[Player.Name]
local WeldC0 = Instance.new("WeldConstraint", Fake.Model.Handle)
local WeldC1 = Instance.new("WeldConstraint", game.Workspace[Player.Name]["Right Arm"])
WeldC0.Name = "FakeHandle"
WeldC1.Name = "PlayerHandle"
Fake.Model.Handle.Anchored = true
Fake:SetPrimaryPartCFrame(CFrame.new(game.Players[Player.Name].Character["Right Arm"].Position.X, 2, -0.24) * CFrame.Angles(30, 0, 0))
wait(0.5)
Fake.Model.Handle.Anchored = false
WeldC0.Part0 = Fake.Model.Handle
WeldC0.Part1 = game.Workspace[Player.Name]["Right Arm"]
Fake:SetPrimaryPartCFrame(CFrame.new(game.Players[Player.Name].Character["Right Arm"].Position.X, 2, -0.24) * CFrame.Angles(30, 0, 0))
WeldC1.Part0 = Fake.Model.Handle
WeldC1.Part1 = game.Workspace[Player.Name]["Right Arm"]
Fake:SetPrimaryPartCFrame(CFrame.new(game.Players[Player.Name].Character["Right Arm"].Position.X, 2, -0.24) * CFrame.Angles(30, 0, 0))
end
end
