register_clcmd("say /reg","Regisztralas")
register_impulse(201, "Regisztralas")
register_clcmd("say /menu", "fomenu")
 
new focim[121]
formatex(focim, charsmax(focim), "\rGlobal Unison Mode - \yFőmenü ^n \wSzint: %d | Tapasztalat: %d%% | Arany: %d ", szint[id], xp[id], g_arany[id])
new menu = menu_create(focim, "fomenu_h")
 
public Regisztralas(id) {
    new menu
    new ks1[121], ks2[121], cim[121]
    new nev[32]
    get_user_name(id, nev, 31)
    if(olvas[id] == 0){
        format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dNem regisztrált^n")
        menu = menu_create(cim,"Regisztralas_handler")
        format(ks1, charsmax(ks1),"\rSzabályzat^n", mentett_pw[id])
        menu_additem(menu,ks1,"5",0)
        menu_additem(menu,"\yElfogadom a szabályokat!","6",0)
        menu_additem(menu,"\dNem fogadom el!","7",0)
        menu_display(id,menu,0)
    }
    if(belepve[id] == 0 && olvas[id] == 1){
        if(reg_pont[id] == 0){
            format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dNem regisztrált^n")
        }
        else if(reg_pont[id] == 1 && kijelentkezve[id] == false){
            format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dRegisztrálva^n\rPrĂłbálkozások : \d%d/3", probal[id])
        }
        else if(reg_pont[id] == 1 && kijelentkezve[id] == true){
            format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dKijelentkezve^n\rPrĂłbálkozások : \d%d/3", probal[id])
        }
        menu = menu_create(cim,"Regisztralas_handler")
        format(ks2, charsmax(ks2),"\rFelhasználĂł :\d %s", nev)
        if(reg_pont[id] == 0){
            if(irt[id] == 1){
                format(ks1, charsmax(ks1),"\rJelszĂł : \d%s^n", mentett_pw[id])
            }
            else if(irt[id] == 0){
                format(ks1, charsmax(ks1),"\rJelszĂł : \d^n")
            }
        }
        else if(reg_pont[id] == 1){
            format(ks1, charsmax(ks1),"\rJelszĂł : \d%s^n", beirt_pw[id])
        }
        menu_additem(menu,ks2,"0",0)
        menu_additem(menu,ks1,"1",0)
        if(reg_pont[id] == 0){
            if(irt[id] == 0){
                menu_additem(menu,"\dRegisztrálok","18",0)
            }
            else if(irt[id] == 1){
                menu_additem(menu,"Regisztrálok","2",0)
            }
        }
        else if(reg_pont[id] == 1){
            menu_additem(menu,"BelĂ©pek","3",0)
        }
        if(reg_pont[id] == 1){
            menu_additem(menu,"\rElfelejtettem a jelszavam!","8",0)
        }
        menu_display(id,menu,0)
    }
    else if(belepve[id] == 1 && olvas[id] == 1)
    {
        format(cim, charsmax(cim),"\reSport MultiGaming \wRegisztráciĂłs MenĂĽ^n \rStátusz : \dBejelentkezve")
        menu = menu_create(cim,"Regisztralas_handler")
        format(ks1, charsmax(ks1),"\rSzabályzat^n")
        menu_additem(menu,ks1,"5",0)
        menu_additem(menu,"\yKijelentkezĂ©s","4",0)
        menu_display(id,menu,0)
    }
}   
public Regisztralas_handler(id, menu, item){
    if( item == MENU_EXIT )
    {
    menu_destroy(menu);
    return PLUGIN_HANDLED;
    }
    new data[9], szName[64], name[32]
    get_user_name(id, name, 31)
    new access, callback;
    menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback);
    new key = str_to_num(data);
 
    switch(key)
    {
    case 0: Regisztralas(id)
    case 1:{
        if(reg_pont[id] == 0){
            client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
        }
        else if(reg_pont[id] == 1){
            client_cmd(id, "messagemode BELEPESI_JELSZO")
        }
    }
    case 2:{
        ef_jsz[id] = jelszo
        reg_pont[id] = 1
        print_color(id, "!g[eSport MG]!y Sikeres regisztráció! Jelszavad:!t %s", mentett_pw[id])
        Regisztralas(id)
        client_cmd(id,"setinfo _jelszo ^"%s^"",ef_jsz[id])
        regisztralas_mentese(id)
    }
    case 3:{
        if(equali(beirt_pw[id], mentett_pw[id])){
            belepve[id] = 1
            print_color(id, "!g[eSport MG]!y Sikeresen beléptél!")
            set_task(0.0,"motor", id)
            if(kijelentkezve[id]){
            kijelentkezve[id] = false
        }
        }
        else if(probal[id] >= 2)
        {
            server_cmd("kick #%i ^"Rossz jelszĂł! 3/3 PrĂłbálkozás után KICK!",get_user_userid(id))
        }
        else if(!equali(beirt_pw[id], mentett_pw[id]))
        {
            probal[id]++
            print_color(id, "!g[eSport MG]!y Rossz jelszó!")
        }
    }
    case 4:{
        beirt_pw[id] = ""
        belepve[id] = 0
        kijelentkezve[id] = true
        print_color(id, "!g[eSport MG]!y Sikeresen kijelentkeztél!")
    }
    case 5: {
        show_motd(id,"addons/amxmodx/configs/info/szabalyzat.txt","Szabályzat")
    }
    case 6: {
        olvas[id] = 1
        print_color(id, "!g[eSport MG]!y Elfogadtad a!t szabályokat!y !!!")
        Regisztralas(id)
    }
    case 7: {
        print_color(id, "!g[eSport MG]!y Szabály elfogadása nélkül nem regisztrálhatsz!")
    }
    case 8: {
        print_color(id, "!g[eSport MG]!y TeamSpeak3:!t 37.221.209.130:9988")
    }
    case 18:{
        print_color(id, "!g[eSport MG]!y Nem írtál be jelszót!")
        Regisztralas(id)
    }
}
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
public belepes_jelszo(id)
{
    read_args(beirt_jelszo, charsmax(beirt_jelszo))
    remove_quotes(beirt_jelszo)
    new hossz = strlen(beirt_jelszo)
    if(equal(beirt_jelszo, ""))
        return PLUGIN_HANDLED
        
    if(hossz < 6)
    {
        print_color(id, "!g[eSport MG]!y Jelszavadnak minimum 6 betűnek kell lennie!")
        client_cmd(id, "messagemode BELEPESI_JELSZO")
    }
    else
    {
        beirt_pw[id] = beirt_jelszo
        Regisztralas(id)
    }
    return PLUGIN_CONTINUE
}
public reg_jelszo(id)
{
    if(reg_pont[id] == 0){
        read_args(jelszo, charsmax(jelszo))
        remove_quotes(jelszo)
        new hossz = strlen(jelszo)
        if(equal(jelszo, ""))
        return PLUGIN_HANDLED
        
        if(hossz < 6)
        {
            print_color(id, "!g[eSport MG]!y Jelszavadnak minimum 6 betűnek kell lennie!")
            client_cmd(id, "messagemode REGISZTRACIOS_JELSZO")
        }
        else
        {
            irt[id] = 1
            mentett_pw[id] = jelszo
            ef_jsz[id] = jelszo
            Regisztralas(id)
        }
    }
    return PLUGIN_CONTINUE
}
public regisztralas_mentese(id)
{
    new Buffer[256]
    
    new adate[128], name[32]
    get_time("%x", adate, sizeof adate - 1);    
    
    get_user_name(id, name, 31)
    format(Buffer, sizeof Buffer - 1, "^"%s^" ^"%s^" ^n^n^n^n", name, mentett_pw[id]);
    
    new file = fopen(users_db_file, "at+");
    fprintf(file, Buffer);
    fclose(file);
    
    return 1;
}
public nevvaltas(id) 
{
    if(!is_user_connected(id))
        return FMRES_IGNORED
 
    new regi_nev[32], uj_nev[32], nev[32]
    get_user_name(id, nev, 31)
    pev(id, pev_netname, regi_nev, charsmax(regi_nev))
    if(regi_nev[0])
    {
        get_user_info(id, "name", uj_nev, charsmax(uj_nev))
        if(!equal(regi_nev, uj_nev))
        {
            if(belepve[id] == 1)
            {
                set_user_info(id, "name", regi_nev)
                print_color(id, "!g[eSport MG]!y A név váltás tiltott!")
                return FMRES_HANDLED
            }
            else
            {
                set_user_info(id, "name", regi_nev)
                print_color(id, "!g[eSport MG]!y A név váltás tiltott!")
                return FMRES_HANDLED
            }
        }
    }
    return FMRES_IGNORED
}
public check_db()
{
    new datadir[64];
    get_datadir(datadir, 63);
    
    format(users_db_file, sizeof users_db_file - 1, "%s/user_db.ini", datadir);
    
    new file_pointer = fopen(users_db_file, "r");
    
    if(!file_pointer)
    {
        server_print("NEM TALALHATO A FAJL");
        
        write_file(users_db_file, "");
    }
    fclose(file_pointer);