problemas con cmd /registrar
#1

bueno tengo este cmd registrar que cuando pone /registrar sale un dialogo y pone su contraseсa y se registra el user pero el problema es que no coje bien la contraseсa y nose porque miren este es el comando

Код:
CMD:registrar(playerid,params[])
{
    ShowPlayerDialogEx(playerid, 200, DIALOG_STYLE_PASSWORD, "{00A5FF}Nueva Contraseсa", "{F0F0F0}Ingrese su nueva contraseсa\n{F0F0F0}y se registrara en el foro", "Registrar", "Volver");
    new rName[MAX_PLAYER_NAME], rContra[35];
    GetPlayerName(playerid, rName, sizeof(rName));
    CrearCuenta(rName, rContra);
    return 1;
}
Reply
#2

Usa la funciуn CrearCuenta en OnDialogResponse cuando coloque la clave en el dialogo
Reply
#3

Como seria? soy un poco bruto con los diбlogos xD...
Reply
#4

pawn Код:
CMD:registrar(playerid,params[])
{
    ShowPlayerDialogEx(playerid, 200, DIALOG_STYLE_PASSWORD, "{00A5FF}Nueva Contraseсa", "{F0F0F0}Ingrese su nueva contraseсa\n{F0F0F0}y se registrara en el foro", "Registrar", "Volver");
    new rName[MAX_PLAYER_NAME], rContra[35];
    GetPlayerName(playerid, rName, sizeof(rName));
   
    return 1;
}

//_____________en el dialog id 200 pones
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 200)
    {
        if(response) // If they clicked 'Yes' or pressed enter
        {
            new String[128];
            format(string,128,"cuenta registrada en el foro con los siguientes datos: Nombre: %s Contraseсa %s",rName,inputtext);
            SendClientMessage(playerid, -1, string);
            CrearCuenta(rName, inputtext);
        }
        else // Pressed ESC or clicked cancel
        {
           SendClientMessage(playerid, -1, "Cancelaste el registro del foro.");
            //For info & code of this function please refer to the bottom of this article.
        }
        return 1; // We handled a dialog, so return 1. Just like OnPlayerCommandText.
    }

    return 0; // You MUST return 0 here! Just like OnPlayerCommandText.
}
Reply
#5

Quote:
Originally Posted by jotajeda
Посмотреть сообщение
pawn Код:
CMD:registrar(playerid,params[])
{
    ShowPlayerDialogEx(playerid, 200, DIALOG_STYLE_PASSWORD, "{00A5FF}Nueva Contraseсa", "{F0F0F0}Ingrese su nueva contraseсa\n{F0F0F0}y se registrara en el foro", "Registrar", "Volver");
    new rName[MAX_PLAYER_NAME], rContra[35];
    GetPlayerName(playerid, rName, sizeof(rName));
   
    return 1;
}

//_____________en el dialog id 200 pones
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 200)
    {
        if(response) // If they clicked 'Yes' or pressed enter
        {
            new String[128];
            format(string,128,"cuenta registrada en el foro con los siguientes datos: Nombre: %s Contraseсa %s",rName,inputtext);
            SendClientMessage(playerid, -1, string);
            CrearCuenta(rName, inputtext);
        }
        else // Pressed ESC or clicked cancel
        {
           SendClientMessage(playerid, -1, "Cancelaste el registro del foro.");
            //For info & code of this function please refer to the bottom of this article.
        }
        return 1; // We handled a dialog, so return 1. Just like OnPlayerCommandText.
    }

    return 0; // You MUST return 0 here! Just like OnPlayerCommandText.
}
No.

pawn Код:
CMD:registrar(playerid,params[])
{
    ShowPlayerDialogEx(playerid, 200, DIALOG_STYLE_PASSWORD, "{00A5FF}Nueva Contraseсa", "{F0F0F0}Ingrese su nueva contraseсa\n{F0F0F0}y se registrara en el foro", "Registrar", "Volver");
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 200)
    {
        if(response)
        {
            new rName[MAX_PLAYER_NAME];
            GetPlayerName(playerid, rName, sizeof(rName));
            CrearCuenta(rName, inputtext);
        }
        else SendClientMessage(playerid,-1,"! Cerraste el cuadro.");
    }
    return 1;
}
Reply
#6

Quote:
Originally Posted by aoEXE
Посмотреть сообщение
No.

pawn Код:
CMD:registrar(playerid,params[])
{
    ShowPlayerDialogEx(playerid, 200, DIALOG_STYLE_PASSWORD, "{00A5FF}Nueva Contraseсa", "{F0F0F0}Ingrese su nueva contraseсa\n{F0F0F0}y se registrara en el foro", "Registrar", "Volver");
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 200)
    {
        if(response)
        {
            new rName[MAX_PLAYER_NAME];
            GetPlayerName(playerid, rName, sizeof(rName));
            CrearCuenta(rName, inputtext);
        }
        else SendClientMessage(playerid,-1,"! Cerraste el cuadro.");
    }
    return 1;
}
Gracias por la correciуn, andaba haciendo algo en html.
Reply
#7

Bueno ahora el problema esque no lo registra
Reply
#8

ya lo repare gracias por su ayuda chicos!

PD:Como aria un query para obtener si el user esta registrado y asi no pueda usar el cmd
Reply
#9

Tardй 10 minutos, aprovecha en aprender.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 200)
    {
        if(response) // If they clicked 'Yes' or pressed enter
        {
            /*new String[128];
            format(string,128,"cuenta registrada en el foro con los siguientes datos: Nombre: %s Contraseсa %s",rName,inputtext);
            SendClientMessage(playerid, -1, string);*/

            new rName[MAX_PLAYER_NAME];
            GetPlayerName(playerid, rName, sizeof(rName));
            new query[550];
            mysql_format(CMySQL,query, sizeof ( query ) , "SELECT * FROM  `hlzf_members` WHERE  real_name = '%s' LIMIT 1" , rName) ;
            mysql_tquery(CMySQL, query, "Revisar_Registros" , "i" ,playerid ) ;
        }
        else // Pressed ESC or clicked cancel
        {
            SendClientMessage(playerid, -1, "Cancelaste el registro del foro.");
        }
        return 1; // We handled a dialog, so return 1. Just like OnPlayerCommandText.
    }
    if(dialogid == 201)
    {
        if(response)
        {
            new String[128];
            format(string,128,"cuenta registrada en el foro con los siguientes datos: Nombre: %s Contraseсa %s",rName,inputtext);
            SendClientMessage(playerid, -1, string);
            new rName[MAX_PLAYER_NAME];
            GetPlayerName(playerid, rName, sizeof(rName));
            CrearCuenta(rName, inputtext);
        }
        else // Pressed ESC or clicked cancel
        {
            SendClientMessage(playerid, -1, "Cancelaste el registro del foro.");
        }
    }

    return 0; // You MUST return 0 here! Just like OnPlayerCommandText.
}

forward Revisar_Registros(playerid);
public Revisar_Registros(playerid)
{
    new filas, campos, string[128];
    cache_get_data(filas, campos, CMySQL);
    if(filas)// si hay datos con ese nombre entonces se aplica todos los codigos de abajo
    {
        new rName[MAX_PLAYER_NAME];
        GetPlayerName(playerid, rName, sizeof(rName));
        format(string,128,"Ya existe una cuenta registrada con el Nombre: %s ",rName);
        SendClientMessage(playerid, -1, string);
        return true;
    }
    else // si falla if(filas) se ejecuta lo siguiente:
    {
       
        // mandamos al dialogo 201 para alli si mandar al foro CrearCuenta(rName, inputtext);
        ShowPlayerDialogEx(playerid, 201, DIALOG_STYLE_PASSWORD, "{00A5FF}Confirma contraseсa", "{F0F0F0}Vuelve a ingresar la contraseсa", "Registrar", "Cancelar");
    }
    return true;
}
Si hay algun error perdoname.
Reply
#10

ps puse como dijo jotajeda reparando errores y no registraba en el foro asi que me quede como estaba antes tambiйn puse el enum para q no usara el cmd cuando estaba registrado pero tampoco sirviу de nada
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)