Base de Datos para Sistema de Cuentas r0ma
#1
Hola gente de alliedmods! En este tutorial les vengo a enseñar a como crear una base de datos para el sistema de cuentas de r0ma, ya que últimamente mucha gente lo utiliza y generalmente no saben como crear la base de datos. Me surgió esta idea porque yo era uno de esos que ni idea como hacer para que se guarden los datos, pero con ayuda de mongito100 (Mi querido Moncha) hicimos nuestra primer base de datos ya hace bastantes meses.

Creditos a Anti por pasarme el programa y asi aprender lo que explicare mas adelante.

Antes de que empecemos cabe aclarar que lo que voy a explicar se hace con el Mozilla Firefox y con un programa llamado SQLite Manager

Empezando el tutorial:

DESCARGA:
1- Debemos descargar el SQLite Manager desde el mozilla en el siguiente link ( pagina ):
SQLite Manager

Si no tienen el mozilla: https://www.mozilla.org/es-ES/firefox/ne...m=referral]

2- Le dan a Agregar a Firefox

[Imagen: if0f9f.jpg]

3- Se les va a descargar y les va a aparecer que si lo quieren instalar, obviamente le hacemos click a Instalar Ahora:

[Imagen: sdhfcx.jpg]

4- Una vez que lo instalamos les va a aparecer que se instalara después de que reinicien Firefox, y lo que hacemos es hacer click en reiniciar ahora ( con este simple paso finalizamos la Descarga ):

[Imagen: 2cehm6u.jpg]

¿ Donde se encuentra SQLite Manager para utilizarlo ?

5- Abren el firefox , van a la opción de Herramientas y les aparecerá el icono del programa.

[Imagen: 2m4d0qv.jpg]

Antes de empezar a utilizar el programa recientemente descargado tienen que tener en su plugin ya instalado el sistema de cuentas de r0ma, con las variables que ustedes quieran guardar. Los nombres puestos en el sistema tienen que ser iguales en los que vamos a poner en la base de datos. Por ej:

Código PHP:
formatexszQuerycharsmaxszQuery ), "SELECT id, Experiencia, Levels, Frags, Puntos FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] ); 

6- En la base de datos vamos a tener que poner las variables tal cual la pusieron en el plugin. Imagen:

[Imagen: 9u5k5w.jpg]

Como ven en la imagen puse los mismos nombres que puse en el plugin! Si no es así, esto no dará resultado.

Yo lo voy a hacer con las siguientes variables:

Código PHP:
g_Levels g_Fragsg_Puntos 

7 -Una vez hecho todo lo anterior vamos al programa y abrimos el cuentas.sq3 de r0ma.
Si no lo tienen: http://amxmodx-es.com/Thread-Sistema-de-...SQL-SQLITE]

¿Como lo abrimos?

[Imagen: i43710.jpg]

8- Una vez que pusimos Conectar Base de Datos nos aparecerá un cuadrito para buscar los archivos que queremos seleccionar y seleccionamos en tipo: Todos los Archivos

[Imagen: 9lg5ky.jpg]

9- Y ahora buscamos el cuentas.sq3 donde ustedes lo han descargado y lo abren.
En el lado izquierdo le dan a tables, eligen cuentas y a su derecha les aparecerá lo que tiene guardado el cuentas.sq3.

[Imagen: 5b5ufo.jpg]

Acá viene lo lindo, ahora para agregar los Niveles, Frags y Puntos al guardado tenemos que Insertar un nombre, el tipo y el Por defecto.
Se encuentra más debajo de las columnas:

[Imagen: 1198awk.jpg]

10- En Nombre: Ponemos las variables que pusimos en el plugin tal cual estaban.

En mi caso era así:

Código PHP:
formatexszQuerycharsmaxszQuery ), "SELECT id, Experiencia, Levels, Frags, Puntos FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] ); 

Entonces en nombre pongo: Levels

En Tipo: Va como es la variable, es decir, si la variable es Float, elegimos la opción FLOAT, si la variable es Bool iría BOOL. Pero en este caso los Niveles, Frags y Puntos son Integer entonces elijo la opción INTEGER. ( Si este paso no es entendible , envíame un Mensaje Privado )

En Por Defecto: es el valor de la variable, en mi caso va 1 así cuando el jugador entra es nivel 1. En el caso de los Frags iría 0 entonces el jugador al entrar tiene 0 Frags ( mismo es el caso de los Puntos ).

11 -Una vez completado los datos le damos a añadir columna y les aparecerá:

Está seguro de que desea realizar las siguientes operaciones:
Add Column to Table cuentas
SQL:
ALTER TABLE "main"."cuentas" ADD COLUMN "Levels" INTEGER DEFAULT 0

12- Ustedes le dan a Si y listo! Tendrán una variable ya guardada!

[Imagen: 2q1v4nr.jpg]

13- Así hacen lo mismo con las otras variables. Y ahora para guardar la base de datos vamos a Base de Datos, Actualizar. Y listo, cierran el programa.

[Imagen: drawxx.jpg]

El cuentas.sq3 deben ponerlo en la carpeta counter strike / cstrike / addons / Addons / Data / sqlite3 / ACA VA.

Si no tienen esa carpeta, la crean.

Bueno me llevo mucho tiempo hacer esto, espero que les sirva, porque lo hice paso por paso bien explicado y con imágenes.

Aca les dejo el Sistema de cuentas de r0ma adaptado con los Niveles, Frags y Puntos.

Código PHP:
#include < amxmodx >
#include < sqlx >

#define PLUGIN "Sistema de cuentas MySQL/SQLite"
#define VERSION "1.1.1"
#define AUTHOR "r0ma"

#define MYSQL

#if defined MYSQL

#define MYSQL_HOST "127.0.0.1"
#define MYSQL_USER "root"
#define MYSQL_PASS ""
#define MYSQL_DATEBASE "cuentas"

#else

#define SQLITE_DATEBASE "cuentas"

#endif

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

new 
Handle:g_hTuple;
new 
g_maxplayers;

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

new 
g_experiencia33 ];

enum {
    
OFFLINE,
    
LOGUEADO
};

enum
{
    
REGISTRAR_USUARIO,
    
REGISTRAR_PASSWORD,
    
LOGUEAR_USUARIO,
    
LOGUEAR_PASSWORD,
    
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,
    Experiencia int(10) NOT NULL DEFAULT '0'
)
*/

/* 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_clcmd"menuselect""menu_select" );
    
    
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_estadoid ] == LOGUEADO ||  get_msg_arg_int) != 
        return 
PLUGIN_CONTINUE;
    
    
show_login_menuid );
    return 
PLUGIN_HANDLED;
}

public 
message_ShowMenuiMsgidiDestid ) {
    if( 
g_estadoid ] == LOGUEADO )
        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_estadoid ] != LOGUEADO ) {
        
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""1" );
    
menu_additemmenu"Ingresar""2" );
    
    
menu_setpropmenuMPROP_EXITMEXIT_NEVER );
    
    
menu_displayidmenu );
    
menu_destroymenu );
}

public 
login_menuidmenuitem ) {
}

public 
menu_selectid ) {
    if( 
g_estadoid ] == OFFLINE ) {
        new 
args];
        
        
read_argsargscharsmaxargs ) );
        
        if( 
str_to_numargs ) == )
            
client_cmdid"messagemode CREAR_USUARIO" );
        else
            
client_cmdid"messagemode LOGUEAR_USUARIO" );
        
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

public 
reg_usuarioid ) {
    
read_argsg_usuarioid ], charsmaxg_usuario[ ] ) );
    
remove_quotesg_usuarioid ] );
    
trimg_usuarioid ] );
    
    
md5g_usuarioid ], g_usuarioid ] );
    
    new 
szQuery128 ], iData];
    
    
iData] = id;
    
iData] = REGISTRAR_USUARIO;
    
    
formatexszQuerycharsmaxszQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] );
    
SQL_ThreadQueryg_hTuple"DataHandler"szQueryiData);
    
    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_PASSWORD;
    
    
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 ] );
    
    new 
szQuery128 ], iData];
    
    
iData] = id;
    
iData] = LOGUEAR_USUARIO;
    
    
formatexszQuerycharsmaxszQuery ), "SELECT * FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] );
    
SQL_ThreadQueryg_hTuple"DataHandler"szQueryiData);
    
    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_PASSWORD;
    
    
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 Experiencia='%d', Levels='%d', Frags='%d', Puntos='%d' WHERE id='%d'"szTableg_experienciaid ], g_Levelsid ], g_Fragsid ], g_Puntosid ], g_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_USUARIO: {
            if( !
SQL_NumResultsQuery ) )
                
client_cmdid"messagemode CREAR_PASSWORD" );
            else {
                
client_printidprint_chat"%s El usuario ya existe."szPrefix );
                
client_cmdid"spk buttons/button10.wav" );
                
                
show_login_menuid );
            }
        }
        
        case 
REGISTRAR_PASSWORD: {
            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, Experiencia, Levels, Frags, Puntos FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] );
                
SQL_ThreadQueryg_hTuple"DataHandler"szQueryiData);
            }
            
        }
        case 
LOGUEAR_USUARIO: {
            if( 
SQL_NumResultsQuery ) )
                
client_cmdid"messagemode LOGUEAR_PASSWORD" );
            else {
                
client_printidprint_chat"%s El usuario no existe."szPrefix );
                
client_cmdid"spk buttons/button10.wav" );
                
                
show_login_menuid );
            }
        }
        case 
LOGUEAR_PASSWORD: {
            if( 
SQL_NumResultsQuery ) ) {
                
g_idid ] = SQL_ReadResultQuery);
                
SQL_ReadResultQuery3g_playernameid ], charsmaxg_playername[ ] ) );                    
                
                
// Cargamos datos
                
g_experienciaid ] = SQL_ReadResultQuery);
                
g_Levelsid ] = SQL_ReadResultQuery);
                
g_Fragsid ] = SQL_ReadResultQuery);
                
g_Puntosid ] = SQL_ReadResultQuery);
                
func_login_successid );
            }
            else {
                
client_printidprint_chat"%s Contrasenia incorrecta."szPrefix );
                
client_cmdid"spk buttons/button10.wav" );
                
                
show_login_menuid );
            }
        }
        case 
CARGAR_DATOS: {
            if( 
SQL_NumResultsQuery ) ) {
                
g_idid ] = SQL_ReadResultQuery);
                
                
g_experienciaid ] = SQL_ReadResultQuery);
                
g_Levelsid ] = SQL_ReadResultQuery);
                
g_Fragsid ] = SQL_ReadResultQuery);
                
g_Puntosid ] = SQL_ReadResultQuery);
                
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 ) {
    
/*new msg_block = get_msg_block( id );
    
    set_msg_block( id, BLOCK_SET );
    */
    
engclient_cmdid"jointeam""5" );
    
engclient_cmdid"joinclass""5" );
    
    
//set_msg_block( id, msg_block );
    
    
g_estadoid ] = LOGUEADO;
    
    
set_user_infoid"name"g_playernameid ] );
}

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

public 
client_infochangedid ) {
    if( 
g_estadoid ] == OFFLINE )
        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_putinserverid ) {
    
show_login_menuid );
}

public 
client_disconnect(  id ) {
    
    if( 
g_estadoid ] == LOGUEADO ) {
        
guardar_datosid );
        
        
g_estadoid ] = OFFLINE;
    }
}

#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 conexión
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 ); 

PD: Soy medio boludo para explicar, si ven algo mal explicado, acepto arreglarlo con lo que ustedes (mis señores) quieran.

Saludos!
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez

**************************************************

Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Responder
#2
Entendi todo Gran sonrisa Exelente Tutorial y gracias por compartirlo Gran sonrisa te queria pedir de tambien de como guardar datos osea modificar el .sma para guardar cosas , si pudieras plz :3 gracias Gran sonrisa Gran sonrisa
edit : en firebox no me aparece 'erramientas' Lengua
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#3
(19/06/2014, 03:58 PM)K.- escribió: Entendi todo Gran sonrisa Exelente Tutorial y gracias por compartirlo Gran sonrisa te queria pedir de tambien de como guardar datos osea modificar el .sma para guardar cosas , si pudieras plz :3 gracias Gran sonrisa Gran sonrisa

Gracias a vos ! En uno de estos dias explicare como modificar el sistema de cuentas ! Gran sonrisa
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez

**************************************************

Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Responder
#4
(19/06/2014, 04:21 PM)Store.gh escribió:
(19/06/2014, 03:58 PM)K.- escribió: Entendi todo Gran sonrisa Exelente Tutorial y gracias por compartirlo Gran sonrisa te queria pedir de tambien de como guardar datos osea modificar el .sma para guardar cosas , si pudieras plz :3 gracias Gran sonrisa Gran sonrisa

Gracias a vos ! En uno de estos dias explicare como modificar el sistema de cuentas ! Gran sonrisa

Dale Gran sonrisa
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#5
Fijate bien! Todos los firefox ,crhome o cualquiera tienen herramienta!
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez

**************************************************

Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Responder
#6
(19/06/2014, 04:39 PM)Store.gh escribió: Fijate bien! Todos los tienen herramienta!

Si ya lo encontre habia que modificar algo , ya entendi todo , ya solo nesesito guardar osea modificar el .sma ya que pusiste un ejemplo de guardar mas de una variable ya entiendo Gran sonrisa gracias!

edit : el code que dejaste es MYSQL o SQLITE ?
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#7
ajam muy lindo muy lindo...
quien les paso el programa para hacer la db??
Responder
#8
(19/06/2014, 04:42 PM)K.- escribió:
(19/06/2014, 04:39 PM)Store.gh escribió: Fijate bien! Todos los tienen herramienta!

Si ya lo encontre habia que modificar algo , ya entendi todo , ya solo nesesito guardar osea modificar el .sma ya que pusiste un ejemplo de guardar mas de una variable ya entiendo Gran sonrisa gracias!

edit : el code que dejaste es MYSQL o SQLITE ?
es el mismo, solo se diferencia en como se hace la conexión al principio


@Store.gh
podrías hacer los pasos con spoilers, ya que hay muchas imágenes y queda el tema muy largo, estaría mejor
(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.
Responder
#9
Ni bien llego a mi casa lo hago con spoilers. Gracias por la recomendacion pero... que te parecio la guia?
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez

**************************************************

Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Responder
#10
(19/06/2014, 05:33 PM)RauliTop escribió:
(19/06/2014, 04:42 PM)K.- escribió:
(19/06/2014, 04:39 PM)Store.gh escribió: Fijate bien! Todos los tienen herramienta!

Si ya lo encontre habia que modificar algo , ya entendi todo , ya solo nesesito guardar osea modificar el .sma ya que pusiste un ejemplo de guardar mas de una variable ya entiendo Gran sonrisa gracias!

edit : el code que dejaste es MYSQL o SQLITE ?
es el mismo, solo se diferencia en como se hace la conexión al principio


@Store.gh
podrías hacer los pasos con spoilers, ya que hay muchas imágenes y queda el tema muy largo, estaría mejor

entonse si la hago a los pasos de Store seria SQLITE no ? ya entendi :b

jojo ya guarde la variable de mis niveles n.n n.n , pero tengo una duda , como guardo rangos ?

en 'tipo' no creo que valla 'INTEGER' y en por defecto no va 1 pacman xD creo
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#11
"Mi querido moncha"
Jajaja
Bueno hace no mucho no sabia nada y me acuerdo q no sabia ni hacer una db me parece importante un tut como esto cuando tenga tiempo lo leo bien
Igualmente ahora prefiero crear la tabla desde el plugin se me hace mas fácil
[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
Responder
#12
Recomiendo este programa para los que no tienen mozilla
sqlitebrowser.org

Ni te molestes en enviarme un mensaje privado para pedirme ayuda porque NO lo voy a contestar.
Gracias por su atención.
Responder
#13
@K.-
Todo depende de la variable pero es integer los rangos y por defecto es 0
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez

**************************************************

Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Responder
#14
Esta bueno el tutorial, te felicito, para los novatos con esto e_e
Facebook para preguntas/pedidos: Fb.com/scripterfrosst
Responder
#15
una pregunta ya que vi en la imagen... como haces para guardar un float en el sistema de guardado de roma???


buen tuto Sonrisa Sonrisa
Responder
#16
Es lo mismo , solamente cambia en la base de datos, mira este ejemplo:

Código PHP:
new Float:p_hudx[33

guardar_datos( id )

Código PHP:
iLen += formatexszQuery[iLen], charsmax(szQuery) - iLen"UPDATE %s SET Levels='%d', Frags='%d', Puntos='%d', HudX='%d' WHERE id='%d'"g_Levelsid ], g_Fragsid ], g_Puntosid ], p_hudxid 

REGISTRAR_PASSWORD:

Código PHP:
formatexszQuerycharsmaxszQuery ), "SELECT id, Levels, Frags, Puntos, HudX FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] ); 

y despues en la base de datos, pones el mismo nombre que pusimos arriba, e este caso "HudX".

Es igual que los otros , nada mas que cambias el INTEGER por FLOAT y lo pones en defecto 0.2 o lo que vos quieras(en la db)
(08/10/2014, 10:50 PM)meTaLiCroSS escribió: Siento que en este foro viven en una competencia, en vez de preocuparse del contenido se preocupan de la gente, nisiquiera de eso, de sus actitudes por muy buenas o malas que sean, que clase de convivencia se puede llegar con aquello? Siempre la misma mierda en todos lados, progresen de una vez

**************************************************

Como hacer una Base de Datos para Sistema de Cuentas by r0ma
Responder
#17
uso el de roma... me salen errores en logearme con un float
Código PHP:
        case LOGUEAR_CUENTA: {
            if( 
SQL_NumResultsQuery ) ) {
                
g_idid ] = SQL_ReadResultQuery);
                
SQL_ReadResultQuery3g_playernameid ], charsmaxg_playername[ ] ) );                    
                
                
// Cargamos datos
                
frag[id] = SQL_ReadResult(Query4);
                
g_posx[id][0] = SQL_ReadResult(Query5); //error por que son float
                
g_posy[id][1] = SQL_ReadResult(Query6); // error
                 
                
func_login_successid );
            } 

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

Warning: Tag mismatch on line 17491
Warning: Tag mismatch on line 17492
Header size: 12272 bytes
Code size: 532236 bytes
Data size: 391736 bytes
Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion
Total requirements: 952628 bytes

2 Warnings.
Done.
Responder
#18
ami tambien :/ :

Código PHP:
HUDYid ] = SQL_ReadResultQuery); 
nose si se pone asi una variable FLoat
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#19
(19/06/2014, 10:34 PM)K.- escribió: ami tambien :/ :

Código PHP:
HUDYid ] = SQL_ReadResultQuery); 
nose si se pone asi una variable FLoat

Código PHP:
SQL_ReadResult(Query8Float:HUDYid ]); 
Responder
#20
(19/06/2014, 10:37 PM)Mario AR. escribió:
(19/06/2014, 10:34 PM)K.- escribió: ami tambien :/ :

Código PHP:
HUDYid ] = SQL_ReadResultQuery); 
nose si se pone asi una variable FLoat

Código PHP:
SQL_ReadResult(Query8Float:HUDYid ]); 

gracias mario ahora si funka
Responder
#21
(19/06/2014, 10:19 PM)Store.gh escribió: Es lo mismo , solamente cambia en la base de datos, mira este ejemplo:

Código PHP:
new Float:p_hudx[33

guardar_datos( id )

Código PHP:
iLen += formatexszQuery[iLen], charsmax(szQuery) - iLen"UPDATE %s SET Levels='%d', Frags='%d', Puntos='%d', HudX='%d' WHERE id='%d'"g_Levelsid ], g_Fragsid ], g_Puntosid ], p_hudxid 

REGISTRAR_PASSWORD:

Código PHP:
formatexszQuerycharsmaxszQuery ), "SELECT id, Levels, Frags, Puntos, HudX FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] ); 

y despues en la base de datos, pones el mismo nombre que pusimos arriba, e este caso "HudX".

Es igual que los otros , nada mas que cambias el INTEGER por FLOAT y lo pones en defecto 0.2 o lo que vos quieras(en la db)

(19/06/2014, 10:42 PM)Mauro505 escribió:
(19/06/2014, 10:37 PM)Mario AR. escribió:
(19/06/2014, 10:34 PM)K.- escribió: ami tambien :/ :

Código PHP:
HUDYid ] = SQL_ReadResultQuery); 
nose si se pone asi una variable FLoat

Código PHP:
SQL_ReadResult(Query8Float:HUDYid ]); 

gracias mario ahora si funka
es float:
Código PHP:
iLen += formatexszQuery[iLen], charsmax(szQuery) - iLen"UPDATE %s SET Levels='%d', Frags='%d', Puntos='%d', HudX='%.2f' WHERE id='%d'"g_Levelsid ], g_Fragsid ], g_Puntosid ], p_hudxid 

No hace falta poner Float:
Código PHP:
SQL_ReadResult(Query8HUDYid ]); 
asi tambien anda bien
(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
Responder
#22
(19/06/2014, 10:59 PM)Kane escribió:
(19/06/2014, 10:19 PM)Store.gh escribió: Es lo mismo , solamente cambia en la base de datos, mira este ejemplo:

Código PHP:
new Float:p_hudx[33

guardar_datos( id )

Código PHP:
iLen += formatexszQuery[iLen], charsmax(szQuery) - iLen"UPDATE %s SET Levels='%d', Frags='%d', Puntos='%d', HudX='%d' WHERE id='%d'"g_Levelsid ], g_Fragsid ], g_Puntosid ], p_hudxid 

REGISTRAR_PASSWORD:

Código PHP:
formatexszQuerycharsmaxszQuery ), "SELECT id, Levels, Frags, Puntos, HudX FROM %s WHERE Usuario=^"%s^""szTableg_usuarioid ] ); 

y despues en la base de datos, pones el mismo nombre que pusimos arriba, e este caso "HudX".

Es igual que los otros , nada mas que cambias el INTEGER por FLOAT y lo pones en defecto 0.2 o lo que vos quieras(en la db)

(19/06/2014, 10:42 PM)Mauro505 escribió:
(19/06/2014, 10:37 PM)Mario AR. escribió:
(19/06/2014, 10:34 PM)K.- escribió: ami tambien :/ :

Código PHP:
HUDYid ] = SQL_ReadResultQuery); 
nose si se pone asi una variable FLoat

Código PHP:
SQL_ReadResult(Query8Float:HUDYid ]); 

gracias mario ahora si funka
es float:
Código PHP:
iLen += formatexszQuery[iLen], charsmax(szQuery) - iLen"UPDATE %s SET Levels='%d', Frags='%d', Puntos='%d', HudX='%.2f' WHERE id='%d'"g_Levelsid ], g_Fragsid ], g_Puntosid ], p_hudxid 

No hace falta poner Float:
Código PHP:
SQL_ReadResult(Query8HUDYid ]); 
asi tambien anda bien

en guardar_datos(id) puse :

Código PHP:
HUDY='%d' 

pero no me guarda :/
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#23
(19/06/2014, 11:02 PM)K.- escribió: en guardar_datos(id) puse :

Código PHP:
HUDY='%d' 

pero no me guarda :/

(19/06/2014, 10:59 PM)Kane escribió: es float:
Código PHP:
iLen += formatexszQuery[iLen], charsmax(szQuery) - iLen"UPDATE %s SET Levels='%d', Frags='%d', Puntos='%d', HudX='%.2f' WHERE id='%d'"g_Levelsid ], g_Fragsid ], g_Puntosid ], p_hudxid 
(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
Responder
#24
Código PHP:
HudX='%.2f' 

por que .2 ?
(10/10/2014, 06:38 PM)RauliTop escribió:
(10/10/2014, 04:40 PM)ivan escribió: no sabía que se podia poner los iconos gestuales cuando das reputacion negativa/positiva.
ui, peligro...
pronto habrán reputaciones de ivan:
hace muy muy muii DafuqYao mingGenius buenos Thats what she saidtutoriales Proud me encataan Whatever
Responder
#25
Cuando insertas un float a un string con %f puedes elegir cuantas cifras decimales le metes. %.2f son 2 cifras decimales, si tu float es 1.918350 entonces al introducirlo al string se volvería 1.91, es ideal para la posición del hud porque sólo te acepta 2 cifras decimales.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)