i believe that player is already passed through the function from the client side invokation, so instead of doing invokeServer(plr, increment) just do invokeServer(increment)
so the problem is that since you sent the plr through the invoke, there is actually 3 arguments being passed: player, plr, and increment. when you set up the onServerInvoke you named the first 2 of them player and increment, but they corrosponded to player and plr, and incremenet was left unused