Salut,
je ne faisais que regarder en passant, mes le code GetPlayerTag contient une ndition légèrement inutile:
if(postag[0] == -1 || postag[0] != 0) //Si on n'a pas trouver le caractere ou si il n'est pas au debut du pseudo
si la position est -1 ou si la position est différente de 0.....
si la position est -1, elle est nécessairement différente de 0, donc on peut modifier à:
if(postag[0] != 0) //Si on n'a pas trouver le caractere ou si il n'est pas au debut du pseudo
et puis personnellement j'ajouterais ne longueur de tag maximale (possiblement passé en paramètre dans la fonction)
peut-être également enlever les "[]"
sinon l'implantation que j'en ferais:
GetPlayerTag(playerid, caractereouverture = '[', caracterefermeture = ']', len = 5)//taille maximale à 5 par defaut
{
new
playername[MAX_PLAYER_NAME],
i = 1;
GetPlayerName(playerid,playername,MAX_PLAYER_NAME);
if(playername[0] == CaractereOuverture)
{
while(playername[i] && playername[i] != caracterefermeture)
{
playername[i-1] = playername[i];
i++;
if(i > len)
{
i = 0;
break;
}
}
}
playername[i] = '\0';
return playername; //On renvoi le tag (sans les séparateurs)
}
le code est peut-être imparfait mais bon....
contient peut-être des erreurs, scripté sur le forum
++Sim++