Pourtant, c'est évident :
if(PlayerToPoint(0,pi,Rot[1][ i],Rot[2][ i],Rot[3][ i]))
Le rayon est à 0, ça ne peut donc pas marcher.
Deuxième chose, tu crées une herse mais tu ne stocke pas sa position pour pouvoir la comparer à la position du joueur.
Il manque un initialisation du tableau rot[][] dans la commande /herse. Et il faudra aussi gérer le tableau sting[].
Je n'ai pas le temps de corriger et de tester mais je pense que tu as les compétences suffisantes pour le faire toi-même.
NB : Ton timer est un peu court (40 ms), tu risques d'écrouler ton serveur surtout sans test sur IsPlayerConnected dans la fonction stinger().
Il se peut même que le traitement de stinger() mette plus de 40 ms et que les appels aux timers s'empilent conduisant à un crash du serveur à la longue.
++
Syg