• 07 Juillet 2025, 09:14:39


Auteur Sujet: Problème mot de passe  (Lu 891 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Jawitt

  • Scripteur PAWN/PHP
  • *
  • Tueur
  • Scripteur de LS-Paradise
  • Messages: 53
    • Voir le profil
Problème mot de passe
« le: 01 Avril 2010, 18:39:01 »
Bonjour,

Ayant créer mon système d'enregistrement, quand j'entre le mot de passe lors de la connexion, il me dis que ce n'es pas le bon mot de passe :

OnPlayerLogin :

public OnPlayerLogin(playerid,const string[])
{
    new pname2[MAX_PLAYER_NAME];
new pname3[MAX_PLAYER_NAME];
new string2[64];
new string3[128];
GetPlayerName(playerid, pname2, sizeof(pname2));
format(string2, sizeof(string2), "comptes/%s.ini", pname2);
new File: UserFile = fopen(string2, io_read);

if (UserFile)
{
new valtmp[128];
fread(UserFile, valtmp);strmid(JoueurInfo[playerid][jMotDePasse], valtmp, 0, strlen(valtmp)-1, 255);

if ((strcmp(JoueurInfo[playerid][jMotDePasse], string, true, strlen(valtmp)-1) == 0))
{
new key[128],val[128];
  new Data[128];
  while(fread(UserFile,Data,sizeof(Data)))
{
key = ini_GetKey(Data);
                if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); JoueurInfo[playerid][jLevel] = strval( val ); }
                if( strcmp( key , "Respect" , true ) == 0 ) { val = ini_GetValue( Data ); JoueurInfo[playerid][jExp] = strval( val ); }
                if( strcmp( key , "Argent" , true ) == 0 ) { val = ini_GetValue( Data ); JoueurInfo[playerid][jArgent] = strval( val ); }
                if( strcmp( key , "LevelAdmin" , true ) == 0 ) { val = ini_GetValue( Data ); JoueurInfo[playerid][jAdmin] = strval( val ); }
                GivePlayerMoney(playerid,JoueurInfo[playerid][jArgent]);
}
fclose(UserFile);
jEnLigne[playerid] = 1;
jCompte[playerid] = 1;
   new score = JoueurInfo[playerid][jLevel];
            SetPlayerScore(playerid, score);
GetPlayerName(playerid, pname3, sizeof(pname3));
format(string3, sizeof(string3), "Vous avez été correctement connecté !");
SendClientMessage(playerid, C_BLANC,string3);
}
else
{
SendClientMessage(playerid, C_BLANC, "Le mot de passe est invalide !!");
fclose(UserFile);
}
}
return 1;
}

Et mon /login

   if (strcmp(cmd, "/login", true) ==0 )
{
   if(IsPlayerConnected(playerid))
   {
       new tmppass[64];
if(jEnLigne[playerid] == 1)
{
SendClientMessage(playerid, C_GRIS, " Vous êtes déjà connecté.");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, C_GRIS, " UTILISATION: /login [mot de passe]");
return 1;
}
strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
String(tmppass);
OnPlayerLogin(playerid,tmppass);
}
return 1;
}

Pouvez vous m'aidez s'il vous plait ? merci d'avance

Hors ligne Barto

  • Aiiiiiiirght
  • *
  • GTAOnline Addict
  • Messages: 4205
    • Voir le profil
Re : Problème mot de passe
« Réponse #1 le: 01 Avril 2010, 20:56:42 »
J'ai pas trop compris le système, mais cela vient du mot de passe rechercher quand le joueur de logge, donc regarde de ce coté. J'ai eu un problème pareil aujourd'hui, on avait, avec FuSion, enfin, surtout FuSion, foiré le récupérage du mot de passe, et ca nous créé le même bug que toi.
Mais je na sais pas si cela va t'aider.

++
Barto
Les filles, c'est comme les échappées en cyclisme, faut en tenter plusieurs pour en réussir une.

Gifs interdit dans les avatars/signs

Hors ligne chneubeul

  • *
  • Gangster
  • GTA Online Addict :)
  • Messages: 1132
    • Voir le profil
Re : Problème mot de passe
« Réponse #2 le: 03 Avril 2010, 09:28:11 »
Salut, une fois ce bug m'étais arriver, enfin un bug, s'en n'étais pas vraiment un. En faites ce soucis venu de l'ouverture du .ini avec le bloc note le mot de passe n'a pas été charger car le mot de passe est crypté avec des caractères spéciales, donc j'avais l'info "key=" enfaite il ne fallais rien mettre pour me loguez et si je mettais un mot de passe c'étais différent de '' Ensemble vide " Donc il me le refusés, j'ai donc copier/coller un vieux mdp cryptés que j'avais sur un ancien compte et ensuite sa marchais :)


A+ tard dans l'placard,
Sam.  :cheers
« Modifié: 03 Avril 2010, 09:29:52 par chneubeul »

Hors ligne Syg

  • Expert programmeur C/C++/PAWN
  • *
  • The GTAOnline Jesus
  • Messages: 3908
    • Voir le profil
Re : Problème mot de passe
« Réponse #3 le: 06 Avril 2010, 23:24:49 »
Regardes bien la ligne que j'ai extraite de ton code et essaies d'y trouver l'erreur (les autres peuvent jouer aussi :))
if ((strcmp(JoueurInfo[playerid][jMotDePasse], string, true, strlen(valtmp)-1) == 0))
NB : Ce n'est peut-être pas la seule erreur que contient ton script (j'ai pas regarder la suite) mais en tout cas, ton code n'ira pas plus loin que ce test.

++
Syg
Courtesy of GtaManiac