13.07.2014, 16:45
Buenas, estuve a punto de tirar la computadora al carajo, pero no lo hice porque hoy juega Argentina (?. Bueno, el punto es que, estoy haciendo un sistema de registro y logeo con INI. Me registra, todo bien. Pero al parecer no me carga los datos, no me deja logear, no nada.
Les dejo los cуdigos de como lo hice:
їQuй estoy haciendo mal?. El problema es que no me reconoce la contraseсa,no me deja logear y la contraseсa estб perfectamente puesta en el ".ini" . Hice un "format" indicandome cual es mi contraseсa pero me sale que mi contraseсa es 0.
Les dejo los cуdigos de como lo hice:
pawn Код:
//En OnPlayerRequestClass
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIALOG_INGRESO, DIALOG_STYLE_INPUT,"Login","Escribe tu contraseсa para loguearte.","Login","Quit");
}
else
{
NuevoUsuario[playerid] = true;
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"Registering...","Escribe tu contraseсa para crear una nueva cuenta","Register","Quit");
}
switch( dialogid )
{
case DIALOG_REGISTRO:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Bienvenid@ esta cuenta no {FBFB04}existe","{FFFFFF}No puedes dejar este campo en blanco","» Registrar","Salir");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"Informaciуn");
PlayerInfo[playerid][Clave] = udb_hash(inputtext);
INI_WriteInt(File,"Clave",PlayerInfo[playerid][Clave]);
INI_Close(File);
SpawnPlayer(playerid);
PlayerPlaySound(playerid, 1057, 0, 0, 0);
}
}
case DIALOG_INGRESO:
{
if (!response) return Kick (playerid);
if(response)
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
if(udb_hash(inputtext) == PlayerInfo[playerid][Clave])
{
GivePlayerMoney(playerid, PlayerInfo[playerid][Dinero]);
PlayerPlaySound(playerid, 1057, 0, 0, 0);
SpawnPlayer(playerid);
}
else
{
PlayerPlaySound(playerid, 1084, 0, 0, 0);
ShowPlayerDialog(playerid, DIALOG_INGRESO, DIALOG_STYLE_PASSWORD, "{FBFB04}Advertencia: {FFFFFF}contraseсa incorrecta","{FFFFFF}Escribiste una contraseсa invбlida vuelve a intentar","» Iniciar","Salir");
}
return 1;
}
}
}
forward LoadUser_data(playerid,name[],value[]);
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Clave",PlayerInfo[playerid][Clave]);
INI_Int("Dinero",PlayerInfo[playerid][Dinero]);
INI_Int("Banco",PlayerInfo[playerid][CuentaBancaria]);
INI_Int("Administrador",PlayerInfo[playerid][Administrador]);
INI_Int("Faccion",PlayerInfo[playerid][Faccion]);
INI_Int("Rango",PlayerInfo[playerid][Rango]);
INI_Int("Trabajo", PlayerInfo[playerid][Trabajo]);
INI_Int("Sexo",PlayerInfo[playerid][Sexo]);
INI_Int("Edad",PlayerInfo[playerid][Edad]);
INI_Int("DNI",PlayerInfo[playerid][DNI]);
INI_Int("Llave de Casa",PlayerInfo[playerid][LlaveCasa1]);
INI_Int("LlaveCasaPrestada1",PlayerInfo[playerid][LlaveCasaP1]);
INI_Int("Nivel",PlayerInfo[playerid][Nivel]);
INI_Int("Experiencia",PlayerInfo[playerid][Experiencia]);
INI_Int("Skin",PlayerInfo[playerid][Skin]);
INI_Int("Skin de Trabajo",PlayerInfo[playerid][SkinTrabajo]);
INI_Int("Telefono",PlayerInfo[playerid][Telefono]);
INI_Float("Vida",PlayerInfo[playerid][Vida]);
INI_Float("Chaleco",PlayerInfo[playerid][Armadura]);
INI_Float("Posx",PlayerInfo[playerid][px]);
INI_Float("Posy",PlayerInfo[playerid][py]);
INI_Float("Posz",PlayerInfo[playerid][pz]);
INI_Float("Angulo",PlayerInfo[playerid][angulo]);
INI_Int("Interior",PlayerInfo[playerid][Interior]);
INI_Int("VirtualWorld",PlayerInfo[playerid][VirtualWorld]);
INI_Int("Acento",PlayerInfo[playerid][Acento]);
INI_Int("LlaveCoche1",PlayerInfo[playerid][LlaveCoche1]);
INI_Int("LlaveCochePrestada",PlayerInfo[playerid][LlaveCocheP1]);
return 1;
}
stock GuardarDatos(playerid)
{
if(IsPlayerConnected(playerid) && Jugando[playerid] == true)
{
new INI:File = INI_Open(UserPath(playerid)), Float:v[2], Float:p[3], Float:angle;
GetPlayerHealth(playerid, v[0]);
GetPlayerArmour(playerid, v[1]);
GetPlayerPos(playerid, p[0], p[1], p[2]);
GetPlayerFacingAngle(playerid, angle);
INI_SetTag(File,"Informaciуn");
INI_WriteInt(File,"Dinero", GetPlayerMoney(playerid));
INI_WriteInt(File,"Banco", PlayerInfo[playerid][CuentaBancaria]);
INI_WriteInt(File,"Administrador", PlayerInfo[playerid][Administrador]);
INI_WriteInt(File,"Faccion", PlayerInfo[playerid][Faccion]);
INI_WriteInt(File,"Rango", PlayerInfo[playerid][Rango]);
INI_WriteInt(File,"Trabajo", PlayerInfo[playerid][Trabajo]);
INI_WriteInt(File,"Sexo", PlayerInfo[playerid][Sexo]);
INI_WriteInt(File,"Edad", PlayerInfo[playerid][Edad]);
INI_WriteInt(File,"DNI", PlayerInfo[playerid][DNI]);
INI_WriteInt(File,"LlaveCasa1", PlayerInfo[playerid][LlaveCasa1]);
INI_WriteInt(File,"LlaveCasaPrestada", PlayerInfo[playerid][LlaveCasaP1]);
INI_WriteInt(File,"Nivel", GetPlayerScore(playerid));
INI_WriteInt(File,"Experiencia", PlayerInfo[playerid][Experiencia]);
INI_WriteInt(File,"Skin", GetPlayerSkin(playerid));
INI_WriteInt(File,"SkinTrabajo", PlayerInfo[playerid][SkinTrabajo]);
INI_WriteInt(File,"Telefono", PlayerInfo[playerid][Telefono]);
INI_WriteFloat(File, "Vida", v[0]);
INI_WriteFloat(File, "Chaleco", v[1]);
INI_WriteFloat(File, "Posx", p[0]);
INI_WriteFloat(File, "Posy", p[1]);
INI_WriteFloat(File, "Posz", p[2]);
INI_WriteFloat(File, "Angulo", angle);
INI_WriteInt(File,"Interior", GetPlayerInterior(playerid));
INI_WriteInt(File,"VirtualWorld", GetPlayerVirtualWorld(playerid));
INI_WriteInt(File,"Acento", PlayerInfo[playerid][Acento]);
INI_WriteInt(File,"LlaveCoche1", PlayerInfo[playerid][LlaveCoche1]);
INI_WriteInt(File,"LlaveCochePrestada", PlayerInfo[playerid][LlaveCocheP1]);
INI_Close(File);
}
return 1;
}
En Disconect
GuardarDatos(playerid);