• 22 Avril 2025, 14:37:23


Auteur Sujet: [Problème] Dialog d'inscription  (Lu 1391 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
[Problème] Dialog d'inscription
« le: 11 Octobre 2011, 18:33:51 »
Bonjour/Bonsoir à tous,

Aujourd'hui, je suis venu demander de l'aide pour un tableau d'inscription.

Le tableau est créer, mais j'ai un seul soucis c'est quand on clique sur "Annuler", le joueur n'est pas kick.
Je suis parti vérifié dans le gamemode, "public OnDialogResponse" et voici ce que j'ai trouvé:

if(dialogid == 12346 || dialogid == 12347)
{
   if(strlen(inputtext))
   {
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring[128];
new loginname[128];
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"Votre compte n'est pas créer avec ce mot de passe.\n\nVeuillez entrer le mot de passe :",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Conexion",loginstring,"Valider","Quitter");
       gPlayerLogTries[playerid] += 1;
       if(gPlayerLogTries[playerid] == 3) { Kick(playerid); }
}
   }
if(dialogid == 12345)
{
if(strlen(inputtext))
  {
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 Pseudo est déjà pris. Choisissez en un autre s'il vous plait.");
fclose(hFile);
return 1;
}
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
  new regstring[128];
new regname[128];
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Ce compte n'est pas enregistré.\n\nInscrivez votre mot de passe ci-dessous pour vous enregistrer et pouvoir jouer :",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Inscription",regstring,"Enregistrer","Sortir");
}
}
return 1;
}

J'ai essayer d'ajouter
  }
  else
  {
Kick(playerid);
  }
   }
Mais ça ne marche pas, j'ai aussi essayer d'ajouté des "return 1;" en dessous du tableau mais sa donne toujours rien.

Et dans "OnPlayerConnect" :
       gPlayerAccount[playerid] = 0;
   new regstring[256];
        new regname[64];
        GetPlayerName(playerid,regname,sizeof(regname));
   format(regstring,sizeof(regstring),"American World RolePlay :\n\nBienvenue %s. Vous n'avez pas encore de compte.\n\nInscrivez votre mot de passe ci-dessous pour vous enregistrer et pouvoir jouer :",regname);
        ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Inscription",regstring,"Valider","Quitter");
return 1;
   }

Merci sincèrement de votre aide.
Je cherche, je test chaque jour pour voir si je réussis mais non, je trouve pas la solution.
« Modifié: 11 Octobre 2011, 20:19:38 par Taylor »

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : Tableau de inscription
« Réponse #1 le: 11 Octobre 2011, 19:47:20 »
Salut,

Citer
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Inscription",regstring,"Valider","Quitter");

Citer
if(dialogid == 12346 || dialogid == 12347)

Pas étonnant que ça ne fonctionne pas  ;)

++

PS : Tu as fait une faute dans ton titre  ;)

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : Re : Tableau de inscription
« Réponse #2 le: 11 Octobre 2011, 20:18:17 »
Salut,

Citer
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Inscription",regstring,"Valider","Quitter");

Citer
if(dialogid == 12346 || dialogid == 12347)

Pas étonnant que ça ne fonctionne pas  ;)

++

PS : Tu as fait une faute dans ton titre  ;)

if(dialogid == 12346 || dialogid == 12347)Ce dialog fais parti de quand on écrit pas correctement un mot de passe. Il n'a rien a avoir avec le dialog d'inscription.

J'ai modifié le titre en espérant qu'il est bien écrit comme il le faut.
« Modifié: 11 Octobre 2011, 20:20:44 par Taylor »

Hors ligne Gilux

  • *
  • Mafioso
  • GOOBY PLS
  • Messages: 2209
    • Voir le profil
Re : [Problème] Dialog d'inscription
« Réponse #3 le: 11 Octobre 2011, 21:31:56 »
Ha oui désolé, c'est normal car tu ne testes pas si il y a une réponse (clic sur le bouton de gauche) ou pas (clic sur le bouton de droite, donc "Annuler" ici)
Regarde le paramètre "response" sur le Wiki pour t'aider.

++

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : Re : [Problème] Dialog d'inscription
« Réponse #4 le: 12 Octobre 2011, 19:54:59 »
Ha oui désolé, c'est normal car tu ne testes pas si il y a une réponse (clic sur le bouton de gauche) ou pas (clic sur le bouton de droite, donc "Annuler" ici)
Regarde le paramètre "response" sur le Wiki pour t'aider.

++

Oui j'ai regardé sur le wiki des infos, mais ça régle pas mon problème. J'ai repéré quelque chose qui pourrait causer ce problème. (?)

Quand tu clique sur "annuler" ou bien "continuer" il te dirige vers la pos de camera pour se loguer, on trouve ça dans "onplayerrequest" et donc j'ai enlevé la pos pour testé et ça a rien donné ça a été toujours pareil, j'ai aussi eu le temps de regarder "ShowPlayerDialog" sur le wiki je vais regardé si je comprend quelque chose pour résoudre mon soucis.

Pour info, j'ai mis le tableau tout au début de la connexion donc dans "OnplayerConnect"

Je ne sais vraiment pas pour quoi ça ne marche pas..
« Modifié: 12 Octobre 2011, 19:59:18 par Taylor »

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : [Problème] Dialog d'inscription
« Réponse #5 le: 15 Octobre 2011, 22:56:43 »
Upp...

Je n'arrive pas a compléter ce scripte:

if(dialogid == 12345)
{
     if(response)
     {
           if(strlen(mot_de_passe) > x) <----- je sais pas je met quoi a la place de"mot_de_passe" et "x"
           {
           // Si le joueur a cliqué sur le bouton de gauche ET que la longueur de son pass est suffisante <- je sais pas non plus quoi ajouté ici.
           }
           else
           {
              // Si le joueur a cliqué sur le bouton de gauche MAIS que son mot de passe est trop court <- ici non plus aussi
           }
     }
     else
     {
          Kick(playerid);
      }
      return 1;
}

S'il vous plait...

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : [Problème] Dialog d'inscription
« Réponse #6 le: 16 Octobre 2011, 10:39:22 »
à la place de "mot_de_passe" tu mets inputtext qui contient le texte entré par le joueur dans un dialog et à la place de "x" tu mets la taille minimum que le mot de passe doit faire.



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : Re : [Problème] Dialog d'inscription
« Réponse #7 le: 17 Octobre 2011, 13:03:20 »
à la place de "mot_de_passe" tu mets inputtext qui contient le texte entré par le joueur dans un dialog et à la place de "x" tu mets la taille minimum que le mot de passe doit faire.

Alors j'ai suivis ta réponse et j’obtiens ça:

if(dialogid == 12345)
{
     if(response)
     {
           if(strlen(inputtext) > 5)
           {
           // Si le joueur a cliqué sur le bouton de gauche ET que la longueur de son pass est suffisante <- je sais pas non plus quoi ajouté ici.
           }
           else
           {
              // Si le joueur a cliqué sur le bouton de gauche MAIS que son mot de passe est trop court <- ici non plus aussi
           }
     }
     else
     {
          Kick(playerid);
      }
      return 1;
}

Je reçois plein d'erreur car il y a un "} ou {" qui est manquant. Je l'ai repéré et je l'es mis donc ça a été comme ça:

Avant:

     }
     else
     {
          Kick(playerid);
      }
      return 1;
}

Après:
     }
     else
     {
          Kick(playerid);
          return 1;
}
}
      return 1;
}

Ensuite, je suis parti tester cela IG, rien ne fonctionne... ça me kick pas et ça me téléporte vers la pos de connexion sans tableau...

Merci de votre aide.

Hors ligne Taylor

  • *
  • Nouveau
  • Messages: 19
    • Voir le profil
Re : [Problème] Dialog d'inscription
« Réponse #8 le: 18 Octobre 2011, 19:25:44 »
Upp...