Problema con sistema de registro / login
#1

Bueno acudo a acб para pedirles ayuda, estoy creando un sistema de registro con 'file'

Mi problema es que todo guarda perfectamente, es para un servidor de rol, bueno, pero hay una excepciуn, la contraseсa se guarda la primera vez que el usuario entra, pero al relogear tipeas cualquier contraseсa diferente y te pasa D; y no deberнa de ser asн.

Por ahн me comentaron que era por que el string era 'Nulo', pero no se como deshacerlo.

Aquн seteando en el registro

pawn Код:
strmid(InfoCuenta[playerid][Pass], inputtext, 0, strlen(inputtext), 255);
        new V[64];
        format(V, 64, "Pass: %s", InfoCuenta[playerid][Pass]); fwrite(UFile, V);
Acб en el login

pawn Код:
if ( UFile )
      {
         new PassD[256];
         new keytmp[256], valtmp[256];
         fread( UFile, PassD, sizeof(PassD));
         keytmp = ini_GetKey( PassD );
         if( strcmp ( keytmp, "Pass" , true) == 0)
         {
            valtmp = ini_GetValue ( PassD ) ;
            strmid(InfoCuenta[playerid][Pass], valtmp, 0 , strlen(valtmp)-1, 255);
         }
         if(strcmp(InfoCuenta[playerid][Pass], inputtext, true) == 0)
         {
Y por ъltimo en el guardado

pawn Код:
format(Var, 64, "Pass: %s", InfoCuenta[playerid][Pass]); fwrite(UFile, Var);
Saludos
Reply
#2

Ala mejor es porque estas poniendo InfoCuenta[playerid][Pass] como string pero es int.
Reply
#3

Pasa ini_GetKey y un ejemplo de un usuario guardado
Reply
#4

Quote:
Originally Posted by Jovanny
Посмотреть сообщение
Pasa ini_GetKey y un ejemplo de un usuario guardado
pawn Код:
stock ini_GetKey( line[] )
{
    new keyRes[256];
    keyRes[0] = 0;
    if ( strfind( line , "=" , true ) == -1 ) return keyRes; // Creo que cometн algo mal en buscar '=' cuando uso ':', aclarame
    strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
    return keyRes;
}
Код:
Pass: 
X: 96.8
Y: -42.0
Z: 1.0
Angle: 36.0
InteriorID: 0
Gas: 0
Botella: 0
Encendedor: 0
Medicina: 0
Curaciуn: 0
Arma 1: 0 - Municiуn: 0
Arma 2: 0 - Municiуn: 0
Arma Blanca: 0 - Municiуn: 0
Tiempo de Carcel: 0
Ganzuas: 0
Biblia: 0
Skin ID: 287
Nacionalidad: 
Sexo: 
Edad: 0
Talento: 
Team: 0
Faccion: 
Tutorial Hecho: 
Vida: 100.0
Chaleco: 0.0
Admin: 0
Baneado: 0
Reply
#5

pawn Код:
format(V, 64, "Pass: %s", InfoCuenta[playerid][Pass]); fwrite(UFile, V);
Vos estбs dejando un espacio que no debe ir, por que fijate que al "leer" la contraseсa la estбs leyendo sin espacios, intenta asн:

pawn Код:
format(V, 64, "Pass=%s", InfoCuenta[playerid][Pass]); fwrite(UFile, V);
(te digo por que me paso esto creo)
Reply
#6

Quote:
Originally Posted by TiNcH010
Посмотреть сообщение
pawn Код:
format(V, 64, "Pass: %s", InfoCuenta[playerid][Pass]); fwrite(UFile, V);
Vos estбs dejando un espacio que no debe ir, por que fijate que al "leer" la contraseсa la estбs leyendo sin espacios, intenta asн:

pawn Код:
format(V, 64, "Pass=%s", InfoCuenta[playerid][Pass]); fwrite(UFile, V);
(te digo por que me paso esto creo)
Si, me dн cuenta cuando pase el ini_GetKey, que estaba buscando el carбcter '=' en ves del ':', fue error de memoria xd
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)