I'd say the way I would do what you're asking for is always make a StringValue for when they purchase something and put that value inside of the Player where you're doing DataStores to everybody. Then use the DataStore to save the value. Also, then make sure all the strings are placed in one spot and iterate through the values when the Player joins the game and make sure all the objects are placed in one place i.e. Replicated Storage. Then use the :findFirstChild() method on each value with the for loop and/or for i,v in pairs() and use an if statement checking for that value. Anyway, that might be way too much however, that's one way you can do it which is quiet simple. So, yea, good luck!
##I hope I helped in one way or another and if you have any questions please, post a comment below.
~~ KingLoneCat
3 comments
Use datastore; http://wiki.roblox.com/index.php?title=Data_store
Ok, but should I use values?
update their leaderstats and save in datastore