--Local Script
local Handle = script.Parent.Handle
local Tool = script.Parent
local Yeet = script.Parent:WaitForChild("Yeet")
local Players = game:GetService("Players")
Tool.Activated:Connect(function()
print("clicked")
Yeet:FireServer()
end)
--Script
local Tool = game.StarterPack:WaitForChild("B a l l")
local Handle = Tool:WaitForChild("Handle")
local Yeet = Tool:WaitForChild("Yeet")
local Players = game:GetService("Players")
function shoot()
print("shoot")
end
Yeet.OnServerEvent:Connect(shoot)
This is because when you use the tool and fire the remote event it is coming from a players tool.
Your server script is trying to detect the remote event from the starter pack.
To fix this you would need to put the remote event in replicated storage.