I am trying to make an emote system for my game. A player who joins the game will be able to purchase emotes from the shop if they have enough currency. However, I am worried about how to protect the emotes from exploiters. Since player animations are stored on the client, what steps would I need to do to make it so that an exploiter could not use them without having bought the emote from the shop first? Where would I put the player animations?
You could try making it so that when players join the game there are given no animations. Then, when they purchase an animation, the server sends it to them (through a remote event). You could then adapt the code a little such that rather than being given no animations on join, they are given only the animations they own.
Maybe, when the player uses an emote send a remote event to the server with just the emote name.
Then on the server side you could check if they own it. If they do you could fire the event back to the player, allowing them to use it.
remember that anything on the client is insecure. Is there any way you could have emotes be played from the server?
Example: They play an emote through a button and it sends the emote name through a remote event to the server. The server checks to make sure they own it (Since the player can’t manipulate the server) and if they do it plays it for them from the server’s side.