Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
Holaa.. Tengo un problema.. En el sistema de r0ma .. No se si esto sera un error del plugin.. El problema es el siguiente.. Se crean una cuenta.. Anda perfecto todo.. Se guarda todo perfectamente.. Pero llega un momento en el cual la cuenta se borra.. Es decir ponen la cuenta y les dice "Este usuario no existe" .. Me fijo en la Base de Datos y aparece su cuenta anterior .. Alguna manera de solucionarlo? Gracias.
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Mensajes: 2,459
Temas: 15
Registro en: Feb 2014
Reputación:
28
A ver si entendí te dice q la cuenta no existe pero en la base de datos si esta? Pasa el conde con las modificaciones que hiciste
[TUT] Carnage
Fight
"El limite de los backdoors de gente q sabe programar como nostros lo impone nuestra maldad interior y creeme q soy muy malo en el interior"
Anónimo
Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
No modifique nada.. Solo le puse el guardado.. Lo que te mostre
Código PHP: public guardar_datos( id ) { new szQuery[ 512 ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = GUARDAR_DATOS; formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET Nivel='%d', Frags='%d', Infecciones='%d', Reset='%d', \ Ammopacks='%d' ,H1='%d', H2='%d', H3='%d', H4='%d', H5='%d', Z1='%d', \ Z2='%d', Z3='%d', Z4='%d', VN1='%d', VN2='%d', VN3='%d', CHUD1='%d', \ CHUD2='%d', CHUD3='%d', CFlare1='%d', CFlare2='%d', CFlare3='%d', \ PHUD1='%.2f', PHUD2='%.2f', PHumano='%d', PZombie='%d', GH='%d', \ GZ='%d', CH='%d', CZ='%d', ARMAP='%d', \ ARMAS='%d', ARMAA='%d' WHERE id='%d'", szTable, g_nivel[id], g_frags[id], g_infecciones[id], g_reset[id], g_ammopacks[id], g_habilidades[id][0][0], g_habilidades[id][0][1], g_habilidades[id][0][2], g_habilidades[id][0][3], g_habilidades[id][0][4], g_habilidades[id][1][0], g_habilidades[id][1][1], g_habilidades[id][1][2], g_habilidades[id][1][3], g_nvg[id][0], g_nvg[id][1], g_nvg[id][2], g_hud[id][0], g_hud[id][1], g_hud[id][2], g_flare_color[id][0], g_flare_color[id][1], g_flare_color[id][2], g_hud_pos[id][0], g_hud_pos[id][1], g_puntos[id][0], g_puntos[id][1], g_gastados[id][0], g_gastados[id][1], g_humanclassnext[id], g_zombieclassnext[id], WPN_AUTO_PRI, WPN_AUTO_SEC, WPN_AUTO_ON, g_id[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); }
public DataHandler( failstate, Handle:Query, error[ ], error2, data[ ], datasize, Float:time ) { static id; id = data[ 0 ]; if( !is_user_connected( id ) ) return;
switch( failstate ) { case TQUERY_CONNECT_FAILED: { log_to_file( "SQL_LOG_TQ.txt", "Error en la conexion al MySQL [%i]: %s", error2, error ); return; } case TQUERY_QUERY_FAILED: log_to_file( "SQL_LOG_TQ.txt", "Error en la consulta al MySQL [%i]: %s", error2, error ); } switch( data[ 1 ] ) { case REGISTRAR_USUARIO: { if( !SQL_NumResults( Query ) ) client_cmd( id, "messagemode CREAR_PASSWORD" ); else if( containi( error, "Pj" ) != -1 ) client_print( id, print_chat, "%s El nombre de personaje esta en uso.", szPrefix ); else { client_print( id, print_chat, "%s El usuario ya existe.", szPrefix ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } } case REGISTRAR_PASSWORD: { if( failstate < TQUERY_SUCCESS ) { if( containi( error, "Usuario" ) != -1 ) client_print( id, print_chat, "%s El usuario ya existe.", szPrefix );
else if( containi( error, "Pj" ) != -1 ) client_print( id, print_chat, "%s El nombre de personaje esta en uso.", szPrefix ); else client_print( id, print_chat, "%s Error al crear la cuenta. Intente nuevamente.", szPrefix ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } else { client_print( id, print_chat, "%s Tu cuenta ha sido creada correctamente.", szPrefix ); new szQuery[ 512 ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = CARGAR_DATOS; formatex( szQuery, charsmax( szQuery ), "SELECT id, Nivel, Frags, Infecciones, Reset, Ammopacks, \ H1, H2, H3, H4, H5, Z1, Z2, Z3, Z4, VN1, VN2, VN3, CHUD1, \ CHUD2, CHUD3, CFlare1, CFlare2, CFlare3, PHUD1, PHUD2, PHumano, \ PZombie, GH, GZ, CH, CZ, ARMAP, ARMAS, ARMAA FROM %s WHERE Usuario=^"%s^"", szTable, g_usuario[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); } } case LOGUEAR_USUARIO: { if( SQL_NumResults( Query ) ) client_cmd( id, "messagemode LOGUEAR_PASSWORD" ); else { client_print( id, print_chat, "%s El usuario no existe.", szPrefix ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } } case LOGUEAR_PASSWORD: { if( SQL_NumResults( Query ) ) { g_id[ id ] = SQL_ReadResult( Query, 0 ); SQL_ReadResult( Query, 3, g_playername[ id ], charsmax( g_playername[ ] ) ); g_nivel[id] = SQL_ReadResult( Query, 4 ); g_frags[id] = SQL_ReadResult( Query, 5 ); g_infecciones[id] = SQL_ReadResult( Query, 6 ); g_reset[id] = SQL_ReadResult( Query, 7 ); g_ammopacks[id] = SQL_ReadResult( Query, 8 ); g_habilidades[id][0][0] = SQL_ReadResult( Query, 9 ); g_habilidades[id][0][1] = SQL_ReadResult( Query, 10 ); g_habilidades[id][0][2] = SQL_ReadResult( Query, 11 ); g_habilidades[id][0][3] = SQL_ReadResult( Query, 12 ); g_habilidades[id][0][4] = SQL_ReadResult( Query, 13 ); g_habilidades[id][1][0] = SQL_ReadResult( Query, 14 ); g_habilidades[id][1][1] = SQL_ReadResult( Query, 15 ); g_habilidades[id][1][2] = SQL_ReadResult( Query, 16 ); g_habilidades[id][1][3] = SQL_ReadResult( Query, 17 ); g_nvg[id][0] = SQL_ReadResult( Query, 18 ); g_nvg[id][1] = SQL_ReadResult( Query, 19 ); g_nvg[id][2] = SQL_ReadResult( Query, 20 ); g_hud[id][0] = SQL_ReadResult( Query, 21 ); g_hud[id][1] = SQL_ReadResult( Query, 22 ); g_hud[id][2] = SQL_ReadResult( Query, 23 ); g_flare_color[id][0] = SQL_ReadResult( Query, 24 ); g_flare_color[id][1] = SQL_ReadResult( Query, 25 ); g_flare_color[id][2] = SQL_ReadResult( Query, 26 ); SQL_ReadResult(Query, 27, Float:g_hud_pos[id][0]); SQL_ReadResult(Query, 28, Float:g_hud_pos[id][1]); g_puntos[id][0] = SQL_ReadResult( Query, 29 ); g_puntos[id][1] = SQL_ReadResult( Query, 30 ); g_gastados[id][0] = SQL_ReadResult( Query, 31 ); g_gastados[id][1] = SQL_ReadResult( Query, 32 ); g_humanclassnext[id] = SQL_ReadResult( Query, 33 ); g_zombieclassnext[id] = SQL_ReadResult( Query, 34 ); WPN_AUTO_PRI = SQL_ReadResult( Query, 35 ); WPN_AUTO_SEC = SQL_ReadResult( Query, 36 ); WPN_AUTO_ON = SQL_ReadResult( Query, 37 ); func_login_success( id ); } else { client_print( id, print_chat, "%s Contrasenia incorrecta.", szPrefix ); 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_nivel[id] = SQL_ReadResult( Query, 1 ); g_frags[id] = SQL_ReadResult( Query, 2 ); g_infecciones[id] = SQL_ReadResult( Query, 3 ); g_reset[id] = SQL_ReadResult( Query, 4 ); g_ammopacks[id] = SQL_ReadResult( Query, 5 ); g_habilidades[id][0][0] = SQL_ReadResult( Query, 6 ); g_habilidades[id][0][1] = SQL_ReadResult( Query, 7 ); g_habilidades[id][0][2] = SQL_ReadResult( Query, 8 ); g_habilidades[id][0][3] = SQL_ReadResult( Query, 9 ); g_habilidades[id][0][4] = SQL_ReadResult( Query, 10 ); g_habilidades[id][1][0] = SQL_ReadResult( Query, 11 ); g_habilidades[id][1][1] = SQL_ReadResult( Query, 12 ); g_habilidades[id][1][2] = SQL_ReadResult( Query, 13 ); g_habilidades[id][1][3] = SQL_ReadResult( Query, 14 ); g_nvg[id][0] = SQL_ReadResult( Query, 15 ); g_nvg[id][1] = SQL_ReadResult( Query, 16 ); g_nvg[id][2] = SQL_ReadResult( Query, 17 ); g_hud[id][0] = SQL_ReadResult( Query, 18 ); g_hud[id][1] = SQL_ReadResult( Query, 19 ); g_hud[id][2] = SQL_ReadResult( Query, 20 ); g_flare_color[id][0] = SQL_ReadResult( Query, 21 ); g_flare_color[id][1] = SQL_ReadResult( Query, 22 ); g_flare_color[id][2] = SQL_ReadResult( Query, 23 ); SQL_ReadResult(Query, 24, Float:g_hud_pos[id][0]); SQL_ReadResult(Query, 25, Float:g_hud_pos[id][1]); g_puntos[id][0] = SQL_ReadResult( Query, 26 ); g_puntos[id][1] = SQL_ReadResult( Query, 27 ); g_gastados[id][0] = SQL_ReadResult( Query, 28 ); g_gastados[id][1] = SQL_ReadResult( Query, 29 ); g_humanclassnext[id] = SQL_ReadResult( Query, 30 ); g_zombieclassnext[id] = SQL_ReadResult( Query, 31 ); WPN_AUTO_PRI = SQL_ReadResult( Query, 32 ); WPN_AUTO_SEC = SQL_ReadResult( Query, 33 ); WPN_AUTO_ON = SQL_ReadResult( Query, 34 ); func_login_success( id ); } else { client_print( id, print_chat, "%s Error al cargar los datos, intente nuevamente.", szPrefix ); show_login_menu( id ); } } case GUARDAR_DATOS: { if( failstate < TQUERY_SUCCESS ) console_print( id, "%s Error en el guardado de datos.", szPrefix ); else console_print( id, "%s Datos guardados.", szPrefix ); } } }
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Mensajes: 860
Temas: 16
Registro en: Oct 2013
Reputación:
8
03/05/2014, 09:04 PM
(Última modificación: 03/05/2014, 09:06 PM por LeiToH.)
pasa la consulta que isiste en el mysql
Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
No entiendo ._.
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Mensajes: 860
Temas: 16
Registro en: Oct 2013
Reputación:
8
Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
Si cree la db
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Mensajes: 642
Temas: 25
Registro en: Feb 2014
Reputación:
17
No entendi cual es el problema, que no te crea la cuenta o que no la carga
(19/06/2014, 11:08 PM)01011001 escribió: No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)
(19/06/2014, 11:08 PM)[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
Mensajes: 44
Temas: 7
Registro en: May 2014
Reputación:
0
Supongo que se refiere a que después de determinado tiempo la cuenta se borra. y al revisar la db la misma aparece...
explicate mejor y te ayudamos!
Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
Osea .. Al principio todo anda bien.. Pero despues en un deterimado momento el usuario quiere poner su cuenta y le dice "Esta usuario no existe", Y se tiene que crear otra cuenta.. Despues me fijo en la db con sqlite manager (Programa) Y le aparece su cuenta (La que se habia borrado) Y obvio aparece tambien la que creo recientemente. Me entiendo?
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
muestra como detectas que no existe su cuenta
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Mensajes: 860
Temas: 16
Registro en: Oct 2013
Reputación:
8
(04/05/2014, 05:26 AM)RauliTop escribió: muestra como detectas que no existe su cuenta
mostra este public
Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
Código PHP: public log_usuario( id ) { read_args( g_usuario[ id ], charsmax( g_usuario[ ] ) ); remove_quotes( g_usuario[ id ] ); if (count_characters(g_usuario[ id ]) < 4) { client_print(id, print_center, "El usuario debe contener al menos 4 carácteres") show_login_menu( id ); return PLUGIN_HANDLED; } md5( g_usuario[ id ], g_usuario[ id ] ); new szQuery[ 512 ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = LOGUEAR_USUARIO; formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^"", szTable, g_usuario[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); return PLUGIN_HANDLED; }
Una pregunta.. Como subo imagenes? asi les muestro foto de la db
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Mensajes: 860
Temas: 16
Registro en: Oct 2013
Reputación:
8
estas chequeando que al registrarse tambien tenga mas de 4 caracteres?
Mensajes: 2,600
Temas: 33
Registro en: Oct 2013
Reputación:
36
04/05/2014, 05:33 PM
(Última modificación: 04/05/2014, 05:33 PM por RauliTop.)
antes de read_args pon esto a ver
g_usuario[id][0] = 0
qué hace esto? pues según tengo entendido "resetear" el string.
hacemos eso porque read_args() no es como un copy() sino que deja el rastro del anterior string
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Mensajes: 926
Temas: 64
Registro en: Feb 2014
Reputación:
9
Aver voy a probar. Gracias igual de todas formas
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
|