Mal so nebenbei, was ich immer wieder sehe..
for(new i=0;i<MAX_PLAYERS; i++)
Wozu denn bitte i=0;? Das ist richtig sinnlos, weil eine neu erstellte Variable sowieso auf 0 steht..
Ändert jetzt natürlich nicht wirklich was, aber es fällt mir einfach extrem oft auf..
Normalerweise gibt man der Variable einen Wert, um ab diesem Wert die Schleife zu beginnen.