Example, a player will want to improve his land when he buys this item, in bool value the value changes to true, is it possible to save this value so that it is there even after shutting down all servers?
is it possible to store data on a model in the game via a local player?
2 answers
You use DataStore for this. You would also communicate to the server using RemoteEvents or RemoteFunctions since the local player cannot save/load data.
RemoteEvents/RemoteFunctions tutorial here: https://developer.roblox.com/en-us/articles/Remote-Functions-and-Events
Wiki link here for the service: https://developer.roblox.com/en-us/api-reference/class/DataStoreService
Wiki tutorial link here for saving data: https://developer.roblox.com/en-us/articles/Saving-Player-Data
In particular, you would use :GetAsync and :SetAsync/:UpdateAsync for your usage as this fetches and saves data. To get your datastore or make one, define DataStoreService and then use :GetDataStore() on it with desired name as first argument and scope as second argument.
local datastoreservice = game:GetService(“DataStoreService”)
local datastore = datastoreservice:GetDataStore(“Example”) -- scope is by default “Global” I believe
You can then use the Players service (game.Players) and PlayerAdded to track a player joining and PlayerRemoving for leaving players. These are events so you can use :Connect on them to create functions for them for your data save/loading needs.
Yes, you use datastores to save values. http://developer.roblox.com/en-us/articles/Data-store Consider reading this article as it explains how to use DataStoreService.
This discussion is preserved as it was. New answers, comments, and votes are closed.

2 comments
You wouldn't need client to server communication to save or load data, but you would need it to change the data.
Yes you’re right but I meant that communication because it would cache the data to be saved when the player leaves, not to save/load data