Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
1

how can I change my local script to fit this datastore?

Asked by 4 years ago

I'm pretty sure this is the problem. I made a datastore script that goes like this:

local DataStoreService = game:GetService("DataStoreService")
local MyDataStore = DataStoreService:GetDataStore("myDataStore")


game.Players.PlayerAdded:Connect(function(player)

    local leaderstats = Instance.new("Folder")
    leaderstats.Name = "leaderstats"
    leaderstats.Parent = player

    -- Display an 'IntValue' on leaderboard
    local cash = Instance.new("IntValue")
    cash.Name = "Cash"
    cash.Parent = leaderstats





    local data
    local success, errormessage = pcall(function()

         data = MyDataStore:GetAsync(player.UserId.."-cash") or 0
    end)


    if success then

        cash.Value = data
    else
            print("error")
            warn(errormessage)
    end
end)






game.Players.PlayerRemoving:Connect(function(player)
    local success, errormessage = pcall(function()
    MyDataStore:SetAsync(player.UserId.."-cash",player.leaderstats.Cash.Value) 

    end)
    if success then print("Data Saved")
        else print("error")
            warn("errormessage")

    end





end)

If I play my game on Roblox (not studio) I am able to save the value of cash if I type a command from HD admin.

Change me Cash 1000

I leave the game and this is saved and remains when I come back. However, I have a localscript in StarterPlayerScripts that is:

while true do
 wait(10)
game.Players.LocalPlayer.leaderstats.Cash.Value = game.Players.LocalPlayer.leaderstats.Cash.Value + 10
  end

The 1000 will go (ex.1040) and it won't save.
I can use the admin command to change the value to 1040 and it saves. What can I do to fix this?

1 answer

Log in to vote
1
Answered by 4 years ago

You have to use remote events to do this as you have got filtering enabled and anything you do on the client won't save. Therefore you have to use remote events for the server to see the change. Read this article here

Ad

Answer this question