How do I begin making a system where tools are run by a central script through CollectionService?

  1. What do you want to achieve?
    To reduce the amount of scripts for each tool for convenience’s sake as well as replication.
  2. What is the issue?
    When you assign Tool.Activated to a tool using CollectionService, the function is often assigned multiple times, leading to the Tool activating more than once.
1 Like

What I would do is have the .Activated event inside a local script, and fire a remote event to a central server sided script. Alternatively, you could add a cooldown to each tool and that way it’d only fire once when activated.

1 Like

Yeah, that’s usually how you’ll go about it. But I figured having less scripts for each and every tool would be beneficial for spawning a hundred or so of them. I also thought it would be easier for dataStore down the line.

Update: Just found out about ‘GetInstanceAddedSignal’, sorry, very sick can’t think well. :smiley:

1 Like

I mean local scripts run on the client so it’s at no expense to the server, but I didn’t know about GetInstanceAddedSignal either, so thanks for that.