How would i make this?

So I had the idea of making a loot crate system that gives you tools when purchased what this would do is trigger an animation which will change the image of the item to that tool after the animation is done you get the tool in your backpack

https://gyazo.com/817cb24b6ee15c630fb6074b72424c78

How would I do this and what type of functions to I use

Scripting Support is usually used for when someone needs help with either a script directly or even a theory on making a method for a script. This is asking for basically an entire system, so stray away from that next time. But in this case, I’ll give a few api to look at to help you get started.

You’ll first need to make animations for the boxes -
https://developer.roblox.com/en-us/api-reference/class/Animation

Then a tween for a Part that comes out -
https://developer.roblox.com/en-us/api-reference/class/TweenService

Then you can put an image label on that part to show what item it is -
https://developer.roblox.com/en-us/api-reference/property/ImageLabel/Image

To give them the tool you just use the Clone API to give them the tool the got and clone it to the Player’s backpack
https://developer.roblox.com/en-us/api-reference/function/Instance/Clone

Depending on how you do it and just in general, learn about remote events, will probably help with the system.

To make the actual purchase depending on what shop system you’re doing, you’re either going to use a click detector, if it’s a part or a button if it’s a gui shop

https://developer.roblox.com/en-us/api-reference/class/ClickDetector
or

Hope this all helps.