For example...
game.Players.ChildRemoved:connect(function(plr) print("Player Removed: " .. plr.Name) end)
AND
game.Players.PlayerRemoving:connect(function(plr) print("Player Removed: " .. plr.Name) end)
Do they both do the same thing? It would make sense if they did the same thing, but it would also make sense if they both didn't do the same thing.
They will work pretty much the same way in practice. However, ChildRemoved
was made for any instance, in any situation, while PlayerRemoving
was made specifically for monitoring when someone leaves the game. Therefore I recommend you use PlayerRemoving
in this situation.
If we could see Roblox's code, we could better understand how they work differently. But since we can't see it, we might as well trust them and use these events for their intended purposes.