Is there a more efficient way of saving all the shop items and seeing if the player owns them?
I would try writing a function that encrypts the items into a nice, readable string. For example, you could have each number in a string representing a string and have two options for the item, true and false (Ex: "0010100" and check the sub string for each one. For this example, the player would own item number 3 and 5).