Nice sir, this is just a simple script that does the job.
Wouldn't using that bulk amount of code on OnPlayerUpdate lag?
I did a test where that code was being repeated 1000 times each OnPlayerUpdate and it would take 2-3 ms for it to finish. When I repeated it 500 times, it only took 0-1 ms. It's safe to say it doesn't cause any lag.