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.