GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: jordanve le 01 Septembre 2009, 13:48:45

Titre: Problème Mot de passe
Posté par: jordanve le 01 Septembre 2009, 13:48:45
Bonjour,

J'ai un probleme, j'ai un bug de mot de passe en faite quand je reboot le serveur trop ou je modifie trop un compte le mot de passe cripté s'efface :(

Et  n'importe qui peut se connecter sur le compte apres

Je sais pas ce qu'il se passe. C'est possible de ne pas cripté les comptes ? enfin ça feras pareil

C'est ainser urgent merci
Titre: Re : Problème Mot de passe
Posté par: Lance le 01 Septembre 2009, 15:53:15
Si tu modifie e compte via un héberger, ça arrive qu'il te mange la premiére ligne (Qui est généralement celle du mot de passe). Pour faire en sorte que les mots de passe ne sois pas Encrypter, suprime ou commente la ligne dans ton script qui fais que quand il s'enregistre sela encrypte le mot de passe, et dans la commande pour se connecter, se qui fais que s déchiffre le mot de passe encrypter.
Titre: Re : Problème Mot de passe
Posté par: jordanve le 01 Septembre 2009, 17:49:04
Voilà mon pastebin j'ai deja essayer mais ça mais plein d'erreur.

http://pastebin.com/m6beaf20b (http://pastebin.com/m6beaf20b)

Double post
meme en effacant le crypatage ça efface le mot de passe :(
Titre: Re : Problème Mot de passe
Posté par: cristab le 01 Septembre 2009, 19:10:06
on pourrait avoir ceci

OnPlayerLogin(playerid,tmppass); et OnPlayerRegister(playerid,tmppass);

car je pense que sa vient de la

Titre: Re : Problème Mot de passe
Posté par: jordanve le 01 Septembre 2009, 19:23:50
tiens le login :

   if (strcmp(cmd, "/ident", true) ==0 )
   {
       if(IsPlayerConnected(playerid))
       {
           new tmppass[64];
         if(gPlayerLogged[playerid] == 1)
         {
            SendClientMessage(playerid, COLOR_WHITE, "SERVEUR: Vous êtes deja connecté.");
            return 1;
         }
         tmp = strtok(cmdtext, idx);
         if(!strlen(tmp))
         {
            SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /ident [mot de passe]");
            return 1;
         }
         strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
         //Encrypt(tmppass);
         SetPlayerHealth(playerid, 0);
         OnPlayerLogin(playerid,tmppass);
      }
      return 1;
   }

et le Register

if (strcmp(cmd, "/enregistrer", true) ==0 )
   {
       if(IsPlayerConnected(playerid))
       {
           if(gPlayerLogged[playerid] == 1)
         {
            SendClientMessage(playerid, COLOR_WHITE, "SERVEUR : Vous êtes déjà connectés.");
            return 1;
         }
         GetPlayerName(playerid, sendername, sizeof(sendername));
         format(string, sizeof(string), "%s.ini", sendername);
         new File: hFile = fopen(string, io_read);
         if (hFile)
         {
            SendClientMessage(playerid, COLOR_YELLOW, "Ce Nom d'utilisateur est déjà pris, choisissez-en un différent s'il vous plaît.");
            fclose(hFile);
            return 1;
         }
           new tmppass[64];
         tmp = strtok(cmdtext, idx);
         if(!strlen(tmp))
         {
            SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /enregistrer [Mot de passe]");
            return 1;
         }
         strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
         //Encrypt(tmppass);
         OnPlayerRegister(playerid,tmppass);
      }
      return 1;
   }


Merci beaucoup Cristab tu m'aide beaucoup, je pourrais te mettre admin sur mon serveur  :D
Titre: Re : Problème Mot de passe
Posté par: cristab le 01 Septembre 2009, 19:39:42
tu m'as remit le meme que sur pastebin enfait dans a commande on peu voir une factorisation de login et register fait ctrl+f et chercher ce que je t'es mis sa doit etre comme ceci


OnPlayerLogin(playerid,tmppass)
{
//du code
}

OnPlayerRegister(playerid,tmppass)
{
//du code
}
Titre: Re : Problème Mot de passe
Posté par: jordanve le 01 Septembre 2009, 19:42:47
non j'ai que cette ligne la :

         strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
         //Encrypt(tmppass);
         SetPlayerHealth(playerid, 0);
         OnPlayerLogin(playerid,tmppass);

Double post
Je suis encore obligé d'arreter mon serveur a cause de ça fait chier !
Titre: Re : Problème Mot de passe
Posté par: cristab le 01 Septembre 2009, 22:05:49
surtout a cause que tu ne lit pas se que j'ecrit   :dry
Titre: Re : Problème Mot de passe
Posté par: jordanve le 02 Septembre 2009, 18:53:08
ah

Tu voudrais remplacer ça ! public OnPlayerLogin(playerid,password[]) par ta ligne si dessus ?

Double post
probleme !

C:\DOCUME~1\Jordan\Bureau\jj\GAMEMO~1\liberty.pwn(8878) : error 025: function heading differs from prototype
C:\DOCUME~1\Jordan\Bureau\jj\GAMEMO~1\liberty.pwn(8889) : error 017: undefined symbol "password"
C:\DOCUME~1\Jordan\Bureau\jj\GAMEMO~1\liberty.pwn(9159) : error 025: function heading differs from prototype
C:\DOCUME~1\Jordan\Bureau\jj\GAMEMO~1\liberty.pwn(9160) : error 021: symbol already defined: "OnPlayerLogin"
C:\DOCUME~1\Jordan\Bureau\jj\GAMEMO~1\liberty.pwn(9179) : error 017: undefined symbol "password"
C:\DOCUME~1\Jordan\Bureau\jj\GAMEMO~1\liberty.pwn(9966) : error 004: function "OnPlayerRegister" is not implemented
C:\DOCUME~1\Jordan\Bureau\jj\GAMEMO~1\liberty.pwn(12649) : error 004: function "OnPlayerRegister" is not implemented
Titre: Re : Problème Mot de passe
Posté par: cristab le 02 Septembre 2009, 19:29:53
nan que tu poste le OnPlayerLogin(playerid,password[])