Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
24/05/2023, 12:56 PM
(Última modificación: 24/05/2023, 12:56 PM por Blackk. Edited 1 time in total.)
estoy buscando alguien que pueda hacerme un sistema de cuentas sql, para zp, hablenme a steam o mp por acá para charlar precio
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
24/05/2023, 06:31 PM
(Última modificación: 24/05/2023, 06:41 PM por Hinami.)
https://github.com/Chris4589/zombie_esca...uentas.sma
En tu ZP y cambias el mysql init por el mysql para sql de roma y ya
Código PHP: #include <sqlx> #include <accsys>
new const szTable[] = "zp_classic_datos";
new g_id[ 33 ]; new Handle:g_hTuple;
enum { REGISTRAR_USUARIO, LOGUEAR_USUARIO, GUARDAR_DATOS };
new g_iStatus[33]; enum { NO_LOGUEADO = 0, LOGUEADO }
public DataHandler( failstate, Handle:Query, error[ ], error2, data[ ], datasize, Float:flTime ) { 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 ); } new id = data[ 0 ]; if( !is_user_connected( id ) ) return; switch( data[ 1 ] ) { case LOGUEAR_USUARIO: { if( SQL_NumResults( Query ) ) { g_ammopacks[ id ] = SQL_ReadResult( Query, 1 );
// Set the custom HUD display task //set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b");//muestras tu hud de zp ForceJoinTeam(id);
client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); g_iStatus[ id ] = LOGUEADO; } else { new szQuery[ MAX_MENU_LENGTH ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = REGISTRAR_USUARIO; formatex( szQuery, charsmax( szQuery ), "INSERT INTO %s (id_cuenta, ammopacks) VALUES (%d, %d)", szTable, g_id[ id ], g_ammopacks[ id ]); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); } } case REGISTRAR_USUARIO: { if( failstate < TQUERY_SUCCESS ) { console_print( id, "Error al crear un usuario: %s.", error ); } else { new szQuery[ MAX_MENU_LENGTH ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = LOGUEAR_USUARIO;
formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE id_cuenta='%d'", szTable, g_id[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); } } case GUARDAR_DATOS: { if( failstate < TQUERY_SUCCESS ) console_print( id, "Error en el guardado de datos." ); else console_print( id, "Datos guardados." ); } } }
//en
public client_disconnect(id) { //pones if( g_iStatus[ id ] == LOGUEADO ) { guardar_datos( id ); g_iStatus[ id ] = NO_LOGUEADO; } } //en public client_putinserver(id) { // Plugin disabled? //if (!g_pluginenabled) return; // Player joined //g_isconnected[id] = true g_iStatus[id] = NO_LOGUEADO;//pones esto
}
public guardar_datos( id ) { if(!advacc_user_logged(id) || g_iStatus[ id ] != LOGUEADO) return;
new szQuery[ MAX_MENU_LENGTH ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = GUARDAR_DATOS; formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET ammopacks='%d' WHERE id_cuenta='%d'", szTable, g_ammopacks[ id ], g_id[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); }
//en public event_round_start(){ for(new i = 1; i <= g_maxplayers; ++i) { if( !advacc_user_logged(i) || g_iStatus[ i ] != LOGUEADO ) continue;
guardar_datos( i ); } }
//al final del plugin
public MySQL_Init() { g_hTuple = advacc_guardado_get_handle( ); if( !g_hTuple ) { log_to_file( "SQL_ERROR.txt", "No se pudo conectar con la base de datos." ); return pause( "a" ); }
return PLUGIN_CONTINUE; }
//en
public plugin_init() MySQL_Init()//AL FINAL DEL PLUGIN INIT ANTES DE }
EN // Block Team Change
//TIENE QUE QUEDARTE ASI: public clcmd_changeteam(id) { if(!advacc_user_logged(id)) { open_cuenta_menu( id ); return PLUGIN_HANDLED; } show_menu_game( id ); return PLUGIN_HANDLED; }
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
(24/05/2023, 06:31 PM)Hinami escribió: https://github.com/Chris4589/zombie_esca...uentas.sma
En tu ZP y cambias el mysql init por el mysql para sql de roma y ya
Código PHP: #include <sqlx> #include <accsys>
new const szTable[] = "zp_classic_datos";
new g_id[ 33 ]; new Handle:g_hTuple;
enum { REGISTRAR_USUARIO, LOGUEAR_USUARIO, GUARDAR_DATOS };
new g_iStatus[33]; enum { NO_LOGUEADO = 0, LOGUEADO }
public DataHandler( failstate, Handle:Query, error[ ], error2, data[ ], datasize, Float:flTime ) { 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 ); } new id = data[ 0 ]; if( !is_user_connected( id ) ) return; switch( data[ 1 ] ) { case LOGUEAR_USUARIO: { if( SQL_NumResults( Query ) ) { g_ammopacks[ id ] = SQL_ReadResult( Query, 1 );
// Set the custom HUD display task //set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b");//muestras tu hud de zp ForceJoinTeam(id);
client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); client_print_color(id, print_team_blue, "Tu ID es %d pueden usarla para referenciarte con ella.", g_id[ id ]); g_iStatus[ id ] = LOGUEADO; } else { new szQuery[ MAX_MENU_LENGTH ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = REGISTRAR_USUARIO; formatex( szQuery, charsmax( szQuery ), "INSERT INTO %s (id_cuenta, ammopacks) VALUES (%d, %d)", szTable, g_id[ id ], g_ammopacks[ id ]); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); } } case REGISTRAR_USUARIO: { if( failstate < TQUERY_SUCCESS ) { console_print( id, "Error al crear un usuario: %s.", error ); } else { new szQuery[ MAX_MENU_LENGTH ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = LOGUEAR_USUARIO;
formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE id_cuenta='%d'", szTable, g_id[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); } } case GUARDAR_DATOS: { if( failstate < TQUERY_SUCCESS ) console_print( id, "Error en el guardado de datos." ); else console_print( id, "Datos guardados." ); } } }
//en
public client_disconnect(id) { //pones if( g_iStatus[ id ] == LOGUEADO ) { guardar_datos( id ); g_iStatus[ id ] = NO_LOGUEADO; } } //en public client_putinserver(id) { // Plugin disabled? //if (!g_pluginenabled) return; // Player joined //g_isconnected[id] = true g_iStatus[id] = NO_LOGUEADO;//pones esto
}
public guardar_datos( id ) { if(!advacc_user_logged(id) || g_iStatus[ id ] != LOGUEADO) return;
new szQuery[ MAX_MENU_LENGTH ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = GUARDAR_DATOS; formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET ammopacks='%d' WHERE id_cuenta='%d'", szTable, g_ammopacks[ id ], g_id[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); }
//en public event_round_start(){ for(new i = 1; i <= g_maxplayers; ++i) { if( !advacc_user_logged(i) || g_iStatus[ i ] != LOGUEADO ) continue;
guardar_datos( i ); } }
//al final del plugin
public MySQL_Init() { g_hTuple = advacc_guardado_get_handle( ); if( !g_hTuple ) { log_to_file( "SQL_ERROR.txt", "No se pudo conectar con la base de datos." ); return pause( "a" ); }
return PLUGIN_CONTINUE; }
//en
public plugin_init() MySQL_Init()//AL FINAL DEL PLUGIN INIT ANTES DE }
EN // Block Team Change
//TIENE QUE QUEDARTE ASI: public clcmd_changeteam(id) { if(!advacc_user_logged(id)) { open_cuenta_menu( id ); return PLUGIN_HANDLED; } show_menu_game( id ); return PLUGIN_HANDLED; }
Consulta, yo e usado ese sistema, llega un momento que exedo de variables para guardar como hago para guardar demasiadas variables en esta linea?
Código PHP: formatex( szQuery, charsmax( szQuery ), "UPDATE %s SET ammopacks='%d' WHERE id_cuenta='%d'", [/b]
Mensajes: 1,040
Temas: 89
Registro en: Jun 2015
Reputación:
21
24/05/2023, 07:51 PM
(Última modificación: 24/05/2023, 07:51 PM por HK-416.)
Creo que con algo asi
Código PHP: new szQuery[2000], len; len = 0; len += formatex(szQuery[len], sizeof szQuery - 1 - len, "UPDATE %s SET ", szTable); len += formatex(szQuery[len], sizeof szQuery - 1 - len, "ammopacks='%d', ammopacks='%d', ammopacks='%d' ", g_ammopacks[id], g_ammopacks[id], g_ammopacks[id]); len += formatex(szQuery[len], sizeof szQuery - 1 - len, "WHERE id_cuenta='%d'", g_id[id]);
“Quien te quiere en su vida, volverá a buscarte”
Qué frase más estúpida
Porque quien te quiere en su vida, jamás se iría.
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
lo que dijo shironeko, igual el guardado esta hecho para que no guardes cosas en 1 sola tabla. aunque lo hice hace tiempo así que tampoco es lo mejor
Mensajes: 196
Temas: 4
Registro en: Apr 2018
Reputación:
3
Te serviria un sistema de cuentas con grip?
|