[ERROR] Sistema de cuentas ZA sql
#1
Exclamación 
Bueno, quise adaptar el sistema de cuentas del ZA al 4.2
y no me tira ningun error, solo que al entrar quiero ingresar registrandome, me deja registrar el usuario, pero no la contraseña, dejo el code desde ya gracias

Código PHP:
#define mysql_database "zombie_trilogy"

#define USE_SQLITE

#define TABLE1 "account"
#define TABLE2 "experience"
#define TABLE3 "classes"
#define TABLE4 "habilidades"
#define TABLE5 "time"
#define TABLE6 "colours"
#define TABLE7 "system"

enum
{
    
REG_ID 0,
    
REG_PASSWORD,
    
LOG_ID,
    
LOG_PASSWORD,
    
CHECK_CHARACTER,
    
REG_CHARACTER,
    
LOAD_DATA1,
    
LOAD_DATA2,
    
LOAD_DATA3,
    
LOAD_DATA4,
    
LOAD_DATA5,
    
LOAD_DATA6,
    
CHANGE_PASSWORD
}

enum
{
    
OFFLINE 0,
    
CHARACTER_MENU,
    
ONLINE_SPEC,
    
ONLINE
}
new 
g_motd[1546// show motd

#define SELECTED_CHARACTER g_character[id]

new g_logoutname[33][32// player's name when log out
new gMenuXD[33][2]

#define CONFIRM_MENU gMenuXD[id][1]

const PDATA_SAFE 2
// CS Teams
new g_playername[33][32// player's name
new g_playedtime[33][4// played rounds, hours, minutes, seconds
const VGUI_JOIN_TEAM_NUM 2
new g_isconnected[33// whether player is connected
new g_isalive[33// whether player is alive
new g_isbot[33// whether player is a botenum

enum
{
    
FM_CS_TEAM_UNASSIGNED 0,
    
FM_CS_TEAM_T,
    
FM_CS_TEAM_CT,
    
FM_CS_TEAM_SPECTATOR
}
// Account system vars (player)
new g_attempts[33// attempts for logging
new g_status[33// status player account
new g_register_date[33][11// register date
new g_last_loggin[33][11// last loggin date
new user_id[33][2][32// ID account
new user_password[33][2][35// password account
new g_character[33// using character
new g_charactername[33][5][32// characters name
// Account system vars (game)
new Handle:g_SqlTuple // mysql connection
new g_Error[512// mysql error log
new g_query[793// make query
new g_createdaccounts // created account count
new g_createdcharacters // created character count
// Game vars
new g_minidcharacters // min characters in ID account
new g_minpasscharacters // min characters in password account
new g_attemptslogging // attempts for logging

// en el init
register_message(get_user_msgid("ShowMenu"), "message_showmenu")
register_message(get_user_msgid("VGUIMenu"), "message_vguimenu")

// Block CS team menu
public message_vguimenu(msg_idmsg_destmsg_entity)
{
    if (
get_msg_arg_int(1) != VGUI_JOIN_TEAM_NUM)
        return 
PLUGIN_CONTINUE;
    
    
// Show character menu
    
if (g_status[msg_entity] == OFFLINE)
    {
        
show_menu_registration(msg_entity)
        return 
PLUGIN_HANDLED;
    }
    
    return 
PLUGIN_CONTINUE;
}

// Block CS selection in team menu
public message_showmenu(msg_idmsg_destmsg_entity)
{
    static 
sMenuCode[32]
    
get_msg_arg_string(4sMenuCodecharsmax(sMenuCode))
    
    if (
equal(sMenuCode"#Team_Select") || equal(sMenuCode"#Team_Select_Spect") || equal(sMenuCode"#IG_Team_Select") || equal(sMenuCode"#IG_Team_Select_Spect"))
    {
        
// Show character menu
        
if (g_status[msg_entity] == OFFLINE)
        {
            
show_menu_registration(msg_entity)
            return 
PLUGIN_HANDLED;
        }
    }
    
    return 
PLUGIN_CONTINUE;
}
// Loggin Account Menu
public show_menu_registration(id)
{
    
// Player disconnected?
    
if (!g_isconnected[id]) return;
    
    
formatex(gMenucharsmax(gMenu), "\wZombie Trilogy\r%s \wCreado por\r Blackk'"PLUGIN_VERSION)
    
    new 
menu menu_create(gMenu"menu_registration")
        
    
menu_additem(menu"\wIniciar \ysesión""1"0)
    
menu_additem(menu"\wCrear \ycuenta nueva^n""2"0)
    
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
    
menu_display(idmenu)
}

// Confirm Menu
show_menu_confirm(id)
{
    switch (
CONFIRM_MENU)
    {
        case 
0formatex(gMenucharsmax(gMenu), "\r¿Finalizar Registro?^n^nUsuario: \y%s^n\rContraseña: \y%s"user_id[id][0], user_password[id][0])
        case 
1formatex(gMenucharsmax(gMenu), "\r¿Estas seguro que quieres crear el personaje con el nombre\d %s?"g_playername[id])
        case 
2formatex(gMenucharsmax(gMenu), "\r¿Estas seguro que quieres crear el personaje con el nombre\d %s?"g_playername[id])
        case 
3formatex(gMenucharsmax(gMenu), "\r¿Desea cambiar los datos?^n^nContraseña actual: \y%s^n^n\rContraseña nueva: \y%s"user_password[id][1], user_password[id][0])
    }
    new 
menu menu_create(gMenu"menu_confirm")
    
    
formatex(gMenucharsmax(gMenu), "%s"CONFIRM_MENU CONFIRM_MENU "\wSi" "\wSi" "\wSi")
    
menu_additem(menugMenu"1"0)
    
menu_additem(menu"\wVolver""2"0)
    
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
    
menu_display(idmenu)
}

// Character Selection Menu
show_menu_character_selection(id)
{
    new 
num[2]
    if (
equal(g_last_loggin[id], "0000-00-00"))
        
formatex(gMenucharsmax(gMenu), "\wUsuario: \y%s^n\wCuenta registrada el dÃa: \r%s^n^n\rSeleccione un personaje"user_id[id][1], g_register_date[id])
    else
        
formatex(gMenucharsmax(gMenu), "\wUsuario: \y%s^n\wCuenta registrada el dÃa: \r%s^n^n\rSeleccione un personaje"user_id[id][1], g_register_date[id])
    new 
menu menu_create(gMenu"menu_character_selection")
    
    for (new 
05i++)
    {
        if (
equal(g_charactername[id][i], "None"))
            
formatex(gMenucharsmax(gMenu), "\wCrear\r Personaje \d(Slot %d\d)%s^n"i+1== "^n" "")
        else
            
formatex(gMenucharsmax(gMenu), "\w%s \d(Slot %d\d)%s^n"g_charactername[id][i], i+1== "^n" "")
        
        
num_to_str(i+1numcharsmax(num))
        
menu_additem(menugMenunum)
    }
    
    
// 6. Change Password
    
menu_additem(menu"\wCambiar \ycontraseña""6"0)
    
    
// 7. Log out
    
menu_additem(menu"\wCerrar \ysesión""7"0)
    
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
    
menu_display(idmenu)
}

// Character Menu
show_menu_character(id)
{
    
formatex(gMenucharsmax(gMenu), "\yPersonaje: \r%s \d(Slot %d\d)^n\wLevel \d(\y%d\d) -\w Reset \d(\y%d\d) - \wAmmopacks \d(\y%s\d) - \wExperiencia \d(\y%s\d)"
    
g_charactername[id][SELECTED_CHARACTER], SELECTED_CHARACTER 1gLevel[id], gReset[id], Add_Point(g_ammopacks[id]), Add_Point(gExp[id]))
    
    new 
menu menu_create(gMenu"menu_character")
    
    
menu_additem(menu"\wIngresar al servidor""1"0)
    
menu_additem(menu"\wIngresar como espectador^n""2"0)
    
    
menu_setprop(menuMPROP_EXITMEXIT_NEVER)
    
    
menu_display(idmenu)
}
// Loggin Account Menu
public menu_registration(idmenuitem)
{
    
// Player disconnected?
    
if (!g_isconnected[id]) return PLUGIN_HANDLED;
    
    switch (
item)
    {
        case 
0:
        {
            
// Attempts?
            
if (g_attempts[id] >= 1)
            {
                
client_cmd(id"messagemode ^"your_id^"")
                
set_hudmessage(0255200.030.0520.14.00.010.01, -1)
                
ShowSyncHudMsg(idg_MsgSync2"Ingresa el usuario que utilizaste al registrarte")
            }
            else
                
client_print(idprint_center"%s Error: Agotaste el máximo de intentos"gPrefix)
        }
        case 
1
        {
            
client_cmd(id"messagemode ^"register_id^"")
            
set_hudmessage(255000.030.0520.14.00.010.01, -1)
            
ShowSyncHudMsg(idg_MsgSync2"Ingresa un usuario para tu nueva cuenta")
        }
    }
    
    return 
PLUGIN_HANDLED;
}

// Confirm Menu
public menu_confirm(idmenuitem)
{
    switch (
item)
    {
        case 
0
        {
            switch (
CONFIRM_MENU)
            {
                case 
0create_account(id)
                case 
1create_character(id)
                case 
2client_print(idprint_chat"Deshabilitado..")
                case 
3change_password(id)
            }
        }
        case 
1
        {
            switch (
CONFIRM_MENU)
            {
                case 
0show_menu_registration(id)
                case 
2show_menu_user(id)
                default: 
show_menu_character_selection(id)
            }
        }
    }
    
CONFIRM_MENU 0
    
return PLUGIN_HANDLED;
}

// Character Selection Menu
public menu_character_selection(idmenuitem)
{
    switch (
item)
    {
        case 
0..4:
        {
            
SELECTED_CHARACTER item
            
            
if (equal(g_charactername[id][item], "None"))
                
check_character(id)
            else
                
Load(id1)
        }
        case 
5:
        {
            
client_cmd(id"messagemode ^"your_password^"")
            
set_hudmessage(002550.030.0520.14.00.010.01, -1)
            
ShowSyncHudMsg(idg_MsgSync2"Ingresa la password que utilizaste al registrarte")
        }
        case 
6log_out(id0)
    }
    
    return 
PLUGIN_HANDLED;
}

// Character Menu
public menu_character(idmenuitem)
{
    switch (
item)
    {
        case 
0loggin_success(id)
        case 
1loggin_success(id1)
    }
    
    return 
PLUGIN_HANDLED;
}

// 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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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"%s Error: La cuenta se está utilizando actualmente."gPrefix)
            
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"%s Error: El ID debe contener al menos %d carácteres"gPrefixg_minidcharacters)
        
show_menu_registration(id)
        return;
    }
    if (
contain_special_characters(user_id[id][0]))
    {
        
client_print(idprint_center"%s Error: El ID no debe contener carácteres especiales"gPrefix)
        
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])
    
SQL_ThreadQuery(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"%s Error: La contraseña debe contener al menos %d carácteres",gPrefixg_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"%s Error: La contraseña no debe contener carácteres especiales"gPrefix)
        (
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"%s Error: La contraseña no puede ser similar al ID"gPrefix)
        (
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"%s Error: La contraseña es la misma que la actual"gPrefix)
        
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])
    
SQL_ThreadQuery(g_SqlTuple"IgnoreHandle"g_query)
    
    
formatex(g_querycharsmax(g_query), "UPDATE `%s` SET `Level`='%d', `Experience`='%d', `Ammopacks`='%d', `Fame`='%d', `Promocion`='%d', `Bunny`='%d', `VeloAWP`='%d', `Aimbot`='%d', `Vampirismo`='%d', `PuntosD`='%d', `Human Points`='%d', `Zombie Points`='%d', `Used Human Points`='%d', `Used Zombie Points`='%d' WHERE `User ID`=^"%s^" AND `Character`=^"%s^""
    
TABLE2gLevel[id], gExp[id], g_ammopacks[id], gReset[id], gPromo[id], gBunnyHop[id], gVeloAWP[id], gAimbot[id], gVampirismo[id], gPuntoT[id], gPuntos[id][0], gPuntos[id][1], gGastados[id][0], gGastados[id][1], user_id[id][1], g_playername[id])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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' WHERE `User ID`=^"%s^" AND `Character`=^"%s^""
    
TABLE4gHabilidad[id][0][0], gHabilidad[id][0][1], gHabilidad[id][0][2], gHabilidad[id][0][3], gHabilidad[id][0][4], gHabilidad[id][1][0], gHabilidad[id][1][1], gHabilidad[id][1][2], gHabilidad[id][1][3], gHabilidad[id][1][4], user_id[id][1], g_playername[id])
    
SQL_ThreadQuery(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^""
    
TABLE5g_playedtime[id][0], g_playedtime[id][1], g_playedtime[id][2], g_playedtime[id][3], user_id[id][1], g_playername[id])
    
SQL_ThreadQuery(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^""
    
TABLE6gHudEffect[id], gHudPosition[id][0], gHudPosition[id][1], gHudColor[id][0], gHudColor[id][1], gHudColor[id][2], gNvgColor[id][0], gNvgColor[id][1], gNvgColor[id][2], user_id[id][1], g_playername[id])
    
SQL_ThreadQuery(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])
            
SQL_ThreadQuery(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])
            
SQL_ThreadQuery(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])
            
SQL_ThreadQuery(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])
            
SQL_ThreadQuery(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])
            
SQL_ThreadQuery(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])
            
SQL_ThreadQuery(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)
    
SQL_ThreadQuery(g_SqlTuple"QueryHandle"g_queryiData2)
}

// Create Character: Check Character
check_character(id)
{
    if (
equal(g_playername[id], "None"))
    {
        
client_print(idprint_center"%s Error: Este nombre no puede ser usado. Por favor, cámbiese el nombre"gPrefix)
        
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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(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])
    
SQL_ThreadQuery(g_SqlTuple"QueryHandle"g_queryiData2)
}
save_account_count()
{
    
formatex(g_querycharsmax(g_query), "UPDATE `%s` SET `Created accounts`='%d', `Created characters`='%d'"TABLE7g_createdaccountsg_createdcharacters)
    
SQL_ThreadQuery(g_SqlTuple"IgnoreHandle"g_query)
}

public 
IgnoreHandle(FailStateHandle:QueryError[], ErrcodeData[], DataSize)
{
    
SQL_FreeHandle(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 
REG_ID:
        {
            if (!
SQL_NumResults(Query))
            {
                
client_cmd(id"messagemode ^"register_password^"")
                
set_hudmessage(255000.030.0520.14.00.010.01, -1)
                
ShowSyncHudMsg(idg_MsgSync2"Ingresa una password para tu nueva cuenta")
            }
            else
            {
                
client_print(idprint_center"%s Error: El ID ingresado se encuentra en uso"gPrefix)
                
show_menu_registration(id)
            }
        }
        case 
REG_PASSWORD:
        {
            
g_createdaccounts++
            
save_account_count()
            
user_id[id][0] = ""
            
client_print(idprint_center"%s Registro finalizado con Ã©xito"gPrefix)
            
show_menu_registration(id)
        }
        case 
LOG_ID:
        {
            if (
SQL_NumResults(Query))
            {
                
client_cmd(id"messagemode ^"your_password^"")
                
set_hudmessage(0255200.030.0520.14.00.010.01, -1)
                
ShowSyncHudMsg(idg_MsgSync2"Ingresa la password que utilizaste al registrarte")
            }
            else
            {
                
g_attempts[id]--
                
client_print(idprint_center"%s Error: El ID ingresado no existe. Intentos restantes: %d"gPrefix,  g_attempts[id])
                
show_menu_registration(id)
            }
        }
        case 
LOG_PASSWORD:
        {
            if (
SQL_NumResults(Query))
            {
                static 
szPass[35], szBuffer[34]
                
SQL_ReadResult(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(002550.030.0520.14.00.010.01, -1)
                        
ShowSyncHudMsg(idg_MsgSync2"Ingresa la una nueva password para tu cuenta")
                    }
                    else
                        
check_online_account(id)
                }
                else
                {
                    if (
g_status[id] != OFFLINE)
                    {
                        
user_password[id][0] = ""
                        
client_print(idprint_center"%s Error: La contraseña ingresada es incorrecta."gPrefix)
                        
show_menu_character_selection(id)
                    }
                    else
                    {
                        
g_attempts[id]--
                        
client_print(idprint_center"%s Error: La contraseña ingresada es incorrecta. Intentos restantes: %d"gPrefixg_attempts[id])
                        
show_menu_registration(id)
                    }
                }
            }
        }
        case 
CHECK_CHARACTER:
        {
            if (!
SQL_NumResults(Query))
            {
                
CONFIRM_MENU 1
                show_menu_confirm
(id)
            }
            else
            {
                
client_print(idprint_center"%s El nombre se encuentra en uso. Por favor, cámbiese el nombre"gPrefix)
                
show_menu_character_selection(id)
            }
        }
        case 
REG_CHARACTER:
        {
            static 
loadingloading++
            switch (
loading)
            {
                case 
1client_print(idprint_center"Espere mientras sus datos son procesados")
                case 
2client_print(idprint_center"Espere mientras sus datos son procesados")
                case 
3client_print(idprint_center"Espere mientras sus datos son procesados")
                case 
4client_print(idprint_center"Espere mientras sus datos son procesados")
                case 
5client_print(idprint_center"Espere mientras sus datos son procesados")
                case 
6client_print(idprint_center"Espere mientras sus datos son procesados")
                case 
7client_print(idprint_center"Espere mientras sus datos son procesados")
                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"%s Personaje creado con Ã©xito"gPrefix)
                    
show_menu_character_selection(id)
                }
            }
        }
        case 
LOAD_DATA1:
        {
            if (
SQL_NumResults(Query))
            {
                
SQL_ReadResult(Query2g_register_date[id], charsmax(g_register_date[]))
                
SQL_ReadResult(Query3g_last_loggin[id], charsmax(g_last_loggin[]))
                
SQL_ReadResult(Query4g_charactername[id][0], charsmax(g_charactername[][]))
                
SQL_ReadResult(Query5g_charactername[id][1], charsmax(g_charactername[][]))
                
SQL_ReadResult(Query6g_charactername[id][2], charsmax(g_charactername[][]))
                
SQL_ReadResult(Query7g_charactername[id][3], charsmax(g_charactername[][]))
                
SQL_ReadResult(Query8g_charactername[id][4], charsmax(g_charactername[][]))
            }
            
            
g_status[id] = CHARACTER_MENU
            show_menu_character_selection
(id)
        }
        case 
LOAD_DATA2:
        {
            if (
SQL_NumResults(Query))
            {
                
gLevel[id] = SQL_ReadResult(Query2)
                
gExp[id] = SQL_ReadResult(Query3)
                
g_ammopacks[id]= SQL_ReadResult(Query5)
                
gReset[id] = SQL_ReadResult(Query6)
                
gPromo[id] = SQL_ReadResult(Query7)
                
gBunnyHop[id] = SQL_ReadResult(Query8)
                
gVeloAWP[id] = SQL_ReadResult(Query9)
                
gAimbot[id] = SQL_ReadResult(Query10)
                
gVampirismo[id] = SQL_ReadResult(Query11)
                
gPuntoT[id] = SQL_ReadResult(Query12)
                
gPuntos[id][0] = SQL_ReadResult(Query13)
                
gPuntos[id][1] = SQL_ReadResult(Query14)
                
gGastados[id][0] = SQL_ReadResult(Query15)
                
gGastados[id][1] = SQL_ReadResult(Query16)
                    
client_print(idprint_center"Espere mientras sus datos son cargados")
                
            }
            
            
Load(id3)
        }
        case 
LOAD_DATA3:
        {
            if (
SQL_NumResults(Query))
            {
                
g_humanclass[id] = SQL_ReadResult(Query2)
                    
g_humanclassnext[id] = SQL_ReadResult(Query3)
                
g_zombieclass[id] = SQL_ReadResult(Query4)
                    
g_zombieclassnext[id] = SQL_ReadResult(Query5)
                    
client_print(idprint_center"Espere mientras sus datos son cargados")
            }
            
            
Load(id4)
        }
        case 
LOAD_DATA4:
        {
            if (
SQL_NumResults(Query))
            {
                
gHabilidad[id][0][0] = SQL_ReadResult(Query2)
                
gHabilidad[id][0][1] = SQL_ReadResult(Query3)
                
gHabilidad[id][0][2] = SQL_ReadResult(Query4)
                
gHabilidad[id][0][3] = SQL_ReadResult(Query5)
                
gHabilidad[id][0][4] = SQL_ReadResult(Query6)
                
gHabilidad[id][1][0] = SQL_ReadResult(Query7)
                
gHabilidad[id][1][1] = SQL_ReadResult(Query8)
                
gHabilidad[id][1][2] = SQL_ReadResult(Query9)
                
gHabilidad[id][1][3] = SQL_ReadResult(Query10)
                
client_print(idprint_center"Espere mientras sus datos son cargados")
            }
            
            
Load(id5)
        }
        case 
LOAD_DATA5:
        {
            if (
SQL_NumResults(Query))
            {
                
g_playedtime[id][0] = SQL_ReadResult(Query2)
                
g_playedtime[id][1] = SQL_ReadResult(Query3)
                
g_playedtime[id][2] = SQL_ReadResult(Query4)
                
g_playedtime[id][3] = SQL_ReadResult(Query5)
                
client_print(idprint_center"Espere mientras sus datos son cargados")
            }
            
            
Load(id6)
        }
        case 
LOAD_DATA6:
        {
            if (
SQL_NumResults(Query))
            {
                static 
datacolor[16], szRed[4], szGreen[4], szBlue[4]
                
gHudEffect[id] = SQL_ReadResult(Query2)
                
SQL_ReadResult(Query3Float:gHudPosition[id][0])
                
SQL_ReadResult(Query4Float:gHudPosition[id][1])
                
SQL_ReadResult(Query5datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(szBlue))
                
gHudColor[id][0] = str_to_num(szRed)
                
gHudColor[id][1] = str_to_num(szGreen)
                
gHudColor[id][2] = str_to_num(szBlue)
                
SQL_ReadResult(Query6datacolorcharsmax(datacolor))
                
parse(datacolorszRedcharsmax(szRed), szGreencharsmax(szGreen), szBluecharsmax(szBlue))
                
gNvgColor[id][0] = str_to_num(szRed)
                
gNvgColor[id][1] = str_to_num(szGreen)
                
gNvgColor[id][2] = str_to_num(szBlue)
                
client_print(idprint_center"Espere mientras sus datos son cargados")
            }
            
            
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"%s Contraseña cambiada con Ã©xito"gPrefix)
        }
    }
    
    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%s^x01 Bienvenido! ^x04%s^x01 ha iniciado sesión."gPrefixg_charactername[id][SELECTED_CHARACTER])
    
    
// Update level
    
UpdateLevel(id)


    
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;
}

// 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%s^x01 No puedes salir estando vivo."gPrefix)
            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)
    
    
// 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(id1)
    
    
// 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"%s Sesión cerrada con Ã©xito."gPrefix)
    
        
// 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)
    }
}
// User/Information Menu
public show_menu_user(id)
{
    
// Player disconnected?
    
if (!g_isconnected[id]) return;
    
    new 
menu menu_create("\rConfiguración""menu_user")
    
    if (
g_isalive[id]) menu_additem(menu"\dVolver a Personajes""1"0)
    else 
menu_additem(menu"\wVolver a \yPersonajes""1"0)
    if (
g_isalive[id]) menu_additem(menu"\dCerrar Sesión^n""2"0)
    else 
menu_additem(menu"\wCerrar \ySesión^n""2"0)
    
    
// 0. Exit
    
menu_additem(menu"\ySalir""0"0)
    
    
// More than 7 items per page
    
menu_setprop(menuMPROP_PERPAGE0)
    
    
menu_display(idmenu)
}

// Stock by Kiske -counts number of characters in a string-
stock count_characters(const szString[], const len sizeof(szString))
{
    new 
counti

    
for (leni++)
    {
        if (
isalnum(szString[i]))
            
count++
    }
    
    return 
count;
}

// Stock by Neeeeeeeeeel.- -check special characters in a string-
stock contain_special_characters(const str[])
{
    static 
len
    len 
strlen(str)
    
    for (new 
0leni++)
    {
        if (!
isalpha(str[i]) && !isdigit(str[i]))
            return 
1;
    }
    
    return 
0;
}
// Get Alive -returns logged players number-
fnGetLogged()
{
    static 
iLoggedid
    iLogged 
0
    
    
for (id 1id <= g_maxplayersid++)
    {
        if (
g_status[id] != OFFLINE)
            
iLogged++
    }
    
    return 
iLogged;
}
// Get User Team
stock fm_cs_get_user_team(id)
{
    
// Prevent server crash if entity's private data not initalized
    
if (pev_valid(id) != PDATA_SAFE)
        return 
FM_CS_TEAM_UNASSIGNED;
    
    return 
get_pdata_int(idOFFSET_CSTEAMSOFFSET_LINUX);
}

// Set a Player's Team
stock fm_cs_set_user_team(idteam)
{
    
// Prevent server crash if entity's private data not initalized
    
if (pev_valid(id) != PDATA_SAFE)
        return;
    
    
set_pdata_int(idOFFSET_CSTEAMSteamOFFSET_LINUX)
}
public 
Sql_Init()
{
    
#if defined USE_SQLITE
    
new get_type[12]
    
    
SQL_SetAffinity("sqlite")
    
    
SQL_GetAffinity(get_typesizeof get_type)

    if (!
equali(get_type"sqlite"))
    {
        
// Log error
        
log_to_file"SQLITE_ERROR.txt""Error en la conexión.")
        
        
// Pause plugin
        
return pause"a" );
    }
    
    
g_SqlTuple SQL_MakeDbTuple""""""mysql_database)
    
#else
    
g_SqlTuple SQL_MakeDbTuple(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");
    }
    
#endif
    
    
new ErrorCodeHandle:SqlConnection SQL_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`("TABLE7)
    
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')")
    
    
    
SQL_ThreadQuery(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')")
    
    
    
SQL_ThreadQuery(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 '200', ")
    
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"`Promocion` int(3) NOT NULL DEFAULT '0', ")
    
len += formatex(g_motd[len], charsmax(g_motd) - len"`Bunny` int(3) NOT NULL DEFAULT '0', ")
    
len += formatex(g_motd[len], charsmax(g_motd) - len"`VeloAWP` int(3) NOT NULL DEFAULT '0', ")
    
len += formatex(g_motd[len], charsmax(g_motd) - len"`Vampirismo` int(3) NOT NULL DEFAULT '0', ")
    
len += formatex(g_motd[len], charsmax(g_motd) - len"`PuntosD` 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')")
    
    
SQL_ThreadQuery(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)
    
    
SQL_ThreadQuery(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"`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' ) ")
    
    
SQL_ThreadQuery(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"`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' ) ")
    
    
SQL_ThreadQuery(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"`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' ) ")
    
    
SQL_ThreadQuery(g_SqlTuple"QueryCreateTable"g_motd)
    
    
    
// Load account count
    
if (SqlConnection != Empty_Handle)
    {
        new 
Handle:query SQL_PrepareQuery(SqlConnection"SELECT * FROM `%s`"TABLE7)
        
SQL_Execute(query)
    
        if (
SQL_NumResults(query))
        {
            
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')"TABLE7)
            
SQL_ThreadQuery(g_SqlTuple"IgnoreHandle"g_query)
        }
        
        
SQL_FreeHandle(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 
menu_user(idmenuitem)
{
    
// Player disconnected?
    
if (!g_isconnected[id]) return PLUGIN_HANDLED;
    
    
// Menu was closed
    
if (item == MENU_EXIT) return PLUGIN_HANDLED;
    
    switch (
item)
    {
        case 
1
        {
            if (
g_isalive[id]) zp_colored_print(0"^x04%s^x01 Solo puedes salir estando muerto."gPrefix)
            else 
log_out(id1)
        }
        case 
2:
        {
            if (
g_isalive[id]) zp_colored_print(0"^x04%s^x01 Solo puedes salir estando muerto."gPrefix)
            else 
log_out(id0)
        }
    }
    
    return 
PLUGIN_HANDLED;

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

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#2
hola, creaste la base de datos?, algun log te sale?
Responder
#3
No, ningun error, y la base de datos se crea sola..
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#4
pone el user ID como varchar(32) NOT NULL UNIQUE PRIMARY KEY
y la contraseña varchar(33) NOT NULL y fijate si te anda
Responder
#5
L 05/30/2019 - 06:28:50: Error on query for creating table [1]: near "UNIQUE": syntax error
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#6
Pusiste todos los messagemodes ? ejemplo:
Código PHP:
register_clcmd("CREAR_PASSWORD""public_crearpassword"
Responder
#7
(30/05/2019, 03:31 PM)Ipolito escribió: Pusiste todos los messagemodes ? ejemplo:
Código PHP:
register_clcmd("CREAR_PASSWORD""public_crearpassword"
No que idiota, XD
Ahora me salta este

L 05/31/2019 - 19:19:13: Error in MySQL query [1]: table system has no column named User ID
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#8
pd: sin solucion
https://steamcommunity.com/id/adriancek1ng/

Aquellos que te critican quieren verte distinto,
Por que ven en ti lo que ellos no serán jamás. Feel like a sir
Responder
#9
Disculpa si no se, pero dice que no creaste la tabla de almacenamiento para las cuentas?
Responder
#10
(02/06/2019, 01:39 PM)Reverant escribió: Disculpa si no se, pero dice que no creaste la tabla de almacenamiento para las cuentas?
Me parece raro, por que esta para que se cree solo.. esta todo el code ahi xd
https://steamcommunity.com/id/adriancek1ng/

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


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)