tool.Activated not firing no matter what

So i had an issue where none of my tools i created would fire Activated event a couple months back, decided not to bother with tools untill now.
No matter LocalScript or Script, in Workspace or StarterPack, directly fired or through a function like in the picture…It will not fire?!

Am i being dumb or what is going on here?

2 Likes

axe.Activated:Connect(function()
print(“FIRED”)
end)

instead of local function axeActivated()

this works for me

2 Likes

I have tried, as stated, and it does not work. But thank you anyway

2 Likes

try this script
put this in starter player script

game.Players.LocalPlayer.BackPack.Tool.Equipped:Connect(function()
print("Equipped")
end)
2 Likes

First of that is very bad practice xd and second its not the equipping thats the issue my man…

3 Likes

Activated is not called if the Ctrl key is pressed during a click.

It’s better if you use Mouse.Button1Down, and check if the tool is parented to the character.

2 Likes

Im not holding down Ctrl tho, and i know i can use Mouse to activate the tool manually, but thats not what im asking here.

2 Likes

Well, I have no idea why it’s not working. When I’m working with tools, I never really use Activated. I always thought that this was deprecated (don’t know why).

Try disabling RequiresHandle.

2 Likes

Tried disabling that but didnt fix anything. Guess ill have to use the mouse then. Thank you all for trying to help

3 Likes

That’s odd. All I did was disable the RequiresHandle, and it somehow fired the event.

2 Likes

Im taking a guess this is for the RoDev event, but maybe do a mouse click function

1 Like

Yeah it is very odd indeed… And idk what RoDev event is?
But how would i even implement mouse.Button1Down event in my tool?

1 Like

There was a competition for tree chopping simulation, the axe made me think you were doing it.

1 Like

Ah i see, wouldnt have gotten far even if i knew :stuck_out_tongue:

1 Like

:+1:

1 Like
local Mouse = Player:GetMouse()

Mouse.Button1Down:Connect(function()
	-- This shouldn't be necessary if you have a server script, just check it from there
	-- maybe you want to do something before firing to the server
	if not (axe.Parent == character) then
		return
	end

	Foo()
end)

Have you enabled ManualActivationOnly in the tool’s properties tab? If it’s on then disable it, then it should work. Or try making the Handle a normal part, not a meshpart.

1 Like

Try:

script.Parent.Activated:Connect(function()
print(“FIRED”)
end)
–server script ig

I fixed it by using UserInputService, thank you all for trying :slight_smile:

@Bazzive

I think what the problem is is that you are getting the plr variable when you are in a local script. Remove the plr variable in the function I think it will work.