#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fakemeta>
#include <cstrike>
#include <colorchat>
#include <fvault>
 
#define PLUGIN "Kesmenu"
#define VERSION "1.0"
#define AUTHOR "DeRoiD"
 
new const file[] = "regisztraciosadatok"
 
new oles[33], kesek[33], vault
 
new const rangok[8][] ={
    "GyengeEllenfĂ©l",
    "TunkMester",
    "Majom",
    "Whs",
    "ÉlĹ‘sködĹ‘",
    "Elmebeteg",
    "Profi",
    "PaintballMester"
}
 
new RosszKarakterek, RosszKarakterek2
 
// Regisztráció
new jelszo[32], reg_pont[33], belepve[33], beirt_jelszo[32], mentett_pw[33][32], beirt_pw[33][32], ef_jsz[32][33]
new users_db_file[256] , reg_vault, probal[33], irt[33]
 
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_forward(FM_CmdStart, "cmd_knifemenu")
    register_clcmd("say /kes", "kesmenuasd")
    register_clcmd("say /knife", "kesmenuasd")
    register_clcmd("nightvision", "kesmenuasd")
    register_clcmd("say","handlesay")
    register_clcmd("say_team","handlesay")
    vault = nvault_open("razer_reloaded")
    register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1")
    register_event("DeathMsg","death","a")
    reg_vault = nvault_open("regrendszer")
    register_clcmd("REGISZTRACIOS_JELSZO", "reg_jelszo")
    register_clcmd("BELEPESI_JELSZO", "belepes_jelszo")
    register_forward(FM_ClientUserInfoChanged, "nevvaltas")
}
 
public cmd_knifemenu(id, uc_handle, seed)
{
    if(get_uc(uc_handle, UC_Impulse) == 201)
    {
        kesmenuasd(id);
        return FMRES_HANDLED
    }
    return FMRES_IGNORED
}
 
public info(id)
{
    new cim[121], rang[32]
    
    if(oles[id] < 20)
        copy(rang, charsmax(rang), rangok[0])
    else if(oles[id] < 60)
        copy(rang, charsmax(rang), rangok[1])
    else if(oles[id] < 120)
        copy(rang, charsmax(rang), rangok[2])
    else if(oles[id] < 240)
        copy(rang, charsmax(rang), rangok[3])
    else if(oles[id] < 480)
        copy(rang, charsmax(rang), rangok[4])
    else if(oles[id] < 1000)
        copy(rang, charsmax(rang), rangok[5])
    else if(oles[id] < 2000)
        copy(rang, charsmax(rang), rangok[6])
    else
        copy(rang, charsmax(rang), rangok[7])
    
    format(cim, charsmax(cim), "\r[\yK\waran\yT\weam\r] \w|\yPaintball\w| \wInformáciĂł^nRangod: %s", rang)
    new menu = menu_create(cim, "info_h" )
    menu_additem(menu,"\rADMIN \wfelvĂ©tel!","1",0)
    menu_additem(menu,"\wSzabályzat!","2",0)
    menu_additem(menu,"\wElĂ©rhetĹ‘sĂ©gek!","3",0)
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_display(id, menu, 0);
}
 
public info_h(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[9], szName[64];
    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 1:
        {
            show_motd(id,"addons/amxmodx/configs/adminvetel.txt","ADMIN felvĂ©tel!")
        }
        case 2:
        {
            show_motd(id,"addons/amxmodx/configs/szabalyzat.txt","Szabályzat!")
        }
        case 3:
        {
            show_motd(id,"addons/amxmodx/configs/elerhetoseg.txt","ElĂ©rhetosĂ©gek!")
        }
    }
    menu_destroy(menu)
    return PLUGIN_HANDLED
}
 
public kesmenuasd(id){
    if(belepve[id] == 1){
        kesmenu(id)
    }
    else
    {
        Regisztralas(id)
    }
}
 
public plugin_precache() {
    precache_model("models/v_knife.mdl")
    precache_model("models/karanteam_kes/v_kes2.mdl")
    precache_model("models/karanteam_kes/v_kes3.mdl")
    precache_model("models/karanteam_kes/v_kes4.mdl")
    precache_model("models/karanteam_kes/v_kes5.mdl")
    precache_model("models/karanteam_kes/v_kes6.mdl")
    precache_model("models/karanteam_kes/v_kes7.mdl")
    precache_model("models/karanteam_kes/v_kes8.mdl")
    precache_model("models/karanteam_kes/v_fpskes.mdl")
}
public death(){
    new killer = read_data(1)
    new victim = read_data(2)
    
    if(killer == victim)
    {
        return PLUGIN_HANDLED
    }
    oles[killer]++
    return PLUGIN_HANDLED
}
public kesmenu(id) {
    new menu = menu_create("\r[\yK\waran\yT\weam\r] \wPaintball^n\rby:\wcosmo'", "kesmenu_hl")
    
    menu_additem(menu,"\r[\wK\r]\yĂ©sek","1",0)
    menu_additem(menu,"\r[\wR\r]\yangok","2",0)
    menu_additem(menu,"\r[\wI\r]\ynformáciĂłk","3",0)
    menu_additem(menu,"\r[\wFPS\r]\yKĂ©s","4",0)
    menu_display(id,menu,0)
    menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
}
public kesmenu_hl(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[9], szName[64];
    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 1: fpskes(id)
            case 2: rang_menu2(id)
            case 3: info(id)
            case 4: fpskes(id)
        }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
public fpskes(id) {
    new menu = menu_create("\r[\yK\waran\yT\weam\r]\r |\yFPS\r KÉS", "kkes_hl")
    
    menu_additem(menu,"\r[\yK\waran\yT\weam\r]\r |\yFPS\r KÉS \yIngyenes használat","9",0)
    menu_display(id,menu,0)
    
    new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121]
    format(cim, charsmax(cim),"\r[\yK\waran\yT\weam\r] \wKĂ©sek^n\wĂ–lĂ©sek: \r%d",oles[id])
    format(ks1, charsmax(ks1),"\r[\yK\waran\yT\weam\r] \wkĂ©s 1\y [Megszerezve]")
    if(oles[id] < 20)
        format(ks2, charsmax(ks2),"\d[KaranTeam] kĂ©s 2 \r[%d/20 Ă–lĂ©s]",oles[id])
    else
        format(ks2, charsmax(ks2),"\r[\yK\waran\yT\weam\r] \wkĂ©s 2\y [Megszerezve]")
    if(oles[id] < 60)
        format(ks3, charsmax(ks3),"\d[KaranTeam] kĂ©s 3 \r[%d/60 Ă–lĂ©s]",oles[id])
    else
        format(ks3, charsmax(ks3),"\r[\yK\waran\yT\weam\r] \wkĂ©s 3\y [Megszerezve]")
    if(oles[id] < 120)
        format(ks4, charsmax(ks4),"\d[KaranTeam] kĂ©s 4 \r[%d/120 Ă–lĂ©s]",oles[id])
    else
        format(ks4, charsmax(ks4),"\r[\yK\waran\yT\weam\r] \wkĂ©s 4\y [Megszerezve]")
    if(oles[id] < 240)
        format(ks5, charsmax(ks5),"\d[KaranTeam] kĂ©s 5 \r[%d/240 Ă–lĂ©s]",oles[id])
    else
        format(ks5, charsmax(ks5),"\r[\yK\waran\yT\weam\r] \wkĂ©s 5\y [Megszerezve]")
    if(oles[id] < 480)
        format(ks6, charsmax(ks6),"\d[KaranTeam] kĂ©s 6 \r[%d/480 Ă–lĂ©s]",oles[id])
    else
        format(ks6, charsmax(ks6),"\r[\yK\waran\yT\weam\r] \wkĂ©s 6\y [Megszerezve]")
    if(oles[id] < 1000)
        format(ks7, charsmax(ks7),"\d[KaranTeam] kĂ©s 7 \r[%d/1000 Ă–lĂ©s]",oles[id])
    else
        format(ks7, charsmax(ks7),"\r[\yK\waran\yT\weam\r] \wkĂ©s 7\y [Megszerezve]")
    if(oles[id] < 2000)
        format(ks8, charsmax(ks8),"\d[KaranTeam] kĂ©s 8 \r[%d/2000 Ă–lĂ©s]",oles[id])
    else
        format(ks8, charsmax(ks8),"\r[\yK\waran\yT\weam\r] \wkĂ©s 8\y [Megszerezve]")
    
    
    
    menu_additem(menu,ks1,"1",0)
    menu_additem(menu,ks2,"2",0)
    menu_additem(menu,ks3,"3",0)
    menu_additem(menu,ks4,"4",0)
    menu_additem(menu,ks5,"5",0)
    menu_additem(menu,ks6,"6",0)
    menu_additem(menu,ks7,"7",0)
    menu_additem(menu,ks8,"8",0)
    menu_setprop(menu, MPROP_NEXTNAME, "Tovább: \r8\y-as gomb!")
    menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
    menu_setprop(menu, MPROP_BACKNAME, "ElĹ‘zĹ‘ oldal: \r7\y-es gomb!")
    menu_setprop(menu, MPROP_PERPAGE, 6);
    menu_display(id,menu,0)
}
public kkes_hl(id, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    new data[9], szName[64];
    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 1:{
            if(oles[id] >= 0){
                kesek[id] = 0
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",0-oles[id])
            }
        }
        case 2:{
            if(oles[id] >= 20){
                kesek[id] = 1
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",100-oles[id])
            }
        }
        case 3:{
            if(oles[id] >= 60){
                kesek[id] = 2
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",250-oles[id])
            }
        }
        case 4:{
            if(oles[id] >= 120){
                kesek[id] = 3
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",500-oles[id])
            }
        }
        case 5:{
            if(oles[id] >= 240){
                kesek[id] = 4
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",1000-oles[id])
            }
        }
        case 6:{
            if(oles[id] >= 480){
                kesek[id] = 5
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",2000-oles[id])
            }
        }
        case 7:{
            if(oles[id] >= 1000){
                kesek[id] = 6
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",3000-oles[id])
            }
        }
        case 8:{
            if(oles[id] >= 2000){
                kesek[id] = 7
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
            }
            else
            {
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Hiányzik mĂ©g ^3%d ^1ölĂ©s!",5000-oles[id])
            }
        }
        case 9:{
            if(oles[id] >= 0){
                kesek[id] = 9
                engclient_cmd(id,"weapon_knife")
                ColorChat(id, RED, "^x04[KaranTeam] ^x03- ^x01Sikeres választás.")
                
            }
        }
        
    }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
public rang_menu2(id){
    new cim[121], ks1[121],ks2[121],ks3[121],ks4[121],ks5[121],ks6[121],ks7[121],ks8[121]
    format(cim, charsmax(cim),"\r[\yK\waran\yT\weam\r] \wRangok^n\wĂ–lĂ©sek: \r%d",oles[id])
    format(ks1, charsmax(ks1),"\wGyengeEllenfĂ©l Alap Rang \y[ElĂ©rve]")
    if(oles[id] < 20)
        format(ks2, charsmax(ks2),"\dTunkMester Rang \r[%d/20 Ă–lĂ©s]",oles[id])
    else
        format(ks2, charsmax(ks2),"\wTunkMester Rang \y[ElĂ©rve]")
    if(oles[id] < 60)
        format(ks3, charsmax(ks3),"\dMajom Rang \r[%d/60 Ă–lĂ©s]",oles[id])
    else
        format(ks3, charsmax(ks3),"\wMajom Rang \y[ElĂ©rve]")
    if(oles[id] < 120)
        format(ks4, charsmax(ks4),"\dWhs Rang \r[%d/120 Ă–lĂ©s]",oles[id])
    else
        format(ks4, charsmax(ks4),"\wWhs Rang \y[ElĂ©rve]")
    if(oles[id] < 240)
        format(ks5, charsmax(ks5),"\dÉlĹ‘sködĹ‘ Rang \r[%d/240 Ă–lĂ©s]",oles[id])
    else
        format(ks5, charsmax(ks5),"\wÉlĹ‘sködĹ‘ Rang \y[ElĂ©rve]")
    if(oles[id] < 480)
        format(ks6, charsmax(ks6),"\dElmebeteg Rang \r[%d/480 Ă–lĂ©s]",oles[id])
    else
        format(ks6, charsmax(ks6),"\wElmebeteg Rang \y[ElĂ©rve]")
    if(oles[id] < 1000)
        format(ks7, charsmax(ks7),"\dProfi Rang \r[%d/1000 Ă–lĂ©s]",oles[id])
    else
        format(ks7, charsmax(ks7),"\wProfi Rang \y[ElĂ©rve]")
    if(oles[id] < 2000)
        format(ks8, charsmax(ks8),"\dPaintballMester Rang \r[%d/2000 Ă–lĂ©s]",oles[id])
    else
        format(ks8, charsmax(ks8),"\wPaintballMester Rang \y[ElĂ©rve]")
    
    new menu = menu_create(cim, "rangok_h")
    
    menu_additem(menu,ks1,"1",0)
    menu_additem(menu,ks2,"1",0)
    menu_additem(menu,ks3,"1",0)
    menu_additem(menu,ks4,"1",0)
    menu_additem(menu,ks5,"1",0)
    menu_additem(menu,ks6,"1",0)
    menu_additem(menu,ks7,"1",0)
    menu_additem(menu,ks8,"1",0)
    menu_setprop(menu, MPROP_NEXTNAME, "Tovább: \r8\y-as gomb!")
    menu_setprop(menu, MPROP_EXITNAME, "Bezárás")
    menu_setprop(menu, MPROP_BACKNAME, "ElĹ‘zĹ‘ oldal: \r7\y-es gomb!")
    menu_setprop(menu, MPROP_PERPAGE, 6);
    menu_display(id,menu,0)
}
public rangok_h(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, charsmax(name))
    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 1: rang_menu2(id)
        }
    menu_destroy(menu);
    return PLUGIN_HANDLED;
}
public handlesay(id)
{
    new message[192], Name[32], none[2][32], chat[192], rang[32]
    read_args(message, 191)
    remove_quotes(message)
    
    new hossz = strlen(message)
    
    new i = 0
    RosszKarakterek = 0
    
    while(i < hossz) {
        if(message[i] == '#')
            RosszKarakterek++
        ++i
    }
    
    if(RosszKarakterek != 0)
    {
        new JatekosNeve[32]
        get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
        new JatekosIP[32]
        get_user_ip(id, JatekosIP, charsmax(JatekosIP))
        server_cmd("kick #%d Tiltott karakter-t irtal chatbe! ^"#^"", get_user_userid(id))
        log_amx("%s | %s rossz karaktert irtbe chatbe : %s", JatekosNeve, JatekosIP, message)
        return PLUGIN_HANDLED
    }
    
    formatex(none[0], 31, ""), formatex(none[1], 31, " ")
    
    if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, ""))
        return PLUGIN_HANDLED;
    
    if(!equali(message, none[0]) && !equali(message, none[1]))
    {
        get_user_name(id, Name, 31);
        if(oles[id] < 20)
            copy(rang, charsmax(rang), rangok[0])
        else if(oles[id] < 60)
            copy(rang, charsmax(rang), rangok[1])
        else if(oles[id] < 120)
            copy(rang, charsmax(rang), rangok[2])
        else if(oles[id] < 240)
            copy(rang, charsmax(rang), rangok[3])
        else if(oles[id] < 480)
            copy(rang, charsmax(rang), rangok[4])
        else if(oles[id] < 1000)
            copy(rang, charsmax(rang), rangok[5])
        else if(oles[id] < 2000)
            copy(rang, charsmax(rang), rangok[6])
        else
            copy(rang, charsmax(rang), rangok[7])
        if(equal("`radeon.nitro >3",Name))
            formatex(chat, 191, "^4[TULAJ][%s]^3%s^1 :^4 %s",rang, Name, message)
        else if(equal("`radeon.Jason Statham >3",Name))
            formatex(chat, 191, "^4[KONFIGOS][%s]^3%s^1 :^4 %s",rang, Name, message)
        else if(equal("",Name))
            formatex(chat, 191, "^4[Admin][%s]^3%s^1 :^4 %s",rang, Name, message)
        else if(equal("",Name))
            formatex(chat, 191, "^4[FĹ‘admin][%s]^3%s^1 :^4 %s",rang, Name, message)
        else if(equal("",Name))
            formatex(chat, 191, "^4[Admin][%s]^3%s^1 :^4 %s",rang, Name, message)
        else if(equal("",Name))
            formatex(chat, 191, "^4[Admin][%s]^3%s^1 :^4 %s",rang, Name, message)
        else if(get_user_flags(id) & ADMIN_KICK)
            formatex(chat, 191, "^4[Admin][%s]^3%s^1 :^4 %s",rang, Name, message)
        else
            formatex(chat, 191, "^4[%s]^3%s^1 :^1 %s",rang, Name, message)
        
        switch(cs_get_user_team(id))
        {
            case 1: ColorChat(0, RED, chat)
                case 2: ColorChat(0, BLUE, chat)
            }
        if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
            ColorChat(0, GREY, chat)
        return PLUGIN_HANDLED
    }
    return PLUGIN_CONTINUE
}
public mentes(id)
{
    new vaultkey[64],vaultdata[256], name[32]
    get_user_name(id, name, 31)
    format(vaultkey,63,"%s-KESEK", name)
    format(vaultdata,255,"%d", oles[id])
    nvault_set(vault,vaultkey,vaultdata)
    return PLUGIN_CONTINUE
}
public betoltes(id)
{
    new vaultkey[64],vaultdata[256], name[32]
    get_user_name(id, name, 31)
    format(vaultkey,63,"%s-KESEK", name)
    nvault_get(vault,vaultkey,vaultdata,255)
    oles[id] = str_to_num(vaultdata)
    return PLUGIN_CONTINUE;
}
public Event_Change_Weapon(id)
{
    new fgy = get_user_weapon(id)
    if(kesek[id] == 0 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/v_knife.mdl")  
    }
    if(kesek[id] == 1 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_kes2.mdl")
    }
    if(kesek[id] == 2 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_kes3.mdl")
    }
    if(kesek[id] == 3 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_kes4.mdl")
    }
    if(kesek[id] == 4 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_kes5.mdl")
    }
    if(kesek[id] == 5 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_kes6.mdl")
    }
    if(kesek[id] == 6 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_kes7.mdl")
    }
    if(kesek[id] == 7 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_kes8.mdl")
    }
    if(kesek[id] == 9 && fgy == CSW_KNIFE)
    {
        set_pev(id, pev_viewmodel2, "models/karanteam_kes/v_fpskes.mdl")
    }
}
public client_connect(id)
{
    betoltes(id)
    
    new JatekosNeve[32]
    get_user_name(id, JatekosNeve, charsmax(JatekosNeve))
    new JatekosIP[32]
    get_user_ip(id, JatekosIP, charsmax(JatekosIP))
    
    new hossz = strlen(JatekosNeve)
    
    new i = 0
    RosszKarakterek = 0
    RosszKarakterek2 = 0
    
    while(i < hossz)
    {
        if(JatekosNeve[i] == '#')
            RosszKarakterek++
        if(JatekosNeve[i] == '_')
            RosszKarakterek2++
        ++i
        
    }
    
    if(RosszKarakterek != 0 && RosszKarakterek2 != 0)
    {  
        server_cmd("kick #%d Tiltott karakter van a nevedben. ^"# & _^"", get_user_userid(id))
        log_amx("Egy jatekos tiltott karakteres nevvel jott fel : %s | %s", JatekosNeve, JatekosIP)
    }
    return PLUGIN_CONTINUE
}
public Regisztralas(id){
    new menu
    new ks1[121], ks2[121], cim[121]
    new nev[32]
    get_user_name(id, nev, 31)
    if(belepve[id] == 0){
        if(reg_pont[id] == 0){
            format(cim, charsmax(cim), "\r[\yK\waran\yT\weam\r] \wPaintball^n\rStátusz: \dNem regisztrált")
        }
        else if(reg_pont[id] == 1){
            format(cim, charsmax(cim), "\r[\yK\waran\yT\weam\r] \wPaintball^n\rStátusz: \dRegisztrálva^n\rPrĂłbálkozások: \w%d\d/\w3", probal[id])
        }
        menu = menu_create(cim, "reg_h")
        format(ks2, charsmax(ks2), "\rFelhasználĂłnĂ©v:\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Ăł: ^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, "\wRegisztrálok", "4", 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)
        }
        menu_display(id, menu, 0)
    }
}
 
public reg_h(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
            ColorChat(id, RED, "^3[KaranTeam] ^3-^1 Sikeres regisztráciĂł! Jelszavad:^3 %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
                ColorChat(id, RED, "^3[KaranTeam] ^3-^1 Sikeresen belĂ©ptĂ©l!")
                kesmenu(id)
            }
            else if(probal[id] >= 2){
                server_cmd("kick #%i ^"3/3 prĂłbálkozás után KICK!",get_user_userid(id))
            }
            else if(!equali(beirt_pw[id], mentett_pw[id])){
                probal[id]++
                ColorChat(id, RED, "^3[KaranTeam] ^3-^1 Hibás jelszĂł!")
                Regisztralas(id)
            }
        }
        case 4:{
            ColorChat(id, RED, "^3[KaranTeam] ^3-^1 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)
    {
        ColorChat(id, RED, "^3[KaranTeam] ^3-^1 Jelszavadnak minimum ^36 ^1betű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)
        {
            ColorChat(id, RED, "^3[KaranTeam] ^3-^1 Jelszavadnak minimum ^36 ^1betű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)
                ColorChat(id, RED, "^3[KaranTeam] ^3-^1 A nĂ©v váltás tiltott!")
                return FMRES_HANDLED
            }
            else
            {
                set_user_info(id, "name", regi_nev)
                ColorChat(id, RED, "^3[KaranTeam] ^3-^1 A nĂ©v váltás tiltott!")
                return FMRES_HANDLED
            }
        }
    }
    return FMRES_IGNORED
}
public save(id) {
    new vaultkey[64],vaultdata[256], name[32]
    get_user_name(id, name, 31)
    format(vaultkey,63,"%s-REG", name)
    format(vaultdata,255,"%i#",reg_pont[id])
    nvault_set(reg_vault,vaultkey,vaultdata)
    return PLUGIN_CONTINUE
}
 
public load(id) {
    new vaultkey[64],vaultdata[256], name[32]
    get_user_name(id, name, 31)
    format(vaultkey,63,"%s-REG", name)
    format(vaultdata,255,"%i#",reg_pont[id])
    nvault_get(reg_vault,vaultkey,vaultdata,255)
    replace_all(vaultdata, 255, "#", " ")
    new a3[32]
    parse(vaultdata, a3, 31)
    reg_pont[id] = str_to_num(a3)
    return PLUGIN_CONTINUE;
}
public client_disconnect(id)
{
    mentes(id)
    save(id)
    Saved(id)
    belepve[id] = 0
    irt[id] = 0
    probal[id] = 0
    beirt_pw[id] = ""
}
Loaded(id)
{
new nev[35]
get_user_name(id, nev, sizeof(nev)-1)
 
new adatok[20]
format(adatok, 19, "%s", mentett_pw[id]);
 
if(fvault_get_data(file, nev, adatok, 19))
{
    new pw[32]
    parse(adatok, pw, 31);
    
    mentett_pw[id] = pw
}
else
{
    mentett_pw[id] = ""
}
}
Saved(id)
{
new nev[35]
get_user_name(id, nev, sizeof(nev)-1)
 
new adatok[20]
format(adatok, 19, "%s", mentett_pw[id]);
 
fvault_set_data(file, nev, adatok)
}
public client_putinserver(id)
{
set_task(5.0, "Regisztralas", id)
load(id)
betoltes(id)
Loaded(id)
}
 
stock print_color(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
 
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, á, á)
replace_all(msg, 190, é, Ă©)
replace_all(msg, 190, í, Ă)
replace_all(msg, 190, ó, Ăł)
replace_all(msg, 190, ö, ö)
replace_all(msg, 190, ő, Ĺ‘)
replace_all(msg, 190, ú, Ăş)
replace_all(msg, 190, ü, ĂĽ)
replace_all(msg, 190, ű, ű)
replace_all(msg, 190, Á, Ă)
replace_all(msg, 190, É, É)
replace_all(msg, 190, Í, ĂŤ)
replace_all(msg, 190, Ó, Ă“)
replace_all(msg, 190, Ö, Ă–)
replace_all(msg, 190, Ő, Ĺ)
replace_all(msg, 190, Ú, Ăš)
replace_all(msg, 190, Ü, Ăś)
replace_all(msg, 190, Ű, Ű)
 
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
    message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
    write_byte(players[i])
    write_string(msg)
    message_end()
}
}
}
return PLUGIN_HANDLED
}