在过去的几天里,我一直被数据没有保存的问题所困扰,我的代码没有给出任何错误,从我所看到的来看,它应该可以工作。代码如下:
local DataStore = game:GetService("DataStoreService"):GetDataStore("PlayerStats001")
-- Function to make the leaderstats
function onPlayerJoin(player)
local Leaderstats = Instance.new("Folder", player)
Leaderstats.Name = ("leaderstats")
local leadermoney = Instance.new("IntValue", Leaderstats)
leadermoney.Name = ("Money")
local leaderrescues = Instance.new("IntValue", Leaderstats)
leaderrescues.Name = ("Rescues")
local key = "player-" .. player.userId
local savePoints = {}
savePoints = DataStore:GetAsync(key)
if savePoints then
print("Old leaderstats")
-- Has been to game before, save format = {money, rescues}
leadermoney.Value = savePoints[1]
leaderrescues.Value = savePoints[2]
else
print("New leaderstats")
leadermoney.Value = 25000
leaderrescues.Value = 0
local valuesToSave = {leadermoney.Value, leaderrescues.Value}
DataStore:SetAsync(key, valuesToSave)
end
end
-- Saves player data
function save(player)
print("Started save")
local key = "player-" .. player.userId
local valuesToSave = {player.leaderstats:FindFirstChild("Money").Value , player.leaderstats:FindFirstChild("Rescues").Value}
DataStore:SetAsync(key, valuesToSave)
print("Finished save", valuesToSave[1], valuesToSave[2])
end
function playerLeaves(player)
save()
end
-- Runs the save function if a client requests a save
game.Lighting.RemoteEvents.Save.OnServerEvent:Connect(save)
-- Runs the playerLeaves function if a player leaves
game.Players.PlayerRemoving:Connect(save)
-- Runs the onPlayerJoin function when a player joins
game.Players.PlayerAdded:Connect(onPlayerJoin)当我运行它时(我在starter GUI中有一个本地脚本,它可以工作):
function autoSaveRequester()
print("Started auto save function.")
while wait(15) do
print("Finnished wait")
game.Lighting.RemoteEvents.Save:FireServer()
end
end
spawn(autoSaveRequester)它输出的值与我更改之前的值相同,而不是新的值,如果有任何帮助,我们将不胜感激。
发布于 2019-02-21 19:17:22
因为这一行,你的代码不能工作;
game.Players.PlayerRemoving:Connect(save)您可以直接跳转到save函数,而不是PlayerRemoving,并且不指定播放器。
将该行更新为:
game.Players.PlayerRemoving:Connect(playerLeaves)如果这对你有帮助,一定要投票支持!如果这回答了你的问题,别忘了按下勾!
如果你还需要什么,请在下面留言。
罗斯。
https://stackoverflow.com/questions/54542486
复制相似问题