Store all the data in a table. Purchases like game-passes can go in a different data store, but pretty much all in-game data like quests, currency, etc… go into the main data store for players.
You’d do something like this.
local Purchases = {} — save this to a Purchases data store for game-passes
local PlayerData = { — save this off to the PlayerData store
Points = 100,
Quests = {}
}
You should be learning how data stores work though.
I always create a single DataStore in the DataStoreService. Every time a player joins, I create a table with all the data inside it, and then use GetAsync() to check for player data, and replace the table with the saved table. I then store the data with the player’s Id in a global variable as such:
_G.PlayerData = {}
I put separate tables inside the data table to hold purchases, and quests, e.g,