--< 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

0

Try disabling CanCollide.

0

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())