--< variables >--
local pl = game.Players.LocalPlayer.Character
local hrp = pl:WaitForChild("HumanoidRootPart")
local uis = game:GetService("UserInputService")
local shield = game.ReplicatedStorage:FindFirstChild("Force Field")
local debounce = false
--< user input service >--
uis.InputBegan:Connect(function(input)
local keyIn = input.KeyCode
if keyIn == Enum.KeyCode.X and shield then
print('user input')
if debounce == false then
local weld = Instance.new("WeldConstraint",shield)
debounce = true
shield:Clone()
shield.Parent = workspace
shield.CFrame = CFrame.new(hrp.Position)
weld.Part0 = hrp
weld.Part1 = shield
shield.CanCollide = true
shield.Anchored = false
end
end
end)
This is my script and it works just fine but when i want to walk woth the shield welded i am just stuck in a place Has anyone a solution for this?

2 comments
Try disabling CanCollide.
Regular welds or modifying the cframe like this : CFrame.new(hrp.Position) * CFrame.new(0,0,2) * CFrame.Angles(math.rad(),math.rad(),math.rad())