Only player who ignitiates trade gets startergear updated

Hi, im working on a trading script which can trade tools from player backpacks, but also puts it in startergear. my issue is that it removes and transfers tools perfectly but it doesnt remove the traded away items from the player whom recive the trade’s starter gear

script

--> SERVICES
local Players = game:GetService("Players")

--> VARIABLES
local Event = game:GetService("ReplicatedStorage").EventModule
local Weapons = game:GetService("ServerStorage").Tools
local PlayersTrading = {}

--> FUNCTIONS
local function GiveToOtherPlayer(Weapon, ToGoTo)
	Weapon.Parent = ToGoTo.Backpack
	local clone = Weapon:Clone()
	clone.Parent = ToGoTo.StarterGear
end

Event.OnServerEvent:Connect(function(Player, Mode, Data1, Data2, Data3)
	if Mode == 1 then
		Event:FireClient(Players[Data1], 1, Player.Name)
	elseif Mode == 2 then
		Event:FireClient(Players[Data1], 2, Player.Name)
	elseif Mode == 3 then
		local Player2 = Players[Data1]
		Player.Character.Humanoid:UnequipTools()
		Player2.Character.Humanoid:UnequipTools()
		local Player1Inventory = {}
		for i, v in pairs(Player.Backpack:GetChildren()) do
			table.insert(Player1Inventory, {ToolName = v.Name; MaxDamage = v.MaxDmg.Value; MinDamage = v.MinDmg.Value; CritMagnitude = v.CritMagnitude.Value})
		end
		local Player2Inventory = {}
		for i, v in pairs(Player2.Backpack:getChildren()) do
			table.insert(Player2Inventory, {ToolName = v.Name; MaxDamage = v.MaxDmg.Value; MinDamage = v.MinDmg.Value; CritMagnitude = v.CritMagnitude.Value})
		end
		Event:FireClient(Players[Data1], 3, Player2Inventory, Player)
		Event:FireClient(Player, 3, Player1Inventory, Player2)
	elseif Mode == 4 then
		Event:FireClient(Data1, 4, Data2)
	elseif Mode == 5 then
		Event:FireClient(Data1, 5, Data2)
	elseif Mode == 6 then
		Event:FireClient(Data1, 6)
	elseif Mode == 7 then
		for i, v in pairs(Data1) do
			local Weapon = v
			local TradeFinish = false
			for i, v in pairs(Player.Backpack:GetChildren()) do
				if v.Name == Weapon and TradeFinish == false then
					TradeFinish = true
					local vclone = v:Clone()
					vclone.Parent = Data2.StarterGear
					v.Parent = Data2.Backpack
				
				end
			end
		end
		for i, v in pairs(Data3) do
			local Weapon = v
			local TradeFinish = false
			for i, v in pairs(Data2.Backpack:GetChildren()) do
				if v.Name == Weapon and TradeFinish == false then
					TradeFinish = true
					local vclone1 = v:Clone()
					vclone1.Parent = Player.StarterGear
				
					v.Parent = Player.Backpack
					
				end
			end
		end
		Event:FireClient(Data2, 7)
	end
end)