I have been trying to write code which would save the tools in a player's inventory when they leave using datastores, but it doesn't seem to work. I don't know why. Here is my script:
> local players = game:GetService("Players")
> local DataStoreService = game:GetService("DataStoreService")
> local InventoryDatastore1 = DataStoreService:GetDataStore("Datastore1")
>
> players.PlayerRemoving:Connect(function(player)
> local inventory = player:WaitForChild("Backpack")
> local playerUserID = player.UserId
> local data = inventory:GetChildren()
> local success, errorMessage = pcall(function()
> InventoryDatastore1:UpdateAsync("Player_"..playerUserID, data)
> end)
>
> if success then
> print("Tools successfuly saved!")
> else
> print("Something went wrong, "..errorMessage)
> end
> end)
> players.PlayerAdded:Connect(function(player)
> local inventory = player:WaitForChild("Backpack")
> local playerUserID = player.UserId
> local data
> local success, errorMessage = pcall(function()
> data = InventoryDatastore1:GetAsync("Player_"..playerUserID)
> end)
> end)
When I run my script, the pcall gives me this error message:
16:22:36.241 Something went wrong, Unable to cast value to function - Server
I don't know how to fix this, so if someone could help me that would be great. Help would be appreciated.
