if LevelStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					Levels.Value = LevelStore:GetAsync("Points_"..newPlayer.Name)
            else
					Levels.Value = 1
            end
           
            Levels.Changed:connect(function(Val)
                    LevelStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if EXPStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					EXPs.Value = EXPStore:GetAsync("Points_"..newPlayer.Name)
            else
					EXPs.Value = 60
            end
           
            EXPs.Changed:connect(function(Val)
                    EXPStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if RyoStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					Ryos.Value = RyoStore:GetAsync("Points_"..newPlayer.Name)
            else
					Ryos.Value = 0
            end
           
            Ryos.Changed:connect(function(Val)
                    RyoStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if NatureOneStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					NatureOnes.Value = NatureOneStore:GetAsync("Points_"..newPlayer.Name)
            else
					NatureOnes.Value = 0
            end
           
            NatureOnes.Changed:connect(function(Val)
                    NatureOneStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if NatureTwoStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					NatureTwos.Value = NatureTwoStore:GetAsync("Points_"..newPlayer.Name)
            else
					NatureTwos.Value = 0
            end
           
            NatureTwos.Changed:connect(function(Val)
                    NatureTwoStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if SpecAbilityStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					SpecAbilitys.Value = SpecAbilityStore:GetAsync("Points_"..newPlayer.Name)
            else
					SpecAbilitys.Value = 0
            end
           
            SpecAbilitys.Changed:connect(function(Val)
                    SpecAbilityStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if WeaponStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					Weapons.Value = WeaponStore:GetAsync("Points_"..newPlayer.Name)
            else
					Weapons.Value = 0
            end
           
            Weapons.Changed:connect(function(Val)
                    WeaponStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if JinStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					Jins.Value = JinStore:GetAsync("Points_"..newPlayer.Name)
            else
					Jins.Value = 0
            end
           
            Jins.Changed:connect(function(Val)
                    JinStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if StatusStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					Statuss.Value = StatusStore:GetAsync("Points_"..newPlayer.Name)
            else
					Statuss.Value = 0
            end
           
            Statuss.Changed:connect(function(Val)
                    StatusStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)
		if CreationsStore:GetAsync("Points_"..newPlayer.Name) ~= nil then
					Creationss.Value = CreationsStore:GetAsync("Points_"..newPlayer.Name)
            else
					Creationss.Value = 3
            end
           
            Creationss.Changed:connect(function(Val)
                    CreationsStore:SetAsync("Points_"..newPlayer.Name, Val)
            end)

This is my current way to save the data. Dont worry the variables are all defined and this works perfectly. If you want the whole script let me know. But, the flaw in this is that it exceeds the request limit very quickly? How can I make that not so? What's a different other way to save it? If there is I probably don't know how to do it if I haven't tried it yet, so let me know please? Help is very much appreciated. =) Thanks in advance!

2 comments

0

I would suggest using the PlayerDataStore Module. It handles the request limit for you, and is as easy to use as DataPersistence: http://wiki.roblox.com/index.php?title=PlayerDataStore_module

0

If you're setting a datastore value, use :UpdateAsync instead of :SetAsync. It's safer to use.