[Problema]Dialog
#1

Buenas amigos de SAMP quisiera saber si me podrian ayudar con un dialog de login que no reconoce la contraseсa y al poner cualquier cosa entra ejemplo: contraseсa:123 si pongo 14564 entra igual no se si me doi a entender aqui el code.

pawn Код:
forward LOGIN(playerid, dialogid, response, listitem, inputtext[]);
public LOGIN(playerid, dialogid, response, listitem, inputtext[])
{
       switch( response )
       {
           case 0:
           {
                Dialog_Show(playerid,DIALOG_STYLE_MSGBOX,"{1564F5}Administraciуn - | Warning: Kick |", "Usted ha sido kikeado del servidor por exceder las oportunidades de insertar su contraseсa correctamente.\n\nїUsted perdiу su contraseсa?\nSi usted perdiу su contraseсa ingrese a nuestro Foro:"SERVER_WEB" luego clickй en (їOlvidaste tu contraseсa?).\n\nPase buen dia, ATT: Administraciуn "SERVER_NAME".","Salir","", .dialog = DIALOG_LOGIN), Kick(playerid);
           }
           case 1:
           {
                if(!response || !strlen(inputtext))
                {
                    return Dialog_Show(playerid, DIALOG_STYLE_PASSWORD, "{1564F5}Login", "Bienvenido a "SERVER_NAME" Roleplay.\nInserte su contraseсa nuevamente para ingresar a su cuenta.\n\nContraseсa: ", "Entrar", "Salir", .dialog = DIALOG_LOGIN);
                }
                new pBuffer[129];
                format(pBuffer, sizeof(pBuffer), "%s%s", g_PlayerInfo[playerid][pSalt], inputtext);
                WP_Hash(pBuffer, 129, pBuffer);
                if(strcmp(pBuffer, g_PlayerInfo[playerid][pPass]))
                {
                    LoadAccount(playerid);
                    return 0;
                }
                else
                {
                    pWarning[playerid]++;
                    switch(pWarning[playerid])
                    {
                        case 1: Dialog_Show(playerid,DIALOG_STYLE_PASSWORD,"{1564F5}Login - | Warning 1/3 |", "Bienvenido a "SERVER_NAME".\nPor favor ingresa tu contraseсa correctamente.\nContraseсa incorrecta.\n\nContraseсa: ","Entrar","Salir", .dialog = DIALOG_LOGIN);
                        case 2: Dialog_Show(playerid,DIALOG_STYLE_PASSWORD,"{1564F5}Login - | Warning 2/3 |", "Bienvenido a "SERVER_NAME".\nPor favor ingresa tu contraseсa correctamente.\nContraseсa incorrecta.\n\nContraseсa: ","Entrar","Salir", .dialog = DIALOG_LOGIN);
                        case 3: Dialog_Show(playerid,DIALOG_STYLE_INPUT,"{1564F5}Login - | Warning 3/3 |", "Bienvenido a "SERVER_NAME".\nPor favor ingresa tu contraseсa correctamente.\nContraseсa incorrecta.\n\nContraseсa: ","Entrar","Salir", .dialog = DIALOG_LOGIN);
                        case 4: Dialog_Show(playerid,DIALOG_STYLE_MSGBOX,"{1564F5}Administraciуn - | Warning: Kick |", "Usted ha sido kikeado del servidor por exceder las oportunidades de insertar su contraseсa correctamente.\n\nїUsted perdiу su contraseсa?\nSi usted perdiу su contraseсa ingrese a nuestro Foro:"SERVER_WEB" luego clickй en (їOlvidaste tu contraseсa?).\n\nPase buen dia, ATT: Administraciуn "SERVER_NAME".","Salir","", .dialog = DIALOG_LOGIN), Kick(playerid);
                       
                    }
                    return 0;
                }
            }
       }
     return 1;
}
Bueno lo que esta fallando es esta funciуn la cual no se ejecuta correctamente ya que puedes entrar con cualquier cosa que escribas como explique arriba y no se pork pasa ya que si las contraseсas no son iguales deveria ejecutarse la funciуn pWarning[playerid]++;

pawn Код:
new pBuffer[129];
                format(pBuffer, sizeof(pBuffer), "%s%s", g_PlayerInfo[playerid][pSalt], inputtext);
                WP_Hash(pBuffer, 129, pBuffer);
                if(strcmp(pBuffer, g_PlayerInfo[playerid][pPass]))
                {
                    LoadAccount(playerid);
                    return 0;
                }
Espero puedan ayudarme cualquier idea es util no dudes en comentar por favor.

Un saludo.
Reply
#2

Mira tu error estб en la siguiente linea:

Код:
if( strcmp(pBuffer, g_PlayerInfo[playerid][pPass]) )
En esa linea faltan 2 cosas esenciales, el true y el == 0

La linea quedarнa asн:

Код:
if( strcmp(pBuffer, g_PlayerInfo[playerid][pPass], true) == 0 )
PD: Mбs informaciуn de la funciуn strcmp

Sl2 espero que te funcione
Reply
#3

dime como tienes definido
PHP код:
pPass 
Reply
#4

Listo ya reconoce bien la contraseсa pero tengo un problema:

pawn Код:
forward LOGIN(playerid, dialogid, response, listitem, inputtext[]);
public LOGIN(playerid, dialogid, response, listitem, inputtext[])
{
       switch( response )
       {
           case 0: Dialog_Show(playerid,DIALOG_STYLE_MSGBOX,"{1564F5}Administraciуn - | Warning: Kick |", "Usted ha sido kikeado del servidor por exceder las oportunidades de insertar su contraseсa correctamente.\n\nїUsted perdiу su contraseсa?\nSi usted perdiу su contraseсa ingrese a nuestro Foro:"SERVER_WEB" luego clickй en (їOlvidaste tu contraseсa?).\n\nPase buen dia, ATT: Administraciуn "SERVER_NAME".","Salir","", .dialog = DIALOG_LOGIN), Kick(playerid);
           case 1:
           {
                new pBuffer[129];
                WP_Hash(pBuffer, sizeof pBuffer, inputtext);
                if(!strcmp(g_PlayerInfo[playerid][pPass], pBuffer, false))
                {
                    LoadAccount(playerid);
                }
                else
                {
                    pWarning[playerid]++;
                    switch(pWarning[playerid])
                    {
                        //return Dialog_Show(playerid,DIALOG_STYLE_MSGBOX,"{1564F5}Administraciуn - | Warning: Kick |", "Usted ha sido kikeado del servidor por exceder las oportunidades de insertar su contraseсa correctamente.\n\nїUsted perdiу su contraseсa?\nSi usted perdiу su contraseсa ingrese a nuestro Foro:"SERVER_WEB" luego clickй en (їOlvidaste tu contraseсa?).\n\nPase buen dia, ATT: Administraciуn "SERVER_NAME".","Salir","", .dialog = DIALOG_LOGIN), Kick(playerid);
                        case 1: Dialog_Show(playerid,DIALOG_STYLE_PASSWORD,"{1564F5}Login - | Warning 1/3 |", "Bienvenido a "SERVER_NAME".\nPor favor ingresa tu contraseсa correctamente.\nContraseсa incorrecta.\n\nContraseсa: ","Entrar","Salir", .dialog = DIALOG_LOGIN);
                        case 2: Dialog_Show(playerid,DIALOG_STYLE_PASSWORD,"{1564F5}Login - | Warning 2/3 |", "Bienvenido a "SERVER_NAME".\nPor favor ingresa tu contraseсa correctamente.\nContraseсa incorrecta.\n\nContraseсa: ","Entrar","Salir", .dialog = DIALOG_LOGIN);
                        case 3: Dialog_Show(playerid,DIALOG_STYLE_INPUT,"{1564F5}Login - | Warning 3/3 |", "Bienvenido a "SERVER_NAME".\nPor favor ingresa tu contraseсa correctamente.\nContraseсa incorrecta.\n\nContraseсa: ","Entrar","Salir", .dialog = DIALOG_LOGIN);
                        case 4: Dialog_Show(playerid,DIALOG_STYLE_MSGBOX,"{1564F5}Administraciуn - | Warning: Kick |", "Usted ha sido kikeado del servidor por exceder las oportunidades de insertar su contraseсa correctamente.\n\nїUsted perdiу su contraseсa?\nSi usted perdiу su contraseсa ingrese a nuestro Foro:"SERVER_WEB" luego clickй en (їOlvidaste tu contraseсa?).\n\nPase buen dia, ATT: Administraciуn "SERVER_NAME".","Salir","", .dialog = DIALOG_LOGIN), Kick(playerid);
                    }
                }
            }
       }
     return 1;
}
El problema ahora es que pWarning solo muestra hasta el case 1.

Muchas gracias por sus ayuda.

PD: Hay alguna funcion para que los dialog no detecten la tecla espacio?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)