• 06 Juillet 2025, 21:59:01


Auteur Sujet: Problème OnDialogResponse  (Lu 925 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne kawoto

  • *
  • Nouveau
  • Messages: 2
    • Voir le profil
Problème OnDialogResponse
« le: 23 Décembre 2012, 00:36:17 »
Bonsoir,
Je rencontre actuellement un problème avec un de mes dialogues.
J'ai créé un dialogue pour changer de mot de passe, et lorsque je sors l'inputtext, rien ne sort alors que j'ai bien mis strval(inputtext), pourtant quand je vérifie la longueur, ça marche.

Voilà le rendu IG :


Voici mon code :
if(dialogid == DIALOG_CHANGEPASS)
{
    if(!response) return SendClientMessage(playerid, COLOR_RED, "Vous avez annulé.");
if(strlen(inputtext) < 3 || strlen(inputtext) >= 32)
  {
SendClientMessage(playerid, COLOR_RED, "Votre mot de passe doit faire plus de 3 caractères et moins de 32 caractères!");
    ShowPlayerDialog(playerid, DIALOG_CHANGEPASS, DIALOG_STYLE_INPUT, "Changer de mot de passe", "Veuillez entrer votre nouveau mot de passe:", "Valider", "Annuler");
    return 1;
}
else
{
  new pass = strval(inputtext);
    UserStats[playerid][Password] = pass;
    new string[128];
    format(string, sizeof(string), "Votre mot de passe a été modifié avec succès en : %s.", pass);
    SendClientMessage(playerid, COLOR_GREEN, string);
    return 1;
}
}

Merci d'avance car là je suis perdu :wacko:

Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : Problème OnDialogResponse
« Réponse #1 le: 23 Décembre 2012, 00:41:30 »
Tu ne peux pas initialiser une chaîne de caractère comme ça en Pawn. Tu dois l'initialiser sur le caractère de fin de chaîne \0 puis utiliser la fonction format pour lui donner la valeur de la variable inputtext. De plus, la fonction strval sert à convertir une chaîne de caractère en nombre (string to integer). Je ne vois pas pourquoi tu l'utilises ainsi dans ton script, donc.

Hors ligne kawoto

  • *
  • Nouveau
  • Messages: 2
    • Voir le profil
Re : Problème OnDialogResponse
« Réponse #2 le: 23 Décembre 2012, 00:59:30 »
Effectivement cela marche beaucoup mieux.  :P

Je l'avais utilisé en m'aidant d'un autre script et je n'avais pas fais attention qu'il ne pouvait traiter que des numéros...

Merci bien de la réponse rapide et de l'aide !