Problema Sistema de Cuentas SQLITE
#1
Hola gente, tengo un problema con el sistema de cuentas que posteo r0ma que optimizaba - mejoraba el de nee...l.



El tema es:



yo intente que el usuario al registrarse solamente le tome el Nombre que tiene y una contraseña que el ponga,hasta ahi, todo bien, pero el tema es que me deja registrarme las veces que yo quiera con el mismo tag, no tengo

idea de porque pasa esto, queria saber si me podian ayudar...



Fotos:



[Imagen: Sintiacutetulo.png]



---------------------------



[Imagen: Sintiacutetulo2.png]
Responder
#2
Postea el codigo, no imagenes asi es mas facil ayudarte.
[Imagen: giphy.webp]

Panda Nuestro
Sistema de Cuentas MySQL/SQLite
Discord: FluffyDeveloper#4753

meTaLiCroSS escribió: Pero sin picarse po, todavía te molesta que te haya mandado a la mierda porque querias plugins de mi server? Mírate, seguí programando weas mulas después de años, tení que ser harto penca para esta wea, das pura pena Corazón

(22/01/2021, 02:55 PM)Skylar escribió: dios como me enferma que digas plugins cuando hablas de un solo plugin pendejo re pelotudo
Responder
#3
se fuera de joda xDD e_e

Code de la Primera Imagen:
Código:
switch( data[ 1 ] ) {
        case REGISTRAR_PASSWORD: {
            if( failstate < TQUERY_SUCCESS ) {
                if( containi( error, "Pj" ) != -1 )
                    hns_print(id, "!gEl Nombre Se !tEsta Usando!g!")
                else
                    hns_print(id, "!gError Al !tCrear !gLa !tCuenta!g, Proba !tDevuelta!g!")
                
                client_cmd( id, "spk buttons/button10.wav" );
                
                show_login_menu( id );
            }
            else {
                hns_print(id, "!gLa !tCuenta !gSe Creo !tExitosamente!g!")
                
                new szQuery[ 512 ], iData[ 2 ];
                
                iData[ 0 ] = id;
                iData[ 1 ] = CARGAR_DATOS;
                
                formatex( szQuery, charsmax( szQuery ),
                "SELECT id, lvl, fr, rr, rang, pts, vi, dan, regen, mone, carnfrags, ch, ls, car, cha, vel, gra, mtc FROM %s WHERE Password=^"%s^"",
                szTable, g_password[ id ] );
                SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
            }
            
        }
        case LOGUEAR_PASSWORD: {
            if( SQL_NumResults( Query ) ) {
                g_id[ id ] = SQL_ReadResult( Query, 0 );
                SQL_ReadResult( Query, 2, g_playername[ id ], charsmax( g_playername[ ] ) );                    
                
                // Cargamos datos
                g_level[id] = SQL_ReadResult(Query, 3)
                g_frags[id] = SQL_ReadResult(Query, 4)
                g_reset[id] = SQL_ReadResult(Query, 5)
                g_rango[id] = SQL_ReadResult(Query, 6)
                g_puntos[id] = SQL_ReadResult(Query, 7)
                g_hab[id][0] = SQL_ReadResult(Query, 8)
                g_hab[id][4] = SQL_ReadResult(Query, 9)
                g_hab[id][5] = SQL_ReadResult(Query, 10)
                g_monedas[id] = SQL_ReadResult(Query, 11)
                g_carnage_frags[id] = SQL_ReadResult(Query, 12)
                g_matados[id][MATADO_KNIFE] = SQL_ReadResult(Query, 13)
                g_matados[id][MATADO_LASER] = SQL_ReadResult(Query, 14)
                g_matados[id][MATADO_CARNAGE] = SQL_ReadResult(Query, 15)
                g_hab[id][1] = SQL_ReadResult(Query, 16)
                g_hab[id][2] = SQL_ReadResult(Query, 17)
                g_hab[id][3] = SQL_ReadResult(Query, 18)
                g_hab[id][6] = SQL_ReadResult(Query, 19)
                func_login_success( id );
            }
            else {
                hns_print(id, "!t[MV] !gContraseña !tIncorrecta!g!")
                client_cmd( id, "spk buttons/button10.wav" );
                
                show_login_menu( id );
            }
        }
        case CARGAR_DATOS: {
            if( SQL_NumResults( Query ) ) {
                g_id[ id ] = SQL_ReadResult( Query, 0 );
                
                g_level[id] = SQL_ReadResult(Query, 1)
                g_frags[id] = SQL_ReadResult(Query, 2)
                g_reset[id] = SQL_ReadResult(Query, 3)
                g_rango[id] = SQL_ReadResult(Query, 4)
                g_puntos[id] = SQL_ReadResult(Query, 5)
                g_hab[id][0] = SQL_ReadResult(Query, 6)
                g_hab[id][4] = SQL_ReadResult(Query, 7)
                g_hab[id][5] = SQL_ReadResult(Query, 8)
                g_monedas[id] = SQL_ReadResult(Query, 9)
                g_carnage_frags[id] = SQL_ReadResult(Query, 10)
                g_matados[id][MATADO_KNIFE] = SQL_ReadResult(Query, 11)
                g_matados[id][MATADO_LASER] = SQL_ReadResult(Query, 12)
                g_matados[id][MATADO_CARNAGE] = SQL_ReadResult(Query, 13)
                g_hab[id][1] = SQL_ReadResult(Query, 14)
                g_hab[id][2] = SQL_ReadResult(Query, 15)
                g_hab[id][3] = SQL_ReadResult(Query, 16)
                g_hab[id][6] = SQL_ReadResult(Query, 17)
                func_login_success( id );
            }
            else {
                hns_print(id, "!gError Al !tCargar !gLos !tDatos!g, Proba !tDevuelta!g!")
                show_login_menu( id );
            }
        }
        case GUARDAR_DATOS: {
            if( failstate < TQUERY_SUCCESS )
                console_print( id, "Error en el guardado de datos." );
            
            else
                console_print( id, "Datos guardados." );
        }
    }

-------------------------------------------------

Code de la Segunda Imagen:
Código:
public menu_select( id )
{
    if( g_estado[ id ] == OFFLINE )
    {
        new args[ 3 ];
        
        read_args( args, charsmax( args ) );
        
        if( str_to_num( args ) == 1 )
            client_cmd( id, "messagemode CREAR_PASSWORD" );
        else
            client_cmd( id, "messagemode LOGUEAR_PASSWORD" );
        
        return PLUGIN_HANDLED;
    }
    
    return PLUGIN_CONTINUE;
}

public reg_password( id )
{
    read_args( g_password[ id ], charsmax( g_password[ ] ) );
    remove_quotes( g_password[ id ] );
    trim( g_password[ id ] );
    md5( g_password[ id ], g_password[ id ] );
    
    new szQuery[ 256 ], iData[ 2 ];
    
    iData[ 0 ] = id;
    iData[ 1 ] = REGISTRAR_PASSWORD;
    
    get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) );
    
    formatex( szQuery, charsmax( szQuery ), "INSERT INTO %s (Password, Pj) VALUES (^"%s^", ^"%s^")", szTable, g_password[ id ], g_playername[ id ] );
    SQL_ThreadQuery(g_hTuple, "DataHandler", szQuery, iData, 2);
    
    return PLUGIN_HANDLED;
}

public log_password( id ) {
    read_args( g_password[ id ], charsmax( g_password[ ] ) );
    remove_quotes( g_password[ id ] );
    trim( g_password[ id ] );
    md5( g_password[ id ], g_password[ id ] );
    
    
    new szQuery[ 128 ], iData[ 2 ];
    
    iData[ 0 ] = id;
    iData[ 1 ] = LOGUEAR_PASSWORD;
    
    formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE Password=^"%s^"", szTable, g_password[ id ] );
    SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 );
    
    return PLUGIN_HANDLED;
}
Responder
#4
si en la columna de los nombres tiene que ser único el nombre te va a tirar error la consulta y te va a crear mal la cuenta.

EDIT: recien vi esto:
Código:
if( containi( error, "Pj" ) != -1 )
                    hns_print(id, "!gEl Nombre Se !tEsta Usando!g!")

con eso y habilitada la opción de 'unico dato' o como se llame en la columna tendría que ir bien
Responder
#5
Esto lo deberías postear en el post del plugin

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)