· 6 years ago · Jun 05, 2019, 04:36 AM
1public guardar(id)
2{
3 static query[1024], datos[2];
4 datos[0] = id;
5 datos[1] = DATA_SAVE;
6
7 // Le guardamos los datos en la tabla SQL_Datos por su nombre.
8 formatex(query, charsmax(query), "UPDATE SQL_Datos SET Level=^"%d^", Experiencia=^"%d^", Reset=^"%d^", PuntosReset=^"%d^", PuntosHumanos=^"%d^", PuntosZombies=^"%d^", \
9 GastadosHumanos=^"%d^", GastadosZombies=^"%d^", Infectados=^"%d^", ZombieKills=^"%d^", NVG='%d %d %d', ColorHUD='%d %d %d', HudX='%f', HudY='%f', EffectHUD='%d' WHERE Nombre=^"%s^"",
10 gLevel[id], gExp[ id ],gReset[ id ],
11 gPuntoT[id], gPuntos[id][0], gPuntos[id][1],
12 gGastados[id][0], gGastados[id][1], gInfec[id], gKillsz[id],
13 gNvgColor[id][0], gNvgColor[id][1], gNvgColor[id][2],
14 gHudColor[id][0], gHudColor[id][1], gHudColor[id][2],
15 gHudPosition[id][0], gHudPosition[id][1],
16 gHudEffect[id], g_nombre[ id]);
17
18 SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 2);
19}
20
21public cargar(id)
22{
23 static query[1024], datos[2];
24 datos[0] = id;
25 datos[1] = DATA_LOAD;
26
27 // Seleccionamos en su nombre, el nombre de la/s varibale/s que pusimos en guardar(id)
28 formatex(query, charsmax(query), "SELECT Level, Experiencia, Reset, PuntosReset, PuntosHumanos, PuntosZombies, GastadosHumanos, GastadosZombies, Infectados, ZombieKills, NVG, ColorHUD, HudX, HudY, EffectHUD FROM SQL_Datos WHERE Nombre=^"%s^"", g_nombre[id]);
29
30 SQL_ThreadQuery(g_htuple, "SQL_Crear", query, datos, 2);
31}
32
33/* *** INICIAMOS EL SQL *** */
34public sql_inicio()
35{
36 new get_type[12], g_tabla[1024], len;
37
38 SQL_SetAffinity("sqlite"); // Usamos la afinidad para que el modulo a usarse sea "sqlite".
39 SQL_GetAffinity(get_type, sizeof(get_type));
40
41 if (!equali(get_type, "sqlite")) // Si el tipo no es igual a "sqlite".
42 {
43 // Creamos un log que dira: Error de Conexion.
44 log_to_file("SQL_CONEXION.txt", "Error de Conexion");
45 return pause("a"); // Si el modulo sqlite no esta activado le pausamos el plugin.
46 }
47
48 /*
49 NOTA:
50 * En caso de guardar más datos. se deberá agregarla en la columna donde creamos la tabla.
51 * EJEMPLO: Quiero guardar el nivel, Siempre al agregar datos tiene que ir el nombre que pusimos en
52 * guardar/cargar - En este caso yo puse variable='%d, en caso de agregarle cualquier otra cosa sería.
53 * variable='%d', nivel='%d'. <-- Siempre la ultima variable se cierra con un )
54 * len += formatex(g_tabla[len], charsmax(g_tabla), "variable int NOT NULL DEFAULT '0',");
55 * len += formatex(g_tabla[len], charsmax(g_tabla), "nivel int NOT NULL DEFAULT '1')");
56 * Recordar: Al agregar mas variables, se deberá aumentar las celdas de g_tabla y
57 * borrár nuevamente la base de datos.
58 */
59
60 g_htuple = SQL_MakeDbTuple("", "", "", SQL_BASE); // Registramos la Base de Datos
61
62 len = 0;
63 len += formatex(g_tabla[len], charsmax(g_tabla), "CREATE TABLE IF NOT EXISTS SQL_Datos (");
64 len += formatex(g_tabla[len], charsmax(g_tabla), "Nombre varchar(33) NOT NULL DEFAULT '' PRIMARY KEY,"); // Agregamos a la tabla el nombre,
65 len += formatex(g_tabla[len], charsmax(g_tabla), "Password varchar(33) NOT NULL DEFAULT '',"); // Agregamos a la tabla la password,
66 len += formatex(g_tabla[len], charsmax(g_tabla), "Level int NOT NULL DEFAULT '1',");
67 len += formatex(g_tabla[len], charsmax(g_tabla), "Experiencia int NOT NULL DEFAULT '0',");
68 len += formatex(g_tabla[len], charsmax(g_tabla), "Reset int NOT NULL DEFAULT '0',");
69 len += formatex(g_tabla[len], charsmax(g_tabla), "PuntosReset int NOT NULL DEFAULT '0',");
70 len += formatex(g_tabla[len], charsmax(g_tabla), "PuntosHumanos int NOT NULL DEFAULT '0',");
71 len += formatex(g_tabla[len], charsmax(g_tabla), "PuntosZombies int NOT NULL DEFAULT '0',");
72 len += formatex(g_tabla[len], charsmax(g_tabla), "GastadosHumanos int NOT NULL DEFAULT '0',");
73 len += formatex(g_tabla[len], charsmax(g_tabla), "GastadosZombies int NOT NULL DEFAULT '0',");
74 len += formatex(g_tabla[len], charsmax(g_tabla), "Infectados int NOT NULL DEFAULT '0',");
75 len += formatex(g_tabla[len], charsmax(g_tabla), "ZombieKills int NOT NULL DEFAULT '0')");
76 len += formatex(g_tabla[len], charsmax(g_tabla), "NVG varchar(12) NOT NULL DEFAULT '79 168 51', ")
77 len += formatex(g_tabla[len], charsmax(g_tabla), "ColorHUD varchar(12) NOT NULL DEFAULT '0 255 0', ")
78 len += formatex(g_tabla[len], charsmax(g_tabla), "HudX int(1) NOT NULL DEFAULT '0', ")
79 len += formatex(g_tabla[len], charsmax(g_tabla), "HudY float NOT NULL DEFAULT '0.03', ")
80 len += formatex(g_tabla[len], charsmax(g_tabla), "EffectHud float NOT NULL DEFAULT '0.02' )")
81
82 SQL_ThreadQuery(g_htuple, "SQL_Tabla", g_tabla);
83
84 return PLUGIN_HANDLED;
85}