//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);
Define PlayerInfo[playerid][Clave] como INTeger, no como cadena ( string )
|
El problema debe ser que usas un "tag" distinto al que cargas, dime toda la callback de "LoadUser_" y el tag que usas en las cuentas
![]() |
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;
}
INI_SetTag(File,"Informaciуn");