📚
【Roblox開発】データストアを扱う方法
データストアとは
- データを永続的に保存するサービス
- スコアランキングや持ち物、プレイヤー情報を保存するときに使える
公式リンク
はじめに
ServerScriptService
に「DataStoreController」という名前にしたモジュールscriptを配置。
データストアに値を保存する
local dataStore = DataStoreService:GetDataStore("Sample")
local DataStoreController = {}
function DataStoreController.GetData(player)
local success, data = pcall(function()
return dataStore:GetAsync(player.UserId)
end)
if success then
print(data)
return data
end
end
データストアからplayerをキーにして値を取得する
function DataStoreController.SetData(player, data)
local success, data = pcall(function()
return dataStore:SetAsync(player.UserId, data)
end)
if success then
print("success")
end
end
全体コード
local dataStore = DataStoreService:GetDataStore("Sample")
local DataStoreController = {}
function DataStoreController.GetData(player)
local success, data = pcall(function()
return dataStore:GetAsync(player.UserId)
end)
if success then
print(data)
return data
end
end
function DataStoreController.SetData(player, data)
local success, data = pcall(function()
return dataStore:SetAsync(player.UserId, data)
end)
if success then
print("success")
end
end
return DataStoreController --これを忘れずに
このコードを実行する
ServerScriptService
にSampleScriptという名のScriptを配置する。
local ServerScriptService = game:GetService("ServerScriptService")
local DataStoreController = require(ServerScriptService.DataStoreController)
Players.PlayerAdded:Connect(function(player)
DataStoreController.SetData(player, "Test")
local data = DataStoreController.GetData(player)
print("data is " .. data) --Output is "Test"
end)
Discussion