Mensajes: 321
Temas: 71
Registro en: Jan 2016
Reputación:
0
Alguien por hay tendra algun sistema de cuenta por sqlite yo se que hay varios pero no se como guardar variables y me confundo al crear tabla etc
y ojala me explique un poco como crear una tabla con variables
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
16/12/2017, 12:25 AM
(Última modificación: 16/12/2017, 12:26 AM por Hinami.)
El de r0ma yo edite eso y me va de 10
Mira ese y pregunta por aquí mismo cualquier duda..
pd; en mi punto de vista para usar un sistema así es necesario saber lo básico de MySQL/SQL ( consultas básicas etc ), si no quédate en vault mejor.
Mensajes: 321
Temas: 71
Registro en: Jan 2016
Reputación:
0
Gracias cual podria usar ya que hay 2?
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
16/12/2017, 12:39 AM
(Última modificación: 16/12/2017, 12:44 AM por Hinami.)
el 112 creo que uso yo
ponte mis tablas yo las creo así
Código PHP: public MySQLx_Init( ) { g_hTuple = SQL_MakeDbTuple( MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATEBASE ); if( !g_hTuple ) { log_to_file( "SQL_ERROR.txt", "No se pudo conectar con la base de datos." ); return pause( "a" ); } new szTabla[ 2000 ], len = 0; len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable); len += format(szTabla[len], charsmax(szTabla) - len, "( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,"); len += format(szTabla[len], charsmax(szTabla) - len, "Password varchar(34) NOT NULL,"); len += format(szTabla[len], charsmax(szTabla) - len, "Pj varchar(32) NOT NULL UNIQUE KEY,"); len += format(szTabla[len], charsmax(szTabla) - len, "Exp int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "RR int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Aps int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Hat int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Kn int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Hud int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "gzm int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "ghm int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph1 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph2 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph3 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph4 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph5 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz1 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz2 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz3 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz4 int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz5 int(10) NOT NULL DEFAULT '0')"); SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla); return PLUGIN_CONTINUE; } #else public MySQLx_Init( ) { new get_type[ 12 ]; SQL_SetAffinity( "sqlite" ); SQL_GetAffinity( get_type, sizeof get_type ); if( !equali( get_type, "sqlite" ) ) { log_to_file( "SQLITE_ERROR.txt", "Error de conexion" ); return pause( "a" ); } g_hTuple = SQL_MakeDbTuple( "", "", "", SQLITE_DATEBASE ); new szTabla[ 2000 ], len = 0; len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable); len += format(szTabla[len], charsmax(szTabla) - len, "( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,"); len += format(szTabla[len], charsmax(szTabla) - len, "Password VARCHAR NOT NULL,"); len += format(szTabla[len], charsmax(szTabla) - len, "Pj VARCHAR NOT NULL UNIQUE,"); len += format(szTabla[len], charsmax(szTabla) - len, "Exp INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "RR INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Aps INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Hat INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Kn INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Hud INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "gzm INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "ghm INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph1 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph2 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph3 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph4 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Ph5 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz1 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz2 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz3 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz4 INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Pz5 INTEGER DEFAULT '0')"); SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla); return PLUGIN_CONTINUE }
#endif public QueryCreateTable(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize) { //posibles casos switch (FailState) { case TQUERY_CONNECT_FAILED: log_to_file("SQL_LOG_TQ.txt", "Failed to connect to database [%i]: %s", Errorcode, Error) case TQUERY_QUERY_FAILED: log_to_file("SQL_LOG_TQ.txt", "Error on query for creating table [%i]: %s", Errorcode, Error) } return PLUGIN_HANDLED; }
y el cargado así
Código PHP: public guardar_datos( id ) { new szTabla[ 1000 ], len = 0, iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = GUARDAR_DATOS; //actualizamos los kilss etc donde la id sea igual a la id del player ='%d', len += format(szTabla[len], charsmax(szTabla) - len, "UPDATE %s SET Exp='%d', ", szTable, g_isExp[ id ]); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl='%d', RR='%d', Aps='%d', Hat='%d', Kn='%d',", g_isLevel[ id ], g_isReset[ id ], g_ammopacks[ id ], g_isHat[ id ], g_isKnife[ id ]); len += format(szTabla[len], charsmax(szTabla) - len, "Hud='%d', gzm='%d', ghm='%d', Ph='%d', Pz='%d',", g_hud_type[ id ], g_gastados[ id ][ 1 ], g_gastados[ id ][ 0 ], g_skill_points_type[ id ][ 0 ], g_skill_points_type[ id ][ 1 ]); len += format(szTabla[len], charsmax(szTabla) - len, "Ph1='%d', Ph2='%d', Ph3='%d', Ph4='%d', Ph5='%d',", g_skill_points[ id ][ 0 ][ 0 ], g_skill_points[ id ][ 0 ][ 1 ], g_skill_points[ id ][ 0 ][ 2 ], g_skill_points[ id ][ 0 ][ 3 ], g_skill_points[ id ][ 0 ][ 4 ]); len += format(szTabla[len], charsmax(szTabla) - len, "Pz1='%d', Pz2='%d', Pz3='%d', Pz4='%d', Pz5='%d' ", g_skill_points[ id ][ 1 ][ 0 ], g_skill_points[ id ][ 1 ][ 1 ], g_skill_points[ id ][ 1 ][ 2 ], g_skill_points[ id ][ 1 ][ 3 ], g_skill_points[ id ][ 1 ][ 4 ]); len += format(szTabla[len], charsmax(szTabla) - len, "WHERE id='%d'", g_id[ id ]); //ejecutamos la consulta SQL_ThreadQuery( g_hTuple, "DataHandler", szTabla, iData, 2 ); }
el logueo
Código PHP: case LOGUEAR_CUENTA: { if( SQL_NumResults( Query ) ) { g_id[ id ] = SQL_ReadResult( Query, 0 ); SQL_ReadResult( Query, 2, g_playername[ id ], charsmax( g_playername[ ] ) ); // Cargamos datos g_isExp[ id ] = SQL_ReadResult( Query, 3 ); g_isLevel[ id ] = SQL_ReadResult( Query, 4 ); g_isReset[ id ] = SQL_ReadResult( Query, 5 ); g_ammopacks[ id ] = SQL_ReadResult( Query, 6 ); g_isHat[ id ] = SQL_ReadResult( Query, 7 ); g_isKnife[ id ] = SQL_ReadResult( Query, 8 ); g_hud_type[ id ] = SQL_ReadResult( Query, 9 ); g_gastados[ id ][ 1 ] = SQL_ReadResult( Query, 10 ); g_gastados[ id ][ 0 ] = SQL_ReadResult( Query, 11 ); g_skill_points_type[ id ][ 0 ] = SQL_ReadResult( Query, 12 ); g_skill_points_type[ id ][ 1 ] = SQL_ReadResult( Query, 13 ); for(new i = 0; i < 6; ++i) g_skill_points[ id ][ 0 ] [ i ] = SQL_ReadResult( Query, i+14 ); // 18 for(new i = 0; i < 6; ++i) g_skill_points[ id ][ 1 ] [ i ] = SQL_ReadResult( Query, i+19 ); // 23 func_login_success( id ); } else { zp_colored_print( id, "^x04[ZE]^x01 Contraseñ incorrecta." ); client_cmd( id, "spk buttons/button10.wav" ); show_login_menu( id ); } }
la edite un poco tenia más cosas xd
con eso corres mysql y sql
Mensajes: 321
Temas: 71
Registro en: Jan 2016
Reputación:
0
Genial !!
osea eso crearia automaticamente la tabla ?
copie y pege
mira
Código PHP: #include <amxmodx> #include <sqlx> #include <hamsandwich> #include <fun> //#define MYSQL
#if defined MYSQL
#define MYSQL_HOST "127.0.0.1" #define MYSQL_USER "root" #define MYSQL_PASS "" #define MYSQL_DATEBASE "cuentaszp"
#else
#define SQLITE_DATEBASE "cuentaszp"
#endif #define LevelNext(%1) (%1 * 55 + 20) #define LevelMax 30 new const TAG[] = "[ZP]"; new g_level[33]; new g_exp[33]; new const szTable[ ] = "cuentas"; new const szPrefix[ ] = "[Cuentas]";
new Handle:g_hTuple; new g_maxplayers;
new g_estado; new g_id[ 33 ]; new g_usuario[ 33 ][ 34 ]; new g_password[ 33 ][ 34 ]; new g_playername[ 33 ][ 33 ];
enum { REGISTRAR_CUENTA, LOGUEAR_CUENTA, CARGAR_DATOS, GUARDAR_DATOS }; public plugin_init() { register_plugin("Sistema de cuentas MySQL/SQLite", "1.1.3", "r0ma");
register_clcmd( "CREAR_USUARIO", "reg_usuario" ); register_clcmd("say /god", "cmd_god") register_clcmd( "CREAR_PASSWORD", "reg_password" ); register_clcmd( "LOGUEAR_USUARIO", "log_usuario" ); register_clcmd( "LOGUEAR_PASSWORD", "log_password" ); RegisterHam(Ham_Killed, "player", "ham_PlayerKilled", 1 );
register_clcmd( "chooseteam", "clcmd_changeteam" ); register_clcmd( "jointeam", "clcmd_changeteam" ); register_message( get_user_msgid( "ShowMenu" ), "message_ShowMenu" ); register_message( get_user_msgid( "VGUIMenu" ), "message_VGUIMenu" ); register_event( "HLTV", "event_round_start", "a", "1=0", "2=0" ); g_maxplayers = get_maxplayers( ); MySQLx_Init( ); } public client_putinserver(id) { set_task(2.0, "ShowHud", id, _, _, "b") g_level[id] = 1; g_exp[id] = 0; } public cmd_god(id) { set_user_godmode(id, 1) } public ShowHud(id) { if(is_user_alive(id)) { set_hudmessage(0, 255, 255, 0.0, 0.27, 0, 6.0, 12.0) show_hudmessage(id, "Vida: %d HP^nEXP: %d/%d | Nivel (%d/%d)", get_user_health(id), g_exp[id], LevelNext(g_level[id]), g_level[id], LevelMax) } } public message_VGUIMenu( iMsgid, iDest, id ) { if( g_estado & (1<<id) || get_msg_arg_int( 1 ) != 2 ) return PLUGIN_CONTINUE; show_login_menu( id ); return PLUGIN_HANDLED; }
public message_ShowMenu( iMsgid, iDest, id ) { if( g_estado & (1<<id) ) return PLUGIN_CONTINUE; static sMenuCode[ 33 ]; get_msg_arg_string( 4, sMenuCode, charsmax( sMenuCode ) ); if( containi( sMenuCode, "Team_Select" ) != -1 ) { show_login_menu( id ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
public clcmd_changeteam( id ) { if( ~g_estado & (1<<id) ) { show_login_menu( id ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
public show_login_menu( id ) { new menu = menu_create( "Zombie Plague Invictus", "login_menu" ); menu_additem(menu, "Crear cuenta"); menu_additem(menu, "Ingresar"); menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER); menu_display(id, menu); return PLUGIN_HANDLED; } public login_menu( id, menu, item ) { switch( item ) { case 0: client_cmd( id, "messagemode CREAR_USUARIO" ); case 1: client_cmd( id, "messagemode LOGUEAR_USUARIO" ); } return PLUGIN_HANDLED; } public reg_usuario( id ) { read_args( g_usuario[ id ], charsmax( g_usuario[ ] ) ); remove_quotes( g_usuario[ id ] ); trim( g_usuario[ id ] ); md5( g_usuario[ id ], g_usuario[ id ] ); client_cmd( id, "messagemode CREAR_PASSWORD" ); return PLUGIN_HANDLED; }
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_CUENTA; get_user_name( id, g_playername[ id ], charsmax( g_playername[ ] ) ); formatex( szQuery, charsmax( szQuery ), "INSERT INTO %s (Usuario, Password, Pj) VALUES (^"%s^", ^"%s^", ^"%s^")", szTable, g_usuario[ id ], g_password[ id ], g_playername[ id ] ); SQL_ThreadQuery(g_hTuple, "DataHandler", szQuery, iData, 2); return PLUGIN_HANDLED; }
public log_usuario( id ) { read_args( g_usuario[ id ], charsmax( g_usuario[ ] ) ); remove_quotes( g_usuario[ id ] ); trim( g_usuario[ id ] ); md5( g_usuario[ id ], g_usuario[ id ] ); client_cmd( id, "messagemode LOGUEAR_PASSWORD" ); 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_CUENTA; formatex( szQuery, charsmax( szQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^" AND Password=^"%s^"", szTable, g_usuario[ id ], g_password[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); return PLUGIN_HANDLED; } public guardar_datos( id ) { new szTabla[ 1000 ], len = 0, iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = GUARDAR_DATOS; //actualizamos los kilss etc donde la id sea igual a la id del player ='%d', len += format(szTabla[len], charsmax(szTabla) - len, "UPDATE %s SET Exp='%d', ", szTable, g_exp[ id ]); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl='%d',", g_level[ id ]) len += format(szTabla[len], charsmax(szTabla) - len, "WHERE id='%d'", g_id[ id ]); //ejecutamos la consulta SQL_ThreadQuery( g_hTuple, "DataHandler", szTabla, 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_CUENTA: { 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[ 128 ], iData[ 2 ]; iData[ 0 ] = id; iData[ 1 ] = CARGAR_DATOS; formatex( szQuery, charsmax( szQuery ), "SELECT id FROM %s WHERE Usuario=^"%s^"", szTable, g_usuario[ id ] ); SQL_ThreadQuery( g_hTuple, "DataHandler", szQuery, iData, 2 ); } } case LOGUEAR_CUENTA: { if( SQL_NumResults( Query ) ) { g_id[ id ] = SQL_ReadResult( Query, 0 ); SQL_ReadResult( Query, 3, g_playername[ id ], charsmax( g_playername[ ] ) ); // Cargamos datos g_exp[ id ] = SQL_ReadResult( Query, 4 ); func_login_success( id ); } else { client_print( id, print_chat, "%s Usuario o Contraseñ 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 ); // Ponemos la exp en 0 para el nuevo usuario. g_exp[ id ] = 0; 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 ); } } }
public func_login_success( id ) { engclient_cmd( id, "jointeam", "5" ); engclient_cmd( id, "joinclass", "5" ); g_estado |= (1<<id); set_user_info( id, "name", g_playername[ id ] ); }
public event_round_start( ) { for( new i = 1; i <= g_maxplayers; i++ ) { if( g_estado & (1<<i) && is_user_connected( i ) ) guardar_datos( i ); } }
public client_infochanged( id ) { if( ~g_estado & (1<<id) ) return PLUGIN_CONTINUE; static name[ 33 ]; get_user_info( id, "name", name, charsmax( name ) ); if( !equal( g_playername[ id ], name ) ) { set_user_info( id, "name", g_playername[ id ] ); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; }
public client_disconnect( id ) { if( g_estado & (1<<id) ) { guardar_datos( id ); g_estado &= ~(1<<id); } g_usuario[ id ][ 0 ] = '^0'; g_password[ id ][ 0 ] = '^0'; }
#if defined MYSQL public MySQLx_Init( ) { g_hTuple = SQL_MakeDbTuple( MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATEBASE ); if( !g_hTuple ) { log_to_file( "SQL_ERROR.txt", "No se pudo conectar con la base de datos." ); return pause( "a" ); } new szTabla[ 2000 ], len = 0; len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable); len += format(szTabla[len], charsmax(szTabla) - len, "( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,"); len += format(szTabla[len], charsmax(szTabla) - len, "Password varchar(34) NOT NULL,"); len += format(szTabla[len], charsmax(szTabla) - len, "Pj varchar(32) NOT NULL UNIQUE KEY,"); len += format(szTabla[len], charsmax(szTabla) - len, "Exp int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl int(10) NOT NULL DEFAULT '0',");
SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla); return PLUGIN_CONTINUE; } #else public MySQLx_Init( ) { new get_type[ 12 ]; SQL_SetAffinity( "sqlite" ); SQL_GetAffinity( get_type, sizeof get_type ); if( !equali( get_type, "sqlite" ) ) { log_to_file( "SQLITE_ERROR.txt", "Error de conexion" ); return pause( "a" ); } g_hTuple = SQL_MakeDbTuple( "", "", "", SQLITE_DATEBASE ); new szTabla[ 2000 ], len = 0; len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable); len += format(szTabla[len], charsmax(szTabla) - len, "( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,"); len += format(szTabla[len], charsmax(szTabla) - len, "Password VARCHAR NOT NULL,"); len += format(szTabla[len], charsmax(szTabla) - len, "Pj VARCHAR NOT NULL UNIQUE,"); len += format(szTabla[len], charsmax(szTabla) - len, "Exp INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl INTEGER DEFAULT '0',"); SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla); return PLUGIN_CONTINUE } public QueryCreateTable(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize) { //posibles casos switch (FailState) { case TQUERY_CONNECT_FAILED: log_to_file("SQL_LOG_TQ.txt", "Failed to connect to database [%i]: %s", Errorcode, Error) case TQUERY_QUERY_FAILED: log_to_file("SQL_LOG_TQ.txt", "Error on query for creating table [%i]: %s", Errorcode, Error) } return PLUGIN_HANDLED; } #endif public plugin_end() { SQL_FreeHandle( g_hTuple ); } public ham_PlayerKilled( victim, attacker, shouldgib ) { if( !is_user_connected( victim ) || !is_user_connected( attacker ) || get_user_team( victim ) == get_user_team( attacker ) ) { return HAM_IGNORED; } if(g_level[ attacker ] == LevelMax ) { client_print(attacker, print_chat, "%s No has ganado exp, por estar en tu nivel maximo.", TAG) return HAM_IGNORED; } g_exp[ attacker ] += 9 client_print(attacker, print_chat, "%s Has ganado 9 de exp por matar") checkLevel( attacker ); return HAM_IGNORED; } public checkLevel( id ) { new iUploaded = false;
while( g_exp[ id ] >= LevelNext( g_level[ id ] ) && g_level[ id ] < LevelMax ) // nivel y que el nivel sea menor al nivel máximo, así podrá subir de nivel la persona. { ++g_level[ id ]; iUploaded = true; }
if(iUploaded ) { client_print( id, print_chat, "%s Felicidades subiste al nivel: %d.", TAG, g_level[ id ] ); iUploaded = false; } }
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
16/12/2017, 02:30 AM
(Última modificación: 16/12/2017, 02:31 AM por Hinami.)
El ultimo no lleva " , " si no )
Código PHP: public MySQLx_Init( ) { g_hTuple = SQL_MakeDbTuple( MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DATEBASE ); if( !g_hTuple ) { log_to_file( "SQL_ERROR.txt", "No se pudo conectar con la base de datos." ); return pause( "a" ); } new szTabla[ 2000 ], len = 0; len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable); len += format(szTabla[len], charsmax(szTabla) - len, "( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,"); len += format(szTabla[len], charsmax(szTabla) - len, "Password varchar(34) NOT NULL,"); len += format(szTabla[len], charsmax(szTabla) - len, "Pj varchar(32) NOT NULL UNIQUE KEY,"); len += format(szTabla[len], charsmax(szTabla) - len, "Exp int(10) NOT NULL DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl int(10) NOT NULL DEFAULT '0')");
SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla); return PLUGIN_CONTINUE; } #else public MySQLx_Init( ) { new get_type[ 12 ]; SQL_SetAffinity( "sqlite" ); SQL_GetAffinity( get_type, sizeof get_type ); if( !equali( get_type, "sqlite" ) ) { log_to_file( "SQLITE_ERROR.txt", "Error de conexion" ); return pause( "a" ); } g_hTuple = SQL_MakeDbTuple( "", "", "", SQLITE_DATEBASE ); new szTabla[ 2000 ], len = 0; len += format(szTabla[len], charsmax(szTabla) - len, "CREATE TABLE IF NOT EXISTS %s", szTable); len += format(szTabla[len], charsmax(szTabla) - len, "( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE,"); len += format(szTabla[len], charsmax(szTabla) - len, "Password VARCHAR NOT NULL,"); len += format(szTabla[len], charsmax(szTabla) - len, "Pj VARCHAR NOT NULL UNIQUE,"); len += format(szTabla[len], charsmax(szTabla) - len, "Exp INTEGER DEFAULT '0',"); len += format(szTabla[len], charsmax(szTabla) - len, "Lvl INTEGER DEFAULT '0')"); SQL_ThreadQuery(g_hTuple, "QueryCreateTable", szTabla); return PLUGIN_CONTINUE }
nada más fijate en el tema como se creaba tu tabla, al mío le quite el usuario. pero es un ejemplo de como se hace
|