I'm looking to get this script changed so instead of it awarding all the players at the same time, it's a local script in the Gui so each player gets cash at different times from anyone else, but I can't seem to figure out how. Can anyone help?

local moneytime = 300

while wait(1) do
	moneytime = moneytime - 1
	if (moneytime == 0) then
		moneytime = 300
		playersa = game.Players:GetChildren()
		for i = 1, #playersa do
			playersa[i].PlayerGui.Cash_V2.Shadow.Cash.Text = "Awarding cash..."
			wait(1)
			playersa[i].cash.Value = playersa[i].cash.Value + 50
		end
	end
	playersa = game.Players:GetChildren()
	for i = 1, #playersa do
		playersa[i].PlayerGui.Cash_V2.Shadow.Cash.Text = "You'll receive $50 after " .. tostring(moneytime)
		playersa[i].PlayerGui.Cash_V2.Shadow.UserCash.Text = "$" .. tostring(playersa[i].cash.Value)
	end
end