Advertisement
LePtitClown

Untitled

Oct 30th, 2012
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.65 KB | None | 0 0
  1. Le problème vient de:
  2.  
  3. stock CompteJoueur(playerid)//fonction permettant d'éviter de redéfinir l'enregistrement de compte
  4. {
  5.     new str2[MAX_PLAYER_NAME+20];
  6.     format(str2,sizeof(str2),"%s.data",nom(playerid));
  7.     return str2;
  8. }
  9.  
  10. Il y a donc nom.data qui est détecté.
  11.  
  12. Nom est rattaché à:
  13.  
  14. stock nom(playerid)
  15. {
  16.     new name[MAX_PLAYER_NAME];
  17.     GetPlayerName(playerid,name,sizeof(name));
  18.     return name;
  19. }
  20.  
  21. Le Nom pris doit donc être semblable au .data pour que ça marche.
  22.  
  23. Il faudrait donc pouvoir retrouver le vrai nom dans le pseudo et le comparer au .data.
  24.  
  25. Pour cela, je connais la fonction strmid qui permet de comparer une partie d'une chaine de caractères à une autre: //ça nous permettrait de virer les deux premiers caractères (C_, P_.... Il faudra bien sûr supprimer le GF pour mettre G_)
  26.  
  27. if(nom(playerid)!=initialname[playerid])
  28. {
  29.     new str2[MAX_PLAYER_NAME+20];
  30.     new stringnom[30];
  31.     strmid(stringnom,nom(playerid), 1, 2);//on ne tient pas compte des 2 premiers carac
  32.     format(str2,sizeof(str2),"%s.data",stringnom);
  33.     return str2;
  34. }
  35.  
  36. Dans notre cas, ça ferait donc:
  37.  
  38. stock CompteJoueur(playerid)//fonction permettant d'éviter de redéfinir l'enregistrement de compte
  39. {
  40.     new str2[MAX_PLAYER_NAME+20];
  41.     new stringnom[30];
  42.  
  43.     if(strfind(initialname[playerid],"P_", true)!=-1||strfind(initialname[playerid],"C_")
  44.     {
  45.         strmid(stringnom,nom(playerid), 1, 2);//on ne tient pas compte des 2 premiers carac
  46.         format(str2,sizeof(str2),"%s.data",stringnom);
  47.     }
  48.     else
  49.     {
  50.         format(str2,sizeof(str2),"%s.data",nom(playerid));
  51.         return str2;
  52.     }
  53. }
  54.  
  55.  
  56.  
  57. Je n'ai pas testé, mais je pense que cette fonction devrait régler ce problème.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement