Mensajes: 369
Temas: 64
Registro en: Feb 2017
Reputación:
2
Código PHP: public Sql_Init() { g_SqlTuple = mysql_makehost(mysql_host, mysql_user, mysql_pass, mysql_database)
if (!g_SqlTuple) { // Log error log_to_file("SQL_ERROR.txt", "No se pudo conectar con la base de datos.") // Pause plugin return pause("a"); } new ErrorCode, Handle:SqlConnection = mysql_connect(g_SqlTuple, ErrorCode, g_Error, charsmax(g_Error)) // Load account count if (SqlConnection != Empty_Handle) { new Handle:query = mysql_query(SqlConnection, "SELECT * FROM `%s`", TABLE9) //SQL_Execute(query) if (mysql_num_results()) { g_createdaccounts = SQL_ReadResult(query, 0) g_createdcharacters = SQL_ReadResult(query, 1) } else { g_createdaccounts = g_createdcharacters = 0 formatex(g_query,charsmax(g_query), "INSERT INTO `%s` (`Created accounts`, `Created characters`) VALUES ('0', '0')", TABLE9) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) } mysql_free(query) } return PLUGIN_CONTINUE; }
public QueryCreateTable(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize) { switch (FailState) { case TQUERY_CONNECT_FAILED: log_to_file("SQL_LOG_TQ.txt", "Failed to connect to database [%i]: %s", Errorcode, Error) case TQUERY_QUERY_FAILED: log_to_file("SQL_LOG_TQ.txt", "Error on query for creating table [%i]: %s", Errorcode, Error) } return PLUGIN_HANDLED; } public plugin_cfg() { // Plugin disabled? if (!g_pluginenabled) return; // Get configs dir new cfgdir[32] get_configsdir(cfgdir, charsmax(cfgdir)) // Execute config file (zombieapocalypse.cfg) server_cmd("exec %s/zombieapocalypse.cfg", cfgdir) // Prevent any more stuff from registering g_arrays_created = false // Save customization data save_customization() // Lighting task set_task(5.0, "lighting_effects", _, _, _, "b") // Cache CVARs after configs are loaded / call roundstart manually set_task(0.5, "cache_cvars") set_task(0.5, "event_round_start") set_task(0.5, "logevent_round_start") }
public plugin_end() { // Finish SQL connection if (g_SqlTuple) mysql_free(g_SqlTuple) } /* GUARDADO Y CARGADO */
// Show player rank show_rank(id) { static iData[2] iData[0] = id iData[1] = SHOW_RANK formatex(g_query, charsmax(g_query), "SELECT (COUNT(*) + 1) FROM `%s` WHERE `Rango` > '%d' OR (`Rango` = '%d' AND `Experience` > '%d')", TABLE2, g_fame[id], g_fame[id], g_experience[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) }
// Load top 15 motd load_top15() { new ErrorCode, Handle:SqlConnection = mysql_connect(g_SqlTuple, ErrorCode, g_Error, charsmax(g_Error)) if (SqlConnection != Empty_Handle) { //new Handle:query = SQL_PrepareQuery(SqlConnection, "SELECT `Character`, `Level`, `Experience`, `Ammopacks`, `Rango`, `Human Points`, `Zombie Points` FROM `%s` ORDER BY `Rango` DESC, `Level` DESC, `Experience` DESC LIMIT 15", TABLE2) new Handle:query = mysql_query(SqlConnection, "SELECT `Character`, `Level`, `Experience`, `Ammopacks`, `Rango`, `Human Points`, `Zombie Points` FROM `%s` ORDER BY `Rango` DESC, `Level` DESC, `Experience` DESC LIMIT 15", TABLE2) //SQL_Execute(query) if (mysql_num_results()) { g_top15_clear = false static len; len = 0 len += formatex(g_motd[len], charsmax(g_motd), "<body bgcolor=#000000><font color=#FFB000><pre><center><h2>---- Zombie Apocalypse Top 15 ----</h2></center>^n^n") len += formatex(g_motd[len], charsmax(g_motd), "<b><u>%5s %29s %7s %2s %9s %7s %5s %5s</u></b>^n", "Rank", "Nombre", "Rango", "Nivel", "Experiencia", "Ammopacks", "H. Puntos", "Z. Puntos")
new iPosition, szName[32], iLevel, iExp, iAp, iFame, iHP, iZP while (mysql_more_results()) { ++iPosition
mysql_read_result(query, 0, szName, charsmax(szName)) iLevel = mysql_read_result(query, 1) iExp = mysql_read_result(query, 2) iAp = mysql_read_result(query, 3) iFame = mysql_read_result(query, 4) iHP = mysql_read_result(query, 5) iZP = mysql_read_result(query, 6) len += formatex(g_motd[len], charsmax(g_motd), "%4d %29s %4d %8d %11d %9d %9d %9d^n", iPosition, szName, iFame, iLevel, iExp, iAp, iHP, iZP)
mysql_next_row() } } else g_top15_clear = true mysql_free(query) } }
save_account_count() { formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Created accounts`='%d', `Created characters`='%d'", TABLE9, g_createdaccounts, g_createdcharacters) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) }
public IgnoreHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) { mysql_free(Query) return PLUGIN_HANDLED; }
public QueryHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:time) { static id; id = Data[0] // Connected? if (!is_user_connected(id)) return PLUGIN_HANDLED;
switch (FailState) { case TQUERY_CONNECT_FAILED: log_to_file("SQL_LOG_TQ.txt", "Failed to connect to database [%i]: %s", Errcode, Error) case TQUERY_QUERY_FAILED: log_to_file("SQL_LOG_TQ.txt", "Error in MySQL query [%i]: %s", Errcode, Error) } switch (Data[1]) { case SHOW_RANK: { if (mysql_num_results()) zp_colored_print(id, "^x04[ZA]^x01 Tu ranking es ^x04%s^x01 de ^x04%s^x01.", add_point(mysql_read_result(Query, 0)), add_point(g_createdcharacters)) } case REG_ID: { if (!mysql_num_results()) { client_cmd(id, "messagemode ^"register_password^"") set_hudmessage(0, 255, 255, 0.03, 0.05, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_MsgSync5, "Ingresa una Contraseña^nPulse ESC para salir") } else { client_print(id, print_center, "[ZA] Error: El ID ingresado se encuentra en uso") show_menu_registration(id) } } case REG_PASSWORD: { g_createdaccounts++ save_account_count() user_id[id][0] = "" client_print(id, print_center, "[ZA] Registro finalizado con éxito") show_menu_registration(id) } case LOG_ID: { if (mysql_num_results()) { client_cmd(id, "messagemode ^"your_password^"") set_hudmessage(0, 255, 255, 0.03, 0.05, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_MsgSync5, "Ingresa tu Contraseña^nPulse ESC para salir") } else { g_attempts[id]-- client_print(id, print_center, "[ZA] Error: El ID ingresado no existe. Intentos restantes: %d", g_attempts[id]) show_menu_registration(id) } } case LOG_PASSWORD: { if (mysql_num_results()) { static szPass[35], szBuffer[34] mysql_read_result(Query, 1, szPass, charsmax(szPass)) md5(user_password[id][0], szBuffer) if (equal(szBuffer, szPass)) { if (g_status[id] != OFFLINE) { CONFIRM_MENU = 3 client_cmd(id, "messagemode ^"register_new_password^"") set_hudmessage(0, 255, 255, 0.03, 0.05, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_MsgSync5, "Ingresa una Contraseña nueva^nPulse ESC para salir") } else check_online_account(id) } else { if (g_status[id] != OFFLINE) { user_password[id][0] = "" client_print(id, print_center, "[ZA] Error: La contraseña ingresada es incorrecta.") show_menu_character_selection(id) } else { g_attempts[id]-- client_print(id, print_center, "[ZA] Error: La contraseña ingresada es incorrecta. Intentos restantes: %d", g_attempts[id]) show_menu_registration(id) } } } } case CHECK_CHARACTER: { if (!mysql_num_results()) { CONFIRM_MENU = 1 show_menu_confirm(id) } else { client_print(id, print_center, "[ZA] El nombre se encuentra en uso. Por favor, cámbiese el nombre") show_menu_character_selection(id) } } case REG_CHARACTER: { static loading; loading++ switch (loading) { case 1: client_print(id, print_center, "[ZA] Cargando... 10%") case 2: client_print(id, print_center, "[ZA] Cargando... 30%") case 3: client_print(id, print_center, "[ZA] Cargando... 40%") case 4: client_print(id, print_center, "[ZA] Cargando... 50%") case 5: client_print(id, print_center, "[ZA] Cargando... 60%") case 6: client_print(id, print_center, "[ZA] Cargando... 80%") case 7: client_print(id, print_center, "[ZA] Cargando... 90%") case 8: { loading = 0 g_createdcharacters++ save_account_count() copy(g_charactername[id][SELECTED_CHARACTER], charsmax(g_charactername[][]), g_playername[id]) client_print(id, print_center, "[ZA] Personaje creado con éxito") show_menu_character_selection(id) } } } case LOAD_DATA1: { if (mysql_num_results()) { mysql_read_result(Query, 2, g_register_date[id], charsmax(g_register_date[])) mysql_read_result(Query, 3, g_last_loggin[id], charsmax(g_last_loggin[])) mysql_read_result(Query, 4, g_charactername[id][0], charsmax(g_charactername[][])) mysql_read_result(Query, 5, g_charactername[id][1], charsmax(g_charactername[][])) mysql_read_result(Query, 6, g_charactername[id][2], charsmax(g_charactername[][])) mysql_read_result(Query, 7, g_charactername[id][3], charsmax(g_charactername[][])) mysql_read_result(Query, 8, g_charactername[id][4], charsmax(g_charactername[][])) } g_status[id] = CHARACTER_MENU show_menu_character_selection(id) } case LOAD_DATA2: { if (mysql_num_results()) { g_level[id] = mysql_read_result(Query, 2) g_experience[id] = mysql_read_result(Query, 3) g_ammopacks[id][0] = mysql_read_result(Query, 4) g_ammopacks[id][1] = mysql_read_result(Query, 5) g_titles[id] = mysql_read_result(Query, 6) g_fame[id] = mysql_read_result(Query, 7) g_points[id][0] = mysql_read_result(Query, 8) g_points[id][1] = mysql_read_result(Query, 9) g_usedpoints[id][0] = mysql_read_result(Query, 10) g_usedpoints[id][1] = mysql_read_result(Query, 11) client_print(id, print_center, "[ZA] Cargando... 10%") } Load(id, 2) } case LOAD_DATA3: { if (mysql_num_results()) { g_humanclass[id] = mysql_read_result(Query, 2) g_humanclassnext[id] = mysql_read_result(Query, 3) g_zombieclass[id] = mysql_read_result(Query, 4) g_zombieclassnext[id] = mysql_read_result(Query, 5) client_print(id, print_center, "[ZA] Cargando... 20%") } Load(id, 3) } case LOAD_DATA4: { if (mysql_num_results()) { g_infected[id][0] = mysql_read_result(Query, 2) g_infected[id][1] = mysql_read_result(Query, 3) g_killed[id][0][0] = mysql_read_result(Query, 4) g_killed[id][0][1] = mysql_read_result(Query, 5) g_killed[id][0][2] = mysql_read_result(Query, 6) g_killed[id][0][3] = mysql_read_result(Query, 7) g_killed[id][0][4] = mysql_read_result(Query, 8) g_killed[id][0][5] = mysql_read_result(Query, 9) g_killed[id][1][0] = mysql_read_result(Query, 10) g_killed[id][1][1] = mysql_read_result(Query, 11) g_killed[id][1][2] = mysql_read_result(Query, 12) g_killed[id][1][3] = mysql_read_result(Query, 13) g_killed[id][1][4] = mysql_read_result(Query, 14) g_killed[id][1][5] = mysql_read_result(Query, 15) g_damage[id][0][0] = mysql_read_result(Query, 16) g_damage[id][0][1] = mysql_read_result(Query, 17) g_damage[id][0][2] = mysql_read_result(Query, 18) g_damage[id][0][3] = mysql_read_result(Query, 19) g_damage[id][0][4] = mysql_read_result(Query, 20) g_damage[id][0][5] = mysql_read_result(Query, 21) g_damage[id][1][0] = mysql_read_result(Query, 22) g_damage[id][1][1] = mysql_read_result(Query, 23) g_damage[id][1][2] = mysql_read_result(Query, 24) g_damage[id][1][3] = mysql_read_result(Query, 25) g_damage[id][1][4] = mysql_read_result(Query, 26) g_damage[id][1][5] = mysql_read_result(Query, 27) client_print(id, print_center, "[ZA] Cargando... 50%") } Load(id, 4) } case LOAD_DATA5: { if (mysql_num_results()) { g_skill_points[id][0][0] = mysql_read_result(Query, 2) g_skill_points[id][0][1] = mysql_read_result(Query, 3) g_skill_points[id][0][2] = mysql_read_result(Query, 4) g_skill_points[id][0][3] = mysql_read_result(Query, 5) g_skill_points[id][0][4] = mysql_read_result(Query, 6) g_skill_points[id][1][0] = mysql_read_result(Query, 7) g_skill_points[id][1][1] = mysql_read_result(Query, 8) g_skill_points[id][1][2] = mysql_read_result(Query, 9) g_skill_points[id][1][3] = mysql_read_result(Query, 10) g_skill_points[id][1][4] = mysql_read_result(Query, 11) client_print(id, print_center, "[ZA] Cargando... 60%") } Load(id, 5) } case LOAD_DATA6: { if (mysql_num_results()) { g_quest[id] = mysql_read_result(Query, 2) g_questcompleted[id] = mysql_read_result(Query, 3) g_questrounds[id] = mysql_read_result(Query, 4) g_questkill[id][0] = mysql_read_result(Query, 5) g_questkill[id][1] = mysql_read_result(Query, 6) g_questkill[id][2] = mysql_read_result(Query, 7) g_questkill[id][3] = mysql_read_result(Query, 8) g_questkill[id][4] = mysql_read_result(Query, 9) g_questkill[id][5] = mysql_read_result(Query, 10) client_print(id, print_center, "[ZA] Cargando... 70%") } Load(id, 6) } case LOAD_DATA7: { if (mysql_num_results()) { g_playedtime[id][0] = mysql_read_result(Query, 2) g_playedtime[id][1] = mysql_read_result(Query, 3) g_playedtime[id][2] = mysql_read_result(Query, 4) g_playedtime[id][3] = mysql_read_result(Query, 5) client_print(id, print_center, "[ZA] Cargando... 75%") } Load(id, 7) } case LOAD_DATA8: { if (mysql_num_results()) { static datacolor[16], szRed[4], szGreen[4], szBlue[4] g_hud_stats_t[id] = mysql_read_result(Query, 2) mysql_read_result(Query, 3, Float:g_hud_stats_x[id]) mysql_read_result(Query, 4, Float:g_hud_stats_y[id]) mysql_read_result(Query, 5, datacolor, charsmax(datacolor)) parse(datacolor, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue)) g_hudred[id] = str_to_num(szRed) g_hudgreen[id] = str_to_num(szGreen) g_hudblue[id] = str_to_num(szBlue) mysql_read_result(Query, 6, datacolor, charsmax(datacolor)) parse(datacolor, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue)) g_nvgred[id] = str_to_num(szRed) g_nvggreen[id] = str_to_num(szGreen) g_nvgblue[id] = str_to_num(szBlue) mysql_read_result(Query, 7, datacolor, charsmax(datacolor)) parse(datacolor, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue)) g_flashred[id] = str_to_num(szRed) g_flashgreen[id] = str_to_num(szGreen) g_flashblue[id] = str_to_num(szBlue) client_print(id, print_center, "[ZA] Cargando... 100%") } show_menu_character(id) } case CHANGE_PASSWORD: { copy(user_password[id][1], charsmax(user_password[][]), user_password[id][0]) user_password[id][0] = "" client_print(id, print_center, "[ZA] Contraseña cambiada con éxito") } } return PLUGIN_CONTINUE; }
cambie casi todas las natives por las del modulo de destro excepto por algunas ya que no sabia, no se si esta bien hecho si me pueden ayudar con eso.
pd: no se mucho de guardado sqlite ni mysql pero estoy intentando aprender.
Mensajes: 1,182
Temas: 18
Registro en: Oct 2013
Reputación:
16
Pos, compilalo, subilo al servidor y testea. Desde aqui y por arriba se ve bien.
Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.
Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'
(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Mensajes: 369
Temas: 64
Registro en: Feb 2017
Reputación:
2
10/01/2019, 06:08 PM
(Última modificación: 10/01/2019, 06:08 PM por luxor xD.)
Lo uso en localhost y me sale errores me compila pero me genera errores de coneccion con la db
no me carga los datos
Mensajes: 1,182
Temas: 18
Registro en: Oct 2013
Reputación:
16
Ok, entiendo .. pasame SQL_ERROR.txt
Saludos,
cLAANS.-
Mi unico plugin.
Tutorial de niveles.
Ayudo, pero no de la manera que quieren, si quieren aprender les servirá lo mio, para pedir el codigo en bandeja tienen la sección 'Pedidos'
(09/11/2017, 09:30 PM)SoundBlaster escribió: Espera y llamo a los power rangers para que me digan la linea de error
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
11/01/2019, 08:10 AM
(Última modificación: 11/01/2019, 08:14 AM por Sugisaki. Edited 3 times in total.)
(10/01/2019, 04:23 PM)cLAANS escribió: Pos, compilalo, subilo al servidor y testea. Desde aqui y por arriba se ve bien.
Saludos,
cLAANS.-
estas seguro?
fijate bien
Código PHP: if (SqlConnection != Empty_Handle) { new Handle:query = mysql_query(SqlConnection, "SELECT * FROM `%s`", TABLE9) //SQL_Execute(query) if (mysql_num_results()) { g_createdaccounts = SQL_ReadResult(query, 0) g_createdcharacters = SQL_ReadResult(query, 1) } else { g_createdaccounts = g_createdcharacters = 0 formatex(g_query,charsmax(g_query), "INSERT INTO `%s` (`Created accounts`, `Created characters`) VALUES ('0', '0')", TABLE9) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) } mysql_free(query) }
desde aqui esta malisimo
por que?
esta cargando algo en el mismo frame, lo cual mysqlt quito dicha funcionalidad
solo veo que se usa en show_rank no veo que estas cargando las cuentas
desde esta afuera del switch solo SHOW_RANK y REG_ID cumplen la condicion
COMO TE COMPILA con todos esos fallos?
Mensajes: 369
Temas: 64
Registro en: Feb 2017
Reputación:
2
Me compila pero no me agarra la base de datos, el juego no guarda ni carga nada.
esto es lo que le e cambiado para convertirlo en mysqlt
Código PHP: public Sql_Init() { g_SqlTuple = mysql_makehost(mysql_host, mysql_user, mysql_pass, mysql_database)
if (!g_SqlTuple) { // Log error log_to_file("SQL_ERROR.txt", "No se pudo conectar con la base de datos.") // Pause plugin return pause("a"); } new ErrorCode, Handle:SqlConnection = mysql_connect(g_SqlTuple, ErrorCode, g_Error, charsmax(g_Error)) // Create tables new len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE9) len += formatex(g_motd[len], charsmax(g_motd) - len, "`Created accounts` int(15) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Created characters` int(15) NOT NULL DEFAULT '0')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE1) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Password` varchar(35) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Register Date` date NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Last Loggin` date NOT NULL DEFAULT '0000-00-00', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character 1` varchar(32) NOT NULL DEFAULT 'None', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character 2` varchar(32) NOT NULL DEFAULT 'None', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character 3` varchar(32) NOT NULL DEFAULT 'None', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character 4` varchar(32) NOT NULL DEFAULT 'None', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character 5` varchar(32) NOT NULL DEFAULT 'None')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE2) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Level` int(5) NOT NULL DEFAULT '1', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Experience` int(16) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Ammopacks` int(10) NOT NULL DEFAULT '%d', ", get_pcvar_num(cvar_startammopacks)) len += formatex(g_motd[len], charsmax(g_motd) - len, "`Used Ammopacks` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Range` int(3) NOT NULL DEFAULT '1', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Fame` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Human Points` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Zombie Points` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Used Human Points` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Used Zombie Points` int(10) NOT NULL DEFAULT '0')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE3) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Human Class` int(3) NOT NULL DEFAULT '%d', ", HCLASS_NONE) len += formatex(g_motd[len], charsmax(g_motd) - len, "`Next Human Class` int(3) NOT NULL DEFAULT '%d', ", HCLASS_NONE) len += formatex(g_motd[len], charsmax(g_motd) - len, "`Zombie Class` int(3) NOT NULL DEFAULT '%d', ", ZCLASS_NONE) len += formatex(g_motd[len], charsmax(g_motd) - len, "`Next Zombie Class` int(3) NOT NULL DEFAULT '%d')", ZCLASS_NONE) mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE4) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Infected Human` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Received Infect` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Human Killed` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Zombie Killed` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Survivor Killed` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Wesker Killed` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Nemesis Killed` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Alien Killed` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Human Dead` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Zombie Dead` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Survivor Dead` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Wesker Dead` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Nemesis Dead` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Alien Dead` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Human Damage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Zombie Damage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Survivor Damage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Wesker Damage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Nemesis Damage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Alien Damage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Human RDamage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Zombie RDamage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Survivor RDamage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Wesker RDamage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Nemesis RDamage` int(20) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Alien RDamage` int(20) NOT NULL DEFAULT '0')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE5) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`HAttack Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`HHealth Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`HSpeed Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`HGravity Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`HArmor Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`ZAttack Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`ZHealth Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`ZSpeed Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`ZGravity Skill` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`ZDefense Skill` int(3) NOT NULL DEFAULT '0')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE6) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Selected Quest` int(4) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Completed Quest` int(5) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Quest Rounds` int(5) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Quest Killed Human` int(5) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Quest Killed Zombie` int(5) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Quest Killed Survivor` int(5) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Quest Killed Wesker` int(5) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Quest Killed Nemesis` int(5) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Quest Killed Alien` int(5) NOT NULL DEFAULT '0')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE7) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Rounds Played` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Hours Played` int(10) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Minutes Played` int(3) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Seconds Played` int(3) NOT NULL DEFAULT '0')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) len = 0 len += formatex(g_motd[len], charsmax(g_motd) - len, "CREATE TABLE IF NOT EXISTS `%s`(", TABLE8) len += formatex(g_motd[len], charsmax(g_motd) - len, "`User ID` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Character` varchar(32) NOT NULL, ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Hud Stat T` int(1) NOT NULL DEFAULT '0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Hud Stat X` float NOT NULL DEFAULT '0.03', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Hud Stat Y` float NOT NULL DEFAULT '0.02', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Hud RGB` varchar(12) NOT NULL DEFAULT '79 168 51', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`NVG RGB` varchar(12) NOT NULL DEFAULT '0 255 0', ") len += formatex(g_motd[len], charsmax(g_motd) - len, "`Flashlight RGB` varchar(12) NOT NULL DEFAULT '255 255 255')") mysql_query(g_SqlTuple, "QueryCreateTable", g_motd) // Load account count if (SqlConnection != Empty_Handle) { new Handle:query = mysql_query(SqlConnection, "SELECT * FROM `%s`", TABLE9) mysql_isnull(query) //SQL_Execute(query) if (mysql_more_results()) { g_createdaccounts = SQL_ReadResult(query, 0) g_createdcharacters = SQL_ReadResult(query, 1) } else { g_createdaccounts = g_createdcharacters = 0 formatex(g_query,charsmax(g_query), "INSERT INTO `%s` (`Created accounts`, `Created characters`) VALUES ('0', '0')", TABLE9) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) } mysql_free(query) } return PLUGIN_CONTINUE; }
public QueryCreateTable(FailState, Handle:Query, Error[], Errorcode, Data[], DataSize) { switch (FailState) { case TQUERY_CONNECT_FAILED: log_to_file("SQL_LOG_TQ.txt", "Failed to connect to database [%i]: %s", Errorcode, Error) case TQUERY_QUERY_FAILED: log_to_file("SQL_LOG_TQ.txt", "Error on query for creating table [%i]: %s", Errorcode, Error) } return PLUGIN_HANDLED; } public plugin_cfg() { // Plugin disabled? if (!g_pluginenabled) return; // Get configs dir new cfgdir[32] get_configsdir(cfgdir, charsmax(cfgdir)) // Execute config file (zombieapocalypse.cfg) server_cmd("exec %s/zombieapocalypse.cfg", cfgdir) // Prevent any more stuff from registering g_arrays_created = false // Save customization data save_customization() // Lighting task set_task(5.0, "lighting_effects", _, _, _, "b") // Cache CVARs after configs are loaded / call roundstart manually set_task(0.5, "cache_cvars") set_task(0.5, "event_round_start") set_task(0.5, "logevent_round_start") }
public plugin_end() { // Finish SQL connection if (g_SqlTuple) mysql_free(g_SqlTuple) }
Código PHP: /*================================================================================ [Account System] =================================================================================*/
// Logging Account: Logging ID public logging_id(id) { if (g_status[id] != OFFLINE) return; read_args(user_id[id][0], charsmax(user_id[][])) remove_quotes(user_id[id][0]);trim(user_id[id][0]) static iData[2] iData[0] = id iData[1] = LOG_ID formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^"", TABLE1, user_id[id][0]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) }
// Logging Account: Logging Password public logging_password(id) { read_args(user_password[id][0], charsmax(user_password[][])) remove_quotes(user_password[id][0]);trim(user_password[id][0]) static iData[2] iData[0] = id iData[1] = LOG_PASSWORD formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^"", TABLE1, (g_status[id] != OFFLINE) ? user_id[id][1] : user_id[id][0]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } // Check if account is currently online check_online_account(id) { // Get logged players count static iPlayersnum; iPlayersnum = fnGetLogged() // Not enough players, load directly if (iPlayersnum < 1) { copy(user_id[id][1], charsmax(user_id[][]), user_id[id][0]) copy(user_password[id][1], charsmax(user_password[][]), user_password[id][0]) user_id[id][0] = "" user_password[id][0] = "" Load(id, 0) return; } // Check all players ID's for (new i = 1; i <= g_maxplayers; i++) { // Same user ID if (equal(user_id[i][1], user_id[id][0]) && g_status[i] > OFFLINE) { client_print(id, print_center, "[ZA] Error: La cuenta se está utilizando actualmente.") show_menu_registration(id) break; } else if (i == g_maxplayers) // All players checked { copy(user_id[id][1], charsmax(user_id[][]), user_id[id][0]) copy(user_password[id][1], charsmax(user_password[][]), user_password[id][0]) user_id[id][0] = "" user_password[id][0] = "" Load(id, 0) } } }
// Register Account: Checking ID public check_id(id) { if (g_status[id] != OFFLINE) return; read_args(user_id[id][0], charsmax(user_id[][])) remove_quotes(user_id[id][0]);trim(user_id[id][0]) if (count_characters(user_id[id][0]) < g_minidcharacters) { client_print(id, print_center, "[ZA] Error: El ID debe contener al menos %d carácteres", g_minidcharacters) show_menu_registration(id) return; } if (contain_special_characters(user_id[id][0])) { client_print(id, print_center, "[ZA] Error: El ID no debe contener carácteres especiales") show_menu_registration(id) return; } static iData[2] iData[0] = id iData[1] = REG_ID formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^"", TABLE1, user_id[id][0]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) }
// Register Account / Change Account: Checking Password public check_password(id) { if (g_status[id] != OFFLINE && CONFIRM_MENU != 3) return; read_args(user_password[id][0], charsmax(user_password[][])) remove_quotes(user_password[id][0]);trim(user_password[id][0]) if (count_characters(user_password[id][0]) < g_minpasscharacters) { client_print(id, print_center, "[ZA] Error: La contraseña debe contener al menos %d carácteres", g_minpasscharacters) (CONFIRM_MENU == 3) ? show_menu_character_selection(id) : show_menu_registration(id) return; } if (contain_special_characters(user_password[id][0])) { client_print(id, print_center, "[ZA] Error: La contraseña no debe contener carácteres especiales") (CONFIRM_MENU == 3) ? show_menu_character_selection(id) : show_menu_registration(id) return; } if (equal(user_password[id][0], user_id[id][0]) && CONFIRM_MENU != 3 || equal(user_password[id][0], user_id[id][1]) && CONFIRM_MENU == 3) { client_print(id, print_center, "[ZA] Error: La contraseña no puede ser similar al ID") (CONFIRM_MENU == 3) ? show_menu_character_selection(id) : show_menu_registration(id) return; } if (equal(user_password[id][0], user_password[id][1]) && CONFIRM_MENU == 3) { client_print(id, print_center, "[ZA] Error: La contraseña es la misma que la actual") show_menu_character_selection(id) return; } show_menu_confirm(id) }
Save(id) { // Not character selected don't save if (g_status[id] < ONLINE_SPEC) return; static szDate[11] get_time("%Y/%m/%d", szDate, charsmax(szDate)) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Last Loggin`='%s' WHERE `User ID`=^"%s^"", TABLE1, szDate, user_id[id][1]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Level`='%d', `Experience`='%d', `Ammopacks`='%d', `Used Ammopacks`='%d', `Titulo`='%d', `Rango`='%d', `Human Points`='%d', `Zombie Points`='%d', `Used Human Points`='%d', `Used Zombie Points`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE2, g_level[id], g_experience[id], g_ammopacks[id][0], g_ammopacks[id][1], g_titles[id], g_fame[id], g_points[id][0], g_points[id][1], g_usedpoints[id][0], g_usedpoints[id][1], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Human Class`='%d', `Next Human Class`='%d', `Zombie Class`='%d', `Next Zombie Class`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE3, g_humanclass[id], g_humanclassnext[id], g_zombieclass[id], g_zombieclassnext[id], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Infected Human`='%d', `Received Infect`='%d', `Human Killed`='%d', `Zombie Killed`='%d', `Survivor Killed`='%d', `Wesker Killed`='%d', `Nemesis Killed`='%d', `Alien Killed`='%d', `Human Dead`='%d', `Zombie Dead`='%d', `Survivor Dead`='%d', `Wesker Dead`='%d', `Nemesis Dead`='%d', `Alien Dead`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE4, g_infected[id][0], g_infected[id][1], g_killed[id][0][0], g_killed[id][0][1], g_killed[id][0][2], g_killed[id][0][3], g_killed[id][0][4], g_killed[id][0][5], g_killed[id][1][0], g_killed[id][1][1], g_killed[id][1][2], g_killed[id][1][3], g_killed[id][1][4], g_killed[id][1][5], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Human Damage`='%d', `Zombie Damage`='%d', `Survivor Damage`='%d', `Wesker Damage`='%d', `Nemesis Damage`='%d', `Alien Damage`='%d', `Human RDamage`='%d', `Zombie RDamage`='%d', `Survivor RDamage`='%d', `Wesker RDamage`='%d', `Nemesis RDamage`='%d', `Alien RDamage`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE4, g_damage[id][0][0], g_damage[id][0][1], g_damage[id][0][2], g_damage[id][0][3], g_damage[id][0][4], g_damage[id][0][5], g_damage[id][1][0], g_damage[id][1][1], g_damage[id][1][2], g_damage[id][1][3], g_damage[id][1][4], g_damage[id][1][5], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `HAttack Skill`='%d', `HHealth Skill`='%d', `HSpeed Skill`='%d', `HGravity Skill`='%d', `HArmor Skill`='%d', `ZAttack Skill`='%d', `ZHealth Skill`='%d', `ZSpeed Skill`='%d', `ZGravity Skill`='%d', `ZDefense Skill`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE5, g_skill_points[id][0][0], g_skill_points[id][0][1], g_skill_points[id][0][2], g_skill_points[id][0][3], g_skill_points[id][0][4], g_skill_points[id][1][0], g_skill_points[id][1][1], g_skill_points[id][1][2], g_skill_points[id][1][3], g_skill_points[id][1][4], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Selected Quest`='%d', `Completed Quest`='%d', `Quest Rounds`='%d', `Quest Killed Human`='%d', `Quest Killed Zombie`='%d', `Quest Killed Survivor`='%d', `Quest Killed Wesker`='%d', `Quest Killed Nemesis`='%d', `Quest Killed Alien`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE6, g_quest[id], g_questcompleted[id], g_questrounds[id], g_questkill[id][0], g_questkill[id][1], g_questkill[id][2], g_questkill[id][3], g_questkill[id][4], g_questkill[id][5], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Rounds Played`='%d', `Hours Played`='%d', `Minutes Played`='%d', `Seconds Played`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE7, g_playedtime[id][0], g_playedtime[id][1], g_playedtime[id][2], g_playedtime[id][3], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Hud Stat T`='%d', `Hud Stat X`='%f', `Hud Stat Y`='%f', `Hud RGB`='%d %d %d', `NVG RGB`='%d %d %d', `Flashlight RGB`='%d %d %d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE8, g_hud_stats_t[id], g_hud_stats_x[id], g_hud_stats_y[id], g_hudred[id], g_hudgreen[id], g_hudblue[id], g_nvgred[id], g_nvggreen[id], g_nvgblue[id], g_flashred[id], g_flashgreen[id], g_flashblue[id], user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) }
Load(id, yourdata) { static iData[2] iData[0] = id switch (yourdata) { case 0: { iData[1] = LOAD_DATA1 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^"", TABLE1, user_id[id][1]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } case 1: { iData[1] = LOAD_DATA2 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE2, user_id[id][1], g_charactername[id][SELECTED_CHARACTER]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } case 2: { iData[1] = LOAD_DATA3 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE3, user_id[id][1], g_charactername[id][SELECTED_CHARACTER]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } case 3: { iData[1] = LOAD_DATA4 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE4, user_id[id][1], g_charactername[id][SELECTED_CHARACTER]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } case 4: { iData[1] = LOAD_DATA5 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE5, user_id[id][1], g_charactername[id][SELECTED_CHARACTER]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } case 5: { iData[1] = LOAD_DATA6 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE6, user_id[id][1], g_charactername[id][SELECTED_CHARACTER]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } case 6: { iData[1] = LOAD_DATA7 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE7, user_id[id][1], g_charactername[id][SELECTED_CHARACTER]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } case 7: { iData[1] = LOAD_DATA8 formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^"", TABLE8, user_id[id][1], g_charactername[id][SELECTED_CHARACTER]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } } }
// Create New Account create_account(id) { new iData[2], szBuffer[34], szDate[11] iData[0] = id iData[1] = REG_PASSWORD md5(user_password[id][0], szBuffer) get_time("%Y/%m/%d", szDate, charsmax(szDate)) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Password`, `Register Date`) VALUES (^"%s^", ^"%s^", '%s')", TABLE1, user_id[id][0], szBuffer, szDate) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) } // Create Character: Check Character check_character(id) { if (equal(g_playername[id], "None")) { client_print(id, print_center, "[ZA] Error: Este nombre no puede ser usado. Por favor, cámbiese el nombre") show_menu_character_selection(id) return; } new iData[2] iData[0] = id iData[1] = CHECK_CHARACTER formatex(g_query, charsmax(g_query), "SELECT * FROM `%s` WHERE `Character`=^"%s^"", TABLE2, g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) }
// Create Character create_character(id) { new iData[2] iData[0] = id iData[1] = REG_CHARACTER formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Character %d`=^"%s^" WHERE `User ID`=^"%s^"", TABLE1, SELECTED_CHARACTER+1, g_playername[id], user_id[id][1]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")", TABLE2, user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")", TABLE3, user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")", TABLE4, user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")", TABLE5, user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")", TABLE6, user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")", TABLE7, user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) formatex(g_query, charsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")", TABLE8, user_id[id][1], g_playername[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) }
// Change Password change_password(id) { new iData[2], szBuffer[34] iData[0] = id iData[1] = CHANGE_PASSWORD md5(user_password[id][0], szBuffer) formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Password`=^"%s^" WHERE `User ID`=^"%s^"", TABLE1, szBuffer, user_id[id][1]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) }
// Show player rank show_rank(id) { static iData[2] iData[0] = id iData[1] = SHOW_RANK formatex(g_query, charsmax(g_query), "SELECT (COUNT(*) + 1) FROM `%s` WHERE `Rango` > '%d' OR (`Rango` = '%d' AND `Experience` > '%d')", TABLE2, g_fame[id], g_fame[id], g_experience[id]) mysql_query(g_SqlTuple, "QueryHandle", g_query, iData, 2) }
// Load top 15 motd load_top15() { new ErrorCode, Handle:SqlConnection = mysql_connect(g_SqlTuple, ErrorCode, g_Error, charsmax(g_Error)) if (SqlConnection != Empty_Handle) { //new Handle:query = SQL_PrepareQuery(SqlConnection, "SELECT `Character`, `Level`, `Experience`, `Ammopacks`, `Rango`, `Human Points`, `Zombie Points` FROM `%s` ORDER BY `Rango` DESC, `Level` DESC, `Experience` DESC LIMIT 15", TABLE2) new Handle:query = mysql_query(SqlConnection, "SELECT `Character`, `Level`, `Experience`, `Ammopacks`, `Rango`, `Human Points`, `Zombie Points` FROM `%s` ORDER BY `Rango` DESC, `Level` DESC, `Experience` DESC LIMIT 15", TABLE2) //SQL_Execute(query) if (mysql_more_results()) { g_top15_clear = false static len; len = 0 len += formatex(g_motd[len], charsmax(g_motd), "<body bgcolor=#000000><font color=#FFB000><pre><center><h2>---- Zombie Apocalypse Top 15 ----</h2></center>^n^n") len += formatex(g_motd[len], charsmax(g_motd), "<b><u>%5s %29s %7s %2s %9s %7s %5s %5s</u></b>^n", "Rank", "Nombre", "Rango", "Nivel", "Experiencia", "Ammopacks", "H. Puntos", "Z. Puntos")
new iPosition, szName[32], iLevel, iExp, iAp, iFame, iHP, iZP while (mysql_more_results()) { ++iPosition
mysql_read_result(query, 0, szName, charsmax(szName)) iLevel = mysql_read_result(query, 1) iExp = mysql_read_result(query, 2) iAp = mysql_read_result(query, 3) iFame = mysql_read_result(query, 4) iHP = mysql_read_result(query, 5) iZP = mysql_read_result(query, 6) len += formatex(g_motd[len], charsmax(g_motd), "%4d %29s %4d %8d %11d %9d %9d %9d^n", iPosition, szName, iFame, iLevel, iExp, iAp, iHP, iZP)
mysql_next_row() } } else g_top15_clear = true mysql_free(query) } }
save_account_count() { formatex(g_query, charsmax(g_query), "UPDATE `%s` SET `Created accounts`='%d', `Created characters`='%d'", TABLE9, g_createdaccounts, g_createdcharacters) mysql_query(g_SqlTuple, "IgnoreHandle", g_query) }
public IgnoreHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize) { mysql_free(Query) return PLUGIN_HANDLED; }
public QueryHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:time) { static id; id = Data[0] // Connected? if (!is_user_connected(id)) return PLUGIN_HANDLED;
switch (FailState) { case TQUERY_CONNECT_FAILED: log_to_file("SQL_LOG_TQ.txt", "Failed to connect to database [%i]: %s", Errcode, Error) case TQUERY_QUERY_FAILED: log_to_file("SQL_LOG_TQ.txt", "Error in MySQL query [%i]: %s", Errcode, Error) } switch (Data[1]) { case SHOW_RANK: { if (mysql_more_results()) zp_colored_print(id, "^x04[ZA]^x01 Tu ranking es ^x04%s^x01 de ^x04%s^x01.", add_point(mysql_read_result(Query, 0)), add_point(g_createdcharacters)) } case REG_ID: { if (!mysql_more_results()) { client_cmd(id, "messagemode ^"register_password^"") set_hudmessage(0, 255, 255, 0.03, 0.05, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_MsgSync5, "Ingresa una Contraseña^nPulse ESC para salir") } else { client_print(id, print_center, "[ZA] Error: El ID ingresado se encuentra en uso") show_menu_registration(id) } } case REG_PASSWORD: { g_createdaccounts++ save_account_count() user_id[id][0] = "" client_print(id, print_center, "[ZA] Registro finalizado con éxito") show_menu_registration(id) } case LOG_ID: { if (mysql_more_results()) { client_cmd(id, "messagemode ^"your_password^"") set_hudmessage(0, 255, 255, 0.03, 0.05, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_MsgSync5, "Ingresa tu Contraseña^nPulse ESC para salir") } else { g_attempts[id]-- client_print(id, print_center, "[ZA] Error: El ID ingresado no existe. Intentos restantes: %d", g_attempts[id]) show_menu_registration(id) } } case LOG_PASSWORD: { if (mysql_more_results()) { static szPass[35], szBuffer[34] mysql_read_result(Query, 1, szPass, charsmax(szPass)) md5(user_password[id][0], szBuffer) if (equal(szBuffer, szPass)) { if (g_status[id] != OFFLINE) { CONFIRM_MENU = 3 client_cmd(id, "messagemode ^"register_new_password^"") set_hudmessage(0, 255, 255, 0.03, 0.05, 0, 0.1, 4.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_MsgSync5, "Ingresa una Contraseña nueva^nPulse ESC para salir") } else check_online_account(id) } else { if (g_status[id] != OFFLINE) { user_password[id][0] = "" client_print(id, print_center, "[ZA] Error: La contraseña ingresada es incorrecta.") show_menu_character_selection(id) } else { g_attempts[id]-- client_print(id, print_center, "[ZA] Error: La contraseña ingresada es incorrecta. Intentos restantes: %d", g_attempts[id]) show_menu_registration(id) } } } } case CHECK_CHARACTER: { if (!mysql_more_results()) { CONFIRM_MENU = 1 show_menu_confirm(id) } else { client_print(id, print_center, "[ZA] El nombre se encuentra en uso. Por favor, cámbiese el nombre") show_menu_character_selection(id) } } case REG_CHARACTER: { static loading; loading++ switch (loading) { case 1: client_print(id, print_center, "[ZA] Cargando... 10%") case 2: client_print(id, print_center, "[ZA] Cargando... 30%") case 3: client_print(id, print_center, "[ZA] Cargando... 40%") case 4: client_print(id, print_center, "[ZA] Cargando... 50%") case 5: client_print(id, print_center, "[ZA] Cargando... 60%") case 6: client_print(id, print_center, "[ZA] Cargando... 80%") case 7: client_print(id, print_center, "[ZA] Cargando... 90%") case 8: { loading = 0 g_createdcharacters++ save_account_count() copy(g_charactername[id][SELECTED_CHARACTER], charsmax(g_charactername[][]), g_playername[id]) client_print(id, print_center, "[ZA] Personaje creado con éxito") show_menu_character_selection(id) } } } case LOAD_DATA1: { if (mysql_more_results()) { mysql_read_result(Query, 2, g_register_date[id], charsmax(g_register_date[])) mysql_read_result(Query, 3, g_last_loggin[id], charsmax(g_last_loggin[])) mysql_read_result(Query, 4, g_charactername[id][0], charsmax(g_charactername[][])) mysql_read_result(Query, 5, g_charactername[id][1], charsmax(g_charactername[][])) mysql_read_result(Query, 6, g_charactername[id][2], charsmax(g_charactername[][])) mysql_read_result(Query, 7, g_charactername[id][3], charsmax(g_charactername[][])) mysql_read_result(Query, 8, g_charactername[id][4], charsmax(g_charactername[][])) } g_status[id] = CHARACTER_MENU show_menu_character_selection(id) } case LOAD_DATA2: { if (mysql_more_results()) { g_level[id] = mysql_read_result(Query, 2) g_experience[id] = mysql_read_result(Query, 3) g_ammopacks[id][0] = mysql_read_result(Query, 4) g_ammopacks[id][1] = mysql_read_result(Query, 5) g_titles[id] = mysql_read_result(Query, 6) g_fame[id] = mysql_read_result(Query, 7) g_points[id][0] = mysql_read_result(Query, 8) g_points[id][1] = mysql_read_result(Query, 9) g_usedpoints[id][0] = mysql_read_result(Query, 10) g_usedpoints[id][1] = mysql_read_result(Query, 11) client_print(id, print_center, "[ZA] Cargando... 10%") } Load(id, 2) } case LOAD_DATA3: { if (mysql_more_results()) { g_humanclass[id] = mysql_read_result(Query, 2) g_humanclassnext[id] = mysql_read_result(Query, 3) g_zombieclass[id] = mysql_read_result(Query, 4) g_zombieclassnext[id] = mysql_read_result(Query, 5) client_print(id, print_center, "[ZA] Cargando... 20%") } Load(id, 3) } case LOAD_DATA4: { if (mysql_more_results()) { g_infected[id][0] = mysql_read_result(Query, 2) g_infected[id][1] = mysql_read_result(Query, 3) g_killed[id][0][0] = mysql_read_result(Query, 4) g_killed[id][0][1] = mysql_read_result(Query, 5) g_killed[id][0][2] = mysql_read_result(Query, 6) g_killed[id][0][3] = mysql_read_result(Query, 7) g_killed[id][0][4] = mysql_read_result(Query, 8) g_killed[id][0][5] = mysql_read_result(Query, 9) g_killed[id][1][0] = mysql_read_result(Query, 10) g_killed[id][1][1] = mysql_read_result(Query, 11) g_killed[id][1][2] = mysql_read_result(Query, 12) g_killed[id][1][3] = mysql_read_result(Query, 13) g_killed[id][1][4] = mysql_read_result(Query, 14) g_killed[id][1][5] = mysql_read_result(Query, 15) g_damage[id][0][0] = mysql_read_result(Query, 16) g_damage[id][0][1] = mysql_read_result(Query, 17) g_damage[id][0][2] = mysql_read_result(Query, 18) g_damage[id][0][3] = mysql_read_result(Query, 19) g_damage[id][0][4] = mysql_read_result(Query, 20) g_damage[id][0][5] = mysql_read_result(Query, 21) g_damage[id][1][0] = mysql_read_result(Query, 22) g_damage[id][1][1] = mysql_read_result(Query, 23) g_damage[id][1][2] = mysql_read_result(Query, 24) g_damage[id][1][3] = mysql_read_result(Query, 25) g_damage[id][1][4] = mysql_read_result(Query, 26) g_damage[id][1][5] = mysql_read_result(Query, 27) client_print(id, print_center, "[ZA] Cargando... 50%") } Load(id, 4) } case LOAD_DATA5: { if (mysql_more_results()) { g_skill_points[id][0][0] = mysql_read_result(Query, 2) g_skill_points[id][0][1] = mysql_read_result(Query, 3) g_skill_points[id][0][2] = mysql_read_result(Query, 4) g_skill_points[id][0][3] = mysql_read_result(Query, 5) g_skill_points[id][0][4] = mysql_read_result(Query, 6) g_skill_points[id][1][0] = mysql_read_result(Query, 7) g_skill_points[id][1][1] = mysql_read_result(Query, 8) g_skill_points[id][1][2] = mysql_read_result(Query, 9) g_skill_points[id][1][3] = mysql_read_result(Query, 10) g_skill_points[id][1][4] = mysql_read_result(Query, 11) client_print(id, print_center, "[ZA] Cargando... 60%") } Load(id, 5) } case LOAD_DATA6: { if (mysql_more_results()) { g_quest[id] = mysql_read_result(Query, 2) g_questcompleted[id] = mysql_read_result(Query, 3) g_questrounds[id] = mysql_read_result(Query, 4) g_questkill[id][0] = mysql_read_result(Query, 5) g_questkill[id][1] = mysql_read_result(Query, 6) g_questkill[id][2] = mysql_read_result(Query, 7) g_questkill[id][3] = mysql_read_result(Query, 8) g_questkill[id][4] = mysql_read_result(Query, 9) g_questkill[id][5] = mysql_read_result(Query, 10) client_print(id, print_center, "[ZA] Cargando... 70%") } Load(id, 6) } case LOAD_DATA7: { if (mysql_more_results()) { g_playedtime[id][0] = mysql_read_result(Query, 2) g_playedtime[id][1] = mysql_read_result(Query, 3) g_playedtime[id][2] = mysql_read_result(Query, 4) g_playedtime[id][3] = mysql_read_result(Query, 5) client_print(id, print_center, "[ZA] Cargando... 75%") } Load(id, 7) } case LOAD_DATA8: { if (mysql_more_results()) { static datacolor[16], szRed[4], szGreen[4], szBlue[4] g_hud_stats_t[id] = mysql_read_result(Query, 2) mysql_read_result(Query, 3, Float:g_hud_stats_x[id]) mysql_read_result(Query, 4, Float:g_hud_stats_y[id]) mysql_read_result(Query, 5, datacolor, charsmax(datacolor)) parse(datacolor, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue)) g_hudred[id] = str_to_num(szRed) g_hudgreen[id] = str_to_num(szGreen) g_hudblue[id] = str_to_num(szBlue) mysql_read_result(Query, 6, datacolor, charsmax(datacolor)) parse(datacolor, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue)) g_nvgred[id] = str_to_num(szRed) g_nvggreen[id] = str_to_num(szGreen) g_nvgblue[id] = str_to_num(szBlue) mysql_read_result(Query, 7, datacolor, charsmax(datacolor)) parse(datacolor, szRed, charsmax(szRed), szGreen, charsmax(szGreen), szBlue, charsmax(szBlue)) g_flashred[id] = str_to_num(szRed) g_flashgreen[id] = str_to_num(szGreen) g_flashblue[id] = str_to_num(szBlue) client_print(id, print_center, "[ZA] Cargando... 100%") } show_menu_character(id) } case CHANGE_PASSWORD: { copy(user_password[id][1], charsmax(user_password[][]), user_password[id][0]) user_password[id][0] = "" client_print(id, print_center, "[ZA] Contraseña cambiada con éxito") } } return PLUGIN_CONTINUE; }
loggin_success(id, spec = 0) { // Set character name set_user_info(id, "name", g_charactername[id][SELECTED_CHARACTER]) // Welcome message zp_colored_print(0, "^x04[ZA]^x01 Bienvenido! ^x04%s^x01 ha iniciado sesión.", g_charactername[id][SELECTED_CHARACTER]) // Update level update_level(id) // Set time check task set_task(1.0, "check_time", id+TASK_TIME, _, _, "b") // Set the custom HUD display task if enabled if (get_pcvar_num(cvar_huddisplay)) set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b") // Go to spectator? if (spec) { // Make a task because name has to be changed, after set account it's logged set_task(0.5, "join_team_spec", id) } else { // Make a task because name has to be changed, after set account it's logged set_task(0.5, "join_team_t_ct", id) } // Make a task because admin has to be checked, after name changed set_task(0.5, "loggin_success2", id) }
public join_team_spec(id) { // Not connected if (!g_isconnected[id]) return; // Currently logged spectator g_status[id] = ONLINE_SPEC // Join SPEC team engclient_cmd(id, "jointeam", "6") }
public join_team_t_ct(id) { // Not connected if (!g_isconnected[id]) return; // Currently logged g_status[id] = ONLINE // Join T or CT team if (fnGetTs() >= fnGetCTs()) engclient_cmd(id, "jointeam", "2") else engclient_cmd(id, "jointeam", "1") // Prevent player bugged if he was logged as spectator and // went to character menu again if (fm_cs_get_user_team(id) == FM_CS_TEAM_SPECTATOR) { remove_task(id+TASK_TEAM) fm_cs_set_user_team(id, FM_CS_TEAM_CT) // must be CT (he isn't a zombie) fm_user_team_update(id) } }
public loggin_success2(id) { // Not connected if (!g_isconnected[id]) return; // Prevent admin log out, loggin and get full modes again if (equal(g_playername[id], g_logoutname[id])) return; // Get user flags static userflags; userflags = get_user_flags(id) // Admin modes per map for (new i = ArraySize(g_admin_names)-1; i > -1; i--) { if (userflags & ArrayGetCell(g_admin_flags, i)) { g_modescount[id] = ArrayGetCell(g_admin_modes, i) break; } else if (i == 0) // All flags checked, not admin g_modescount[id] = 0 } if (userflags & g_access_flag[ACCESS_ADMIN_MODELS]) { g_modescount[id] = 999 } }
// Log Out from Account log_out(id, charactermenu) { // Player alive? if (g_isalive[id]) { // Prevent players from killing themselves? if (get_pcvar_num(cvar_blocksuicide)) { zp_colored_print(id, "^x04[ZA]^x01 No puedes salir estando vivo.") return; } // Check that we still have both humans and zombies to keep the round going check_round(id) // Kill him before he switches team dllfunc(DLLFunc_ClientKill, id) } // Remove previous tasks remove_task(id+TASK_SPAWN) remove_task(id+TASK_SHOWHUD) remove_task(id+TASK_TIME) remove_task(id+TASK_COMBO) // Save progress Save(id) // Move him to unassigned team if (fm_cs_get_user_team(id) != FM_CS_TEAM_SPECTATOR) { remove_task(id+TASK_TEAM) fm_cs_set_user_team(id, FM_CS_TEAM_UNASSIGNED) fm_user_team_update(id) } // Initialize player vars reset_vars(id, 1, 0) // Prevent admin log out, loggin and get full modes again copy(g_logoutname[id], charsmax(g_logoutname[]), g_playername[id]) // Go to character menu? if (!charactermenu) { // Show print client_print(id, print_center, "[ZA] Sesión cerrada con éxito.") // Reset character names for (new i = 0; i < 5; i++) g_charactername[id][i] = "None" // Show register menu g_attempts[id] = g_attemptslogging user_id[id][0] = "" user_id[id][1] = "" user_password[id][0] = "" user_password[id][1] = "" g_status[id] = OFFLINE show_menu_registration(id) } else { // Show character menu g_status[id] = CHARACTER_MENU show_menu_character_selection(id) } }
Código PHP: load_customization_from_files() { // Build customization file path new path[64] get_configsdir(path, charsmax(path)) format(path, charsmax(path), "%s/%s", path, ZA_CUSTOMIZATION_FILE) // File not present if (!file_exists(path)) { new error[100] formatex(error, charsmax(error), "Cannot load customization file %s!", path) set_fail_state(error) return; } // Set up some vars to hold parsing info new linedata[1024], key[64], value[960], section, teams // Open customization file for reading new file = fopen(path, "rt") while (file && !feof(file)) { // Read one line at a time fgets(file, linedata, charsmax(linedata)) // Replace newlines with a null character to prevent headaches replace(linedata, charsmax(linedata), "^n", "") // Blank line or comment if (!linedata[0] || linedata[0] == ';') continue; // New section starting if (linedata[0] == '[') { section++ continue; } // Get key and value(s) strtok(linedata, key, charsmax(key), value, charsmax(value), '=') // Trim spaces trim(key) trim(value) switch (section) { case SECTION_MYSQL: { if (equal(key, "MYSQL HOST")) copy(mysql_host, charsmax(mysql_host), value) else if (equal(key, "MYSQL USER")) copy(mysql_user, charsmax(mysql_user), value) else if (equal(key, "MYSQL PASSWORD")) copy(mysql_pass, charsmax(mysql_pass), value) else if (equal(key, "MYSQL DATABASE")) copy(mysql_database, charsmax(mysql_database), value) } case SECTION_ACCOUNT: { if (equal(key, "MIN ID CHARACTERS")) g_minidcharacters = str_to_num(value) else if (equal(key, "MIN PASS CHARACTERS")) g_minpasscharacters = str_to_num(value) else if (equal(key, "ATTEMPTS FOR LOGGING")) g_attemptslogging = str_to_num(value) } case SECTION_XP: { if (equal(key, "MAX LEVEL")) g_max_level = str_to_num(value) else if (equal(key, "MAX FAME")) g_max_fame = str_to_num(value) else if (equal(key, "WPN CATEGORY B FAME")) g_fame_category[0] = str_to_num(value) else if (equal(key, "WPN CATEGORY E FAME")) g_fame_category[1] = str_to_num(value)
} case SECTION_COMBO: { if (equal(key, "LEVEL")) { // Parse weapon items while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ',')) { // Trim spaces trim(key) trim(value) // Add to combo level array ArrayPushCell(g_combo_levels, str_to_num(key)) } } else if (equal(key, "COLOR")) { // Parse unblock words items while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ',')) { // Trim spaces trim(key) trim(value) // Add to combo color array ArrayPushString(g_combo_colors, key) } } else if (equal(key, "SAY")) { // Parse unblock words items while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ',')) { // Trim spaces trim(key) trim(value) // Add to combo say array ArrayPushString(g_combo_says, key) } } }
Logs de compilación
Código PHP: Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team
C:\Program Files\Counter-Strike-Zombie\cstrike\addons\amxmodx\scripting\include\mysqlt.inc(239) : warning 203: symbol is never used: "query" Warning: Tag mismatch on line 2185 Warning: Tag mismatch on line 2185 Warning: Tag mismatch on line 4680 Warning: Tag mismatch on line 4693 Warning: Tag mismatch on line 4694 Warning: Tag mismatch on line 4695 Warning: Tag mismatch on line 4696 Warning: Tag mismatch on line 4697 Warning: Tag mismatch on line 4698 Warning: Tag mismatch on line 4699 Warning: Tag mismatch on line 4744 Warning: Tag mismatch on line 4788 Warning: Tag mismatch on line 4860 Warning: Tag mismatch on line 4861 Warning: Tag mismatch on line 4862 Warning: Tag mismatch on line 4863 Warning: Tag mismatch on line 4864 Warning: Tag mismatch on line 4865 Warning: Tag mismatch on line 4866 Warning: Tag mismatch on line 4876 Warning: Tag mismatch on line 4877 Warning: Tag mismatch on line 4878 Warning: Tag mismatch on line 4879 Warning: Tag mismatch on line 4880 Warning: Tag mismatch on line 4881 Warning: Tag mismatch on line 4882 Warning: Tag mismatch on line 4883 Warning: Tag mismatch on line 4884 Warning: Tag mismatch on line 4885 Warning: Tag mismatch on line 4896 Warning: Tag mismatch on line 4897 Warning: Tag mismatch on line 4898 Warning: Tag mismatch on line 4899 Warning: Tag mismatch on line 4909 Warning: Tag mismatch on line 4910 Warning: Tag mismatch on line 4911 Warning: Tag mismatch on line 4912 Warning: Tag mismatch on line 4913 Warning: Tag mismatch on line 4914 Warning: Tag mismatch on line 4915 Warning: Tag mismatch on line 4916 Warning: Tag mismatch on line 4917 Warning: Tag mismatch on line 4918 Warning: Tag mismatch on line 4919 Warning: Tag mismatch on line 4920 Warning: Tag mismatch on line 4921 Warning: Tag mismatch on line 4922 Warning: Tag mismatch on line 4923 Warning: Tag mismatch on line 4924 Warning: Tag mismatch on line 4925 Warning: Tag mismatch on line 4926 Warning: Tag mismatch on line 4927 Warning: Tag mismatch on line 4928 Warning: Tag mismatch on line 4929 Warning: Tag mismatch on line 4930 Warning: Tag mismatch on line 4931 Warning: Tag mismatch on line 4932 Warning: Tag mismatch on line 4933 Warning: Tag mismatch on line 4934 Warning: Tag mismatch on line 4944 Warning: Tag mismatch on line 4945 Warning: Tag mismatch on line 4946 Warning: Tag mismatch on line 4947 Warning: Tag mismatch on line 4948 Warning: Tag mismatch on line 4949 Warning: Tag mismatch on line 4950 Warning: Tag mismatch on line 4951 Warning: Tag mismatch on line 4952 Warning: Tag mismatch on line 4953 Warning: Tag mismatch on line 4963 Warning: Tag mismatch on line 4964 Warning: Tag mismatch on line 4965 Warning: Tag mismatch on line 4966 Warning: Tag mismatch on line 4967 Warning: Tag mismatch on line 4968 Warning: Tag mismatch on line 4969 Warning: Tag mismatch on line 4970 Warning: Tag mismatch on line 4971 Warning: Tag mismatch on line 4981 Warning: Tag mismatch on line 4982 Warning: Tag mismatch on line 4983 Warning: Tag mismatch on line 4984 Warning: Tag mismatch on line 4995 Warning: Tag mismatch on line 4996 Warning: Tag mismatch on line 4997 Warning: Tag mismatch on line 4998 Warning: Tag mismatch on line 5003 Warning: Tag mismatch on line 5008 Header size: 12644 bytes Code size: 589840 bytes Data size: 417268 bytes Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion Total requirements: 1036136 bytes
89 Warnings. Done.
la todos los errores salen es en las
if (mysql_more_results())
if ( !mysql_more_results())
y en public QueryHandle(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:time)
Mensajes: 1,933
Temas: 39
Registro en: Jul 2014
Reputación:
23
12/01/2019, 11:18 AM
(Última modificación: 12/01/2019, 11:18 AM por Sugisaki. Edited 1 time in total.)
tienes el plugin original con el sqlx?, subelo y te lo paso a mysqlt en minutos
Mensajes: 369
Temas: 64
Registro en: Feb 2017
Reputación:
2
sqlx.inc (Tamaño: 10.67 KB / Descargas: 3)
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
Te pidió el plugin donde quieres pasar de sqlx a sqlt, no la libreria xd
Mensajes: 38
Temas: 7
Registro en: Dec 2018
Reputación:
2
Yo lo iba a comentar Pero Preferí No decir Nada
¿No tienes cuenta en Google? ¿En qué mundo caótico y cruel vives…?
Mensajes: 369
Temas: 64
Registro en: Feb 2017
Reputación:
2
Mala mia andaba medio tomado cuando abrí el foro
Descargar AMXX / zombie_apocalypse46.sma (Tamaño: 517.83 KB / Descargas: 6)
Mensajes: 369
Temas: 64
Registro en: Feb 2017
Reputación:
2
Me podrian explicar en que fue que falle al cambiarle el sistema de sqlx a mysqlt, quiero aprender a usar bien el mysqlt
|