Invalidar stock
#1

Hola quisiera hacer que este stock no tenga validez y devuelva lo mismo....

Stock
Код:
stock udb_hash(buf[])
{
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
	{
        s1 = (s1 + buf[n]) % 65521;
        s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}
Cuando se ingresa por ejemplo esto

Код:
INI_WriteInt(File,"Password",udb_hash(inputtext));
O sino alguna manera de desvincular ese udb, por ejemplo que quede

Код:
INI_WriteInt(File,"Password",inputtext);
nose como hacer, me ayudan?
Reply
#2

pawn Код:
INI_WriteInt(File,"Password",udb_hash(inputtext));
por
pawn Код:
INI_WriteString(File,"Password", inputtext);
En el dialogo del login:
pawn Код:
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
por
pawn Код:
if(!strcmp(inputtext, PlayerInfo[playerid][pPass]))
Tendrбs que cambiar en el enumerador:
pawn Код:
pPass,
//por
pPass[25],
Agregarбs en OnPlayerDisconnect:
pawn Код:
INI_WriteString(File,"Password", PlayerInfo[playerid][pPass]);
En el callback LoadUser_data(playerid,name[],value[]) agregarбs:
pawn Код:
INI_String("Password",PlayerInfo[playerid][pPass], 25);
Reply
#3

Acaso el Strlen no es para contar cuantos digitos tiene la palabra?

funciona, pero me pone de contraseсa la cantidad de digitos que tiene lo q ingresa, no la contraseсa...
Reply
#4

Tienes razуn, fue un fallo mio.
Ahн e editado, prueba y avisas.
Me voy ya, cuando vuelva reviso.
Reply
#5

lo del login esta, pero en lo primero cuando elimino la funcion y dejo la variable sola me aparece esto
Код:
error 035: argument type mismatch (argument 3)
Reply
#6

E vuelto a editar, a mi me compilo correctamente.
Fнjate quй hayas colocado todo bien y sн sigue dбndote el error, publica el dialogo donde te marcу el error.
Reply
#7

El tema esta cuando cambio

Код:
INI_WriteInt(File,"Password",udb_hash(inputtext));
por
Код:
INI_WriteInt(File,"Password", inputtext);
cuando se le saca la funcion y queda solo la variable, ahi me tira error en la tercera, que seria inputtext
Reply
#8

El udb_hash convertia el texto digitado por Nъmeros (enteros) por eso la razуn de utilizar INI_WriteInt (Integers).
Ahora, como quieres almacenar la cadena de texto insertada en el dialogo (string) se debe de utilizar INI_WriteString.
Quote:
Originally Posted by WCrimson
Посмотреть сообщение
pawn Код:
INI_WriteInt(File,"Password",udb_hash(inputtext));
por
pawn Код:
INI_WriteString(File,"Password", inputtext);
En el dialogo del login:
pawn Код:
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
por
pawn Код:
if(!strcmp(inputtext, PlayerInfo[playerid][pPass]))
Tendrбs que cambiar en el enumerador:
pawn Код:
pPass,
//por
pPass[25],
Agregarбs en OnPlayerDisconnect:
pawn Код:
INI_WriteString(File,"Password", PlayerInfo[playerid][pPass]);
En el callback LoadUser_data(playerid,name[],value[]) agregarбs:
pawn Код:
INI_String("Password",PlayerInfo[playerid][pPass], 25);
Ahн esta tu respuesta.
Reply
#9

Tema cerrado, muchisimas gracias!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)