First of all, i used a diferent method to save and load stuff because it feels more easy and i wont change it, i just want to know how could i save tools with this method, i tried to save tools but i couldnt, theres a shop where you buy the tools and puts it on your inventory.
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local ServerScriptService = game:GetService("ServerScriptService")
local DataStore2 = require(1936396537)
-- Always "combine" any key you use! To understand why, read the "Gotchas" page.
DataStore2.Combine("lol", "Level", "Exp", "MaxExp", "Zenni", "SP", "Target", "TargetsLeft", "Quest", "KM", "MaxKi", "MH", "MaxHeath", "MStore", "KD","MD" , "R", "S", "Q", "QT", "QN", "ZR", "ER", "DO", "QNC", "Attacks")
Players.PlayerAdded:Connect(function(player)
local function Load(Character)
local StoreLevel = DataStore2("Level", player)
local StoreExp = DataStore2("Exp", player)
local StoreZenni = DataStore2("Zenni", player)
local StoreMaxExp = DataStore2("MaxExp", player)
local StoreSP = DataStore2("SP", player)
local StoreTarget = DataStore2("Target", player)
local StoreQuest = DataStore2("Quest", player)
local StoreTargetsLeft = DataStore2("TargetsLeft", player)
local StoreKM = DataStore2("KM", player)
local StoreMaxKi = DataStore2("MaxKi", player)
local StoreMH = DataStore2("MH", player)
local StoreMaxHealth = DataStore2("MaxHealth", player)
local StoreMD = DataStore2("MD", player)
local StoreKD = DataStore2("KD", player)
local StoreR = DataStore2("R", player)
local StoreS = DataStore2("S", player)
local StoreQ = DataStore2("Q", player)
local StoreQT = DataStore2("QT", player)
local StoreQN = DataStore2("QN", player)
local StoreQNC = DataStore2("QNC", player)
local SER = DataStore2("ER", player)
local SZR = DataStore2("ZR", player)
local SDO = DataStore2("DO", player)
local SAttacks = DataStore2("Attacks", player)
local Level = player.Character:WaitForChild("Level",1)
local Exp = player.Character:WaitForChild("EXP",1)
local MaxExp = player.Character:WaitForChild("MaxExp",1)
local Zenni = player.Character:WaitForChild("Zenni",1)
local SP = player.Character:WaitForChild("SP",1)
local Target = player.Character:WaitForChild("Target",1)
local Quest = player.Character:WaitForChild("Quest",1)
local TargetsLeft = player.Character:WaitForChild("TargetsLeft",1)
local KM = player.Character:WaitForChild("KM",1)
local HM = player.Character:WaitForChild("MH",1)
local MaxKi = player.Character:WaitForChild("MaxKi",1)
local HealthMax = player.Character:WaitForChild("Humanoid",1).MaxHealth
local MD = player.Character:WaitForChild("MD",1)
local KD = player.Character:WaitForChild("KD",1)
local S = player.Character:WaitForChild("Speed",1)
local R = player.Character:WaitForChild("Resistance",1)
local Q = player:WaitForChild("PlayerGui",1):WaitForChild("Main",1).Quest
local QT = player:WaitForChild("PlayerGui",1):WaitForChild("Main",1).Questt
local QN = player.Character:WaitForChild("QuestName").Value
local QNC = player.Character:WaitForChild("QuestName",1)
local ZR = player.Character:WaitForChild("ZR",1)
local ER = player.Character:WaitForChild("ER",1)
local DO = player.Character:WaitForChild("Do",1)
local Attacks = player.Character:WaitForChild("Attacks",1)
if StoreLevel:Get() ~= nil then
Level.Value = StoreLevel:Get()
else
Level.Value = 1
end
if StoreExp:Get() ~= nil then
Exp.Value = StoreExp:Get()
else
Exp.Value = 0
end
if StoreMaxExp:Get() ~= nil then
MaxExp.Value = StoreMaxExp:Get()
else
MaxExp.Value = 100
end
if StoreZenni:Get() ~= nil then
Zenni.Value = StoreZenni:Get()
else
Zenni.Value = 1000
end
if StoreSP:Get() ~= nil then
SP.Value = StoreSP:Get()
else
SP.Value = 3
end
if StoreQuest:Get() ~= nil then
Quest.Value = StoreQuest:Get()
else
Quest.Value = false
end
if StoreTarget:Get() ~= nil then
Target.Value = StoreTarget:Get()
else
Target.Value = "None"
end
if StoreTargetsLeft:Get() ~= nil then
TargetsLeft.Value = StoreTargetsLeft:Get()
else
TargetsLeft.Value = 0
end
if StoreMH:Get() ~= nil then
HM.Value = StoreMH:Get()
else
HM.Value = 1
end
if StoreKM:Get() ~= nil then
KM.Value = StoreKM:Get()
else
KM.Value = 1
end
if StoreMaxKi:Get() ~= nil then
MaxKi.Value = StoreMaxKi:Get()
else
MaxKi.Value = 100
end
if StoreMaxHealth:Get() ~= nil then
HealthMax = StoreMaxHealth:Get()
else
HealthMax = 100
end
if StoreKD:Get() ~= nil then
KD.Value = StoreKD:Get()
else
KD.Value = 1
end
if StoreMD:Get() ~= nil then
MD.Value = StoreMD:Get()
else
MD.Value = 1
end
if StoreS:Get() ~= nil then
S.Value = StoreS:Get()
else
S.Value = 1
end
if StoreR:Get() ~= nil then
R.Value = StoreR:Get()
else
R.Value = 1
end
if StoreQ:Get() ~= nil then
Q.Visible = StoreQ:Get()
else
Q.Visible = false
end
if StoreQT:Get() ~= nil then
QT.Visible = StoreQT:Get()
else
QT.Visible = false
end
if StoreQNC:Get() ~= nil then
QNC.Value = StoreQNC:Get()
else
QNC.Value = "None"
end
if StoreQ:Get() ~= nil then
Q.Text = StoreQNC:Get()
else
Q.Text = "None"
end
if SZR:Get() ~= nil then
ZR.Value = SZR:Get()
else
ZR.Value = "None"
end
if SER:Get() ~= nil then
ER.Value = SER:Get()
else
ER.Value = "None"
end
if SDO:Get() ~= nil then
DO.Value = SDO:Get()
else
DO.Value = "None"
end
if SAttacks:Get() ~= nil then
Attacks:Destroy()
print("destroyed")
SAttacks:Get().Parent = Character
print("parented")
end
--//SAVE
Level.Changed:Connect(function()
StoreLevel:Set(Level.Value)
end)
Exp.Changed:Connect(function()
StoreExp:Set(Exp.Value)
end)
MaxExp.Changed:Connect(function()
StoreMaxExp:Set(MaxExp.Value)
end)
Zenni.Changed:Connect(function()
StoreZenni:Set(Zenni.Value)
end)
SP.Changed:Connect(function()
StoreSP:Set(SP.Value)
end)
Quest.Changed:Connect(function()
StoreQuest:Set(Quest.Value)
end)
Target.Changed:Connect(function()
StoreTarget:Set(Target.Value)
end)
TargetsLeft.Changed:Connect(function()
StoreTargetsLeft:Set(TargetsLeft.Value)
end)
HM.Changed:Connect(function()
StoreMH:Set(HM.Value)
end)
Character.Humanoid:GetPropertyChangedSignal("MaxHealth"):Connect(function()
StoreMaxHealth:Set(HealthMax)
end)
KM.Changed:Connect(function()
StoreKM:Set(KM.Value)
end)
MaxKi.Changed:Connect(function()
StoreMaxKi:Set(MaxKi.Value)
end)
MD.Changed:Connect(function()
StoreMD:Set(MD.Value)
end)
KD.Changed:Connect(function()
StoreKD:Set(KD.Value)
end)
S.Changed:Connect(function()
StoreS:Set(S.Value)
end)
R.Changed:Connect(function()
StoreR:Set(R.Value)
end)
Q:GetPropertyChangedSignal("Visible"):Connect(function()
StoreQ:Set(Q.Visible)
end)
QT:GetPropertyChangedSignal("Visible"):Connect(function()
StoreQT:Set(QT.Visible)
end)
QNC.Changed:Connect(function()
StoreQNC:Set(QNC.Value)
end)
ZR.Changed:Connect(function()
SZR:Set(ZR.Value)
end)
ER.Changed:Connect(function()
SER:Set(ER.Value)
end)
DO.Changed:Connect(function()
SDO:Set(DO.Value)
end)
Character.Attacks.ChildAdded:Connect(function()
print("boi")
SAttacks:Set(Attacks)
end)
end
player.CharacterAdded:Connect(Load)
end)
