recently I am trying to save the value of a stringValue, but it does not save and gives me the error of "Invalid argument # 3", will it also save if the Value is changed by a LocalScript?
local ds = game:GetService("DataStoreService")
local valueDs = ds:GetDataStore("valueDs")
game.Players.PlayerAdded:Connect(function(player)
local Keys = Instance.new("Folder")
Keys.Name = "Keys"
Keys.Parent = player
local MenuKey = Instance.new("StringValue")
MenuKey.Name = "MenuKey"
MenuKey.Parent = Keys
MenuKey.Value = "M"
local InteractiveKey = Instance.new("StringValue")
InteractiveKey.Name = "InteractiveKey"
InteractiveKey.Parent = Keys
InteractiveKey.Value = "F"
local AgacharseKey = Instance.new("StringValue")
AgacharseKey.Name = "AgacharseKey"
AgacharseKey.Parent = Keys
AgacharseKey.Value = "C"
local EmotesKey = Instance.new("StringValue")
EmotesKey.Name = "EmotesKey"
EmotesKey.Parent = Keys
EmotesKey.Value = "B"
local data = {
["MenuKey"] = player.Keys.MenuKey.Value,
["InteractiveKey"] = player.Keys.InteractiveKey.Value,
["AgacharseKey"] = player.Keys.AgacharseKey.Value,
["EmotesKey"] = player.Keys.EmotesKey.Value,-- Repeat for all of them
}
local success,Err = pcall(function()
valueDs:SetAsync(player.UserId, data)
end)
if success then
MenuKey.Value = data
InteractiveKey.Value = data
AgacharseKey.Value = data
EmotesKey.Value = data
else
print("No se pudieron guardar los datos")
wait(Err)
end
end)
game.Players.PlayerRemoving:Connect(function(player)
local success, Err = pcall(function()
valueDs:SetAsync(player.UserId.."-MenuKey", player.Keys.MenuKey.Value)
valueDs:SetAsync(player.UserId.."-InteractiveKey", player.Keys.InteractiveKey.Value)
valueDs:SetAsync(player.UserId.."-AgacharseKey", player.Keys.AgacharseKey.Value)
valueDs:SetAsync(player.UserId.."-EmotesKey", player.Keys.EmotesKey.Value)
end)
if success then
print("Guardado exitosamente")
else
print("Error al guardar datos")
warn(Err)
end
end)
