Burgershot
  • Home
  • Members
  • Team
  • Help
  • Search
  • Register
  • Login
  • Home
  • Members
  • Help
  • Search
Burgershot Other languages Spanish/Español Programación ayuda con registro dini

 
  • 0 Vote(s) - 0 Average
ayuda con registro dini
Nikolay_Staggs
Offline

Burgershot Member
Posts: 8
Threads: 4
Joined: Dec 2020
Reputation: 0
Location: Sinaloa
#1
2021-02-16, 02:39 AM (This post was last modified: 2021-02-16, 02:50 AM by Nikolay_Staggs.)
tengo dos días tratando de resolver el problema pero no puedo, por que no se guardan los datos de los usuarios :)
 este es el código" 

//_____Enum______//
enum DATA_PLAYER
{
    GAME_IDENTIFICADO,
    GAME_REGISTRADO,
GAME_EXP,
GAME_ADMIN_LEVEL,
GAME_SCORE,
GAME_MONEY
};
new PLAYER_INFO[MAX_PLAYERS][DATA_PLAYER];
//_________News__________//
new GAME_PASSWORD_INCORRECTA[MAX_PLAYERS];


public OnPlayerConnect(playerid)
{
    GAME_PASSWORD_INCORRECTA[playerid] = 0;
   
    new string[250];

    if (fexist(ac_ARCHIBO_USER(playerid)))
    {
PLAYER_INFO[playerid][GAME_REGISTRADO] = 1;
    }
   
    if (PLAYER_INFO[playerid][GAME_REGISTRADO])
    {
format(string, sizeof(string), "{CCCCCC}- Bienvenido %s.\n- Escribe tu contraseña para identificarte", NAME_USER(playerid));
  ShowPlayerDialog(playerid, DIALOG_INGRESO, DIALOG_STYLE_PASSWORD, ""#BLANCO"Ingreso", string, "Ingresar", "Salir");
    }
    else
    {
  format(string, sizeof(string), "{CCCCCC}- Bienvenido %s.\n- Escribe una contraseña para Registrarte", NAME_USER(playerid));
  ShowPlayerDialog(playerid, DIALOGO_REGISTRO, DIALOG_STYLE_PASSWORD, ""#BLANCO"Registrar", string, "Ok", "Salir");
    }
   
    RESET_USER(playerid);
return 1;
}


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new string[250];
    if(dialogid == DIALOGO_REGISTRO)
    {
        dini_Create(ac_ARCHIBO_USER(playerid));
        dini_IntSet(ac_ARCHIBO_USER(playerid), "contraseña",        adler32(inputtext));
        dini_IntSet(ac_ARCHIBO_USER(playerid), "Exp",              PLAYER_INFO[playerid][GAME_EXP]);
        dini_IntSet(ac_ARCHIBO_USER(playerid), "Admin",            PLAYER_INFO[playerid][GAME_ADMIN_LEVEL]);
        dini_IntSet(ac_ARCHIBO_USER(playerid), "Score",            PLAYER_INFO[playerid][GAME_SCORE]);
        dini_IntSet(ac_ARCHIBO_USER(playerid), "Dinero",            PLAYER_INFO[playerid][GAME_MONEY]);
       
        PLAYER_INFO[playerid][GAME_IDENTIFICADO] = 1;
        PLAYER_INFO[playerid][GAME_REGISTRADO] = 1;
    }
    else if(dialogid == DIALOG_INGRESO)
    {
        if (dini_Int(ac_ARCHIBO_USER(playerid), "Contraseña") == adler32(inputtext))
        {
            PLAYER_INFO[playerid][GAME_IDENTIFICADO] = 1;
            PLAYER_INFO[playerid][GAME_REGISTRADO] = 1;
           
            PLAYER_INFO[playerid][GAME_EXP] = dini_Int                (ac_ARCHIBO_USER(playerid), "Exp");
            PLAYER_INFO[playerid][GAME_ADMIN_LEVEL] = dini_Int        (ac_ARCHIBO_USER(playerid), "Admin");
            SetPlayerScore(playerid, dini_Int                          (ac_ARCHIBO_USER(playerid), "Score"));
            GivePlayerMoney(playerid, dini_Int                        (ac_ARCHIBO_USER(playerid), "Dinero"));
        }
        else
        {
            GAME_PASSWORD_INCORRECTA[playerid]++;
            format(string, sizeof(string), "{CCCCCC}- Por favor %s.\n- Ingresa una contraseña correcta", NAME_USER(playerid));
            ShowPlayerDialog(playerid, DIALOG_INGRESO, DIALOG_STYLE_PASSWORD, "{6F0000}Error", string, "Ok", "Salir");

            if(GAME_PASSWORD_INCORRECTA[playerid] == MAX_PASSWORD_INVALIDA)
            {
                format(string,sizeof(string),"{6F0000}[Cuentas]: %s fue expulsado (Max intentos de ingresar(Contraseña invalida))", NAME_USER(playerid));
                SendClientMessageToAll(-1, string);
                SendClientMessage(playerid, -1, "** Haz puesto varias contraseñas incorrectas has sido kickeado del servidor por seguridad.");
                Kick(playerid);
            }
        }
    }
    return 1;
}


stock NAME_USER(playerid)
{
new User_Name[MAX_PLAYER_NAME];
GetPlayerName(playerid, User_Name, sizeof(User_Name));
return User_Name;
}

stock ac_ARCHIBO_USER(playerid)
{
new User_Name[250];
GetPlayerName(playerid, User_Name, sizeof(User_Name));
format(User_Name, sizeof(User_Name), "DM_FREEROAM/%s.ini", User_Name);
return User_Name;
}

stock SAVE_USER(playerid)
{
    if(PLAYER_INFO[playerid][GAME_IDENTIFICADO])
    {
        dini_IntSet(ac_ARCHIBO_USER(playerid), "Exp",          PLAYER_INFO[playerid][GAME_EXP]);
dini_IntSet(ac_ARCHIBO_USER(playerid), "Admin",        PLAYER_INFO[playerid][GAME_ADMIN_LEVEL]);
        dini_IntSet(ac_ARCHIBO_USER(playerid), "Score",        GetPlayerScore(playerid));
        dini_IntSet(ac_ARCHIBO_USER(playerid), "Dinero",        GetPlayerMoney(playerid));
    }
    return 1;
}

stock adler32(buf[])
{
    new len = strlen(buf), key1 = 1, key2 = 0, n;
    for (n = 0; n < len; n ++)
    {
        key1 = (key1 + buf[n])  % 65521;
        key2 = (key2 + key1)    % 65521;
    }
    return (key2 << 16) + key1;
}


stock RESET_USER(playerid)
{
    PLAYER_INFO[playerid][GAME_IDENTIFICADO] = 0;
    PLAYER_INFO[playerid][GAME_REGISTRADO] = 0;
    PLAYER_INFO[playerid][GAME_EXP] = 0;
    PLAYER_INFO[playerid][GAME_ADMIN_LEVEL] = 0;
    PLAYER_INFO[playerid][GAME_SCORE] = 0;
    PLAYER_INFO[playerid][GAME_MONEY] = 0;
    return 1;
}
Porkaslov
Offline

Burgershot Member
Posts: 1
Threads: 0
Joined: Feb 2021
Reputation: 0
Location: Chile
#2
2021-02-21, 11:30 PM
¿Que errores te indica, podrías compartir alguna imagen de los errores?
Nikolay_Staggs
Offline

Burgershot Member
Posts: 8
Threads: 4
Joined: Dec 2020
Reputation: 0
Location: Sinaloa
#3
2021-03-01, 07:51 AM
No guarda los datos de los usuarios
« Next Oldest | Next Newest »



  • View a Printable Version
  • Subscribe to this thread
Forum Jump:

© Burgershot - Powered by our Community and MyBB Original Theme by Emerald

Linear Mode
Threaded Mode