Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Argument 2 missing or nil?

while true do wait(30)
		local WaitTime = math.random(2,5)
		game.ReplicatedStorage.SaveDataStatus.Value = "Saving Data..."
		for i,v in pairs(game.Players:GetPlayers()) do
			v.PlayerGui.SaveDataStatus.SaveMsg.TextColor3 = Color3.fromRGB(255,255,0)
		end
		print("Saving Data...")
		wait(WaitTime)
		print("Successfully Auto Saved Data!")
		PlayerData:SetAsync(playerUserId, data)
		game.ReplicatedStorage.SaveDataStatus.Value = "Successfully Saved Data!"
		for i,v in pairs(game.Players:GetPlayers()) do
			v.PlayerGui.SaveDataStatus.SaveMsg.TextColor3 = Color3.fromRGB(85,255,0)
		end
		wait(2)
		game.ReplicatedStorage.SaveDataStatus.Value = ""
		for i,v in pairs(game.Players:GetPlayers()) do
			v.PlayerGui.SaveDataStatus.SaveMsg.TextColor3 = Color3.fromRGB(115,115,115)
		end
	end

local data = {
		strength = player.leaderstats.Strength.Value;
		coins = player.Coins.Value;
		gems = player.leaderstats.Gems.Value;
		rebirths = player.leaderstats.Rebirths.Value;
		class = player.leaderstats.Class.Value;
		rank = player.Rank.Value;
		warnings = player.Warnings.Value;
	}

2 comments

0

the only thing i can see wrong is you're not defining your data variable. Is that defined someplace else?

0

yes

1 answer

✓ Accepted answer

If you are getting userId, you should do Player.UserId. Otherwise, if PlayerUserId is a variable, then there shouldn't be an error. In this case, you could use a pcall to run this event.

while true do wait(30)
	local WaitTime = math.random(2,5)
	game.ReplicatedStorage.SaveDataStatus.Value = "Saving Data..."
	for i,v in pairs(game.Players:GetPlayers()) do
		v.PlayerGui.SaveDataStatus.SaveMsg.TextColor3 = Color3.fromRGB(255,255,0)
	end
	print("Saving Data...")
	wait(WaitTime)
	repeat
	local success = pcall(function()
		SetAsync(playerUserId, data)
	end)
	until success
	print("Successfully Auto Saved Data!")
	
	game.ReplicatedStorage.SaveDataStatus.Value = "Successfully Saved Data!"
	for i,v in pairs(game.Players:GetPlayers()) do
		v.PlayerGui.SaveDataStatus.SaveMsg.TextColor3 = Color3.fromRGB(85,255,0)
	end
	wait(2)
	game.ReplicatedStorage.SaveDataStatus.Value = ""
	for i,v in pairs(game.Players:GetPlayers()) do
		v.PlayerGui.SaveDataStatus.SaveMsg.TextColor3 = Color3.fromRGB(115,115,115)
	end
end

Edit: It would help if we knew what the data was

1 comment

0

it worked when i put the data variable in the while loop

This discussion is preserved as it was. New answers, comments, and votes are closed.