Raised This Month: $ Target: $400
 0% 

Save data (add a menu more) syst.accountMYSQL


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
Rigex
Junior Member
Join Date: Sep 2016
Old 03-24-2017 , 14:15   Save data (add a menu more) syst.accountMYSQL
Reply With Quote #1

Hello I need a help, I want to add to this code, I need to save the name and password when registering also register if it is human zombie or HM, and save that, the truth is not much I am not so advanced and I need a little, Thanks in advance.

PHP Code:
#include < amxmodx >
#include < sqlx >


#define MYSQL

#if defined MYSQL

#define MYSQL_HOST "localhost"
#define MYSQL_USER "root"
#define MYSQL_PASS ""
#define MYSQL_DATEBASE "FFH"

#else

#define SQLITE_DATEBASE "cuentas"

#endif

new const szTable[ ] = "cuentas"

new const szPrefix[ ] = "[Cuentas]";

new 
Handle:g_hTuple;
new 
g_maxplayers;

new 
gClase33 ];

new 
g_estado;
new 
g_id33 ];
new 
g_usuario33 ][ 34 ];
new 
g_password33 ][ 34 ];
new 
g_playername33 ][ 33 ];

enum
{
    
REGISTRAR_CUENTA,
    
LOGUEAR_CUENTA,
    
CARGAR_DATOS,
    
GUARDAR_DATOS
};

/* consulta MYSQL:
CREATE TABLE cuentas 
(
    id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    Usuario varchar(34) NOT NULL UNIQUE KEY, 
    Password varchar(34) NOT NULL, 
    Pj varchar(32) NOT NULL UNIQUE KEY,
)
*/

/* consulta SQLite:
CREATE TABLE "cuentas" 
(
    "id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL, 
    "Usuario" VARCHAR NOT NULL  UNIQUE, 
    "Password" VARCHAR NOT NULL, 
    "Pj" VARCHAR NOT NULL  UNIQUE,
    "Experiencia" INTEGER DEFAULT 0
)
*/


public plugin_init( )  {
    
register_pluginPLUGINVERSIONAUTHOR );

    
register_clcmd"CREAR_USUARIO""reg_usuario" );
    
register_clcmd"CREAR_PASSWORD""reg_password" );
    
register_clcmd"LOGUEAR_USUARIO""log_usuario" );
    
register_clcmd"LOGUEAR_PASSWORD""log_password" );
    
    
register_clcmd"chooseteam""clcmd_changeteam" );
    
register_clcmd"jointeam""clcmd_changeteam" );
    
    
register_messageget_user_msgid"ShowMenu" ), "message_ShowMenu" );
    
register_messageget_user_msgid"VGUIMenu" ), "message_VGUIMenu" );
    
    
register_event"HLTV""event_round_start""a""1=0""2=0" );
    
    
g_maxplayers get_maxplayers( );
    
    
MySQLx_Init( );
}

public 
message_VGUIMenuiMsgidiDestid ) {
    if( 
g_estado & (1<<id) ||  get_msg_arg_int) != 
        return 
PLUGIN_CONTINUE;
    
    
show_login_menuid );
    return 
PLUGIN_HANDLED;
}

public 
message_ShowMenuiMsgidiDestid ) {
    if( 
g_estado & (1<<id) )
        return 
PLUGIN_CONTINUE;
    
    static 
sMenuCode33 ];
    
get_msg_arg_string4sMenuCodecharsmaxsMenuCode ) );
    
    if( 
containisMenuCode"Team_Select" ) != -) {
        
show_login_menuid );
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
clcmd_changeteamid ) {
    if( ~
g_estado & (1<<id) ) {
        
show_login_menuid );
        
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
show_login_menuid ) {
    new 
menu menu_create"Menu de cuentas""login_menu" );
    
    
menu_additemmenu"Crear cuenta" );
    
menu_additemmenu"Ingresar" );
    
    
menu_setpropmenuMPROP_EXITMEXIT_NEVER );
    
    
menu_displayidmenu );
    
    return 
PLUGIN_HANDLED;
}

public 
login_menuidmenuitem ) {
    
    switch( 
item ) {
        case 
0client_cmdid"messagemode CREAR_USUARIO" );
        case 
1client_cmdid"messagemode LOGUEAR_USUARIO" );
    }
    
    return 
PLUGIN_HANDLED;
}

public 
sec_claseid )
{
    new 
menu menu_create"Menu de cuentas""sec_menu" );
    
    
menu_additemmenu"Zombie" );
    
menu_additemmenu"Humano" );
    
menu_additemmenu"Red" );
    
    
menu_setpropmenuMPROP_EXITMEXIT_NEVER);
    
    
menu_displayidmenu);
    
    return 
PLUGIN_HANDLED;
}

public 
sec_menuidmenuitem ){
    
    switch( 
item ){
        case 
0gClase[id] = 1;
        case 
1gClase[id] = 2;
        case 
2gClase[id] = 3;
    }
    
    return 
PLUGIN_HANDLED;
}

public 
reg_usuarioid ) {
    
read_argsg_usuarioid ], charsmaxg_usuario[ ] ) );
    
remove_quotesg_usuarioid ] );
    
trimg_usuarioid ] );
    
    
md5g_usuarioid ], g_usuarioid ] );
    
    
client_cmdid"messagemode CREAR_PASSWORD" );
    
    return 
PLUGIN_HANDLED;
}

public 
reg_passwordid ) {
    
read_argsg_passwordid ], charsmaxg_password[ ] ) );
    
remove_quotesg_passwordid ] );
    
trimg_passwordid ] );
    
md5g_passwordid ], g_passwordid ] );
    
    new 
szQuery256 ], iData];
    
    
iData] = id;
    
iData] = REGISTRAR_CUENTA;
    
    
get_user_nameidg_playernameid ], charsmaxg_playername[ ] ) );
    
    
formatexszQuerycharsmaxszQuery ), "INSERT INTO %s (Usuario, Password, Pj) VALUES (^"%s^", ^"%s^", ^"%s^")"szTableg_usuarioid ], g_passwordid ], g_playernameid ] );
    
SQL_ThreadQuery(g_hTuple"DataHandler"szQueryiData2);
    
    
    return 
PLUGIN_HANDLED;
}

public 
log_usuarioid ) {
    
read_argsg_usuarioid ], charsmaxg_usuario[ ] ) );
    
remove_quotesg_usuarioid ] );
    
trimg_usuarioid ] );
    
md5g_usuarioid ], g_usuarioid ] );
    
    
client_cmdid"messagemode LOGUEAR_PASSWORD" );
    
    return 
PLUGIN_HANDLED;
}

public 
log_passwordid ) {
    
read_argsg_passwordid ], charsmaxg_password[ ] ) );
    
remove_quotesg_passwordid ] );
    
trimg_passwordid ] );
    
md5g_passwordid ], g_passwordid ] );
    
    new 
szQuery128 ], iData];
    
    
iData] = id;
    
iData] = LOGUEAR_CUENTA;
    
    
formatexszQuerycharsmaxszQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^" AND Password=^"%s^""szTableg_usuarioid ], g_passwordid ] );
    
SQL_ThreadQueryg_hTuple"DataHandler"szQueryiData);
    
    return 
PLUGIN_HANDLED;
}

public 
guardar_datosid ) {
    new 
szQuery128 ], iData];
    
    
iData] = id;
    
iData] = GUARDAR_DATOS;
    
    
formatexszQuerycharsmaxszQuery ), "UPDATE %s SET WHERE id='%d'"szTableg_idid ] );
    
SQL_ThreadQueryg_hTuple"DataHandler"szQueryiData);
}

public 
DataHandlerfailstateHandle:Queryerror[ ], error2data[ ], datasizeFloat:time ) {
    static 
id;
    
id data];
    
    if( !
is_user_connectedid ) )
        return;

    switch( 
failstate ) {
        case 
TQUERY_CONNECT_FAILED: {
            
log_to_file"SQL_LOG_TQ.txt""Error en la conexion al MySQL [%i]: %s"error2error );
            return;
        }
        case 
TQUERY_QUERY_FAILED:
            
log_to_file"SQL_LOG_TQ.txt""Error en la consulta al MySQL [%i]: %s"error2error );
    }
    
    switch( 
data] ) {
        case 
REGISTRAR_CUENTA: {
            if( 
failstate TQUERY_SUCCESS ) {
                if( 
containierror"Usuario" ) != -)
                    
client_printidprint_chat"%s El usuario ya existe."szPrefix );

                else if( 
containierror"Pj" ) != -)
                    
client_printidprint_chat"%s El nombre de personaje esta en uso."szPrefix );
                else
                    
client_printidprint_chat"%s Error al crear la cuenta. Intente nuevamente."szPrefix );
                
                
client_cmdid"spk buttons/button10.wav" );
                
                
show_login_menuid );
            }
            else {
                
client_printidprint_chat"%s Tu cuenta ha sido creada correctamente."szPrefix );
                
                new 
szQuery128 ], iData];
                
                
iData] = id;
                
iData] = CARGAR_DATOS;
                
                
formatexszQuerycharsmaxszQuery ), "SELECT id FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] );
                
SQL_ThreadQueryg_hTuple"DataHandler"szQueryiData);
            }
            
        }
        case 
LOGUEAR_CUENTA: {
            if( 
SQL_NumResultsQuery ) ) {
                
g_idid ] = SQL_ReadResultQuery);
                
SQL_ReadResultQuery3g_playernameid ], charsmaxg_playername[ ] ) );                    
                
                
// Cargamos datos
                
                
func_login_successid );
            }
            else {
                
client_printidprint_chat"%s Usuario o ContraseA± incorrecta."szPrefix );
                
client_cmdid"spk buttons/button10.wav" );
                
                
show_login_menuid );
            }
        }
        case 
CARGAR_DATOS: {
            if( 
SQL_NumResultsQuery ) ) {
                
g_idid ] = SQL_ReadResultQuery);
                
                
// Ponemos la exp en 0 para el nuevo usuario.
                
                
func_login_successid );
            }
            else {
                
client_printidprint_chat"%s Error al cargar los datos, intente nuevamente."szPrefix );
                
show_login_menuid );
            }
        }
        case 
GUARDAR_DATOS: {
            if( 
failstate TQUERY_SUCCESS )
                
console_printid"%s Error en el guardado de datos."szPrefix );
            
            else
                
console_printid"%s Datos guardados."szPrefix );
        }
    }
}

public 
func_login_successid ) {
    
engclient_cmdid"jointeam""5" );
    
engclient_cmdid"joinclass""5" );
    
    
g_estado |= (1<<id);
    
    
set_user_infoid"name"g_playernameid ] );
}

public 
event_round_start( ) {
    for( new 
1<= g_maxplayersi++ ) {
        if( 
g_estado & (1<<i) && is_user_connected) )
            
guardar_datos);
    }
}        

public 
client_infochangedid ) {
    if( ~
g_estado & (1<<id) )
        return 
PLUGIN_CONTINUE;
    
    static 
name33 ];
    
get_user_infoid"name"namecharsmaxname ) );
    
    if( !
equalg_playernameid ], name ) ) {
        
set_user_infoid"name"g_playernameid ] );
        
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
client_disconnect(  id ) {
    
    if( 
g_estado & (1<<id) ) {
        
guardar_datosid );
        
        
g_estado &= ~(1<<id);
    }
    
    
g_usuarioid ][ ] = '^0';
    
g_passwordid ][ ] = '^0';
}

#if defined MYSQL
public MySQLx_Init( )
{
    
g_hTuple SQL_MakeDbTupleMYSQL_HOSTMYSQL_USERMYSQL_PASSMYSQL_DATEBASE );
    
    if( !
g_hTuple 
    {
        
log_to_file"SQL_ERROR.txt""No se pudo conectar con la base de datos." );
        return 
pause"a" );
    }
    
    return 
PLUGIN_CONTINUE;
}
#else

// Gracias ILUSION por fixear la conexion
public MySQLx_Init( )
{
    new 
get_type12 ];
    
    
SQL_SetAffinity"sqlite" );
    
    
SQL_GetAffinityget_typesizeof get_type );

    if( !
equaliget_type"sqlite" ) )
    {
        
log_to_file"SQLITE_ERROR.txt""Error de conexion" );
        return 
pause"a" );
    }
    
    
g_hTuple SQL_MakeDbTuple""""""SQLITE_DATEBASE );
    
    return 
PLUGIN_CONTINUE
}
#endif

public plugin_end( )
    
SQL_FreeHandleg_hTuple ); 
this is what i wanna add, and i need too that save the class please in the database

PHP Code:
public sec_claseid )
{
    new 
menu menu_create"Menu de cuentas""sec_menu" );
    
    
menu_additemmenu"Zombie" );
    
menu_additemmenu"Humano" );
    
menu_additemmenu"Red" );
    
    
menu_setpropmenuMPROP_EXITMEXIT_NEVER);
    
    
menu_displayidmenu);
    
    return 
PLUGIN_HANDLED;
}

public 
sec_menuidmenuitem ){
    
    switch( 
item ){
        case 
0gClase[id] = 1;
        case 
1gClase[id] = 2;
        case 
2gClase[id] = 3;
    }
    
    return 
PLUGIN_HANDLED;


Last edited by Rigex; 03-24-2017 at 14:16.
Rigex is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 18:04.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode