I don't know how to explain this well but I will try my best.
I have this example script:
game:GetService("Players").PlayerAdded:Connect(function(player)
game:GetService("Workspace").Part.Touched:Connect(function(hit)
local Money = player.leaderstats.Money
Money.Value = Money.Value + 1
end)
end)
If the Player1 join the game(player now is Player1), but he/she not touching the part yet(So Player1 doesn't get any money). Next time, Player2 join the game(player now is Player2) and Player1 start to touching the part, what will happen?
Will Player1 get money because Player1 touch the part, or Player2 get money because player now is Player2? If Player2 get money then is there any way to stop that happen?
Thank for reading :D

3 comments
Your solution is very clever, but there is a problem. In line 13, Player_delay would be nil, because there is no Player index in Players.
There isn't one, its fine though that's why there is this "(Player_delay and (tick() - Player_delay > Touch_settings.Delay) or not Player_delay)" it doesn't matter if it is already indexed or not it will be added after.
So basiclly, the statement is just "if Leaderstats and not Player_delay then", because the Player will never be index.