if you got confused with, why pass in the dataStore? any method in a table/object has its functional part, when you do dataStore:GetAsync(key), dataStore is being passed in as the first parameter even tho you don’t see it, which is equal to dataStore.GetAsync(dataStore, key)
elaborate on what you don’t get. “making a datastore” is just fetching it, or if its not found, then create the datastore. get async takes a key argument, it fetches the value in the datastore, with the provided key.
{
datastore1 = {
hello = 'world'
}
}
in this example, if you want to get the hello value, first use :GetDataStore(), then use :GetAsync(“hello”) on the datastore
requesting budget means that you check if you can do a certain action and how many times you can do it for example i want to save the players data so before doing that i should see if i can save the data before trying to save it by requesting the budget and see if i have enough budget or not