local gui = script:WaitForChild("ToolGiver")
local toolButton = script:WaitForChild("Tool")
local groupId = 2921053
local plr = game.Players.LocalPlayer
local mouse = plr:GetMouse()
local givingEvent = game.ReplicatedStorage:WaitForChild("GivePlayerTools")
if plr:GetRankInGroup(groupId) < 0 then
wait(1)
script:Destroy()
end
mouse.Button1Down:Connect(function()
local target = mouse.Target
if mouse.target ~= nil and target.Parent:FindFirstChild("HumanoidRootPart") then
local givingPlr = game.Players:GetPlayerFromCharacter(target.Parent)
local tools = plr.Backpack:GetChildren()
local currentGui = gui:Clone()
local givingTools = {}
local giveButton = currentGui:WaitForChild("MainFrame"):WaitForChild("Give")
local replicatedFolder = Instance.new("Folder", game.ReplicatedStorage)
if plr.PlayerGui:FindFirstChild("ToolGiver") then
plr.PlayerGui:FindFirstChild("ToolGiver"):Destroy()
end
currentGui.MainFrame.Player.Text = givingPlr.Name
currentGui.Parent = plr.PlayerGui
for _, tool in pairs (tools) do
local currentButton = toolButton:Clone()
currentButton.Text = tool.Name
currentButton.Parent = currentGui.MainFrame.Tools
currentButton.MouseButton1Click:Connect(function()
if currentButton.BackgroundTransparency == 0.3 then
table.remove(givingTools, tool)
currentButton.BackgroundTransparency = 0.8
else
table.insert(givingTools, tool)
currentButton.BackgroundTransparency = 0.3
end
end)
end
giveButton.MouseButton1Click:Connect(function()
currentGui:Destroy()
for _, tool in pairs (givingTools) do
tool.Parent = replicatedFolder
end
givingEvent:FireServer(replicatedFolder, givingPlr)
end)
end
end)
When I press the Give button, it destroys the item, instead of giving it to the other player.``

1 comment
Correct me if I'm wrong, but it looks like you're deleting the GUI before it can initiate the givingEvent on line 43