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)