J'ai corrigé ton script, je ne l'ai pas testé donc il se peut que ça ne fonctionne pas :
http://pastebin.gtaonline.fr/pastebin.php?show=333Ce que j'ai fait :
Tout d'abord, "décortication" correcte de la commande (tu avais oubliés de le faire).
Dans la commande, on contrôle que le joueur est dans une zone de 0.5 mètre autour du pickup sinon, on affiche un message.
Maintenant, tu veux peut-être que le pickup serve de "ticket pour une explosion" utilisable n'importe où.
Dans ce cas, il faut remplacer le test que j'ai ajouté par un test sur
DMArena[playerid] (qui doit être égal à 1).
Aprés coup, j'ai vu une erreur qui peut écrouler ton serveur.
Dans ton timer
ctimer, tu as mis le code suivant :
for (new i = 0; i < MAX_PLAYERS; i ++)
{
if (IsPlayerConnected(i)) SetTimer("resetcount",2000,0);
}
Dans cette boucle, tu lance le même timer autant de fois qu'il y a de joueurs et ce n'est pas la peine puisque le timer resetcount fait un reset pour tous les joueurs.
Donc remplaces toutes les lignes précedentes par un appel unique à ton timer :
SetTimer("resetcount",2000,0);
Et moi même je ne suis pas en reste :
cmd = strtok(cmdtxt, idx);
Il fallait bien évidement lire :
cmd = strtok(cmdtext, idx);
++
Syg