GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: .:: Miguel .:: le 22 Juillet 2011, 02:09:16

Titre: Bug dialogue
Posté par: .:: Miguel .:: le 22 Juillet 2011, 02:09:16
J'ai un bug en dialogue j'ai fait comme sa

format(string, 179,"Info Compte","Nom : %s  Mot de passe : %s", name,inputtext);
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX, name, inputtext, "Joué");

Met sa mais le nom tout en haut du dialogue sans le "nom" et sa met le mot de passe en bonne endroit mais sans le "mot de passe" et y'a le truc joué et juste a coté y'a un desiéme choix avec seulement marqué T alors qu'il devrai pas etre là
Titre: Re : Bug dialogue
Posté par: Azz45 le 22 Juillet 2011, 02:18:34
Sérieusement ? J'ai rien compris à ton problème.  :(
Tu expliques très mal et revérifie ton orthographe s'il te plaît.
Titre: Re : Bug dialogue
Posté par: .:: Miguel .:: le 22 Juillet 2011, 02:24:53
Bah ,Tout les info genre le nom tous sa sont décalé
Titre: Re : Bug dialogue
Posté par: Xartrick le 22 Juillet 2011, 04:26:43
format(string, 179,"Info Compte","Nom : %s  Mot de passe : %s", name, inputtext);
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX, name, inputtext, "Joué");

Tu ne vois pas l'erreur ?
Tu formate une chaîne, mais tu ne l'utilise pas !
Regarde par toi même.


Citer
format(string, 179,"Info Compte","Nom : %s  Mot de passe : %s", name, inputtext);
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, name, inputtext, "Joué");

J'ai seulement coloré les variables qui nous intéressé, trouve ton erreur maintenant :).
Titre: Re : Bug dialogue
Posté par: .:: Miguel .:: le 22 Juillet 2011, 05:40:07
Hum..J'ai amélioré 2,3 truc sais moin décalé mais sa affiche pas "Nom" " Mdp" sa affiche le nom directe et le mdp dans la case de selection en bas
Titre: Re : Bug dialogue
Posté par: Xartrick le 22 Juillet 2011, 06:10:39
Lis bien mon message, je t'ai donné toutes les clés pour réussir !
Titre: Re : Bug dialogue
Posté par: .:: Miguel .:: le 22 Juillet 2011, 06:13:07
format(string, 179,"Info Compte","Nom : %s  Mot de passe : %s");
ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,string,name,inputtext,"Close");

J'ai fait sa
Titre: Re : Bug dialogue
Posté par: Xartrick le 22 Juillet 2011, 06:20:56
Citer
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
Citer
format(output[], len, const format[], {Float,_}:...)

Tu utilises la fonction format n'importe comment, à la fin de cette instruction, voici la valeur de la variable string.

Citer
Info Compte

Il faut que tu apprenne à te servir des fonctions et non essayer au pif.

new sString[256];
// new name[MAX_PLAYERS_NAME] = "Xartrick";
// new inputtext[128] = "1337password";
// new playerid = 0;

format(sString, sizeof(sString), "Username: %s | Password: %s", name, inputtext);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Account Informations", sString, "Close)

Ce qui donne une MessageBox avec comme titre.

Citer
Account Information

Et comme texte.

Citer
Username: Xartrick | Password: 1337password

Et un bouton avec.

Citer
Close
Titre: Re : Bug dialogue
Posté par: .:: Miguel .:: le 22 Juillet 2011, 06:28:33
Merci,je pige mieu parcontre tu serrait pas d'ou sa vien je me registre tous sa je me déco me met admin : 9999 met IG sais toujours lvl 1 :/
Titre: Re : Bug dialogue
Posté par: Xartrick le 22 Juillet 2011, 06:59:12
Je n'utilise aucun GM pré-fait, donc non, je ne sais pas d'où ça vient.
Titre: Re : Bug dialogue
Posté par: .:: Miguel .:: le 22 Juillet 2011, 07:04:37
--' Voilà le dialogue login

if (dialogid == 1)
   {
      new name[MAX_PLAYER_NAME], file[256], string[128];
      GetPlayerName(playerid, name, sizeof(name));
      format(file, sizeof(file), SERVER_USER_FILE, name);
       if(!response) return Kick(playerid);
       if (!strlen(inputtext)) return
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FE1313} Enregistration du compte !", "{32FE13} Enregistration du compte\n{FEDF13} Entré votre mot de passe", "{32FE13}enregistré", "{FE1313} Quitté");
        dini_Create(file);
dini_IntSet(file, "Password", udb_hash(inputtext));
        dini_IntSet(file, "Level",PlayerInfo[playerid][Level] = 0);
        dini_IntSet(file, "Money",PlayerInfo[playerid][Argent] = 100);
        dini_IntSet(file, "Score",PlayerInfo[playerid][Score] = 0);
        format(string, sizeof(string), "{FE1313}Nom :{32FE13} %s {FE1313}\nMot de passe :{32FE13} %s", name, inputtext);
        ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "INFO COMPTE", string, "Close","");
        gPlayerLogged[playerid] = 1;
   }

   if (dialogid == 2)
   {
      new name[MAX_PLAYER_NAME], file[256], string[128];
      GetPlayerName(playerid, name, sizeof(name));
      format(file, sizeof(file), SERVER_USER_FILE, name);
      if(!response) return Kick(playerid);
      if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FE1313} Enregistration du compte !", "{32FE13} Login du compte\n{FEDF13} Entré votre mot de passe", "enregistré", " Quitté");
      new tmp;
      tmp = dini_Int(file, "Password");
      if(udb_hash(inputtext) != tmp) {
         ShowPlayerDialog(playerid, 7, DIALOG_STYLE_MSGBOX, "{32FE13}ERREUR","{FE1313}Le mot de passe que vous avez rentré n'est pas le bon !","Retour","");
         // ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FE1313} Enregistration du compte !", "{32FE13} Login du compte\n{FEDF13} Entré votre mot de passe", "enregistré", " Quitté");
          gPlayerLogged[playerid] = 1;
          PlayerInfo[playerid][Level] = dini_Int(file, "Level");
          SetPlayerScore(playerid, PlayerInfo[playerid][Score]);
          ShowPlayerDialog(playerid, 4, DIALOG_STYLE_MSGBOX, "{FE1313}Connection","{32FE13}Vous avez bien été enregistré !","Close","");
          GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
        }
   }

public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid,COLOR_OR,"Bienvenue sur crazy Life' TDM");
gActivePlayers[playerid]++;
gPlayerLogged[playerid] = 0;

    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    dini_IntSet(file, "Level",PlayerInfo[playerid][Level]);
    dini_IntSet(file, "Money",PlayerInfo[playerid][Argent]);
    dini_IntSet(file, "Score",PlayerInfo[playerid][Score]);

   
    if (!dini_Exists(file))
    {
       ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FE1313} Enregistration du compte !", "{32FE13} Enregistration du compte\n{FEDF13} Entré votre mot de passe", "enregistré", " Quitté");
    }
    if(fexist(file))
    {
       ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FE1313} Enregistration du compte !", "{32FE13} Login du compte\n{FEDF13} Entré votre mot de passe", "Login", " Quitté");
    }
return 1;
}

//------------------------------------------------------------------------------------------------------
public OnPlayerDisconnect(playerid)
{
gActivePlayers[playerid]--;
    new name[MAX_PLAYER_NAME], file[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(file, sizeof(file), SERVER_USER_FILE, name);
    if(gPlayerLogged[playerid] == 1)
    {
        dini_IntSet(file, "Score", PlayerInfo[playerid][Score]);
        dini_IntSet(file, "Argent", PlayerInfo[playerid][Argent]);
        dini_IntSet(file, "Level",PlayerInfo[playerid][Level]);
    }
    gPlayerLogged[playerid] = 0;
}
Titre: Re : Bug dialogue
Posté par: cristab le 22 Juillet 2011, 10:00:22
sa n'as rien a faire dans le OnPlayerConnect sa
dini_IntSet(file, "Level",PlayerInfo[playerid][Level]);
    dini_IntSet(file, "Money",PlayerInfo[playerid][Argent]);
    dini_IntSet(file, "Score",PlayerInfo[playerid][Score]);


Titre: Re : Bug dialogue
Posté par: .:: Miguel .:: le 22 Juillet 2011, 11:11:35
J'ai enlevez sa fait rien
Titre: Re : Bug dialogue
Posté par: cristab le 22 Juillet 2011, 11:35:47
je te redirige vers mon tuto Dini pour apprendre le Dini car je ne vait pas tout detailler non plus
Titre: Re : Bug dialogue
Posté par: Xolokos le 22 Juillet 2011, 14:54:54
Citer
Le Pastebin de l'exercice de Gilux. (http://pastebin.gtaonline.fr/pastebin.php?show=1127)

Tout t'es problème sont dedans regarde bien.