Ayuda con intento de cambiar sqlx por el mysqlt
#1
Código PHP:
public Sql_Init()
{
    
g_SqlTuple mysql_makehost(mysql_hostmysql_usermysql_passmysql_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 
ErrorCodeHandle:SqlConnection mysql_connect(g_SqlTupleErrorCodeg_Errorcharsmax(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(query0)
            
g_createdcharacters SQL_ReadResult(query1)
        }
        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(FailStateHandle:QueryError[], ErrorcodeData[], DataSize)
{
    switch (
FailState)
    {
        case 
TQUERY_CONNECT_FAILEDlog_to_file("SQL_LOG_TQ.txt""Failed to connect to database [%i]: %s"ErrorcodeError)
        case 
TQUERY_QUERY_FAILEDlog_to_file("SQL_LOG_TQ.txt""Error on query for creating table [%i]: %s"ErrorcodeError)
    }
    
    return 
PLUGIN_HANDLED;
}
public 
plugin_cfg()
{
    
// Plugin disabled?
    
if (!g_pluginenabled) return;
    
    
// Get configs dir
    
new cfgdir[32]
    
get_configsdir(cfgdircharsmax(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_SqlTuplemysql_free(g_SqlTuple)
}
/*
GUARDADO Y CARGADO
*/

// Show player rank
show_rank(id)
{
    static 
iData[2]
    
iData[0] = id
    iData
[1] = SHOW_RANK
    
    formatex
(g_querycharsmax(g_query), "SELECT (COUNT(*) + 1) FROM `%s` WHERE `Rango` > '%d' OR (`Rango` = '%d' AND `Experience` > '%d')"TABLE2g_fame[id], g_fame[id], g_experience[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}

// Load top 15 motd
load_top15()
{
    new 
ErrorCodeHandle:SqlConnection mysql_connect(g_SqlTupleErrorCodeg_Errorcharsmax(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 lenlen 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 
iPositionszName[32], iLeveliExpiApiFameiHPiZP
            
while (mysql_more_results())
            {
                ++
iPosition

                mysql_read_result
(query0szNamecharsmax(szName))
                
iLevel mysql_read_result(query1)
                
iExp mysql_read_result(query2)
                
iAp mysql_read_result(query3)
                
iFame mysql_read_result(query4)
                
iHP mysql_read_result(query5)
                
iZP mysql_read_result(query6)
            
                
len += formatex(g_motd[len], charsmax(g_motd), "%4d   %29s  %4d  %8d  %11d  %9d  %9d  %9d^n"iPositionszNameiFameiLeveliExpiApiHPiZP)

                
mysql_next_row()
            }
        }
        else
            
g_top15_clear true
        
        mysql_free
(query)
    }
}

save_account_count()
{
    
formatex(g_querycharsmax(g_query), "UPDATE `%s` SET `Created accounts`='%d', `Created characters`='%d'"TABLE9g_createdaccountsg_createdcharacters)
    
mysql_query(g_SqlTuple"IgnoreHandle"g_query)
}

public 
IgnoreHandle(FailStateHandle:QueryError[], ErrcodeData[], DataSize)
{
    
mysql_free(Query)
    
    return 
PLUGIN_HANDLED;
}

public 
QueryHandle(FailStateHandle:QueryError[], ErrcodeData[], DataSizeFloat:time)
{
    static 
idid Data[0]
    
    
// Connected?
    
if (!is_user_connected(id)) return PLUGIN_HANDLED;

    switch (
FailState)
    {
        case 
TQUERY_CONNECT_FAILEDlog_to_file("SQL_LOG_TQ.txt""Failed to connect to database [%i]: %s"ErrcodeError)
        case 
TQUERY_QUERY_FAILEDlog_to_file("SQL_LOG_TQ.txt""Error in MySQL query [%i]: %s"ErrcodeError)
    }
    
    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(Query0)), add_point(g_createdcharacters))
        }
        case 
REG_ID:
        {
            if (!
mysql_num_results())
            {
                
client_cmd(id"messagemode ^"register_password^"")
                
set_hudmessage(02552550.030.0500.14.00.010.01, -1)
                
ShowSyncHudMsg(idg_MsgSync5"Ingresa una Contraseña^nPulse ESC para salir")
            }
            else
            {
                
client_print(idprint_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(idprint_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(02552550.030.0500.14.00.010.01, -1)
                
ShowSyncHudMsg(idg_MsgSync5"Ingresa tu Contraseña^nPulse ESC para salir")
            }
            else
            {
                
g_attempts[id]--
                
client_print(idprint_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(Query1szPasscharsmax(szPass))
                
md5(user_password[id][0], szBuffer)
                
                if (
equal(szBufferszPass))
                {
                    if (
g_status[id] != OFFLINE)
                    {
                        
CONFIRM_MENU 3
                        client_cmd
(id"messagemode ^"register_new_password^"")
                        
set_hudmessage(02552550.030.0500.14.00.010.01, -1)
                        
ShowSyncHudMsg(idg_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(idprint_center"[ZA] Error: La contraseña ingresada es incorrecta.")
                        
show_menu_character_selection(id)
                    }
                    else
                    {
                        
g_attempts[id]--
                        
client_print(idprint_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(idprint_center"[ZA] El nombre se encuentra en uso. Por favor, cámbiese el nombre")
                
show_menu_character_selection(id)
            }
        }
        case 
REG_CHARACTER:
        {
            static 
loadingloading++
            switch (
loading)
            {
                case 
1client_print(idprint_center"[ZA] Cargando... 10%")
                case 
2client_print(idprint_center"[ZA] Cargando... 30%")
                case 
3client_print(idprint_center"[ZA] Cargando... 40%")
                case 
4client_print(idprint_center"[ZA] Cargando... 50%")
                case 
5client_print(idprint_center"[ZA] Cargando... 60%")
                case 
6client_print(idprint_center"[ZA] Cargando... 80%")
                case 
7client_print(idprint_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(idprint_center"[ZA] Personaje creado con Ã©xito")
                    
show_menu_character_selection(id)
                }
            }
        }
        case 
LOAD_DATA1:
        {
            if (
mysql_num_results())
            {
                
mysql_read_result(Query2g_register_date[id], charsmax(g_register_date[]))
                
mysql_read_result(Query3g_last_loggin[id], charsmax(g_last_loggin[]))
                
mysql_read_result(Query4g_charactername[id][0], charsmax(g_charactername[][]))
                
mysql_read_result(Query5g_charactername[id][1], charsmax(g_charactername[][]))
                
mysql_read_result(Query6g_charactername[id][2], charsmax(g_charactername[][]))
                
mysql_read_result(Query7g_charactername[id][3], charsmax(g_charactername[][]))
                
mysql_read_result(Query8g_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(Query2)
                
g_experience[id] = mysql_read_result(Query3)
                
g_ammopacks[id][0] = mysql_read_result(Query4)
                
g_ammopacks[id][1] = mysql_read_result(Query5)
                
g_titles[id] = mysql_read_result(Query6)
                
g_fame[id] = mysql_read_result(Query7)
                
g_points[id][0] = mysql_read_result(Query8)
                
g_points[id][1] = mysql_read_result(Query9)
                
g_usedpoints[id][0] = mysql_read_result(Query10)
                
g_usedpoints[id][1] = mysql_read_result(Query11)
                    
client_print(idprint_center"[ZA] Cargando... 10%")
                
            }
            
            
Load(id2)
        }
        case 
LOAD_DATA3:
        {
            if (
mysql_num_results())
            {
                
g_humanclass[id] = mysql_read_result(Query2)
                    
g_humanclassnext[id] = mysql_read_result(Query3)
                
g_zombieclass[id] = mysql_read_result(Query4)
                    
g_zombieclassnext[id] = mysql_read_result(Query5)
                    
client_print(idprint_center"[ZA] Cargando... 20%")
            }
            
            
Load(id3)
        }
        case 
LOAD_DATA4:
        {
            if (
mysql_num_results())
            {
                
g_infected[id][0] = mysql_read_result(Query2)
                
g_infected[id][1] = mysql_read_result(Query3)
                
g_killed[id][0][0] = mysql_read_result(Query4)
                
g_killed[id][0][1] = mysql_read_result(Query5)
                
g_killed[id][0][2] = mysql_read_result(Query6)
                
g_killed[id][0][3] = mysql_read_result(Query7)
                
g_killed[id][0][4] = mysql_read_result(Query8)
                
g_killed[id][0][5] = mysql_read_result(Query9)
                
g_killed[id][1][0] = mysql_read_result(Query10)
                
g_killed[id][1][1] = mysql_read_result(Query11)
                
g_killed[id][1][2] = mysql_read_result(Query12)
                
g_killed[id][1][3] = mysql_read_result(Query13)
                
g_killed[id][1][4] = mysql_read_result(Query14)
                
g_killed[id][1][5] = mysql_read_result(Query15)
                
g_damage[id][0][0] = mysql_read_result(Query16)
                
g_damage[id][0][1] = mysql_read_result(Query17)
                
g_damage[id][0][2] = mysql_read_result(Query18)
                
g_damage[id][0][3] = mysql_read_result(Query19)
                
g_damage[id][0][4] = mysql_read_result(Query20)
                
g_damage[id][0][5] = mysql_read_result(Query21)
                
g_damage[id][1][0] = mysql_read_result(Query22)
                
g_damage[id][1][1] = mysql_read_result(Query23)
                
g_damage[id][1][2] = mysql_read_result(Query24)
                
g_damage[id][1][3] = mysql_read_result(Query25)
                
g_damage[id][1][4] = mysql_read_result(Query26)
                
g_damage[id][1][5] = mysql_read_result(Query27)
                
client_print(idprint_center"[ZA] Cargando... 50%")
            }
            
            
Load(id4)
        }
        case 
LOAD_DATA5:
        {
            if (
mysql_num_results())
            {
                
g_skill_points[id][0][0] = mysql_read_result(Query2)
                
g_skill_points[id][0][1] = mysql_read_result(Query3)
                
g_skill_points[id][0][2] = mysql_read_result(Query4)
                
g_skill_points[id][0][3] = mysql_read_result(Query5)
                
g_skill_points[id][0][4] = mysql_read_result(Query6)
                
g_skill_points[id][1][0] = mysql_read_result(Query7)
                
g_skill_points[id][1][1] = mysql_read_result(Query8)
                
g_skill_points[id][1][2] = mysql_read_result(Query9)
                
g_skill_points[id][1][3] = mysql_read_result(Query10)
                
g_skill_points[id][1][4] = mysql_read_result(Query11)
                
client_print(idprint_center"[ZA] Cargando... 60%")
            }
            
            
Load(id5)
        }
        case 
LOAD_DATA6:
        {
            if (
mysql_num_results())
            {
                
g_quest[id] = mysql_read_result(Query2)
                
g_questcompleted[id] = mysql_read_result(Query3)
                
g_questrounds[id] = mysql_read_result(Query4)
                
g_questkill[id][0] = mysql_read_result(Query5)
                
g_questkill[id][1] = mysql_read_result(Query6)
                
g_questkill[id][2] = mysql_read_result(Query7)
                
g_questkill[id][3] = mysql_read_result(Query8)
                
g_questkill[id][4] = mysql_read_result(Query9)
                
g_questkill[id][5] = mysql_read_result(Query10)
                
client_print(idprint_center"[ZA] Cargando... 70%")
            }
            
            
Load(id6)
        }
        case 
LOAD_DATA7:
        {
            if (
mysql_num_results())
            {
                
g_playedtime[id][0] = mysql_read_result(Query2)
                
g_playedtime[id][1] = mysql_read_result(Query3)
                
g_playedtime[id][2] = mysql_read_result(Query4)
                
g_playedtime[id][3] = mysql_read_result(Query5)
                
client_print(idprint_center"[ZA] Cargando... 75%")
            }
            
            
Load(id7)
        }
        case 
LOAD_DATA8:
        {
            if (
mysql_num_results())
            {
                static 
datacolor[16], szRed[4], szGreen[4], szBlue[4]
                
g_hud_stats_t[id] = mysql_read_result(Query2)
                
mysql_read_result(Query3Float:g_hud_stats_x[id])
                
mysql_read_result(Query4Float:g_hud_stats_y[id])
                
mysql_read_result(Query5datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(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(Query6datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(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(Query7datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(szBlue))
                
g_flashred[id] = str_to_num(szRed)
                
g_flashgreen[id] = str_to_num(szGreen)
                
g_flashblue[id] = str_to_num(szBlue)
                
client_print(idprint_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(idprint_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.
Responder
#2
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
Responder
#3
Lo uso en localhost y me sale errores me compila pero me genera errores de coneccion con la db

no me carga los datos
Responder
#4
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
Responder
#5
(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(query0)
            
g_createdcharacters SQL_ReadResult(query1)
        }
        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

Código PHP:
QueryHandle 
solo veo que se usa en show_rank no veo que estas cargando las cuentas

Código PHP:
switch (Data[1]) 
desde
Código PHP:
case LOG_PASSWORD
esta afuera del switch solo SHOW_RANK y REG_ID cumplen la condicion

COMO TE COMPILA con todos esos fallos?
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#6
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_hostmysql_usermysql_passmysql_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 
ErrorCodeHandle:SqlConnection mysql_connect(g_SqlTupleErrorCodeg_Errorcharsmax(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(query0)
            
g_createdcharacters SQL_ReadResult(query1)
        }
        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(FailStateHandle:QueryError[], ErrorcodeData[], DataSize)
{
    switch (
FailState)
    {
        case 
TQUERY_CONNECT_FAILEDlog_to_file("SQL_LOG_TQ.txt""Failed to connect to database [%i]: %s"ErrorcodeError)
        case 
TQUERY_QUERY_FAILEDlog_to_file("SQL_LOG_TQ.txt""Error on query for creating table [%i]: %s"ErrorcodeError)
    }
    
    return 
PLUGIN_HANDLED;
}
public 
plugin_cfg()
{
    
// Plugin disabled?
    
if (!g_pluginenabled) return;
    
    
// Get configs dir
    
new cfgdir[32]
    
get_configsdir(cfgdircharsmax(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_SqlTuplemysql_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_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^""TABLE1user_id[id][0])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}

// 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_querycharsmax(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_queryiData2)
}
    
// Check if account is currently online
check_online_account(id)
{
    
// Get logged players count
    
static iPlayersnumiPlayersnum 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(id0)
        return;
    }
    
    
// Check all players ID's
    
for (new 1<= g_maxplayersi++)
    {
        
// Same user ID
        
if (equal(user_id[i][1], user_id[id][0]) && g_status[i] > OFFLINE)
        {
            
client_print(idprint_center"[ZA] Error: La cuenta se está utilizando actualmente.")
            
show_menu_registration(id)
            break;
        }
        else if (
== 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(id0)
        }
    }
}

// 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(idprint_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(idprint_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_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^""TABLE1user_id[id][0])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}

// 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(idprint_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(idprint_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 != || equal(user_password[id][0], user_id[id][1]) && CONFIRM_MENU == 3)
    {
        
client_print(idprint_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(idprint_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"szDatecharsmax(szDate))
    
    
formatex(g_querycharsmax(g_query), "UPDATE `%s` SET `Last Loggin`='%s' WHERE `User ID`=^"%s^""TABLE1szDateuser_id[id][1])
    
mysql_query(g_SqlTuple"IgnoreHandle"g_query)
    
    
formatex(g_querycharsmax(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^""
    
TABLE2g_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_querycharsmax(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^""
    
TABLE3g_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_querycharsmax(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^""
    
TABLE4g_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_querycharsmax(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^""
    
TABLE4g_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_querycharsmax(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^""
    
TABLE5g_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_querycharsmax(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^""
    
TABLE6g_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_querycharsmax(g_query), "UPDATE `%s` SET `Rounds Played`='%d', `Hours Played`='%d', `Minutes Played`='%d', `Seconds Played`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^""
    
TABLE7g_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_querycharsmax(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^""
    
TABLE8g_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(idyourdata)
{
    static 
iData[2]
    
iData[0] = id
    
    
switch (yourdata)
    {
        case 
0:
        {
            
iData[1] = LOAD_DATA1
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^""TABLE1user_id[id][1])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
        case 
1:
        {
            
iData[1] = LOAD_DATA2
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^""TABLE2user_id[id][1], g_charactername[id][SELECTED_CHARACTER])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
        case 
2:
        {
            
iData[1] = LOAD_DATA3
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^""TABLE3user_id[id][1], g_charactername[id][SELECTED_CHARACTER])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
        case 
3:
        {
            
iData[1] = LOAD_DATA4
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^""TABLE4user_id[id][1], g_charactername[id][SELECTED_CHARACTER])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
        case 
4:
        {
            
iData[1] = LOAD_DATA5
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^""TABLE5user_id[id][1], g_charactername[id][SELECTED_CHARACTER])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
        case 
5:
        {
            
iData[1] = LOAD_DATA6
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^""TABLE6user_id[id][1], g_charactername[id][SELECTED_CHARACTER])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
        case 
6:
        {
            
iData[1] = LOAD_DATA7
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^""TABLE7user_id[id][1], g_charactername[id][SELECTED_CHARACTER])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
        case 
7:
        {
            
iData[1] = LOAD_DATA8
            formatex
(g_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `User ID`=^"%s^" AND `Character`=^"%s^""TABLE8user_id[id][1], g_charactername[id][SELECTED_CHARACTER])
            
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
        }
    }
}

// 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"szDatecharsmax(szDate))
        
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Password`, `Register Date`) VALUES (^"%s^", ^"%s^", '%s')"TABLE1user_id[id][0], szBufferszDate)
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}
// Create Character: Check Character
check_character(id)
{
    if (
equal(g_playername[id], "None"))
    {
        
client_print(idprint_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_querycharsmax(g_query), "SELECT * FROM `%s` WHERE `Character`=^"%s^""TABLE2g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}

// Create Character
create_character(id)
{
    new 
iData[2]
    
iData[0] = id
    iData
[1] = REG_CHARACTER
    
    formatex
(g_querycharsmax(g_query), "UPDATE `%s` SET `Character %d`=^"%s^" WHERE `User ID`=^"%s^""TABLE1SELECTED_CHARACTER+1g_playername[id], user_id[id][1])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")"TABLE2user_id[id][1], g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")"TABLE3user_id[id][1], g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")"TABLE4user_id[id][1], g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")"TABLE5user_id[id][1], g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")"TABLE6user_id[id][1], g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")"TABLE7user_id[id][1], g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
    
formatex(g_querycharsmax(g_query), "INSERT INTO `%s` (`User ID`, `Character`) VALUES (^"%s^", ^"%s^")"TABLE8user_id[id][1], g_playername[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}

// 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_querycharsmax(g_query), "UPDATE `%s` SET `Password`=^"%s^" WHERE `User ID`=^"%s^""TABLE1szBufferuser_id[id][1])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}

// Show player rank
show_rank(id)
{
    static 
iData[2]
    
iData[0] = id
    iData
[1] = SHOW_RANK
    
    formatex
(g_querycharsmax(g_query), "SELECT (COUNT(*) + 1) FROM `%s` WHERE `Rango` > '%d' OR (`Rango` = '%d' AND `Experience` > '%d')"TABLE2g_fame[id], g_fame[id], g_experience[id])
    
mysql_query(g_SqlTuple"QueryHandle"g_queryiData2)
}

// Load top 15 motd
load_top15()
{
    new 
ErrorCodeHandle:SqlConnection mysql_connect(g_SqlTupleErrorCodeg_Errorcharsmax(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 lenlen 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 
iPositionszName[32], iLeveliExpiApiFameiHPiZP
            
while (mysql_more_results())
            {
                ++
iPosition

                mysql_read_result
(query0szNamecharsmax(szName))
                
iLevel mysql_read_result(query1)
                
iExp mysql_read_result(query2)
                
iAp mysql_read_result(query3)
                
iFame mysql_read_result(query4)
                
iHP mysql_read_result(query5)
                
iZP mysql_read_result(query6)
            
                
len += formatex(g_motd[len], charsmax(g_motd), "%4d   %29s  %4d  %8d  %11d  %9d  %9d  %9d^n"iPositionszNameiFameiLeveliExpiApiHPiZP)

                
mysql_next_row()
            }
        }
        else
            
g_top15_clear true
        
        mysql_free
(query)
    }
}

save_account_count()
{
    
formatex(g_querycharsmax(g_query), "UPDATE `%s` SET `Created accounts`='%d', `Created characters`='%d'"TABLE9g_createdaccountsg_createdcharacters)
    
mysql_query(g_SqlTuple"IgnoreHandle"g_query)
}

public 
IgnoreHandle(FailStateHandle:QueryError[], ErrcodeData[], DataSize)
{
    
mysql_free(Query)
    
    return 
PLUGIN_HANDLED;
}

public 
QueryHandle(FailStateHandle:QueryError[], ErrcodeData[], DataSizeFloat:time)
{
    static 
idid Data[0]
    
    
// Connected?
    
if (!is_user_connected(id)) return PLUGIN_HANDLED;

    switch (
FailState)
    {
        case 
TQUERY_CONNECT_FAILEDlog_to_file("SQL_LOG_TQ.txt""Failed to connect to database [%i]: %s"ErrcodeError)
        case 
TQUERY_QUERY_FAILEDlog_to_file("SQL_LOG_TQ.txt""Error in MySQL query [%i]: %s"ErrcodeError)
    }
    
    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(Query0)), add_point(g_createdcharacters))
        }
        case 
REG_ID:
        {
            if (!
mysql_more_results())
            {
                
client_cmd(id"messagemode ^"register_password^"")
                
set_hudmessage(02552550.030.0500.14.00.010.01, -1)
                
ShowSyncHudMsg(idg_MsgSync5"Ingresa una Contraseña^nPulse ESC para salir")
            }
            else
            {
                
client_print(idprint_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(idprint_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(02552550.030.0500.14.00.010.01, -1)
                
ShowSyncHudMsg(idg_MsgSync5"Ingresa tu Contraseña^nPulse ESC para salir")
            }
            else
            {
                
g_attempts[id]--
                
client_print(idprint_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(Query1szPasscharsmax(szPass))
                
md5(user_password[id][0], szBuffer)
                
                if (
equal(szBufferszPass))
                {
                    if (
g_status[id] != OFFLINE)
                    {
                        
CONFIRM_MENU 3
                        client_cmd
(id"messagemode ^"register_new_password^"")
                        
set_hudmessage(02552550.030.0500.14.00.010.01, -1)
                        
ShowSyncHudMsg(idg_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(idprint_center"[ZA] Error: La contraseña ingresada es incorrecta.")
                        
show_menu_character_selection(id)
                    }
                    else
                    {
                        
g_attempts[id]--
                        
client_print(idprint_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(idprint_center"[ZA] El nombre se encuentra en uso. Por favor, cámbiese el nombre")
                
show_menu_character_selection(id)
            }
        }
        case 
REG_CHARACTER:
        {
            static 
loadingloading++
            switch (
loading)
            {
                case 
1client_print(idprint_center"[ZA] Cargando... 10%")
                case 
2client_print(idprint_center"[ZA] Cargando... 30%")
                case 
3client_print(idprint_center"[ZA] Cargando... 40%")
                case 
4client_print(idprint_center"[ZA] Cargando... 50%")
                case 
5client_print(idprint_center"[ZA] Cargando... 60%")
                case 
6client_print(idprint_center"[ZA] Cargando... 80%")
                case 
7client_print(idprint_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(idprint_center"[ZA] Personaje creado con Ã©xito")
                    
show_menu_character_selection(id)
                }
            }
        }
        case 
LOAD_DATA1:
        {
            if (
mysql_more_results())
            {
                
mysql_read_result(Query2g_register_date[id], charsmax(g_register_date[]))
                
mysql_read_result(Query3g_last_loggin[id], charsmax(g_last_loggin[]))
                
mysql_read_result(Query4g_charactername[id][0], charsmax(g_charactername[][]))
                
mysql_read_result(Query5g_charactername[id][1], charsmax(g_charactername[][]))
                
mysql_read_result(Query6g_charactername[id][2], charsmax(g_charactername[][]))
                
mysql_read_result(Query7g_charactername[id][3], charsmax(g_charactername[][]))
                
mysql_read_result(Query8g_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(Query2)
                
g_experience[id] = mysql_read_result(Query3)
                
g_ammopacks[id][0] = mysql_read_result(Query4)
                
g_ammopacks[id][1] = mysql_read_result(Query5)
                
g_titles[id] = mysql_read_result(Query6)
                
g_fame[id] = mysql_read_result(Query7)
                
g_points[id][0] = mysql_read_result(Query8)
                
g_points[id][1] = mysql_read_result(Query9)
                
g_usedpoints[id][0] = mysql_read_result(Query10)
                
g_usedpoints[id][1] = mysql_read_result(Query11)
                    
client_print(idprint_center"[ZA] Cargando... 10%")
                
            }
            
            
Load(id2)
        }
        case 
LOAD_DATA3:
        {
            if (
mysql_more_results())
            {
                
g_humanclass[id] = mysql_read_result(Query2)
                    
g_humanclassnext[id] = mysql_read_result(Query3)
                
g_zombieclass[id] = mysql_read_result(Query4)
                    
g_zombieclassnext[id] = mysql_read_result(Query5)
                    
client_print(idprint_center"[ZA] Cargando... 20%")
            }
            
            
Load(id3)
        }
        case 
LOAD_DATA4:
        {
            if (
mysql_more_results())
            {
                
g_infected[id][0] = mysql_read_result(Query2)
                
g_infected[id][1] = mysql_read_result(Query3)
                
g_killed[id][0][0] = mysql_read_result(Query4)
                
g_killed[id][0][1] = mysql_read_result(Query5)
                
g_killed[id][0][2] = mysql_read_result(Query6)
                
g_killed[id][0][3] = mysql_read_result(Query7)
                
g_killed[id][0][4] = mysql_read_result(Query8)
                
g_killed[id][0][5] = mysql_read_result(Query9)
                
g_killed[id][1][0] = mysql_read_result(Query10)
                
g_killed[id][1][1] = mysql_read_result(Query11)
                
g_killed[id][1][2] = mysql_read_result(Query12)
                
g_killed[id][1][3] = mysql_read_result(Query13)
                
g_killed[id][1][4] = mysql_read_result(Query14)
                
g_killed[id][1][5] = mysql_read_result(Query15)
                
g_damage[id][0][0] = mysql_read_result(Query16)
                
g_damage[id][0][1] = mysql_read_result(Query17)
                
g_damage[id][0][2] = mysql_read_result(Query18)
                
g_damage[id][0][3] = mysql_read_result(Query19)
                
g_damage[id][0][4] = mysql_read_result(Query20)
                
g_damage[id][0][5] = mysql_read_result(Query21)
                
g_damage[id][1][0] = mysql_read_result(Query22)
                
g_damage[id][1][1] = mysql_read_result(Query23)
                
g_damage[id][1][2] = mysql_read_result(Query24)
                
g_damage[id][1][3] = mysql_read_result(Query25)
                
g_damage[id][1][4] = mysql_read_result(Query26)
                
g_damage[id][1][5] = mysql_read_result(Query27)
                
client_print(idprint_center"[ZA] Cargando... 50%")
            }
            
            
Load(id4)
        }
        case 
LOAD_DATA5:
        {
            if (
mysql_more_results())
            {
                
g_skill_points[id][0][0] = mysql_read_result(Query2)
                
g_skill_points[id][0][1] = mysql_read_result(Query3)
                
g_skill_points[id][0][2] = mysql_read_result(Query4)
                
g_skill_points[id][0][3] = mysql_read_result(Query5)
                
g_skill_points[id][0][4] = mysql_read_result(Query6)
                
g_skill_points[id][1][0] = mysql_read_result(Query7)
                
g_skill_points[id][1][1] = mysql_read_result(Query8)
                
g_skill_points[id][1][2] = mysql_read_result(Query9)
                
g_skill_points[id][1][3] = mysql_read_result(Query10)
                
g_skill_points[id][1][4] = mysql_read_result(Query11)
                
client_print(idprint_center"[ZA] Cargando... 60%")
            }
            
            
Load(id5)
        }
        case 
LOAD_DATA6:
        {
            if (
mysql_more_results())
            {
                
g_quest[id] = mysql_read_result(Query2)
                
g_questcompleted[id] = mysql_read_result(Query3)
                
g_questrounds[id] = mysql_read_result(Query4)
                
g_questkill[id][0] = mysql_read_result(Query5)
                
g_questkill[id][1] = mysql_read_result(Query6)
                
g_questkill[id][2] = mysql_read_result(Query7)
                
g_questkill[id][3] = mysql_read_result(Query8)
                
g_questkill[id][4] = mysql_read_result(Query9)
                
g_questkill[id][5] = mysql_read_result(Query10)
                
client_print(idprint_center"[ZA] Cargando... 70%")
            }
            
            
Load(id6)
        }
        case 
LOAD_DATA7:
        {
            if (
mysql_more_results())
            {
                
g_playedtime[id][0] = mysql_read_result(Query2)
                
g_playedtime[id][1] = mysql_read_result(Query3)
                
g_playedtime[id][2] = mysql_read_result(Query4)
                
g_playedtime[id][3] = mysql_read_result(Query5)
                
client_print(idprint_center"[ZA] Cargando... 75%")
            }
            
            
Load(id7)
        }
        case 
LOAD_DATA8:
        {
            if (
mysql_more_results())
            {
                static 
datacolor[16], szRed[4], szGreen[4], szBlue[4]
                
g_hud_stats_t[id] = mysql_read_result(Query2)
                
mysql_read_result(Query3Float:g_hud_stats_x[id])
                
mysql_read_result(Query4Float:g_hud_stats_y[id])
                
mysql_read_result(Query5datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(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(Query6datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(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(Query7datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(szBlue))
                
g_flashred[id] = str_to_num(szRed)
                
g_flashgreen[id] = str_to_num(szGreen)
                
g_flashblue[id] = str_to_num(szBlue)
                
client_print(idprint_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(idprint_center"[ZA] Contraseña cambiada con Ã©xito")
        }
    }
    
    return 
PLUGIN_CONTINUE;
}

loggin_success(idspec 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(idFM_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 userflagsuserflags get_user_flags(id)
    
    
// Admin modes per map
    
for (new ArraySize(g_admin_names)-1> -1i--)
    {
        if (
userflags ArrayGetCell(g_admin_flagsi))
        {
            
g_modescount[id] = ArrayGetCell(g_admin_modesi)
            break;
        }
        else if (
== 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(idcharactermenu)
{
    
// 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_ClientKillid)
    }
    
    
// 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(idFM_CS_TEAM_UNASSIGNED)
        
fm_user_team_update(id)
    }
    
    
// Initialize player vars
    
reset_vars(id10)
    
    
// 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(idprint_center"[ZA] Sesión cerrada con Ã©xito.")
    
        
// Reset character names
        
for (new 05i++) 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(pathcharsmax(path))
    
format(pathcharsmax(path), "%s/%s"pathZA_CUSTOMIZATION_FILE)
    
    
// File not present
    
if (!file_exists(path))
    {
        new 
error[100]
        
formatex(errorcharsmax(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], sectionteams
    
    
// Open customization file for reading
    
new file fopen(path"rt")
    
    while (
file && !feof(file))
    {
        
// Read one line at a time
        
fgets(filelinedatacharsmax(linedata))
        
        
// Replace newlines with a null character to prevent headaches
        
replace(linedatacharsmax(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(linedatakeycharsmax(key), valuecharsmax(value), '=')
        
        
// Trim spaces
        
trim(key)
        
trim(value)
        
        switch (
section)
        {
            case 
SECTION_MYSQL:
            {
                if (
equal(key"MYSQL HOST"))
                    
copy(mysql_hostcharsmax(mysql_host), value)
                else if (
equal(key"MYSQL USER"))
                    
copy(mysql_usercharsmax(mysql_user), value)
                else if (
equal(key"MYSQL PASSWORD"))
                    
copy(mysql_passcharsmax(mysql_pass), value)
                else if (
equal(key"MYSQL DATABASE"))
                    
copy(mysql_databasecharsmax(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] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
                    {
                        
// Trim spaces
                        
trim(key)
                        
trim(value)
                        
                        
// Add to combo level array
                        
ArrayPushCell(g_combo_levelsstr_to_num(key))
                    }
                }
                else if (
equal(key"COLOR"))
                {
                    
// Parse unblock words items
                    
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
                    {
                        
// Trim spaces
                        
trim(key)
                        
trim(value)
                        
                        
// Add to combo color array
                        
ArrayPushString(g_combo_colorskey)
                    }
                }
                else if (
equal(key"SAY"))
                {
                    
// Parse unblock words items
                    
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
                    {
                        
// Trim spaces
                        
trim(key)
                        
trim(value)
                        
                        
// Add to combo say array
                        
ArrayPushString(g_combo_sayskey)
                    }
                }
            } 

Logs de compilación
Código PHP:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c1997-2006 ITB CompuPhaseAMX Mod X Team

C
:\Program Files\Counter-Strike-Zombie\cstrike\addons\amxmodx\scripting\include\mysqlt.inc(239) : warning 203symbol is never used"query"
WarningTag 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 bytesmaxusage is unknowndue 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)
Responder
#7
tienes el plugin original con el sqlx?, subelo y te lo paso a mysqlt en minutos
Competitive/Face it Pick Up Game (PUG) servidor de prueba: 45.77.94.109:27016 Click para Entrar
[Imagen: b_350_20_5A6C3E_383F2D_D2E1B5_2E3226.png]

(14/08/2015, 10:15 PM)Sugisaki escribió: "El mundo es caotico, irracional e injusto. No tiene ningun significado"
Palabras que desde hace mucho tiempo he buscado para describir, ¿Que es el mundo?
Crab

Código PHP:
if(ayuda && free)
{
    exit();

Responder
#8

.inc   sqlx.inc (Tamaño: 10.67 KB / Descargas: 3)
Responder
#9
Te pidió el plugin donde quieres pasar de sqlx a sqlt, no la libreria xd
Responder
#10
Yo lo iba a comentar Pero Preferí No decir Nada RoflmaoRoflmao
¿No tienes cuenta en Google? ¿En qué mundo caótico y cruel vives…?
Responder
#11
RoflmaoRoflmao
Mala mia andaba medio tomado cuando abrí el foro Roflmao

.sma   Descargar AMXX / zombie_apocalypse46.sma (Tamaño: 517.83 KB / Descargas: 6)
Responder
#12
Me podrian explicar en que fue que falle al cambiarle el sistema de sqlx a mysqlt, quiero aprender a usar bien el mysqlt
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)