Duda con Y_INI
#1

Hola,

Mi duda es como puedo leer una variable de un archivo (La cuenta del usuario) y compararla usando un if ?

if( ............ == 1)

de ante mano gracias

Saludos.
Reply
#2

Por ejemplo...
pawn Код:
if(pDatos[playerid][pVIP] == 1)
{
    SendClientMessage(playerid, -1, "El usuario es VIP nivel 1.");
}
else if(pDatos[playerid][pVIP] >= 2)
{
    SendClientMessage(playerid, -1, "El usuario es VIP nivel 2 o superior.");
}
Mira, hagamos que tienes asн el enum.
pawn Код:
enum Info
{
    pAdmin,
    pVIP
};
new pDatos[MAX_PLAYERS][Info];
con 'pDatos' leeremos el enum 'Info'.
їEntiendes?
Reply
#3

Me explique mal entonces, mi idea era leer una variable en plan como el Dini_Get y compararla en un if

Quote:

if(dini_Int(file, "AdminAccount") == 1)
{
format(file, sizeof(file), "users/%s.ini",RPNU(playerid));
SetPlayerName(playerid, dini_Get(file, "OldName"));
format(file, sizeof(file), "users/%s.ini", RPNU(playerid));
ShowDialog(playerid, 2);
}

Pasar eso a Y_INI
Reply
#4

Te recomiendo leerte este tutorial.
https://sampforum.blast.hk/showthread.php?tid=535991

Te ayudara bastante.
Reply
#5

Te juro que me he estudiado ese y muchos otras guias de y_ini pero siempre me confundo
el dini_get a que funcion del y_ini se asemeja?
Reply
#6

pawn Код:
public OnPlayerConnect(playerid)
{
    if(fexist(UserPath(playerid)) //Comprobamos que la cuenta del usuario existe. (tendrнas que definir vos UserPath)
    {
        INI_ParseFile(CarpetaUsuario(playerid), "LoadPlayer_Tag", .bExtra = true, .extra = playerid); //cargamos los datos en las variables (cosa que defines en el public 'LoadPlayer_Tag')
        //aca comparamos lo que quieras de las variables (ya tendrнan los datos del archivo en las variables)
        //por ej: la contraseсa
    }
    else
    {
        //archivo no existe
    }
    return 1;
}
luego en el callback defines en la variable que cargaras los datos que estбn en el archivo del jugador que se conecta, que luego compararбs en OnPlayerConnect
te darй un ejemplo con la contraseсa, es solo un ejemplo:

pawn Код:
forward LoadPlayer_Tag(playerid,name[],value[]);
public LoadPlayer_Tag(playerid,name[],value[])
{
    INI_String("Password", Info[playerid][pPass],128); //cargas en la variable 'Info[playerid][pPass]' la contraseсa que estaba en el campo 'Password' en el archivo
    return 1;
}
EDIT: el 'dini_Get' lo que hace es sacar el dato del archivo y luego lo comparas directamente, en y_ini debes cargar tal dato en una variable y de esa variable comparas
Reply
#7

una pregunta їComo uso esa variable? osea luego de cargarla como se expresa ?
Reply
#8

como la que use, con enum ?

pawn Код:
enum PlayerData
{
    Admin,
    pPass[128]
    //demas variables
};

new Info[MAX_PLAYERS][PlayerData];
lee йste tutorial es muy bueno...

https://sampforum.blast.hk/showthread.php?tid=225796
Reply
#9

Gracias, esque recien empeze a usar el Y_INI entonces nose como se usaba pero ya entendi gracias
Reply
#10

Quote:
Originally Posted by Rhino
Посмотреть сообщение
Gracias, esque recien empeze a usar el Y_INI entonces nose como se usaba pero ya entendi gracias
me olvide de poner tipo string la variable pPass ya la puse xD
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)