Web movement not working

Hello, so I’m trying to make my script able to move right and left by using the “A” and “D” keys, but I don’t know how to do this.
LOCALSCRIPT STARTERCHARACTERSCRIPTS:

local uis = game:GetService("UserInputService") 
local onweb = false 
local onzip = false 
local onshoot = false 
local plr = game:GetService("Players").LocalPlayer 
local mouse = plr:GetMouse() 
local Camera = workspace.CurrentCamera 
local char = plr.Character or plr.CharacterAdded:Wait()
local hum = char:WaitForChild("Humanoid") 
local animator = hum:WaitForChild("Animator") 
local tween = game:GetService("TweenService"):Create(Camera, TweenInfo.new(.4),  {FieldOfView = 100})
local tween2 = game:GetService("TweenService"):Create(Camera, TweenInfo.new(.6),  {FieldOfView = 70})
local maxslingdistance = 150
local maxzipdistance = 300
local maxshootingdistance = 100
local webzipkeycode = Enum.KeyCode.E
local webshootkeycode= Enum.KeyCode.Q
mouse.TargetFilter= workspace.Webs

uis.InputBegan:Connect(function(i, g)
	if i.UserInputType == Enum.UserInputType.MouseButton1 and not g then
		local mpos = mouse.Hit.Position
		if (mpos - char.HumanoidRootPart.Position).Magnitude > maxslingdistance then
			return
		end
		if onweb == false then
			onweb=true
			tween:Play()
			if mouse.X > mouse.ViewSizeX / 2 then
				game:GetService("ReplicatedStorage").Web:FireServer(true, mouse.Target, mpos, "Right")
				hum.PlatformStand=true
			else
				game:GetService("ReplicatedStorage").Web:FireServer(true, mouse.Target, mpos, "Left")
				hum.PlatformStand=true
			   end
			 end
		  end
end)

uis.InputEnded:Connect(function(i, g)
	if i.UserInputType == Enum.UserInputType.MouseButton1 and not g then
		if onweb == true then
			onweb = false
			tween2:Play()
			game:GetService("ReplicatedStorage").Web:FireServer(false)
			hum.PlatformStand=false

		end
	end
end)
mouse.Icon = "http://www.roblox.com/asset/?id=1287271131"

ServerScriptService Script:

local statuses = {}
local webslingspeed = 2000
local tweens = game:GetService("TweenService")
local webszipspeed = 2500
local webreachspeed = .45
local radius = 3.5
local WebShootTime = 20
local WebShootSpeed = 0.2
local websize = 4


game:GetService("ReplicatedStorage").Web.OnServerEvent:Connect(function(plr, status, target, point ,hand)
	if status ==  true then
		local char = plr.Character
		if char then
			local arm = char[hand.."Hand"] or char[hand..'Arm']
			
			local armattachment = Instance.new("Attachment")
			armattachment.Parent = char.HumanoidRootPart
			armattachment.WorldPosition = char.HumanoidRootPart.Position
			
			local pointattachment = Instance.new("Attachment")
			pointattachment.Parent = target
			pointattachment.WorldPosition = point
			
			local bodyGyro = Instance.new("BodyGyro")
			bodyGyro.Parent = char.HumanoidRootPart
			bodyGyro.P = 1000
			bodyGyro.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
			bodyGyro.D = 15
			
			
			local rope = Instance.new("RopeConstraint")
			local length = (arm.Position- point).Magnitude
			
			rope.Visible= false
			rope.Attachment0 = armattachment
			rope.Attachment1 = pointattachment
			rope.Parent =  arm
			rope.Length= length
			rope.Color = BrickColor.new("White")
			rope.Restitution = .5
			
			task.wait()
			
			local fakeattach = Instance.new("Attachment")
			fakeattach.Parent= target
			fakeattach.WorldPosition = char[hand.."Hand"].Position
			
			local fakeattach2 = Instance.new("Attachment")
			fakeattach2.Parent= char[hand.."Hand"]
			fakeattach2.WorldPosition = char[hand.."Hand"].Position
			
			local beam = Instance.new	("Beam")
			beam.Texture = "rbxassetid://8599205743"
			beam.TextureMode = Enum.TextureMode.Stretch
			beam.TextureSpeed = 0
			beam.TextureLength= .1
			beam.Transparency = NumberSequence.new(0)
			beam.LightEmission = 1 
			beam.LightInfluence = 0
			beam.FaceCamera = true
			beam.Attachment0 = fakeattach2
			beam.Attachment1 =  fakeattach
			beam.Width0 = 3
			beam.Width1 = 3
			beam.Parent= arm
			
			local bodyForce=Instance.new("BodyForce")
			bodyForce.Parent = char.HumanoidRootPart
			
			local animator = char.Humanoid:WaitForChild("Animator")
			local Spider = animator:LoadAnimation(script:WaitForChild("Spider"))
			
			spawn(function()
				statuses[plr] = {armattachment, pointattachment, fakeattach, rope, bodyForce, bodyGyro, beam}
				local tween = tweens:Create(fakeattach, TweenInfo.new(webreachspeed),{WorldPosition= point})
				tween:Play()
				tween.Completed:Connect(function()
					beam.Attachment1 = pointattachment
				end)
				while true do
					if char.Humanoid then
						if statuses[plr] ~= nil then
							Spider:Play()
							bodyGyro.CFrame = CFrame.new(char.HumanoidRootPart.Position, char.HumanoidRootPart.Position + char.Humanoid.MovieDirection * 10)
							bodyForce.Force = Vector3.new(char.Humanoid.MoveDirection.X * webslingspeed,-webslingspeed / 10, webslingspeed /5)
						else 
							Spider:Stop()
							tween:Cancel()
							break
						end
					else 
						Spider:Stop()
						tween:Cancel()
						break
					end
					task.wait()
					end
				end) 
			end
	elseif status == false then
		if statuses [plr] ~= nil then
			for _,v in pairs(statuses[plr]) do
				v:Destroy()
			end
			statuses[plr] =  nil
		end
	end
end)