This is a local script underneath a tool which is in starter pack. It works when I use mouse.Button1down however I only want this script to run when the tool is used.
player = game.Players.LocalPlayer
repeat wait() until player.Character
character = player.Character
mouse = player:GetMouse()
tool = script.Parent
tool.Activated:Connect(function(message)
message = "One"
print(message)
end)

3 comments
You could include the mouebutton1down inside the activated function
Does your tool have a part named Handle and the tool property “RequireHandle” set to true? That function won’t run unless both of those are are set to the correct bool and name.
Activated event only simulates the tool. You should use mouse.Button1Down .