roblox datastores 2 tutorial
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local ServerScriptService = game:GetService("ServerScriptService")
local DataStore2 = require(ServerScriptService.DataStore2)
-- Always "combine" any key you use! To understand why, read the "Gotchas" page.
DataStore2.Combine("DATA", "coins")
Players.PlayerAdded:Connect(function(player)
local coinStore = DataStore2("coins", player)
local function callRemote(value)
ReplicatedStorage.CoinAmount:FireClient(player, value)
end
-- Fire a remote event to the player telling them how many coins they have.
-- If this is their first time playing the game, they'll start out with 100.
callRemote(coinStore:Get(100))
-- Everytime the coin store updates, we'll send the RemoteEvent again.
coinStore:OnUpdate(callRemote)
end)
-- This is a RemoteEvent where a player can purchase a product by its name.
local Products = require(ReplicatedStorage.Products)
ReplicatedStorage.BuyProduct.OnServerEvent:connect(function(player, productName)
if not Products[productName] then return end -- Make sure the player is buying a real product
local coinStore = DataStore2("coins", player)
local productPrice = Products[productName].price
if coinStore:Get(100) >= productPrice then
print("Buying product", productName)
coinStore:Increment(-productPrice)
end
end)