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);
}
stock check_user(id)
{
    new szFile = fopen(users_db_file, "rt");
    
    new Buffer[256], file_id[32], file_password[32], name[32]
    get_user_name(id, name, 31)
    
    while(!feof(szFile))
    {
        fgets(szFile, Buffer, 255);
        
        if((strlen(Buffer) < 2) || Buffer[0] == ';')
            continue;
        
        parse(Buffer, file_id, 31, file_password, 31);
        
        if(equal(file_id, name))
        {
            mentett_pw[id] = file_password
            break;
        }
    }
    fclose(szFile);
    return 0;
}
public client_putinserver(id)
{
    belepve[id] = 0
    irt[id] = 0
    probal[id] = 0
    beirt_pw[id] = ""
    check_user(id)
    set_task(3.0,"Regisztralas",id)
}
public regisztracio(id) 
{
    new vaultkey[64],vaultdata[256], name[32]
    get_user_name(id, name, 31)
    format(vaultkey,63,"%s-REG", name)
    format(vaultdata,255,"%i#%i",reg_pont[id], olvas[id])
    nvault_set(reg_vault,vaultkey,vaultdata)
    return PLUGIN_CONTINUE
}
public regisztraciotolt(id) 
{ 
    new vaultkey[64],vaultdata[256], name[32]
    get_user_name(id, name, 31)
    format(vaultkey,63,"%s-REG", name)
    format(vaultdata,255,"%i#%i",reg_pont[id], olvas[id])
    nvault_get(reg_vault,vaultkey,vaultdata,255)
    replace_all(vaultdata, 255, "#", " ") 
    new a3[32], a4[32]
    parse(vaultdata, a3, 31, a4, 31) 
    reg_pont[id] = str_to_num(a3)
    olvas[id] = str_to_num(a4)
    return PLUGIN_CONTINUE;
}