Skip to (AG-2) if you just want to read what i have tried. the rest is just what i have been trying to do and somewhat im making.
i need to save data over games. i have tried some videos but when i “save” them. it doesn’t and just only makes a instance. i really need this for a game im working on.
i have tried doing other things such as changing values from being a boolvalue to a int value and see if its a 1 or 0 to see if its true or false. i have also tried using fewer values that needs to be saved. i have over 20+ values that need to be saved in order for the game to work. this incudes settings. shop. and other game mechanics.
now i would keep this a secret. but its really nothing new. the game im working on is a fnaf game. same mechanics as fnaf 2 but a few new things. like you needing to look at a animatronic to stop it from killing you. but due to that i also want to save how many times the player has died to the animatronic. so far i have no idea why its not working.
the reason i need the boolvalue is because of the shop. if the player has a upgrade or a badge then something would happen that night. like a duable verification system to see if the player beat the night. same with the other value to see if the player has played the tutorial. or even played before.
i also need it to see what night the player is on. i also im trying to add a animatronic Saving system. so if the player disconnects from the game mid game. it would save all animatronics positions and ablity usage. same with how much time intel the next move. same with time etc…
(AG-2)
So the problem. its not saving. this is the code i have. i put some comments there because i sometime dip out of coding for weeks just to relax for a bit.
this is for making the instances. – placed in ServerScriptService
game.Players.PlayerAdded:Connect(function(Player)
local leaderstats = Instance.new("Folder",Player)
leaderstats.Name = "leaderstats"
local Nights = Instance.new("IntValue",leaderstats)
Nights.Name = "Nights"
Nights.Value = 0
local Night = Instance.new("IntValue",leaderstats)
Night.Name = "Night"
Night.Value = 0
-- -_- Nights -_- --
local FazCoins = Instance.new("IntValue",leaderstats)
FazCoins.Name = "FazCoins"
FazCoins.Value = 0
local FazTickets = Instance.new("IntValue",leaderstats)
FazTickets.Name = "FazTickets"
FazTickets.Value = 0
local TotalScore = Instance.new("IntValue",leaderstats)
TotalScore.Name = "TotalScore"
TotalScore.Value = 0
local Score = Instance.new("IntValue",leaderstats)
Score.Name = "Score"
Score.Value = 0
local FazPoints = Instance.new("IntValue",leaderstats)
FazPoints.Name = "FazPoints"
FazPoints.Value = 0
local DeathCoins = Instance.new("IntValue",leaderstats)
DeathCoins.Name = "DeathCoins"
DeathCoins.Value = 0
local Score2 = Instance.new("IntValue",leaderstats)
Score2.Name = "Score2"
Score2.Value = 0
-- -_- Points -_- --
local PCUpgrade_FasterTasks = Instance.new("IntValue",leaderstats)
PCUpgrade_FasterTasks.Name = "PCUpgrade_FasterTasks"
PCUpgrade_FasterTasks.Value = 0
local PCUpgrade_FasterTasksToggNumber = Instance.new("IntValue",leaderstats)
PCUpgrade_FasterTasksToggNumber.Name = "PCUpgrade_FasterTasksToggNumber"
PCUpgrade_FasterTasksToggNumber.Value = 0
local PCUpgrade_CameraTurnSpeed = Instance.new("IntValue",leaderstats)
PCUpgrade_CameraTurnSpeed.Name = "PCUpgrade_CameraTurn"
PCUpgrade_CameraTurnSpeed.Value = 0
local PCUpgrade_CameraTurnSpeedToggleNumber = Instance.new("IntValue",leaderstats)
PCUpgrade_CameraTurnSpeedToggleNumber.Name = "PCUpgrade_CameraTurnSpeedToggleNumber"
PCUpgrade_CameraTurnSpeedToggleNumber.Value = 0
local PCUpgrade_CameraNightVision = Instance.new("BoolValue",leaderstats)
PCUpgrade_CameraNightVision.Name = "PCUpgrade_CameraNightVision"
PCUpgrade_CameraNightVision.Value = false
local PCUpgrade_CameraNightVisionToggle = Instance.new("BoolValue",leaderstats)
PCUpgrade_CameraNightVisionToggle.Name = "PCUpgrade_CameraNightVisionToggle"
PCUpgrade_CameraNightVisionToggle.Value = false
local PCUpgrade_CameraLight = Instance.new("BoolValue",leaderstats)
PCUpgrade_CameraLight.Name = "PCUpgrade_CameraLight"
PCUpgrade_CameraLight.Value = false
local PCUpgrade_CameraLightToggle = Instance.new("BoolValue",leaderstats)
PCUpgrade_CameraLightToggle.Name = "PCUpgrade_CameraLightToggle"
PCUpgrade_CameraLightToggle.Value = false
local PCUpgrade_Power = Instance.new("IntValue",leaderstats)
PCUpgrade_Power.Name = "PCUpgrade_Power"
PCUpgrade_Power.Value = 0
local PCUpgrade_PowerToggleNumber = Instance.new("IntValue",leaderstats)
PCUpgrade_PowerToggleNumber.Name = "PCUpgrade_PowerToggleNumber"
PCUpgrade_PowerToggleNumber.Value = 0
local PCUpgrade_AnimatronicRust = Instance.new("IntValue",leaderstats)
PCUpgrade_AnimatronicRust.Name = "PCUpgrade_AnimatronicRust"
PCUpgrade_AnimatronicRust.Value = 0
local PCUpgrade_AnimatronicRustToggleNumber = Instance.new("IntValue",leaderstats)
PCUpgrade_AnimatronicRustToggleNumber.Name = "PCUpgrade_AnimatronicRustToggleNumber"
PCUpgrade_AnimatronicRustToggleNumber.Value = 0
local PCUpgrade_Flash = Instance.new("IntValue",leaderstats)
PCUpgrade_Flash.Name = "PCUpgrade_Flash"
PCUpgrade_Flash.Value = 0
local PCUpgrade_FlashToggleNumber = Instance.new("IntValue",leaderstats)
PCUpgrade_FlashToggleNumber.Name = "PCUpgrade_FlashToggleNumber"
PCUpgrade_FlashToggleNumber.Value = 0
local sPCUpgrade_FastSwitch = Instance.new("IntValue",leaderstats)
sPCUpgrade_FastSwitch.Name = "PCUpgrade_FastSwitch"
sPCUpgrade_FastSwitch.Value = 0
local sPCUpgrade_FastSwitchToggleNumber = Instance.new("IntValue",leaderstats)
sPCUpgrade_FastSwitchToggleNumber.Name = "PCUpgrade_FastSwitchToggleNumber"
sPCUpgrade_FastSwitchToggleNumber.Value = 0
local PcUpgrade_PowerOn = Instance.new("IntValue",leaderstats)
PcUpgrade_PowerOn.Name = "PcUpgrade_PowerOn"
PcUpgrade_PowerOn.Value = 0
local PcUpgrade_PowerOnToggleNumber = Instance.new("IntValue",leaderstats)
PcUpgrade_PowerOnToggleNumber.Name = "PcUpgrade_PowerOnToggleNumber"
PcUpgrade_PowerOnToggleNumber.Value = 0
-- -_- Upgrades -_- --
end)
and this is what saves it.
local ds = game:GetService("DataStoreService"):GetGlobalDataStore()
game.Players.PlayerAdded:Connect(function(plr)
wait()
local plrkey = "id_"..plr.UserId
local sNights = plr.leaderstats.Nights
local sNight = plr.leaderstats.Night
-- -_- Wins -_- --
local sFazCoins = plr.leaderstats.FazCoins
local sFazTickets = plr.leaderstats.FazTickets
local sScore = plr.leaderstats.Score
local sScore2 = plr.leaderstats.Score2
local sFazPoints = plr.leaderstats.FazPoints
local sTotalScore = plr.leaderstats.TotalScore
local sDeathCoins = plr.leaderstats.DeathCoins
-- -_- Currency -_- --
local sPCUpgrade_FasterTasks = plr.leaderstats.PCUpgrade_FasterTasks
local sPCUpgrade_CameraTurn = plr.leaderstats.PCUpgrade_CameraTurn
local sPCUpgrade_CameraNightVision = plr.leaderstats.PCUpgrade_CameraNightVision
local sPCUpgrade_Power = plr.leaderstats.PCUpgrade_Power
local sPCUpgrade_AnimatronicRust = plr.leaderstats.PCUpgrade_AnimatronicRust
local sPCUpgrade_Flash = plr.leaderstats.PCUpgrade_Flash
local sPCUpgrade_FastSwitch = plr.leaderstats.PCUpgrade_FastSwitch
-- -_- Upgrades -_- --
local sPCUpgrade_FasterTasksToggNumber = plr.leaderstats.PCUpgrade_FasterTasksToggNumber
local sPCUpgrade_CameraTurnSpeedToggleNumber = plr.leaderstats.PCUpgrade_CameraTurnSpeedToggleNumber
local sPCUpgrade_CameraLightToggle = plr.leaderstats.PCUpgrade_CameraLightToggle
local sPCUpgrade_CameraNightVisionToggle = plr.leaderstats.PCUpgrade_CameraNightVisionToggle
local sPCUpgrade_PowerToggleNumber = plr.leaderstats.PCUpgrade_PowerToggleNumber
local sPCUpgrade_AnimatronicRustToggleNumber = plr.leaderstats.PCUpgrade_AnimatronicRustToggleNumber
local sPCUpgrade_FlashToggleNumber = plr.leaderstats.PCUpgrade_FlashToggleNumber
local sPCUpgrade_FastSwitchToggleNumber = plr.leaderstats.PCUpgrade_FastSwitchToggleNumber
local sPcUpgrade_PowerOnToggleNumber = plr.leaderstats.PcUpgrade_PowerOnToggleNumber
-- -_- Upgrade toggle -_- --
local Saved = ds:GetAsync(plrkey)
if Saved then
sNights.Value = Saved[1]
sNight.Value = Saved[2]
sFazCoins.Value = Saved[3]
sFazTickets.Value = Saved[4]
sScore.Value = Saved[5]
sScore2.Value = Saved[6]
sFazPoints.Value = Saved[7]
sDeathCoins.Value = Saved[16]
-- -_- Currency -_- --
sTotalScore.Value = Saved[8]
sPCUpgrade_FasterTasks.Value = Saved[9]
sPCUpgrade_CameraTurn.Value = Saved[10]
sPCUpgrade_CameraNightVision.Value = Saved[11]
sPCUpgrade_Power.Value = Saved[13]
sPCUpgrade_AnimatronicRust.Value = Saved[14]
sPCUpgrade_Flash.Value = Saved[15]
sPCUpgrade_FastSwitch.Value = Saved[17] -- 18
-- -_- Upgrades -_- --
sPCUpgrade_FasterTasksToggNumber.Value = Saved[18]
sPCUpgrade_CameraTurnSpeedToggleNumber.Value = Saved[19]
sPCUpgrade_CameraLightToggle.Value = Saved[20]
sPCUpgrade_CameraNightVisionToggle.Value = Saved[21]
sPCUpgrade_PowerToggleNumber.Value = Saved[22]
sPCUpgrade_AnimatronicRustToggleNumber.Value = Saved[23]
sPCUpgrade_FlashToggleNumber.Value = Saved[24]
sPCUpgrade_FastSwitchToggleNumber.Value = Saved[25]
sPcUpgrade_PowerOnToggleNumber.Value = Saved[26]
-- -_- Upgrade Toggle -_- --
else
local NumberForSaving = {
sNights.Value,
sNight.Value,
sFazCoins.Value,
sFazTickets.Value,
sScore.Value,
sScore2.Value,
sFazPoints.Value,
sTotalScore.Value,
sDeathCoins.Value,
-- -_- Currency -_- --
sPCUpgrade_FasterTasks.Value,
sPCUpgrade_CameraTurn.Value,
sPCUpgrade_CameraNightVision.Value,
sPCUpgrade_CameraNightVisionToggle.Value,
sPCUpgrade_Power.Value,
sPCUpgrade_AnimatronicRust.Value,
sPCUpgrade_Flash.Value,
sPCUpgrade_Flash.Value,
sPCUpgrade_FastSwitch.Value,
-- -_- Upgrades -_- --
sPCUpgrade_FasterTasksToggNumber.Value,
sPCUpgrade_CameraTurnSpeedToggleNumber.Value,
sPCUpgrade_CameraLightToggle.Value,
sPCUpgrade_CameraNightVisionToggle.Value,
sPCUpgrade_PowerToggleNumber.Value,
sPCUpgrade_AnimatronicRustToggleNumber.Value,
sPCUpgrade_FlashToggleNumber.Value,
sPCUpgrade_FastSwitchToggleNumber.Value,
sPcUpgrade_PowerOnToggleNumber.Value,
-- -_- Upgrade Toggle -_- --
}
ds:GetAsync(plrkey, NumberForSaving)
end
end)
game.Players.PlayerRemoving:Connect(function(plr,Saving)
ds:SetAsync("id_"..plr.UserId,{plr.leaderstats.Night.Value,plr.leaderstats.FazCoins.Value, plr.leaderstats.FazTickets.Value, plr.leaderstats.Score.Value, plr.leaderstats.Score2.Value, plr.leaderstats.FazPoints.Value,plr.leaderstats.TotalScore.Value,plr.leaderstats.DeathCoins.Value,plr.leaderstats.PCUpgrade_FasterTasks.Value,plr.leaderstats.PCUpgrade_CameraTurn.Value,plr.leaderstats.PCUpgrade_CameraNightVision.Value, plr.leaderstats.PCUpgrade_Power.Value,plr.leaderstats.PCUpgrade_CameraLight.Value,plr.leaderstats.PCUpgrade_AnimatronicRust.Value,plr.leaderstats.PCUpgrade_Flash.Value,plr.leaderstats.PCUpgrade_FastSwitch.Value, plr.leaderstats.PcUpgrade_PowerOn,plr.leaderstats.PCUpgrade_FasterTasksToggNumber.Value,plr.leaderstats.PCUpgrade_CameraTurnSpeedToggleNumber.Value,plr.leaderstats.PCUpgrade_CameraNightVisionToggle.Value,plr.leaderstats.PCUpgrade_PowerToggleNumber.Value,plr.leaderstats.PCUpgrade_CameraLightToggle.Value,plr.leaderstats.PCUpgrade_AnimatronicRustToggleNumber.Value,plr.leaderstats.PCUpgrade_FlashToggleNumber.Value,plr.leaderstats.PCUpgrade_FastSwitchToggleNumber.Value,plr.leaderstats.PcUpgrade_PowerOnToggleNumber,})
end)
i still need to add a lot more. but im gonna wait it out intel i solve the problem.
heres the youtube videos that i have tried:
The one that im using. im willing to change it
Didnt work. and i dont know if it can save from different places
Didnt like the look of it. and still dont know if its able to be saved across places