First parameter of :GetAsync / :UpdateAsync is a string, you’re using a number. Try to do something like "player_" .. player.UserId instead. (like a string-key).
Besides, saving on leaving could sometimes not work because the server won’t have enough time to save the data for the player. I recommend using ProfileService or DataStore2 to save data more efficiently.