-- Save 1
local Players = game:GetService("Players")
01 | Players.PlayerAdded:connect( function (Plr) |
02 | Plr.Backpack.ChildAdded:connect( function (Item) |
04 | for _, v in pairs (Plr.PlayerGui.Inventory.Frame.Items:GetChildren()) do |
06 | Plr:SaveString(v.Name,v.Name) |
13 | Players.PlayerRemoving:connect( function (Plr) |
15 | for _, v in pairs (Plr.PlayerGui.Inventory.Frame.Items:GetChildren()) do |
17 | Plr:SaveString(v.Name,v.Name) |
-- Load 1
01 | game:GetService( "Players" ).PlayerAdded:connect( function (Plr) |
02 | Plr.CharacterAdded:connect( function (Char) |
03 | Plr:WaitForDataReady() |
05 | for _, v in pairs (game:GetService( "ReplicatedStorage" ).Buttons:GetChildren()) do |
06 | if Plr:LoadString(v.Name) = = v.Name then |
07 | print (Plr:LoadString(v.Name)) |
09 | cl.Parent = Plr.PlayerGui.Inventory.Frame.Items |
-- Save 2
local Stats = {
["Swordsmanship"] = 0,
["Cooking"] = 0,
["Blacksmithing"] = 0,
["Woodcutting"] = 0,
["Mining"] = 0,
["Beast Taming"] = 0,
["Foraging"] = 0,
["Alchemy"] = 0,
["Detection Skill"] = 0,
["Farming"] = 0,
}
local SwordStats = {
["Short Blades"] = 0,
["Long Blades"] = 0,
["Great Blades"] = 0,
["Axes"] = 0,
["Rapiers"] = 0,
["Hammers"] = 0,
["Katanas"] = 0,
["Spears"] = 0,
}
local Plr = script.Parent.Parent
local StatsDirectory = script.Parent.Parent.Stats
local SwordStatsDirectory = script.Parent.Parent.SwordStats
repeat wait() until SwordStatsDirectory
repeat wait() until StatsDirectory
function saveStats()
for _, v in pairs(StatsDirectory:GetChildren()) do
Plr:SaveNumber(v.Name,v.Value)
end
for _, v in pairs(SwordStatsDirectory:GetChildren()) do
Plr:SaveNumber(v.Name,v.Value)
end
end
function updateStats()
for _, v in pairs(StatsDirectory:GetChildren()) do
Stats[v.Name] = v.Value
end
end
function updateSwordStats()
for _, v in pairs(SwordStatsDirectory:GetChildren()) do
SwordStats[v.Name] = v.Value
end
end
function loadData()
for _, v in pairs(StatsDirectory:GetChildren()) do
v.Value = Plr:LoadNumber(v.Name) or 0
updateStats()
end
for _, v in pairs(SwordStatsDirectory:GetChildren()) do
v.Value = Plr:LoadNumber(v.Name) or 0
updateSwordStats()
end
end
for _, v in pairs(StatsDirectory:GetChildren()) do
v.Changed:connect(function()
updateStats()
end)
end
for _, v in pairs(SwordStatsDirectory:GetChildren()) do
v.Changed:connect(function()
updateSwordStats()
end)
end
My friend scripted these for me, mainly because I'm not good with any kind of data persistence (I understand them to an extent, just can't rewrite them)
From what I've recently read, it's got something to do with Data Store and not Data Persistence.