GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: steve76 le 01 Novembre 2009, 22:08:15
-
Bonjours à tous
Voilà j'ai un petit soucie avec la partie login de mon gm (enfin plutôt un gros soucie ^^)
En effet n'importe que mot de passe que je tape pour me logguer sera accepté. et ce depuis le passage à la version 0.3a de samp.
Voilci mon code:
Le OnPlayerConnect : http://pastebin.gtaonline.fr/pastebin.php?show=688 (http://pastebin.gtaonline.fr/pastebin.php?show=688)
Le OnDialogResponse :
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response == 1)
{
new idx;
new tmp[256];
new tmppass[64];
tmp = strtok(inputtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Vous n'avez rien tapé dans la boite");
return 1;
}
strmid(tmppass, tmp, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
if(response == 2)
{
Kick(playerid);
}
}
return 1;
}
Le OnPlayerLogin : http://pastebin.gtaonline.fr/pastebin.php?show=689 (http://pastebin.gtaonline.fr/pastebin.php?show=689)
Voila je vous ai mis tous ce qui est en rapport avec le login
Merci d'avance pour vos réponses.
Cordialement Steve76
-
tente ceci Encrypt(inputtext);
-
Non désolé même en changeant cela, le problème reste :/
-
voila le code
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response == 1)
{
OnPlayerLogin(playerid,inputtext);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Vous n'avez rien tapé dans la boite");
Kick(playerid);
}
}
return 1;
}
ce n'est pas une commande mais un dialog donc idx strlen ect n'as rien a faire la
-
Le problème est toujours présent.
C'est assez bizarre car un ami a la même chose que moi et lui ça marche ....
-
Quelqu'un d'autre à une idée?
Merci d'avance
-
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response == 1)
{
OnPlayerLogin(playerid,Encrypt(inputtext);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Vous n'avez rien tapé dans la boite");
Kick(playerid);
}
}
return 1;
}
-
Le soucie est toujours le même, il ne voulais pas compiler avec ton code sasuke même en rajoutant la parenthèse manquante.
J'ai donc essayé ça:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(response == 1)
{
Encrypt(inputtext);
OnPlayerLogin(playerid,inputtext);
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Vous n'avez rien tapé dans la boite");
Kick(playerid);
}
}
return 1;
}
Mais je me suis aperçu apres que ça ne pouvais pas marcher...
-
Encrypt(inputtext);
OnPlayerLogin(playerid,inputtext);
completement faux sa
OnPlayerLogin(playerid,inputtext);
puis dans ton OnPlayerLogin
OnPlayerLogin(playerid,passe[])
{
if (dini_Exists(Compte(playerid)))
{
new tmp2[256];
tmp2 = dini_Get(Compte(playerid), "password");
if (Encrypt(passe) != strval(tmp2))
{
SendClientMessage(playerid, COLOR_RED, "Mot de Pass Invallide!");
LOGINSYS(playerid);
}
enfin moi c'est dini mais tu peu adapter sa