Anyways, when I make games with ProximityPrompts, I always copy the tool Handle and insert a ProximityPrompt into the handle, this leaves the handle of the tool in the workspace with a prompt that can be triggered.
I then make a folder in ServerStorage that I call Tools, and store every tool there.
I then end up with the following code:
local tool = script.Parent
local ServerStorage = game:GetService("ServerStorage")
local Tools = ServerStorage:FindFirstChild("Tools")
local ProximityPrompt = tool.ProximityPrompt
ProximityPrompt.HoldDuration = .5
ProximityPrompt.ObjectText = "Pickup " .. tool.Name
local NewTool = Tools:FindFirstChild("Baseball Bat"):Clone()
NewTool.Parent = player.Backpack