GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: scott1 le 28 Novembre 2008, 14:37:02

Titre: /changenick
Posté par: scott1 le 28 Novembre 2008, 14:37:02
Bonjour bonjour, ça fait un bail que je cherche, masi ne trouvant pas je fait appel a vous, j'ai une commande /changenick pour changer de pseudo, tout le monde peux l'utiliser, mais ce n'est pas pratique, on ne sais plus qui est qui, donc j'aimerai que ce soit l'admin qui change le nom des joueur, mais je ne sais comment faire, en truc du genre

If playerisadmin =1338

/changenick [playerid] [newnick]

Merci
Titre: Re : /changenick
Posté par: cristab le 28 Novembre 2008, 14:47:41
mais une condition exemple
if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
Titre: Re : /changenick
Posté par: scott1 le 28 Novembre 2008, 14:58:31
non non sa je connai, masi s'est pour avoir l'id du joueur, en fait j'aurai besoin d'une nouvelle commande, puisque l'encienne s'etait celui qui la tapait qui changeait de nick, maintenant il faut que je recupere  l'id du joueur et tout
Titre: Re : /changenick
Posté par: cristab le 28 Novembre 2008, 15:57:07

[code=][code]
if(strcmp(cmd,"/nom", true)==0)
{
    new pid, tmpp[256], tmp[256];
    new texte[256];
    new name[MAX_PLAYER_NAME];
    new name2[MAX_PLAYER_NAME];
    tmpp = strtok(cmdtext, idx);
    if(!strlen(tmpp))
    {
    SendClientMessage(playerid, COLOR_RED, "USAGE: /nom [playerid] [nom]");
    return 1;
    }
    pid = strval(tmpp);
    if(!IsPlayerConnected(pid))
    {
    SendClientMessage(playerid, COLOR_RED, "Ce player n'est pas connecté");
    return 1;
    }
    if(IsPlayerAdmin(playerid)==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Tu n'es pas admin !!!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    GetPlayerName(playerid, name, sizeof(name));
    GetPlayerName(pid, name2, sizeof(name2));
    format(texte, sizeof(texte), " %s a renomer %s en %s", name, name2, tmp);
    SendClientMessageToAll(COLOR_YELLOW, texte);
    SetPlayerName(pid,tmp);
    return 1;
 }
code by [StAfF]mAn

c'etait ici http://www.gtaonline.fr/forums/index.php/topic,2149.0.html
Apres si ce n'est pas sa ben c'est que je comprend pas la façon donc tu t'exprime  [/code]
Titre: Re : /changenick
Posté par: [StAfF]MaN le 28 Novembre 2008, 21:20:02
Ho ma tite commande ^^  :cheers

Mais au lieu de lui donner le code tu aurai pu lui expliquer ;) Il aurai mieux compris par la suite et aurai pu faire ces propres commandes avec le strtok  ::)
Titre: Re : /changenick
Posté par: scott1 le 28 Novembre 2008, 22:54:26
Si tu veux bien, je veux bien que tu m'explique ^^


Merci
Titre: Re : Re : /changenick
Posté par: cristab le 29 Novembre 2008, 13:52:01
Ho ma tite commande ^^  :cheers

Mais au lieu de lui donner le code tu aurai pu lui expliquer ;) Il aurai mieux compris par la suite et aurai pu faire ces propres commandes avec le strtok  ::)
ben enfaite j'ai tester de lui expliquer mais j'attend son code :/ pour lui dire en attendant il peu mettre celui la est des que son code est la je lui expliquerai puis juste faire recherche et on tombe sur ton code  :D
Titre: Re : /changenick
Posté par: scott1 le 30 Novembre 2008, 21:24:48
Voila, merci de votre aide 


   if (strcmp(cmd, "/changenick", true)==0)
   {
      tmp = strtok(cmdtext, idx);
      new string2[256];
      if (gPlayerLogged[playerid] != 1)
      {
         SendClientMessage(playerid, COLOR_GRAD1, "   You Are Not Logged In");
         return 1;
      }
      if(!strlen(tmp))
      {
         SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /changename [newname]");
         return 1;
      }
      format(string, sizeof(string), "%s.cer", tmp);
      if(fexist(string))
      {
         SendClientMessage(playerid, COLOR_GRAD1, "   That nick is registered");
         return 1;
      }
      OnPlayerRename(tmp,string,playerid);
      format(string, sizeof(string), "You may now reconnect with the name %s", tmp);
      SendClientMessage(playerid, COLOR_YELLOW, string);
      GetPlayerName(playerid, playername, sizeof(playername));
      format(string2, sizeof(string2), "%s.cer", playername);
      printf("%s has changed there name to %s.", playername,tmp);
      gPlayerLogged[playerid] = 0;
      fremove(string2);
      return 1;
   }