[V1.1] EzEvent - Event programming simplified

Hi all!
I made a Plugin for connecting specific functions to events without having to actually program the connection.
This is useful if you need to repeat functions or effects across UI, or maybe things like kill bricks (CollectionService is better suited for this)


Updates:

  • Added “Initialise” event, all functions connected to this event are invoked once when the object loads. This is useful for drop shadows, rainbow effects, etc

Download
You can find the plugin here


Example Events


How to use
image
If you’re going to use this plugin for your game, click the Install button. This adds the installer script to StarterPlayerScripts which handles all the connections. This is only needed once.

How to add connections:


You can disconnect any events no longer required by pressing the X.
You can add multiple connections of the same type, this is useful for adding more than 1 effect for MouseEnter / MouseLeave etc.

The above with an attribute Person: everyone results in the following:

Scrip Manager:


Cons
There is no light mode.
Events cannot be disconnected at runtime, if you need to do this use the default method of programming the connection yourself.
There is no support for adding connections to multiple objects at the same time, there are behind this but it’s mainly the poor design choice I went with.
Might be buggy, please report any errors!
There is no server-side compatibility, this ONLY works on the client

Pros
There is no light mode.
Easy to use for non-scripters (assuming they have a scripter on the team who can program the functions)
Faster UI workflow
Events can be connected at runtime if you understand how the plugin works. (ask in comments)
Custom MouseEnter/MouseLeave behavior that’s less buggy than the existing one.

Thanks for reading!

11 Likes

The Tag Editor plugin along with CollectionService:GetTagged() is better suited for this.

ProximityPromptService was created for this reason; not only is it more simpler, but it also is more efficient as it only uses 1 connection for all prompts instead of 1 for each prompt.

Overall this plugin is quite interesting, while I don’t see it as practical because I can do this easily, I can see non-scripters using this to quickly make their UI and/or builds functional (assuming a scripter has done the functions for them). (^ w ^)
(I might also peep at the source code if I have time)

I agree that CollectionService is better suited to deal with this and I actually used to use that method in previous projects. However, I kept finding the code would get kinda messy (this is probably my fault) as I’d have to repeat a few things, it’s personally more difficult to edit, whereas here you just click a few buttons. I may come back to this and revamp the back end to use CollectionService instead of attributes AND CollectionService which was a TERRIBLE idea on my part, but it allowed multiple events of the same type with the same function (not sure why you’d want that in hindsight)

Also, the source code is terrible. I write it over a weekend, it should be pretty robust but as a consequence it’s spaghetti.

Thanks for the response.

1 Like