[no such column: HabilidadZ] [SOLUCIONADO].
#1
Se me quema la cabeza, nunca use sql, estoy tratando de entender..
Es el sistema de creator..
https://amxmodx-es.com/Thread-Sistema-de...LITE--5318
Código PHP:
enum
{
    
LOGUEADO,
    
DESLOGUEADO,
    
DATA_REG,
    
DATA_LOG,
    
DATA_LOAD,
    
DATA_LOAD2,
    
DATA_CHECK_PJ,
    
DATA_PASSWORD
};

public 
SQL_Crear(failstateHandle:queryerror[], szerrordata[], szdataFloat:time)
{
    static 
idid data[0];
    
    if (!
is_user_connected(id)) return;
    
    if (
failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
    {
        
log_to_file("SQL_Error.txt""Error: [%i] | [%s]"szerrorerror);
    }
    
    switch(
data[1])
    {
        case 
DATA_REG:
        {
            if (
failstate TQUERY_SUCCESSclient_print(idprint_chat"!g%s!y Error al registrarte."gPrefix);
            else
            {
                
g_estado[id] = LOGUEADO;
                
engclient_cmd(id"jointeam""5");
                
engclient_cmd(id"joinclass""5");
                
cargar(id1);
                
                
Color(id"!g%s!y Registro exitoso! - Nombre: !g%s!y - Password: !g%s!y"gPrefixg_nombre[id], g_password[id]);
            }
        }
        case 
DATA_LOG:
        {
            if (
SQL_NumResults(query)) 
            {
                static 
password[34];
                
                
SQL_ReadResult(query0password33);
                
                if (
equali(passwordg_password[id]))
                {
                    
g_estado[id] = LOGUEADO
                    
engclient_cmd(id"jointeam""5"); 
                    
engclient_cmd(id"joinclass""5");
                    
cargar(id1);
                    
Color(id"!g%s!y Bienvenido %s"gPrefixg_nombre[id]);
                }
                else 
                {
                    
Color(id"!g%s!y Password Incorrecta"gPrefix);
                    
registro(id);
                }
            } 
            else 
            {
                
Color(id"!g%s!y Este nombre no fue registrado."gPrefix);
                
registro(id);
            }
        }
        case 
DATA_LOAD:
        {
            if (
SQL_NumResults(query)){
                
gLevel[id] = SQL_ReadResult(query0)
                
gExp[id] = SQL_ReadResult(query1)
                
g_ammopacks[id] = SQL_ReadResult(query2)
                
gReset[id] = SQL_ReadResult(query3)
                
gPuntos[id][0] = SQL_ReadResult(query4)
                
gPuntos[id][1] = SQL_ReadResult(query5)
                
gGastados[id][0] = SQL_ReadResult(query6)
                
gGastados[id][1] = SQL_ReadResult(query7)
                
gKillsz[id] = SQL_ReadResult(query7)
                
gInfec[id] = SQL_ReadResult(query8)
                
gPuntoT[id] = SQL_ReadResult(query9)
                
                
cargar(id1)
            }
            else 
Color(id"!g%s!y Error al cargar datos."gPrefix);
        }
        case 
DATA_LOAD2:
        {
            if (
SQL_NumResults(query)){
                
gHabilidad[id][0][0] = SQL_ReadResult(query0)
                
gHabilidad[id][0][1] = SQL_ReadResult(query1)
                
gHabilidad[id][0][2] = SQL_ReadResult(query2)
                
gHabilidad[id][0][3] = SQL_ReadResult(query3)
                
gHabilidad[id][1][0] = SQL_ReadResult(query4)
                
gHabilidad[id][1][1] = SQL_ReadResult(query5)
                
gHabilidad[id][1][2] = SQL_ReadResult(query6)
                
gHabilidad[id][1][3] = SQL_ReadResult(query7)
                
gHabilidad[id][1][4] = SQL_ReadResult(query8)
                
                
cargar(id2)
            }
            else 
Color(id"!g%s!y Error al cargar datos."gPrefix);
        }
        case 
DATA_CHECK_PJ:
        {
            if (
SQL_NumResults(query))
            {    
                
Color(id"!g%s!y El nombre %s ya esta en uso."gPrefixg_nombre[id]);
                
registro(id);
                return;
            }
            else 
                
client_cmd(id"messagemode CONFIRMAR_PASSWORD");
        }
        case 
DATA_PASSWORD:
        {
            if (
failstate TQUERY_SUCCESSclient_print(idprint_chat"%s: Ocurrio un error al cambiar la password."gPrefix);
            else 
client_print(idprint_chat"!g%s!y La password se cambio con exito! - Nueva password: !g%s!y"gPrefixg_password[id]);
        }
    }
}
 public 
guardar(id)
{
    static 
query[1024], datos[2], len;
    
    
datos[0] = id
    
    
len 0;
    
len += formatex(query[len], charsmax(query), "UPDATE `SQL_Datos` SET `LVL`='%d', `EXP`='%d', `AP`='%d', `RR`='%d', `PZ`='%d', `PH`='%d', `PHG`='%d', `PZG`='%d', `PT`='%d', `K`='%d',`I`='%d' WHERE `Nombre`=^"%s^""
    
gLevel[id], gExp[id], g_ammopacks[id], gReset[id], gPuntos[id][0], gPuntos[id][1], gGastados[id][0], gGastados[id][1], gPuntoT[id], gKillsz[id], gInfec[id], g_nombre[id]);
    
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
    
    
len 0;
    
len += formatex(query[len], charsmax(query),  "UPDATE `SQL_Datos` SET `HabilidadZ`='%d %d %d %d', `HabilidadH`='%d %d %d %d %d' WHERE `Nombre`='%s'",
    
gHabilidad[id][0][0],gHabilidad[id][0][1], gHabilidad[id][0][2], gHabilidad[id][0][3], gHabilidad[id][1][0], gHabilidad[id][1][1], gHabilidad[id][1][2], gHabilidad[id][1][3], gHabilidad[id][1][4], g_nombre[id]);
    
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos3);
}

public 
cargar(idtype)
{
    static 
query[1024], datos[2];
    
datos[0] = id
    switch (
type) {
        case 
0: {
            
datos[0] = DATA_LOAD
            formatex
(querycharsmax(query), "SELECT `LVL`, `EXP`, `AP`, `RR`, `PH`, `PZ`, `PHG`, `PZG`, `PT`, `K`, `I` FROM `SQL_Datos` WHERE `Nombre`=^"%s^""g_nombre[id]);
            
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
        }
        case 
1: {
            
datos[0] = DATA_LOAD2
            formatex
(querycharsmax(query), "SELECT `HabilidadZ`, `HabilidadH` FROM `SQL_Datos` WHERE `Nombre`=^"%s^""g_nombre[id]);
            
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos3);
        }
    }

}


public 
sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33)  NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ int(4) NOT NULL DEFAULT '0 0 0 0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH int(5) NOT NULL DEFAULT '0 0 0 0 0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    return 
PLUGIN_HANDLED;

https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#2
No lo probe ni nada no te aseguro nada
Código PHP:
if (SQL_NumResults(query)){
    
gHabilidad[id][0][0] = SQL_ReadResult(query0)
    
gHabilidad[id][0][1] = SQL_ReadResult(query1)
    
gHabilidad[id][0][2] = SQL_ReadResult(query2)
    
gHabilidad[id][0][3] = SQL_ReadResult(query3)
    
gHabilidad[id][1][0] = SQL_ReadResult(query4)
    
gHabilidad[id][1][1] = SQL_ReadResult(query5)
    
gHabilidad[id][1][2] = SQL_ReadResult(query6)
    
gHabilidad[id][1][3] = SQL_ReadResult(query7)
    
gHabilidad[id][1][4] = SQL_ReadResult(query8)
    
    
cargar(id2)
}

// ----->

if (SQL_NumResults(query)){
    static 
hab_z[60], hab_h[60], hab_h0[4], hab_h1[4], hab_h2[4], hab_h3[4], hab_z0[4], hab_z1[4], hab_z2[4], hab_z3[4], hab_z4[4]
    
SQL_ReadResult(query2hab_z60); 
    
SQL_ReadResult(query3hab_h60); 
    
    
parse(hab_zhab_z03hab_z13hab_z23hab_z33)
    
parse(hab_hhab_h03hab_h13hab_h23hab_h33hab_h43)
    
    
gHabilidad[id][0][0] = str_to_num(hab_z0)
    
gHabilidad[id][0][1] = str_to_num(hab_z1)
    
gHabilidad[id][0][2] = str_to_num(hab_z2)
    
gHabilidad[id][0][3] = str_to_num(hab_z3)
    
gHabilidad[id][1][0] = str_to_num(hab_h0)
    
gHabilidad[id][1][1] = str_to_num(hab_h1)
    
gHabilidad[id][1][2] = str_to_num(hab_h2)
    
gHabilidad[id][1][3] = str_to_num(hab_h3)
    
gHabilidad[id][1][4] = str_to_num(hab_h4)
    
    
cargar(id2)


Código PHP:
public sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33)  NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ int(4) NOT NULL DEFAULT '0 0 0 0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH int(5) NOT NULL DEFAULT '0 0 0 0 0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    return 
PLUGIN_HANDLED;
}
//--->
public sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33)  NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ varchar(60) NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH varchar(60) NOT NULL)");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    return 
PLUGIN_HANDLED;

“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.
Responder
#3
Sigo en la misma... yo habia pensado lo mismo
Código PHP:
                static szHZombie[30], szHZ1[10], szHZ2[10], szHZ3[10], szHZ4[10]
                
SQL_ReadResult(query4szHZombiecharsmax(szHZombie))
                
parse(szHZombieszHZ1charsmax(szHZ1), szHZ2charsmax(szHZ2), szHZ3charsmax(szHZ3), szHZ4charsmax(szHZ4))

                static 
szHHuman[30], szHH1[10], szHH2[10], szHH3[10], szHH4[10], szHH5[10]
                
SQL_ReadResult(query5szHHumancharsmax(szHHuman))
                
parse(szHHumanszHH1charsmax(szHH1), szHH2charsmax(szHH2), szHH3charsmax(szHH3), szHH4charsmax(szHH4), szHH5charsmax(szHH5))
                
                
gHabilidad[id][0][0] = str_to_num(szHZ1)
                
gHabilidad[id][0][1] = str_to_num(szHZ2)
                
gHabilidad[id][0][2] = str_to_num(szHZ3)
                
gHabilidad[id][0][3] = str_to_num(szHZ4)

                
gHabilidad[id][1][0] = str_to_num(szHH1)
                
gHabilidad[id][1][1] = str_to_num(szHH2)
                
gHabilidad[id][1][2] = str_to_num(szHH3)
                
gHabilidad[id][1][3] = str_to_num(szHH4)
                
gHabilidad[id][1][4] = str_to_num(szHH5
ninguna de las 2 formas me andubo xD, tengo una suerte, pacman Whatdone
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#4
El problema radica aquí:
Código PHP:
public sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33)  NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ int(4) NOT NULL DEFAULT '0 0 0 0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH int(5) NOT NULL DEFAULT '0 0 0 0 0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    return 
PLUGIN_HANDLED;

[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#5
(03/06/2019, 05:00 AM)totopizza escribió: El problema radica aquí:
Código PHP:
public sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33)  NOT NULL,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ int(4) NOT NULL DEFAULT '0 0 0 0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH int(5) NOT NULL DEFAULT '0 0 0 0 0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    return 
PLUGIN_HANDLED;

No sabía Genius Pero no entiendo, a mi punto de vista se esta creando la columna no se que habré echo mal :/
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#6
Deberías tenerlo así:
Código PHP:
public sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ varchar(9) NOT NULL DEFAULT '0 0 0 0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH varchar(12) NOT NULL DEFAULT '0 0 0 0 0')");
    
    return 
PLUGIN_HANDLED;

[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#7
(03/06/2019, 05:12 AM)totopizza escribió: Deberías tenerlo así:
Código PHP:
public sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ varchar(9) NOT NULL DEFAULT '0 0 0 0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH varchar(12) NOT NULL DEFAULT '0 0 0 0 0')");
    
    return 
PLUGIN_HANDLED;

Sigo en la misma bro
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#8
flashie vi mal... borren esto
Responder
#9
(03/06/2019, 06:22 PM)Blackk escribió:
(03/06/2019, 05:12 AM)totopizza escribió: Deberías tenerlo así:
Código PHP:
public sql_inicio()
{
    new 
get_type[12], g_tabla[1650], len;
    
    
SQL_SetAffinity("sqlite");
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite"))
    {
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a");
    }
        
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); 
    
    
len 0;
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "LVL int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "EXP int NOT NULL DEFAULT '5',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "AP int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "RR int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PH int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZ int NOT NULL DEFAULT '250',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PHG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PZG int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PT int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "K int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "I int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadZ varchar(9) NOT NULL DEFAULT '0 0 0 0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "HabilidadH varchar(12) NOT NULL DEFAULT '0 0 0 0 0')");
    
    return 
PLUGIN_HANDLED;

Sigo en la misma bro
Elimina la base de datos que se creó antes y volver a probar.
Responder
#10
Código PHP:
//Al principio...
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
->
len formatex(g_tablacharsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
//Luego.
len += formatex(g_tabla[len], charsmax(g_tabla),
->
len += formatex(g_tabla[len], charsmax(g_tabla) - len,
//Proba dejar esto en blanco..
"HabilidadZ varchar(9) NOT NULL DEFAULT '0 0 0 0',"
->
"HabilidadZ varchar(9) NOT NULL DEFAULT '',"
//PD: Acordate que si guardas algo en INT tenes que cargarlo en INT, si guardas algo en VARCHAR tenes que cargarlo en CHAR. Y así con todo.. no podes guardar en INT y cargar en CHAR como ejemplo. 
Responder
#11
(04/06/2019, 02:55 PM)Niper.-. escribió:
Código PHP:
//Al principio...
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
->
len formatex(g_tablacharsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
//Luego.
len += formatex(g_tabla[len], charsmax(g_tabla),
->
len += formatex(g_tabla[len], charsmax(g_tabla) - len,
//Proba dejar esto en blanco..
"HabilidadZ varchar(9) NOT NULL DEFAULT '0 0 0 0',"
->
"HabilidadZ varchar(9) NOT NULL DEFAULT '',"
//PD: Acordate que si guardas algo en INT tenes que cargarlo en INT, si guardas algo en VARCHAR tenes que cargarlo en CHAR. Y así con todo.. no podes guardar en INT y cargar en CHAR como ejemplo. 
Sigo en la misma
L 06/04/2019 - 23:46:19: Error: [1] | [no such column: HabilidadZ]
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#12
Pasa el plugin completo.

Saludos. Crab
Responder
#13
lo deje al principio del post
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#14
Si la tabla ya esta creada y la columna no esta agregada tienes que hacerlo de manera manual con 'ALTER TABLE'
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#15
Toma, algunas variables no las guardé. Es cuestión de mirar lo que hice y seguir.

Saludos. Crab


Código PHP:
/*
    *** Sistema de Cuentas ***
    *
        - v1.0:
            * Lanzamiento del Plugin
        - v1.1:
            * Fixeado el cambio de nombre.
            * Agregado PRIMARY KEY a la tabla SQL_Datos en el nombre.
            * Fixeado SQL_Tabla.
            * Fixeado a la hora de guardar datos si estaba o no LOGUEADO.
            * Fixeado el estado LOGUEADO al desconectarse.
    *
*/

// Librerias a utilizar.
#include <amxmodx>
#include <sqlx>
#include <fakemeta>

#define PLUGIN "Sistema de Cuentas"
#define VERSION "1.1"
#define AUTHOR "Cristian'"

// Definimos el nombre de la base  de datos.
#define SQL_BASE "SQL_Database"

/* *** ENUMERADORES *** */
enum
{
    
LOGUEADO,
    
DESLOGUEADO,
    
DATA_REG,
    
DATA_LOG,
    
DATA_SAVE,
    
DATA_LOAD,
    
DATA_CHECK_PJ,
    
DATA_PASSWORD
};

new const 
PREFIJO[] = "[Sistema de Cuentas]";

/* *** VARIABLES *** */
new g_variable[33], g_nombre[33][32], g_password[33][34], Handle:g_htupleg_estado[33], g_maxplayers;

new 
gLevel[33]
new 
gKillsz[33]
new 
gInfec[33]
new 
gReset[33]
new 
gPuntoT[33]
new 
gExp[33]
new 
gPuntos[33][2]
new 
gGastados[33][2]
new 
gHabilidad[33][2][5]
new 
gNvgColor[33][3]
new 
gHudColor[33][3]
new 
Float:gHudPosition[33][2]
new 
gHudEffect[33]
new 
gMejorasT[33][3][4]

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
/* *** COMANDOS *** */
    
register_clcmd("CREAR_PASSWORD""crear_password");
    
register_clcmd("CONFIRMAR_PASSWORD""confirmar_password");
    
register_clcmd("INGRESAR_PASSWORD""ingresar_password");
    
register_clcmd("chooseteam""clcmd_changeteam");
    
register_clcmd("jointeam""clcmd_changeteam");
    
register_clcmd("NUEVA_PASSWORD""clcmd_cambiar");
    
register_clcmd("say /cambiar""cambiar_password");

    
register_clcmd"say /sumar""sumar_variables" );
    
register_clcmd"say /ver""ver_variables" );
    
register_forward(FM_ClientUserInfoChanged"fw_infochanged");
    
    
register_event("HLTV""round_start""a""1=0""2=0");
    
g_maxplayers get_maxplayers();

    
/* *** REGISTRO DE MENSAJES *** */
    
register_message(get_user_msgid("VGUIMenu"), "message_menu");
    
register_message(get_user_msgid("ShowMenu"), "message_menu");
    
    
/* *** INICIO AL SQL *** */
    
sql_inicio();
}

public 
sumar_variablesid ) {

    
gLevelid ]++;
    
gExpid ]++;
    
gResetid ]++;
    
gPuntoTid ]++;
    
gPuntosid ][0]++;
    
gPuntosid ][1]++;
    
gGastadosid ][0]++;
    
gGastadosid ][1]++;
    
gInfecid ]++;
    
gKillszid ]++;

    return 
PLUGIN_HANDLED;
}

public 
ver_variablesid ) {

    
client_printidprint_chat"LVL %i EXP %i RESET %i PT-R %i PT-H %i PT-Z %i G-H %i G-Z %i INF %i KILLS-Z %i"gLevelid ], gExpid ], gResetid ], gPuntoTid ], gPuntosid ][0], gPuntosid ][1], gGastadosid ][0], gGastadosid ][1], gInfecid ], gKillszid ] )
    return 
PLUGIN_HANDLED;
}

public 
round_start()
{
    for (new 
id 1id <= g_maxplayersid++) 
    {
        if (
is_user_connected(id) && g_estado[id] == LOGUEADO
            
guardar(id);
    }
}

/* *** PUBLIC DONDE EL PLAYER SE CONECTA Y ESTA DE SPEC *** */
public client_putinserver(id)
{
    
// Registramos el nombre.
    
get_user_name(idg_nombre[id], charsmax(g_nombre[]));
    
    
g_estado[id] = DESLOGUEADO;
}

/* *** PUBLIC DONDE HOOKEAMOS EL MENU CON LA LETRA M *** */
public clcmd_changeteam(id)
{
    if (
g_estado[id] == DESLOGUEADO
        
registro(id); 
        
    return 
PLUGIN_HANDLED;
}

/* *** PUBLIC DONDE EL PLAYER SE DESCONECTA *** */
public client_disconnect(id)
{
    
// Si el player esta LOGUEADO le guardamos los datos.
    
if (g_estado[id] == LOGUEADO
        
guardar(id);
}

public 
message_menu(msgiddestid)
{
    switch(
g_estado[id])
    {
        case 
DESLOGUEADOregistro(id);
        case 
LOGUEADO: return PLUGIN_CONTINUE;
    }
    
    return 
PLUGIN_HANDLED;
}

/* *** PUBLICO DONDE MOSTRAMOS EL MENU DE REGISTRO/LOGUEO *** */
public registro(id)
{
    
// Creamos el menu con el siguiente titulo.
    
new menu menu_create("Sistema de \yCuentas \rv1.1^n\wCreado por \yCristian'""accionar");
    
    
// Agregamos items a seleccionar.
    
menu_additem(menu"Crear \yPassword""1"0);
    
menu_additem(menu"Ingresar \yPassword""2"0);
    
    
// Le mostramos el menu, Sin esta opcion el menu no aparecería.
    
menu_display(idmenu0);
    
    return 
PLUGIN_HANDLED;
}

public 
accionar(idmenuitem)
{
    switch(
item)
    {
        case 
MENU_EXITmenu_destroy(menu);
        case 
0client_cmd(id"messagemode CREAR_PASSWORD");
        case 
1client_cmd(id"messagemode INGRESAR_PASSWORD");
    }
    
    return 
PLUGIN_HANDLED;
}

/* *** PUBLICO DONDE CREAREMOS LA PASSWORD DEL USUARIO *** */
public crear_password(id)
{
    
read_args(g_password[id], charsmax(g_password[]));
    
remove_quotes(g_password[id]);
    
trim(g_password[id]);
    
    
checkear_nombre(id);
}

checkear_nombre(id)
{
    static 
query[128], datos[2];
    
datos[0] = id
    
datos[1] = DATA_CHECK_PJ;
    
    
formatex(querycharsmax(query), "SELECT Nombre FROM SQL_Datos WHERE Nombre=^"%s^""g_nombre[id]);
    
    
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
}

public 
confirmar_password(id)
{
    static 
password[34];
    
read_args(passwordcharsmax(password));
    
remove_quotes(password);
    
trim(password);
    
    if (
equal(passwordg_password[id]))
    {
        
        static 
query[128], datos[2];
        
datos[0] = id;
        
datos[1] = DATA_REG;
        
        
// Insertamos Nombre y Password en la tabla que se llamará SQL_Datos.
        
formatex(querycharsmax(query), "INSERT INTO SQL_Datos (Nombre, Password) VALUES (^"%s^", ^"%s^")"g_nombre[id], g_password[id]);
        
        
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
    }
    else
    {
        
client_print(idprint_chat"%s: La password no coincide."PREFIJO);
        
registro(id);
    }
}

public 
cambiar_password(id)
{
    new 
menutitulo[128];
    
    
formatex(titulocharsmax(titulo), "Bienvenido \y%s. \wDeseas cambiar tu \ypassword?"g_nombre[id]);
    
menu menu_create(titulo"accionar_cambio");
    
    
menu_additem(menu"Si""1"0);
    
menu_additem(menu"No""2"0);
    
    
menu_setprop(menuMPROP_EXITNAME"Salir");
    
    
menu_display(idmenu0);
    
    return 
PLUGIN_HANDLED;
}

public 
accionar_cambio(idmenuitem)
{
    switch(
item)
    {
        case 
MENU_EXITmenu_destroy(menu);
        case 
0client_cmd(id"messagemode NUEVA_PASSWORD");
        case 
1menu_destroy(menu);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
clcmd_cambiar(id)
{
    new 
password[34];
    
    
read_args(passwordcharsmax(password));
    
remove_quotes(password);
    
trim(password);
    
    if (
equali(g_password[id], password))
    {
        
client_print(idprint_chat"%s: La nueva password, es igual a la anterior"PREFIJO);
        return;
    }
    else
    {
        
g_password[id] = password;
        
        static 
query[128], datos[2];
        
datos[0] = id
        
datos[1] = DATA_PASSWORD;
        
        
formatex(querycharsmax(query), "UPDATE SQL_Datos SET Password=^"%s^" WHERE Nombre=^"%s^""g_password[id], g_nombre[id]);

        
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
    }
}
        
/* *** PUBLICO DONDE INGRESAREMOS LA PASSWORD DEL USUARIO *** */
public ingresar_password(id)
{
    
read_args(g_password[id], charsmax(g_password[]));
    
remove_quotes(g_password[id]);
    
trim(g_password[id]);
    
    static 
query[128], datos[2];
    
datos[0] = id
    
datos[1] = DATA_LOG;
    
    
// Tomamos la passowrd del nombre.
    
formatex(querycharsmax(query), "SELECT Password FROM SQL_Datos WHERE Nombre=^"%s^""g_nombre[id]);
    
    
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
}

public 
SQL_Crear(failstateHandle:queryerror[], szerrordata[], szdataFloat:time)
{
    static 
idid data[0];
    
    if (!
is_user_connected(id)) return;
    
    if (
failstate == TQUERY_CONNECT_FAILED || failstate == TQUERY_QUERY_FAILED)
    {
        
// Creamos un log.que indicará donde esta el error.    
        
log_to_file("SQL_Error.txt""Error: [%i] | [%s]"szerrorerror);
    }
    
    switch(
data[1])
    {
        case 
DATA_REG:
        {
            if (
failstate TQUERY_SUCCESSclient_print(idprint_chat"%s: Error al registrarte."PREFIJO);
            else
            {
                
g_estado[id] = LOGUEADO// Si se registró exitosamente ponemos su estado LOGUEADO.
                
engclient_cmd(id"jointeam""5"); // Seleccionamos un equipo al azar.
                
engclient_cmd(id"joinclass""5"); // Seleccionamos la clase al azar.
                
cargar(id); // Le cargamos los datos.
                // Mandamos un print que se registró exitosamente.
                
client_print(idprint_chat"%s: Registro exitoso! - Nombre: %s - Password: %s"PREFIJOg_nombre[id], g_password[id]);
            }
        }
        case 
DATA_LOG:
        {
            if (
SQL_NumResults(query)) // Si lanza un resultado.
            
{
                static 
password[34]; // creamos una variable estatica para comprobar la password.
                
                
SQL_ReadResult(query0password33); // Guardamos la variable estatica.
                
                
if (equali(passwordg_password[id])) // Si la password es igual a la que puso.
                
{
                    
g_estado[id] = LOGUEADO// Le ponemos el estado logueado.
                    
engclient_cmd(id"jointeam""5"); // Seleccionamos un equipo al azar.
                    
engclient_cmd(id"joinclass""5"); // Seleccionamos la clase al azar.
                    
cargar(id); // Le cargamos los datos.
                    // Mandamos un print que se logueó exitosamente.
                    
client_print(idprint_chat"%s: Bienvenido %s"PREFIJOg_nombre[id]);
                } 
// Caso contrario le mandamos un print que la password que introdujo no coincide.
                
else 
                {
                    
client_print(idprint_chat"%s: Password Incorrecta"PREFIJO);
                    
registro(id);
                }
            } 
            else 
// Si no tira ningún resultado, mandamos un print que el nombre no fue registrado.
            
{
                
client_print(idprint_chat"%s: Este nombre no fue registrado."PREFIJO);
                
registro(id);
            }
        }
        case 
DATA_SAVE:
        {
            if (
failstate TQUERY_SUCCESSclient_print(idprint_chat"%s: Error al guardar datos."PREFIJO);
            else 
client_print(idprint_chat"%s: Datos guardados con exito!"PREFIJO);
        }
        case 
DATA_LOAD:
        {
            if (
SQL_NumResults(query)) {

                
gLevel[id] = SQL_ReadResult(query0); // Le devolvemos el valor de la variable
                
gExp[id] = SQL_ReadResult(query1); // Le devolvemos el valor de la variable
                
gReset[id] = SQL_ReadResult(query2); // Le devolvemos el valor de la variable
                
gPuntoT[id] = SQL_ReadResult(query3); // Le devolvemos el valor de la variable
                
gPuntos[id][0] = SQL_ReadResult(query4); // Le devolvemos el valor de la variable
                
gPuntos[id][1] = SQL_ReadResult(query5); // Le devolvemos el valor de la variable
                
gGastados[id][0] = SQL_ReadResult(query6); // Le devolvemos el valor de la variable
                
gGastados[id][1] = SQL_ReadResult(query7); // Le devolvemos el valor de la variable
                
gInfec[id] = SQL_ReadResult(query8); // Le devolvemos el valor de la variable
                
gKillsz[id] = SQL_ReadResult(query9); // Le devolvemos el valor de la variable
            
}
            else 
client_print(idprint_chat"%s: Error al cargar datos."PREFIJO);
        }
        case 
DATA_CHECK_PJ:
        {
            if (
SQL_NumResults(query)) // Si tira un resultado.
            
{    // Mandamos un print que el nombre ya fue registrado
                
client_print(idprint_chat"%s: El nombre %s ya esta en uso."PREFIJOg_nombre[id]);
                
registro(id);
                return;
            }
            else 
// Caso contrario hacemos que confirme su password.
                
client_cmd(id"messagemode CONFIRMAR_PASSWORD");
        }
        case 
DATA_PASSWORD:
        {
            if (
failstate TQUERY_SUCCESSclient_print(idprint_chat"%s: Ocurrio un error al cambiar la password."PREFIJO);
            else 
client_print(idprint_chat"%s: La password se cambio con exito! - Nueva password: %s"PREFIJOg_password[id]);
        }
    }
}

public 
fw_infochanged(idbuffer

    if (
is_user_connected(id))
    {
        static 
nombre_actual[32], nuevo_nombre[32]; 
        
get_user_name(idnombre_actualcharsmax(nombre_actual));
        
engfunc(EngFunc_InfoKeyValuebuffer"name"nuevo_nombrecharsmax(nuevo_nombre));
        
        if (
equal(nuevo_nombrenombre_actual))
            return 
FMRES_IGNORED 
            
        engfunc
(EngFunc_SetClientKeyValueidbuffer"name"nombre_actual);
        
client_cmd(id"name ^"%s^""nombre_actual
        return 
FMRES_SUPERCEDE 
    

    
    return 
FMRES_IGNORED 
}

public 
guardar(id)
{
    static 
query[1024], datos[2];
    
datos[0] = id
    
datos[1] = DATA_SAVE;
    
    
// Le guardamos los datos en la tabla SQL_Datos por su nombre.
    
formatex(querycharsmax(query), "UPDATE SQL_Datos SET Level=^"%d^", Experiencia=^"%d^", Reset=^"%d^", PuntosReset=^"%d^", PuntosHumanos=^"%d^", PuntosZombies=^"%d^", \
        GastadosHumanos=^"
%d^", GastadosZombies=^"%d^", Infectados=^"%d^", ZombieKills=^"%d^" WHERE Nombre=^"%s^""gLevel[id], gExpid ], gResetid ], gPuntoT[id], gPuntos[id][0], gPuntos[id][1], gGastados[id][0], gGastados[id][1], gInfec[id], gKillsz[id], g_nombreid]);
    
    
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
}

public 
cargar(id)
{
    static 
query[1024], datos[2];
    
datos[0] = id
    
datos[1] = DATA_LOAD;
    
    
// Seleccionamos en su nombre, el nombre de la/s varibale/s que pusimos en guardar(id)
    
formatex(querycharsmax(query), "SELECT Level, Experiencia, Reset, PuntosReset, PuntosHumanos, PuntosZombies, GastadosHumanos, GastadosZombies, Infectados, ZombieKills FROM SQL_Datos WHERE Nombre=^"%s^""g_nombre[id]);
    
    
SQL_ThreadQuery(g_htuple"SQL_Crear"querydatos2);
}

/* *** INICIAMOS EL SQL *** */
public sql_inicio()
{
    new 
get_type[12], g_tabla[1024], len;
    
    
SQL_SetAffinity("sqlite"); // Usamos la afinidad para que el modulo a usarse sea "sqlite".
    
SQL_GetAffinity(get_typesizeof(get_type));
    
    if (!
equali(get_type"sqlite")) // Si el tipo no es igual a "sqlite".
    
{
        
// Creamos un log que dira: Error de Conexion.
        
log_to_file("SQL_CONEXION.txt""Error de Conexion");
        return 
pause("a"); // Si el modulo sqlite no esta activado le pausamos el plugin.
    
}
    
    
/*
    NOTA:
        * En caso de guardar más datos. se deberá agregarla en la columna donde creamos la tabla.
        * EJEMPLO: Quiero guardar el nivel, Siempre al agregar datos tiene que ir el nombre que pusimos en
        * guardar/cargar - En este caso yo puse variable='%d, en caso de agregarle cualquier otra cosa sería.
        * variable='%d', nivel='%d'. <-- Siempre la ultima variable se cierra con un )
        * len += formatex(g_tabla[len], charsmax(g_tabla), "variable int NOT NULL DEFAULT '0',");
        * len += formatex(g_tabla[len], charsmax(g_tabla), "nivel int NOT NULL DEFAULT '1')");
        * Recordar: Al agregar mas variables, se deberá aumentar las celdas de g_tabla y 
        * borrár nuevamente la base de datos.
    */    
    
    
g_htuple SQL_MakeDbTuple("""""",  SQL_BASE); // Registramos la Base de Datos
    
    
len 0// Hacemos que la tabla se cree automaticamente. Si la tabla SQL_Datos no existe, se la creamos.
    
len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,"); // Agregamos a la tabla el nombre,
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',"); // Agregamos a la tabla la password,
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Level int NOT NULL DEFAULT '1',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Experiencia int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Reset int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PuntosReset int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PuntosHumanos int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "PuntosZombies int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "GastadosHumanos int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "GastadosZombies int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "Infectados int NOT NULL DEFAULT '0',");
    
len += formatex(g_tabla[len], charsmax(g_tabla), "ZombieKills int NOT NULL DEFAULT '0')");
    
    
SQL_ThreadQuery(g_htuple"SQL_Tabla"g_tabla);
    
    return 
PLUGIN_HANDLED;
}
    
public 
SQL_Tabla(failstateerror[], szerrordata[], szdata)
{
    switch(
failstate)
    {
        case 
TQUERY_CONNECT_FAILED:
        {
            
log_to_file("SQL_CONECT_TABLA.txt""Ocurrio un error al conectar la tabla: [%i] | [%s]"szerrorerror);
        }
        case 
TQUERY_QUERY_FAILED:
        { 
            
log_to_file("SQL_ERROR_TABLA.txt""Ocurrio un error al crear la tabla: [%i] | [%s]"szerrorerror);
        }
    }
}

// Liberamos la conexión
public plugin_end() SQL_FreeHandle(g_htuple);
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3082\\ f0\\ fs16 \n\\ par }
*/ 
Responder
#16
Gracias chema funciona, +1
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#17
(05/06/2019, 01:13 AM)Blackk escribió: Gracias chema funciona, +1

Edita el título y agrégale [SOLUCIONADO].

Saludos. Crab
Responder
#18
repito lo mismo que paso en el otro post, con equal y equali. Es mucho más seguro usar "equal" que "equali". Acuerdense que "equali" detecta las mayúsculas y minusculas por igual y "equal" es una comparación exacta del string indicado. Yo cambiaria "equali" por "equal".
Código PHP:
if (equali(g_password[id], password))
->
if (equal(g_password[id], password)) 
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)