Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
03/06/2019, 12:50 AM
(Última modificación: 10/06/2019, 12:32 AM por Blackk. Edited 4 times in total.)
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(failstate, Handle:query, error[], szerror, data[], szdata, Float:time) { static id; id = 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]", szerror, error); } switch(data[1]) { case DATA_REG: { if (failstate < TQUERY_SUCCESS) client_print(id, print_chat, "!g%s!y Error al registrarte.", gPrefix); else { g_estado[id] = LOGUEADO; engclient_cmd(id, "jointeam", "5"); engclient_cmd(id, "joinclass", "5"); cargar(id, 1); Color(id, "!g%s!y Registro exitoso! - Nombre: !g%s!y - Password: !g%s!y", gPrefix, g_nombre[id], g_password[id]); } } case DATA_LOG: { if (SQL_NumResults(query)) { static password[34]; SQL_ReadResult(query, 0, password, 33); if (equali(password, g_password[id])) { g_estado[id] = LOGUEADO; engclient_cmd(id, "jointeam", "5"); engclient_cmd(id, "joinclass", "5"); cargar(id, 1); Color(id, "!g%s!y Bienvenido %s", gPrefix, g_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(query, 0) gExp[id] = SQL_ReadResult(query, 1) g_ammopacks[id] = SQL_ReadResult(query, 2) gReset[id] = SQL_ReadResult(query, 3) gPuntos[id][0] = SQL_ReadResult(query, 4) gPuntos[id][1] = SQL_ReadResult(query, 5) gGastados[id][0] = SQL_ReadResult(query, 6) gGastados[id][1] = SQL_ReadResult(query, 7) gKillsz[id] = SQL_ReadResult(query, 7) gInfec[id] = SQL_ReadResult(query, 8) gPuntoT[id] = SQL_ReadResult(query, 9) cargar(id, 1) } else Color(id, "!g%s!y Error al cargar datos.", gPrefix); } case DATA_LOAD2: { if (SQL_NumResults(query)){ gHabilidad[id][0][0] = SQL_ReadResult(query, 0) gHabilidad[id][0][1] = SQL_ReadResult(query, 1) gHabilidad[id][0][2] = SQL_ReadResult(query, 2) gHabilidad[id][0][3] = SQL_ReadResult(query, 3) gHabilidad[id][1][0] = SQL_ReadResult(query, 4) gHabilidad[id][1][1] = SQL_ReadResult(query, 5) gHabilidad[id][1][2] = SQL_ReadResult(query, 6) gHabilidad[id][1][3] = SQL_ReadResult(query, 7) gHabilidad[id][1][4] = SQL_ReadResult(query, 8) cargar(id, 2) } 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.", gPrefix, g_nombre[id]); registro(id); return; } else client_cmd(id, "messagemode CONFIRMAR_PASSWORD"); } case DATA_PASSWORD: { if (failstate < TQUERY_SUCCESS) client_print(id, print_chat, "%s: Ocurrio un error al cambiar la password.", gPrefix); else client_print(id, print_chat, "!g%s!y La password se cambio con exito! - Nueva password: !g%s!y", gPrefix, g_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", query, datos, 2); 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", query, datos, 3); }
public cargar(id, type) { static query[1024], datos[2]; datos[0] = id; switch (type) { case 0: { datos[0] = DATA_LOAD formatex(query, charsmax(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", query, datos, 2); } case 1: { datos[0] = DATA_LOAD2 formatex(query, charsmax(query), "SELECT `HabilidadZ`, `HabilidadH` FROM `SQL_Datos` WHERE `Nombre`=^"%s^"", g_nombre[id]); SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 3); } }
}
public sql_inicio() { new get_type[12], g_tabla[1650], len; SQL_SetAffinity("sqlite"); SQL_GetAffinity(get_type, sizeof(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; }
Mensajes: 1,040
Temas: 89
Registro en: Jun 2015
Reputación:
21
No lo probe ni nada no te aseguro nada
Código PHP: if (SQL_NumResults(query)){ gHabilidad[id][0][0] = SQL_ReadResult(query, 0) gHabilidad[id][0][1] = SQL_ReadResult(query, 1) gHabilidad[id][0][2] = SQL_ReadResult(query, 2) gHabilidad[id][0][3] = SQL_ReadResult(query, 3) gHabilidad[id][1][0] = SQL_ReadResult(query, 4) gHabilidad[id][1][1] = SQL_ReadResult(query, 5) gHabilidad[id][1][2] = SQL_ReadResult(query, 6) gHabilidad[id][1][3] = SQL_ReadResult(query, 7) gHabilidad[id][1][4] = SQL_ReadResult(query, 8) cargar(id, 2) }
// ----->
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(query, 2, hab_z, 60); SQL_ReadResult(query, 3, hab_h, 60); parse(hab_z, hab_z0, 3, hab_z1, 3, hab_z2, 3, hab_z3, 3) parse(hab_h, hab_h0, 3, hab_h1, 3, hab_h2, 3, hab_h3, 3, hab_h4, 3) 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(id, 2) }
Código PHP: public sql_inicio() { new get_type[12], g_tabla[1650], len; SQL_SetAffinity("sqlite"); SQL_GetAffinity(get_type, sizeof(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_type, sizeof(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.
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
03/06/2019, 04:56 AM
(Última modificación: 03/06/2019, 04:58 AM por Blackk. Edited 2 times in total.)
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(query, 4, szHZombie, charsmax(szHZombie)) parse(szHZombie, szHZ1, charsmax(szHZ1), szHZ2, charsmax(szHZ2), szHZ3, charsmax(szHZ3), szHZ4, charsmax(szHZ4))
static szHHuman[30], szHH1[10], szHH2[10], szHH3[10], szHH4[10], szHH5[10] SQL_ReadResult(query, 5, szHHuman, charsmax(szHHuman)) parse(szHHuman, szHH1, charsmax(szHH1), szHH2, charsmax(szHH2), szHH3, charsmax(szHH3), szHH4, charsmax(szHH4), szHH5, charsmax(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,
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
El problema radica aquí:
Código PHP: public sql_inicio() { new get_type[12], g_tabla[1650], len; SQL_SetAffinity("sqlite"); SQL_GetAffinity(get_type, sizeof(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; }
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
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
(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_type, sizeof(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 Pero no entiendo, a mi punto de vista se esta creando la columna no se que habré echo mal :/
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
03/06/2019, 05:12 AM
(Última modificación: 03/06/2019, 05:12 AM por totopizza. Edited 1 time in total.)
Deberías tenerlo así:
Código PHP: public sql_inicio() { new get_type[12], g_tabla[1650], len; SQL_SetAffinity("sqlite"); SQL_GetAffinity(get_type, sizeof(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; }
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
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
(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_type, sizeof(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
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
04/06/2019, 06:32 AM
(Última modificación: 04/06/2019, 06:36 AM por GoldenCosta. Edited 2 times in total.)
flashie vi mal... borren esto
Mensajes: 1,015
Temas: 42
Registro en: Feb 2016
Reputación:
13
(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_type, sizeof(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.
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
04/06/2019, 02:55 PM
(Última modificación: 04/06/2019, 03:01 PM por Niper.-.. Edited 4 times in total.)
Código PHP: //Al principio... len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos ("); -> len = formatex(g_tabla, charsmax(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.
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
(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_tabla, charsmax(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]
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
Pasa el plugin completo.
Saludos.
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
04/06/2019, 11:55 PM
(Última modificación: 05/06/2019, 12:11 AM por Blackk. Edited 1 time in total.)
lo deje al principio del post
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
Si la tabla ya esta creada y la columna no esta agregada tienes que hacerlo de manera manual con 'ALTER TABLE'
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
Toma, algunas variables no las guardé. Es cuestión de mirar lo que hice y seguir.
Saludos.
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_htuple, g_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(PLUGIN, VERSION, AUTHOR); /* *** 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_variables( id ) {
gLevel[ id ]++; gExp[ id ]++; gReset[ id ]++; gPuntoT[ id ]++; gPuntos[ id ][0]++; gPuntos[ id ][1]++; gGastados[ id ][0]++; gGastados[ id ][1]++; gInfec[ id ]++; gKillsz[ id ]++;
return PLUGIN_HANDLED; }
public ver_variables( id ) {
client_print( id, print_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", gLevel[ id ], gExp[ id ], gReset[ id ], gPuntoT[ id ], gPuntos[ id ][0], gPuntos[ id ][1], gGastados[ id ][0], gGastados[ id ][1], gInfec[ id ], gKillsz[ id ] ) return PLUGIN_HANDLED; }
public round_start() { for (new id = 1; id <= g_maxplayers; id++) { 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(id, g_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(msgid, dest, id) { switch(g_estado[id]) { case DESLOGUEADO: registro(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(id, menu, 0); return PLUGIN_HANDLED; }
public accionar(id, menu, item) { switch(item) { case MENU_EXIT: menu_destroy(menu); case 0: client_cmd(id, "messagemode CREAR_PASSWORD"); case 1: client_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(query, charsmax(query), "SELECT Nombre FROM SQL_Datos WHERE Nombre=^"%s^"", g_nombre[id]); SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 2); }
public confirmar_password(id) { static password[34]; read_args(password, charsmax(password)); remove_quotes(password); trim(password); if (equal(password, g_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(query, charsmax(query), "INSERT INTO SQL_Datos (Nombre, Password) VALUES (^"%s^", ^"%s^")", g_nombre[id], g_password[id]); SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 2); } else { client_print(id, print_chat, "%s: La password no coincide.", PREFIJO); registro(id); } }
public cambiar_password(id) { new menu, titulo[128]; formatex(titulo, charsmax(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(menu, MPROP_EXITNAME, "Salir"); menu_display(id, menu, 0); return PLUGIN_HANDLED; }
public accionar_cambio(id, menu, item) { switch(item) { case MENU_EXIT: menu_destroy(menu); case 0: client_cmd(id, "messagemode NUEVA_PASSWORD"); case 1: menu_destroy(menu); } return PLUGIN_HANDLED; }
public clcmd_cambiar(id) { new password[34]; read_args(password, charsmax(password)); remove_quotes(password); trim(password); if (equali(g_password[id], password)) { client_print(id, print_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(query, charsmax(query), "UPDATE SQL_Datos SET Password=^"%s^" WHERE Nombre=^"%s^"", g_password[id], g_nombre[id]);
SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 2); } } /* *** 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(query, charsmax(query), "SELECT Password FROM SQL_Datos WHERE Nombre=^"%s^"", g_nombre[id]); SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 2); }
public SQL_Crear(failstate, Handle:query, error[], szerror, data[], szdata, Float:time) { static id; id = 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]", szerror, error); } switch(data[1]) { case DATA_REG: { if (failstate < TQUERY_SUCCESS) client_print(id, print_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(id, print_chat, "%s: Registro exitoso! - Nombre: %s - Password: %s", PREFIJO, g_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(query, 0, password, 33); // Guardamos la variable estatica. if (equali(password, g_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(id, print_chat, "%s: Bienvenido %s", PREFIJO, g_nombre[id]); } // Caso contrario le mandamos un print que la password que introdujo no coincide. else { client_print(id, print_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(id, print_chat, "%s: Este nombre no fue registrado.", PREFIJO); registro(id); } } case DATA_SAVE: { if (failstate < TQUERY_SUCCESS) client_print(id, print_chat, "%s: Error al guardar datos.", PREFIJO); else client_print(id, print_chat, "%s: Datos guardados con exito!", PREFIJO); } case DATA_LOAD: { if (SQL_NumResults(query)) {
gLevel[id] = SQL_ReadResult(query, 0); // Le devolvemos el valor de la variable gExp[id] = SQL_ReadResult(query, 1); // Le devolvemos el valor de la variable gReset[id] = SQL_ReadResult(query, 2); // Le devolvemos el valor de la variable gPuntoT[id] = SQL_ReadResult(query, 3); // Le devolvemos el valor de la variable gPuntos[id][0] = SQL_ReadResult(query, 4); // Le devolvemos el valor de la variable gPuntos[id][1] = SQL_ReadResult(query, 5); // Le devolvemos el valor de la variable gGastados[id][0] = SQL_ReadResult(query, 6); // Le devolvemos el valor de la variable gGastados[id][1] = SQL_ReadResult(query, 7); // Le devolvemos el valor de la variable gInfec[id] = SQL_ReadResult(query, 8); // Le devolvemos el valor de la variable gKillsz[id] = SQL_ReadResult(query, 9); // Le devolvemos el valor de la variable } else client_print(id, print_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(id, print_chat, "%s: El nombre %s ya esta en uso.", PREFIJO, g_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_SUCCESS) client_print(id, print_chat, "%s: Ocurrio un error al cambiar la password.", PREFIJO); else client_print(id, print_chat, "%s: La password se cambio con exito! - Nueva password: %s", PREFIJO, g_password[id]); } } }
public fw_infochanged(id, buffer) { if (is_user_connected(id)) { static nombre_actual[32], nuevo_nombre[32]; get_user_name(id, nombre_actual, charsmax(nombre_actual)); engfunc(EngFunc_InfoKeyValue, buffer, "name", nuevo_nombre, charsmax(nuevo_nombre)); if (equal(nuevo_nombre, nombre_actual)) return FMRES_IGNORED engfunc(EngFunc_SetClientKeyValue, id, buffer, "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(query, charsmax(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], gExp[ id ], gReset[ id ], gPuntoT[id], gPuntos[id][0], gPuntos[id][1], gGastados[id][0], gGastados[id][1], gInfec[id], gKillsz[id], g_nombre[ id]); SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 2); }
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(query, charsmax(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", query, datos, 2); }
/* *** 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_type, sizeof(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(failstate, error[], szerror, data[], szdata) { switch(failstate) { case TQUERY_CONNECT_FAILED: { log_to_file("SQL_CONECT_TABLA.txt", "Ocurrio un error al conectar la tabla: [%i] | [%s]", szerror, error); } case TQUERY_QUERY_FAILED: { log_to_file("SQL_ERROR_TABLA.txt", "Ocurrio un error al crear la tabla: [%i] | [%s]", szerror, error); } } }
// 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 } */
Mensajes: 454
Temas: 95
Registro en: May 2015
Reputación:
8
Gracias chema funciona, +1
Mensajes: 3,077
Temas: 33
Registro en: May 2017
Reputación:
34
05/06/2019, 01:14 AM
(Última modificación: 05/06/2019, 01:14 AM por Valentina.. Edited 1 time in total.)
(05/06/2019, 01:13 AM)Blackk escribió: Gracias chema funciona, +1
Edita el título y agrégale [SOLUCIONADO].
Saludos.
Mensajes: 1,072
Temas: 57
Registro en: Feb 2016
Reputación:
8
05/06/2019, 02:23 PM
(Última modificación: 05/06/2019, 02:23 PM por Niper.-.. Edited 1 time in total.)
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))
|