• 04 Mai 2025, 09:45:16


Auteur Sujet: (résolu) Problème dialog.  (Lu 1103 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Alexandre_Leborgn

  • *
  • Criminel
  • Messages: 35
    • Voir le profil
(résolu) Problème dialog.
« le: 26 Août 2012, 04:17:14 »
Bonjour ou bonsoir, j'aimerais votre aide pour un problème qui se pose a moi. Je tente de faire un dialog qui permet de confirmer son mot de passe lors de l'inscription. Lorsque les mots de passes entrés sont différents, le dialog est censé se rouvrir, or le dialog disparaît et le 2eme mot de passe est enregistré.

   if(dialogid == DIALOG_REENREGISTREMENT)
   {
   if(!response)
   {
      SendClientMessage(playerid, COLOR_LIGHTBLUE, "|Info| : Vous annulez votre inscription. Utilisez /q pour quitter le jeu.");
   Kick(playerid);
   return 1;
   }
   else
{
   format(playertemppassword2,sizeof(playertemppassword2),"%s",inputtext);
      if(!strlen(inputtext))
      {
     ShowPlayerDialog(playerid, DIALOG_REENREGISTREMENT, DIALOG_STYLE_PASSWORD, "Comfirmation du mot de passe", "Comfirmez votre mot de passe ci-dessous :", "Comfirmez", "Quitter");
     return 1;
      }
      else if(strcmp(playertemppassword2, playertemppassword) == 0)
      {
       new PLAYER_NAME[MAX_PLAYER_NAME];
                    GetPlayerName(playerid, PLAYER_NAME, sizeof(PLAYER_NAME));
       dini_Create(pfile);
                    dini_Set(pfile,"Pseudo",PLAYER_NAME);
                    dini_Set(pfile,"MotDePasse",inputtext);
                    new printenregistrement[100];
                    format(printenregistrement,sizeof(printenregistrement),"Enregistrement de : %s",PLAYER_NAME);
                    printf(printenregistrement);
                    return 1;
   }
   else
   {
       SendClientMessage(playerid, COLOR_LIGHTBLUE, "|Info| : Les mots de passe que vous avez entré sont différents.");
       ShowPlayerDialog(playerid, DIALOG_ENREGISTREMENT, DIALOG_STYLE_PASSWORD, "Enregistrement", "Entrez votre mot de passe ci-dessous :", "Connection", "Quitter");
return 1;

   }
   }
        return 1;
   }
    
« Modifié: 26 Août 2012, 18:06:00 par Alexandre_Leborgn »

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3551
    • Voir le profil
Re : Problème dialog.
« Réponse #1 le: 26 Août 2012, 04:49:38 »
Je suis pas sur d'avoir compris, mais je pense que c'est le fait que tu utilises "DIALOG_REENREGISTREMENT" dans sa même condition. Je veux dire par là, que tu as utiliser deux fois la même dialog alors qu'il est nécessaire d'en créer une autre. C'est comme si tu disais "Si le pot de yaourt est manger. Montrer le yaourt à la personne." Il n'y a aucune logique dedans.
Regarde bien:

Citer
if(dialogid == DIALOG_REENREGISTREMENT)
     {
        if(!response)
        {
            SendClientMessage(playerid, COLOR_LIGHTBLUE, "|Info| : Vous annulez votre inscription. Utilisez /q pour quitter le jeu.");
            Kick(playerid);
            return 1;
        }
        else
      {
          format(playertemppassword2,sizeof(playertemppassword2),"%s",inputtext);
             if(!strlen(inputtext))
             {
             ShowPlayerDialog(playerid, DIALOG_REENREGISTREMENT, DIALOG_STYLE_PASSWORD, "Comfirmation du mot de passe", "Comfirmez votre mot de passe ci-dessous :", "Comfirmez", "Quitter");

[...]

Essaye de donner un nom à la dialog qui permet de confirmer. Je ne suis que débutant, si ça ne fonctionne pas, désoler.
En espérant t'avoir aider.
« Modifié: 26 Août 2012, 04:56:38 par Infu »


Adju ♥
(-_-)



Hors ligne Alexandre_Leborgn

  • *
  • Criminel
  • Messages: 35
    • Voir le profil
Re : Problème dialog.
« Réponse #2 le: 26 Août 2012, 04:57:13 »
Je le remontre car il se met uniquement si le joueur n'entre aucun texte.
Cf le "if(!strlen(inputtext))"

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3551
    • Voir le profil
Re : Problème dialog.
« Réponse #3 le: 26 Août 2012, 12:33:14 »
Ah, excuse moi j'ai pas fait gaffe. Je ne peux pas t'aider.


Adju ♥
(-_-)



Hors ligne Alexandre_Leborgn

  • *
  • Criminel
  • Messages: 35
    • Voir le profil
Re : Problème dialog.
« Réponse #4 le: 26 Août 2012, 18:05:47 »
Le probleme a été résolu en étudiant le script point par point avec des print.