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
-
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à
-
Sérieusement ? J'ai rien compris à ton problème. :(
Tu expliques très mal et revérifie ton orthographe s'il te plaît.
-
Bah ,Tout les info genre le nom tous sa sont décalé
-
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.
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 :).
-
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
-
Lis bien mon message, je t'ai donné toutes les clés pour réussir !
-
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
-
ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
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.
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.
Account Information
Et comme texte.
Username: Xartrick | Password: 1337password
Et un bouton avec.
Close
-
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 :/
-
Je n'utilise aucun GM pré-fait, donc non, je ne sais pas d'où ça vient.
-
--' 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;
}
-
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]);
-
J'ai enlevez sa fait rien
-
je te redirige vers mon tuto Dini pour apprendre le Dini car je ne vait pas tout detailler non plus
-
Le Pastebin de l'exercice de Gilux. (http://pastebin.gtaonline.fr/pastebin.php?show=1127)
Tout t'es problème sont dedans regarde bien.