I have a tool here, You click a player and their name is then moved into a value. Then when you press the button seen in the code it would give them the specified tool.
Local Script:
wait(2) local player = game.Players.LocalPlayer local mouse = player:GetMouse() local debounce = false local target = nil mouse.Move:connect(function() target = mouse.Target if not target or not (target.Parent:findFirstChild("Humanoid")) then if player.PlayerGui:findFirstChild("MouseText") then player.PlayerGui.MouseText.TextLabel.Text = "" end else if not (player.PlayerGui:findFirstChild("MouseText")) then local mouseGui = Instance.new("ScreenGui",player.PlayerGui) mouseGui.Name = "MouseText" local mouseText = Instance.new("TextLabel",mouseGui) mouseText.Size = UDim2.new(0,10,0,10) mouseText.BackgroundTransparency = 1 mouseText.TextXAlignment = "Left" mouseText.TextStrokeTransparency = 0 mouseText.TextColor3 = Color3.new(255,255,255) end if player.PlayerGui:findFirstChild("MouseText") then if target.Parent:IsA("Hat") then player.PlayerGui.MouseText.TextLabel.Text = target.Parent.Parent.Name else player.PlayerGui.MouseText.TextLabel.Text = target.Parent.Name end player.PlayerGui.MouseText.TextLabel.Position = UDim2.new(0,mouse.X+10,0,mouse.Y-5) mouse.Button1Down:connect(function() if target.Parent:findFirstChild("Humanoid") then if debounce == false then debounce = true if target.Parent:IsA("Hat") then script.Parent.Parent.GivePE.Text = " "..target.Parent.Parent.Name script.Parent.Parent.GivePE.PlayerName.Value = target.Parent.Parent.Name else script.Parent.Parent.GivePE.Text = ""..target.Parent.Name script.Parent.Parent.GivePE.PlayerName.Value = target.Parent.Name end wait(0.1) debounce = false end end end) end end end) script.parent.parent.GivePE.MouseButton1Down:connect(function() script.parent.RemoteEvent:FireServer() end)
Normal Script
local ToolPath1 = game.ReplicatedStorage.Cart script.parent.RemoteEvent.OnServerEvent:connect(function() if ToolPath1 then local plr = game.Players:FindFirstChild(script.Parent.Parent.GivePE.PlayerName.Value) ToolPath1:Clone().Parent = plr:WaitForChild("Backpack") end end)