• 18 Avril 2025, 10:26:53


Auteur Sujet: Problème register  (Lu 2157 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Snoop452

  • *
  • Nouveau
  • Messages: 3
    • Voir le profil
Problème register
« le: 15 Mars 2014, 09:03:02 »
Bonjour/Bonsoir,

 

J'ai donc pris le gamemode de zkay juste pour le modifié en local et réglé certains bugs, mais un bug qui me pose problème, et j'ai vue que je n'étaient pas le seul.

 

Son register : il est codé super zarbi, mais bon, mon soucis et que :

 

1. Si il fait echap il ne se fait pas kick

2. Si il clique sur ok sans rien mettre il ne se fait pas kick

3. il peut rentré n'importe quel mot de passe il jamais il se fait kick, ou jamais ça lui dit mauvais mdp.

 

dites pour les bout de code que vous besoin

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : Problème register
« Réponse #1 le: 15 Mars 2014, 09:09:48 »
C'est très facile de scripter ça, tu ne sais pas le faire toi même ? ._.

  • Tu utilises le booléen response
  • Tu vérifies si la longueur de inputtext est égale à 0
  • Tu compares le mot de passe tappé avec le mot de passe enregistré*, et si c'est incorrect tu le kick
« Modifié: 15 Mars 2014, 14:35:01 par Kiloutre »

[/url]

Hors ligne Snoop452

  • *
  • Nouveau
  • Messages: 3
    • Voir le profil
Re : Problème register
« Réponse #2 le: 15 Mars 2014, 09:33:55 »
Les dialog son déjà scripter, mais , quand je met :

if (!response) return Kick (playerid);
if (response)

donc il se fait kick quand il fait echap, et quand il clique sur ok sans rien mettre, mais il se fait kick également quand il rentre un mdp :/

cdt

Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : Re : Problème register
« Réponse #3 le: 15 Mars 2014, 13:46:09 »
C'est très facile de scripter ça, tu ne sais pas le faire toi même ? ._.

  • Tu utilises le booléen response
  • Tu vérifies si la longueur de inputtext est égale à 0
  • Tu compares le mot de passe tappé avec le mot de passe enregistrer, et si c'est incorrect tu le kick

Petite coquille dans ton message. Tu dois vérifier que la longueur de la chaîne inputtext est différente de zéro, et non pas égale. Pour cela, tu dois utiliser la fonction strlen().

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : Problème register
« Réponse #4 le: 15 Mars 2014, 14:34:44 »
Il a parlé de
Citer
2. Si il clique sur ok sans rien mettre il ne se fait pas kick
Donc on doit bel et bien vérifier si la longueur de inputtext est égale à 0, et kick si c'est le cas

[/url]

Hors ligne Gzsume

  • *
  • Compétent dans l'inutile
  • Messages: 2236
    • Voir le profil
Re : Re : Problème register
« Réponse #5 le: 15 Mars 2014, 23:11:38 »
clique sur ok sans rien mettre il ne se fait pas kick
Donc on doit bel et bien vérifier si la longueur de inputtext est égale à 0, et kick si c'est le cas

Tu es contradictoire. :smile:

Hors ligne Kiloutre

  • Nolife, nerd et geek passionné d'Ordinatique ! ^^
  • *
  • Grand Banditisme
  • Messages: 567
    • Voir le profil
Re : Problème register
« Réponse #6 le: 16 Mars 2014, 04:18:18 »
Bon écoute on va éviter de partir en HS déjà la u_u

Citer
clique sur ok sans rien mettre il ne se fait pas kick
ça, c'est le soucis

Citer
vérifier si la longueur de inputtext est égale à 0, kick si c'est le cas
et ça, c'est la solution

Il veut kick si il ne met rien, donc on va kick si il ne met rien (CONTRADICTOIRE HEIN ?!)

Tu vois de la contradiction partout où il n'y en a pas :p

[/url]

Hors ligne Snoop452

  • *
  • Nouveau
  • Messages: 3
    • Voir le profil
Re : Problème register
« Réponse #7 le: 16 Mars 2014, 08:57:47 »
Code: (pawn) [Sélectionner]
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new player[MAX_PLAYER_NAME];
new string[256];
    if(dialogid == 2)
{
    new sendername[20];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "comptes/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Ce nom est déjà utiliser reconnecter vous avec un autre Mot de passe.");
fclose(hFile);
return 1;
}
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,54,DIALOG_STYLE_PASSWORD,"Enregister vous","Veuillez entrez votre mot de passe\nPour vous enregistrer","Ok","Annuler");
return 1;
}
//Encrypt(tmppass);
OnPlayerRegister(playerid,inputtext);
}
if(dialogid == 1)
{
//new tmppass[64];
if(gPlayerLogged[playerid] == 1)
{
SendClientMessage(playerid, TEAM_AZTECAS_COLOR, "SERVEUR: Vous êtes déjà loggué.");
return 1;
}
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,53,DIALOG_STYLE_PASSWORD,"Loguez vous","Veuillez entrez votre mot de passe\nPour vous loguez","Ok","Annuler");
return 1;
}
//Encrypt(tmppass);
SetCameraBehindPlayer(playerid);
return OnPlayerLogin(playerid,inputtext);
}

Edit : Merci d'utiliser les balises [*code=pawn] [*/code] (sans les "*")
« Modifié: 16 Mars 2014, 13:12:37 par NatiVe »

Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3551
    • Voir le profil
Re : Problème register
« Réponse #8 le: 16 Mars 2014, 12:12:31 »
Salut

Utilises les balises [*code=pawn] [*/code] pour mettre en valeur, sinon mets ça sur Pastebin ;)
Ca fait moche :P


Adju ♥
(-_-)