What is the best way to track player collectables?

In my game, the player can collect “artwork” that is created and dropped around the map. The “artwork” comes from a numerical index where each key represents a single image and the stats attached to it. When the player collects an artwork via the artwork’s proximity prompt and a piece of code on it, I was hoping to save what artwork the player collects on their in-game “Player” instance. That way, whenever the player picks up a new artwork, the game checks what collectables they already have and adds the numerical value to the player’s stats if the player does not have it already. This data also has to save via a DataScript located in ScriptStorage, so I basically need to be able to access the array values easily.

To do this, my initial idea was to create a new IntValue for every collectable art the character has and put it within a folder on the “Player” instance, but this seems quite inefficient. Is there another way I could track player collectables on the player instance, or should I be attacking this problem differently altogether?


1 Like

You can probably insert a int or string value (in which you can add the name of artwork) inside the proximity prompt and when you receive the proximity prompt object you can get the value which contains name of artwork.

1 Like