How to handle client inputs for movesets?

Okay so for example what i do when a player fires a move is a local script with a remote event for each move. And every moveset has around 5 moves, 5 local scripts, 5 remote events for each move. So thats communicating to the server but the server does a sanity check anyway to check what moveset the character has equipped if the move can proceed. I dont want all these local scripts firing to the server and only 5 proceeding which is the moveset the player has. I want to reduce all these requests by disconnecting functions so it doesnt fire. But i have no idea what to do right now

My usual layout:

RepStorage:
image
Client:
image

So heres the problem. Some people told me to have a event for available keybind and fire them and decide from then what functions to run on the server but some movesets have way more moves so im not sure. Any ideas or tips?

Please correct me if I’m wrong, but couldn’t you just replicate the current moveset to the client, such as setting an attribute (or StringValue) of the player to the name of the moveset?

Then in each LocalScript, (ideally) disconnect the events while it’s not the relevant moveset and reconnect them when the moveset becomes the relevant one (ex: using attribute changed), or (easier) just use an if statement to check if the moveset is the relevant one before sending the remote event to the server.

1 Like

Thats still firing alot of functions at once im trying to avoid that for right now i think it got delete from above where i mentioned this.