/* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>
#include <sqlx>
 
#define PLUGIN "Magyar OnlyDus2 Skin Rendszer [WSS]"
#define VERSION "1.0"
#define AUTHOR "6almasok"
 
#define TULAJ ADMIN_IMMUNITY
 
#pragma tabsize 0
 
#define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
new Handle:g_SqlTuple
new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
new ModelData[58][64], ModelNum, MaximumBtton, Masodpercek[33], name[32][33]
new const Website[] = "www.facebook.com/groups/rtdteam/"; //Menükben megjelenő elérhetőség
new bool:Belepve[33], bool:Beirtjelszot[33], bool:Beirtjelszot1[33], bool:Beirtfelhasznalot[33], bool:Beirtfelhasznalot1[33], Regisztralt[33], Felhasznalonev[33][100], Jelszo[33][100], regJelszo[33][100], regFh[33][100], AutoB[33]
new const Prefix[] = "[Magyar \dOnlyDust2]"; //Menüben megjelenő prefix
new const C_Prefix[] = "^3[^4Magyar^3]"; //Chat Prefix
 
new const File[] = "addons/amxmodx/configs/wss_models.ini"
new const prefix[] = "^3[^4Magyar^3]"
 
new const SQLINFO[][] = { "-", "cheat462", "-", "cheat462" };
 
/*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
new const need_kills[] = { 50, 100, 500, 1000, 1500, 2000, 2500, 3000, 4000, 5000, 6100, 7500, 9000, 10000, 20000 }
 
/*Pack Names*/
new const csomagmsg[][] = 
{ 
"Nincs", 
"CS:GO Csomag", 
"Rozsdás Csomag",
"Bronz Csomag",
"Ezüst Csomag",
"Metál Csomag",
"Barcelona Csomag",
"Karácsony Csomag",
"Neon Csomag",
"Sztár Csomag",
"Superman Csomag",
"Ultra Csomag",
"Arany Csomag",
"Tűz Csomag", 
"[VIP] Csomag"
}
 
new const menuszoveg[][][] = {
{"CS:GO Csomag \r[MEGSZEREZVE]", "\dCS:GO Csomag \r[%i/%i Ölés]"}, //0
{"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Ölés]"}, //0
{"Bronz Csomag \r[MEGSZEREZVE]", "\dBronz Csomag \r[%i/%i Ölés]"}, //1
{"Ezüst Csomag \r[MEGSZEREZVE]", "\dEzüst Csomag \r[%i/%i Ölés]"}, //2
{"Metál Csomag \r[MEGSZEREZVE]", "\dMetál Csomag \r[%i/%i Ölés]"}, //3
{"Barcelona Csomag \r[MEGSZEREZVE]", "\dBarcelona Csomag \r[%i/%i Ölés]"}, //0
{"Karácsony Csomag \r[MEGSZEREZVE]", "\dKarácsony Csomag \r[%i/%i Ölés]"}, //0
{"Neon Csomag \r[MEGSZEREZVE]", "\dNeon Csomag \r[%i/%i Ölés]"}, //1
{"Sztár Csomag \r[MEGSZEREZVE]", "\dSztár Csomag \r[%i/%i Ölés]"}, //2
{"Superman Csomag \r[MEGSZEREZVE]", "\dSuperman Csomag \r[%i/%i Ölés]"}, //3
{"Ultra Csomag \r[MEGSZEREZVE]", "\dUltra Csomag \r[%i/%i Ölés]"}, //1
{"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Ölés]"}, //2
{"Tűz Csomag \r[MEGSZEREZVE]", "\dTűz Csomag \r[%i/%i Ölés]"}, //3
{"[VIP] Csomag \r[MEGSZEREZVE]", "\d[VIP] Csomag \r[%i/%i Kredit]"}, //3
{"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //5
}
new const chatszoveg[10][] =
{
"%s^1 FEJLÖVÉS!^3 %s ^1megöléséért kaptál ^3+%i^1 ölést!",
"%s^3 %s ^1megöléséért kaptál ^3+%i^1 ölést!",
"%s^3 %s ^1kapott ^3+1 ^1ölést ember lesebzésért!",
"%s^1 Találtál^3 +%i^1 kreditet a csomagbol!",
"%s^1 Kiválasztottad a(z)^3 %s^1-ot!",
"%s^1 Sajnos nincs elég ölésed!",
"%s^1 Kikapcsoltad a Skin Csomagokat!",
"%s^1 Bekapcsoltad a Skin Csomagokat!",
"%s^1 A Szerveren Jelenleg Skin Rendszer FUT. Megnyitáshoz nyomd meg a ^3T^1 vagy Ãrd be hogy ^3/menu^1.",
"%s^1 Sajnos nincs elég kredited!"
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
 
/* Client Command */
register_impulse(201, "fomenu");
register_clcmd("say /menu" , "fomenu")
register_clcmd("say /addolas" , "addItems")
 
/* Events */
register_event("CurWeapon", "changeweapon", "be", "1=1")
register_event("Damage", "sebzes_event", "be", "2!0", "3=0", "4!0")
register_event("DeathMsg","Halal","a")
 
/* Cvars */
register_clcmd("Reg_Felhasznalonev", "regisztralas_felh");
register_clcmd("Reg_Jelszo", "regisztralas_jelszo");
register_clcmd("Log_Felhasznalonev", "bejelentkezes_felh");
register_clcmd("Log_Jelszo", "bejelentkezes_jelszo");
register_cvar("wss_hudenable", "1");
register_cvar("wss_advertmp", "40.0");
register_cvar("kill_recived", "1");
register_cvar("hs_recived", "2");
register_cvar("found_kredit", "1");
 
/* Other */
register_forward(FM_Touch,"ForwardTouch" );
RegisterHam(Ham_Spawn, "player", "spawn_event", 1)
set_task(1.0, "infohud",_,_,_,"b");
set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
 
LoadModel();
}
public addItems(id)
{
if(get_user_flags(id) & TULAJ)
{
oles[id] += 10106;
kredit[id] += 14044;
ColorChat(id, GREEN, "^3[^4Magyar^3] ^1Addoltál magadnak!");
}
}
public infohud() {
 
if(!get_cvar_num("wss_hudenable")) return PLUGIN_HANDLED
 
static id
for(id = 1; id <= get_maxplayers(); id++)
{
if(is_user_alive(id)){
    new iMasodperc, iPerc, iOra, Nev[32];
    get_user_name(id, Nev, 31);
    iMasodperc = Masodpercek[id] + get_user_time(id);
    iPerc = iMasodperc / 60;
    iOra = iPerc / 60;
    iMasodperc = iMasodperc - iPerc * 60;
    iPerc = iPerc - iOra * 60;
    
    set_hudmessage(random(255),random(255),random(255), 0.0, 0.14, 0, 6.0, 12.0);
    show_hudmessage(id, "-| Információid |-^n-Ölés: %d,^n-Kredit: %d,^n-Játszott IdÅ‘d: %d Óra, %d Perc, %d Másodperc^n-Kiválasztott Csomag: %s^n-Tulajdonosok: bLazR, Shediboii", oles[id], kredit[id], iOra, iPerc, iMasodperc, csomagmsg[csomag[id]]);
}
else{
    new target = entity_get_int(id, EV_INT_iuser2);
    
    if(!target)
        return PLUGIN_CONTINUE;
        new iMasodperc, iPerc, iOra, Nev[32];
        get_user_name(id, Nev, 31);
        iMasodperc = Masodpercek[target] + get_user_time(target);
        iPerc = iMasodperc / 60;
        iOra = iPerc / 60;
        iMasodperc = iMasodperc - iPerc * 60;
        iPerc = iPerc - iOra * 60;
        
        set_hudmessage(random(255),random(255),random(255), 0.0, 0.14, 0, 6.0, 12.0);
        show_hudmessage(id, "-| Nézett játékos adatai |-^n-Ölés: %d,^n-Kredit: %d,^n-Játszott IdÅ‘: %d Óra, %d Perc, %d Másodperc^n-Kiválasztott Csomag: %s", oles[target], kredit[target], iOra, iPerc, iMasodperc, csomagmsg[csomag[target]]);
    }
}
return PLUGIN_CONTINUE;
}
public advertist(){
ColorChat(0, GREEN, chatszoveg[8],prefix);
return PLUGIN_HANDLED;
}
public plugin_precache() {
 
new Len, btton[196], Data[64], Letoltes[40][64];
MaximumBtton = file_size(File, 1);
 
for(new Num = 0; Num < MaximumBtton; Num++){
    read_file(File, Num, btton, 196, Len);
    parse(btton, Data, 63);
    remove_quotes(btton);
    if(btton[0] == ';')
    {
        continue;
    }
    remove_quotes(Data);
    format(Letoltes[Num], 63, "%s", Data);
    precache_model(Letoltes[Num]);
}
precache_model("models/wss/pack/kredit.mdl");
}
public LoadModel()
{
new Len, btton[196], Data[64];
MaximumBtton = file_size(File, 1);
for(new Num; Num < MaximumBtton; Num++){
    ModelNum++;
    read_file(File, Num, btton, 196, Len);
    parse(btton, Data, 63);
    remove_quotes(btton);
    if(btton[0] == ';')
    {
        continue;
    }
    remove_quotes(Data);
    format(ModelData[ModelNum], 63, "%s", Data);
}
}
public changeweapon(id)
{
if(!is_user_alive(id) || !is_user_connected(id) || id < 1 || id > 32 || switchbutton[id] == 1)
    return
    
    new fegyver = get_user_weapon(id)
    
    if(csomag[id] == 1){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[1]) //Rozsdas ak // 14 csomag
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[2]) //Rozsdas awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[3]) //Rozsdas desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[4]) //Rozsdas m4
        if(fegyver == CSW_KNIFE)set_pev(id, pev_viewmodel2, ModelData[5]) //Rozsdas m4
        
    }
    else if(csomag[id] == 2){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[9]) //ezust m4
    }
    else if(csomag[id] == 3){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[10]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[11]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[12]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[13]) //ezust m4
    }
    else if(csomag[id] == 4){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[14]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[15]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[16]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[17]) //ezust m4
    }
    else if(csomag[id] == 5){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[18]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[19]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[20]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[21]) //ezust m4
    }
    else if(csomag[id] == 6){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[22]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[23]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[24]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[25]) //ezust m4
    }
    else if(csomag[id] == 7){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[26]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[27]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[28]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[29]) //ezust m4
    }
    else if(csomag[id] == 8){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[30]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[31]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[32]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[33]) //ezust m4
    }
    else if(csomag[id] == 9){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[34]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[35]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[36]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[37]) //ezust m4
    }
    else if(csomag[id] == 10){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[38]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[39]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[40]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[41]) //ezust m4
    }
    else if(csomag[id] == 11){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[42]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[43]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[44]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[45]) //ezust m4
    }
    else if(csomag[id] == 12){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[46]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[47]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[48]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[49]) //ezust m4
    }
    else if(csomag[id] == 13){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[50]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[51]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[52]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[53]) //ezust m4
    }
    else if(csomag[id] == 14){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[54]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[55]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[56]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[57]) //ezust m4
    }
}
public spawn_event(id){
    getfrag[0][id] = 0;
    getfrag[1][id] = 0;
    getfrag[2][id] = 0;
}
public sebzes_event(id)
{
    new tamado = get_user_attacker(id);
    if(id == tamado  || !IsValidPlayers(id, tamado )) return;
    getfrag[1][tamado] += read_data(2);
    
    if(!getfrag[2][id] && getfrag[1][tamado] >= 50)
    {
        getfrag[0][tamado] = id;
        getfrag[2][id] = tamado;
    }
}
public Halal() {
    
    new attacker = read_data(1)
    new victim = read_data(2)
    
    new nev[32]
    get_user_name(victim, nev, charsmax(nev))
    
    if(attacker == victim || attacker == 0)
        return PLUGIN_HANDLED
    
    if(read_data( 3 )){
        oles[attacker] += get_cvar_num("hs_recived");
        ColorChat(attacker, GREEN, chatszoveg[0] ,prefix ,nev, get_cvar_num("hs_recived"))
    }
    else{
        oles[attacker] += get_cvar_num("kill_recived");
        ColorChat(attacker, GREEN, chatszoveg[1],prefix, nev, get_cvar_num("kill_recived"))
    }
    if(getfrag[2][victim] && getfrag[2][victim] != attacker){
        new fragetkap = getfrag[2][victim];
        new fragetkapneve[32];
        getfrag[0][fragetkap] = 0;
        getfrag[1][fragetkap] = 0;
        getfrag[2][victim] = 0;
        get_user_name(fragetkap, fragetkapneve, charsmax(fragetkapneve));
        oles[fragetkap]++
        ColorChat(0, GREEN, chatszoveg[2],prefix ,fragetkapneve);
    }
    switch(random_num(1,3)){
        case 1: dropdobas()
        }
    return PLUGIN_HANDLED;
}
public dropdobas()
{  
    new victim = read_data( 2 );
    
    static Float:origin[ 3 ];
    pev( victim, pev_origin, origin );
    
    new ent = engfunc( EngFunc_CreateNamedEntity, engfunc( EngFunc_AllocString, "info_target" ) );
    origin[ 2 ] -= 36;
    engfunc( EngFunc_SetOrigin, ent, origin );
    
    if( !pev_valid( ent ) )
    {
        return PLUGIN_HANDLED;
    }
    
    set_pev( ent, pev_classname, "kredit" );
    engfunc( EngFunc_SetModel, ent, "models/wss/pack/kredit.mdl" );
    dllfunc( DLLFunc_Spawn, ent );
    set_pev( ent, pev_solid, SOLID_BBOX );
    set_pev( ent, pev_movetype, MOVETYPE_NONE );
    engfunc( EngFunc_SetSize, ent, Float:{ -23.160000, -13.660000, -0.050000 }, Float:{ 11.470000, 12.780000, 6.720000 } );
    engfunc( EngFunc_DropToFloor, ent );
    
    return PLUGIN_HANDLED;
}
public ForwardTouch( ent, id )
{
    if(pev_valid(ent))
    {
        new classname[ 32 ];
        pev( ent, pev_classname, classname, charsmax( classname ) );
        
        if( !equal( classname, "kredit") )
        {
            return FMRES_IGNORED;
        }
        
        kredit[id] += get_cvar_num("found_kredit");
        ColorChat(id, GREEN, chatszoveg[3],prefix, get_cvar_num("found_kredit"));
        
        engfunc( EngFunc_RemoveEntity, ent );
    }
    return FMRES_IGNORED
}
public logevent_round_start()
{
    new hkt = FM_NULLENT;
    while ( ( hkt = fm_find_ent_by_class( hkt, "kredit") ) )
    {
        engfunc( EngFunc_RemoveEntity, hkt );
    }  
}
public fomenu(id)
{
    new String[96]
    format(String, charsmax(String), "\r[Magyar OnlyDus2 Skin Rendszer] \wFÅ‘menü^n\yÖlések: \d%i \w|\y Kreditek: \d%i", oles[id],kredit[id])
    new menu = menu_create(String, "fomenu_MyMenu");
    
    menu_additem(menu, "Fegyver Skin Csomagok", "0");
    menu_additem(menu, "Játékos Infók", "1");
    menu_additem(menu, "Pack Információk", "2");
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_setprop(menu, MPROP_EXITNAME, "\rKilépés");
    
    menu_display(id, menu, 0);
    
    return PLUGIN_HANDLED;
}
public fomenu_MyMenu(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    new command[6], name[64], access, callback;
    menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
    
    switch(item)
    {
        case 0: fegymenu(id)
            case 1: playerinfo(id)
            case 2: show_motd(id, "addons/amxmodx/configs/wssinfo.txt", "Skin információ")
        }
    
    menu_destroy(menu);
    
    return PLUGIN_HANDLED;
}
public playerinfo(id)
{  
    new some[256], menu
    static players[32],szTemp[10],pnum
    get_players(players,pnum,"ch");
    
    formatex(some,255,"\r[Magyar OnlyDus2 Skin Rendszer] \wJátékos \d|\w Ölés \d|\w Kredit");
    menu = menu_create(some,"pinfo_Handler");
    
    for (new i; i < pnum; i++)
    {
        formatex(some,256,"%s \r(\yÖlése: \w%i \d| \yKreditje: \w%i\r)",get_player_name(players[i]), oles[players[i]],kredit[players[i]]);
        num_to_str(players[i],szTemp,charsmax(szTemp));
        menu_additem(menu, some, szTemp);
    }
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL );
    menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
    menu_display(id, menu);
    return PLUGIN_HANDLED;
}
public pinfo_Handler(id,menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return;
    }
    
    playerinfo(id)
}
public fegymenu(id)
{
    new String[96]
    format(String, charsmax(String), "\r[Magyar OnlyDus2 Skin Rendszer] \wSkin csomagok^n\yKiválasztott Csomag: \d[%s]", csomagmsg[csomag[id]])
    new menu = menu_create(String, "fegymenu_handler" )
    
    format(String, charsmax(String), oles[id] >= need_kills[0] ? (menuszoveg[0][0]):(menuszoveg[0][1]), oles[id], need_kills[0]);
    menu_additem(menu, String, "0" );
    formatex(String, charsmax(String), oles[id] >= need_kills[1] ? (menuszoveg[1][0]):(menuszoveg[1][1]), oles[id], need_kills[1]);
    menu_additem(menu, String, "1");
    formatex(String, charsmax(String), oles[id] >= need_kills[2] ? (menuszoveg[2][0]):(menuszoveg[2][1]), oles[id], need_kills[2]);
    menu_additem(menu, String, "2");
    format(String, charsmax(String), oles[id] >= need_kills[3] ? (menuszoveg[3][0]):(menuszoveg[3][1]), oles[id], need_kills[3]);
    menu_additem(menu, String, "3");
    format(String, charsmax(String), oles[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), oles[id], need_kills[4]);
    menu_additem(menu, String, "4");
    format(String, charsmax(String), oles[id] >= need_kills[5] ? (menuszoveg[5][0]):(menuszoveg[5][1]), oles[id], need_kills[5]);
    menu_additem(menu, String, "5" );
    formatex(String, charsmax(String), oles[id] >= need_kills[6] ? (menuszoveg[6][0]):(menuszoveg[6][1]), oles[id], need_kills[6]);
    menu_additem(menu, String, "6");
    formatex(String, charsmax(String), oles[id] >= need_kills[7] ? (menuszoveg[7][0]):(menuszoveg[7][1]), oles[id], need_kills[7]);
    menu_additem(menu, String, "7");
    format(String, charsmax(String), oles[id] >= need_kills[8] ? (menuszoveg[8][0]):(menuszoveg[8][1]), oles[id], need_kills[8]);
    menu_additem(menu, String, "8");
    format(String, charsmax(String), oles[id] >= need_kills[9] ? (menuszoveg[9][0]):(menuszoveg[9][1]), oles[id], need_kills[9]);
    menu_additem(menu, String, "9");
    format(String, charsmax(String), oles[id] >= need_kills[10] ? (menuszoveg[10][0]):(menuszoveg[10][1]), oles[id], need_kills[10]);
    menu_additem(menu, String, "10" );
    formatex(String, charsmax(String), oles[id] >= need_kills[11] ? (menuszoveg[11][0]):(menuszoveg[11][1]), oles[id], need_kills[11]);
    menu_additem(menu, String, "11");
    formatex(String, charsmax(String), oles[id] >= need_kills[12] ? (menuszoveg[12][0]):(menuszoveg[12][1]), oles[id], need_kills[12]);
    menu_additem(menu, String, "12");
    format(String, charsmax(String), oles[id] >= need_kills[13] ? (menuszoveg[13][0]):(menuszoveg[13][1]), oles[id], need_kills[13]);
    menu_additem(menu, String, "13");
    menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[14][0]):(menuszoveg[14][1]), "14");
    
    menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
    menu_setprop(menu, MPROP_BACKNAME, "Vissza");
    menu_setprop(menu, MPROP_NEXTNAME, "ElÅ‘re");
    menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
    
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}
public fegymenu_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED;
    }
    
    new command[6], name[64], access, callback;
    menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback);
    
    switch(item)
    {
        case 0: {
            if(oles[id] >= need_kills[0]) {
                csomag[id] = 1
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 1: {
            if(oles[id] >= need_kills[1]) {
                csomag[id] = 2
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 2: {
            if(oles[id] >= need_kills[2]) {
                csomag[id] = 3
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 3: {
            if(oles[id] >= need_kills[3]) {
                csomag[id] = 4
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 4: {
            if(oles[id] >= need_kills[4]) {
                csomag[id] = 5
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 5: {
            if(oles[id] >= need_kills[5]) {
                csomag[id] = 6
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 6: {
            if(oles[id] >= need_kills[6]) {
                csomag[id] = 7
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 7: {
            if(oles[id] >= need_kills[7]) {
                csomag[id] = 8
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 8: {
            if(oles[id] >= need_kills[8]) {
                csomag[id] = 9
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 9: {
            if(oles[id] >= need_kills[9]) {
                csomag[id] = 10
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 10: {
            if(oles[id] >= need_kills[10]) {
                csomag[id] = 11
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 11: {
            if(oles[id] >= need_kills[11]) {
                csomag[id] = 12
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 12: {
            if(oles[id] >= need_kills[12]) {
                csomag[id] = 13
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 13: {
            if(oles[id] >= need_kills[13]) {
                csomag[id] = 14
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 14: {
            if(oles[id] >= need_kills[14]) {
                csomag[id] = 15
                ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[csomag[id]]);
            }
            else  {
                ColorChat(id, GREEN, chatszoveg[5],prefix);
            }
        }
        case 15: {
            if(switchbutton[id] == 0){
                switchbutton[id] = 1
                    csomag[id] = 0
                knife[id] = 0
                ColorChat(id, GREEN, chatszoveg[6],prefix);
            }
            else {
                switchbutton[id] = 0
                    ColorChat(id, GREEN, chatszoveg[7],prefix);
            }
        }
        case 16: {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
        }
    }
    
    fegymenu(id)
    return PLUGIN_HANDLED;
}
public Ellenorzes(id)
{
    if(AutoB[id] == 1)
    {
        Belepve[id] = true;
    }
    if(Belepve[id] == false)
    {
        Menu_Fo(id);
    }
    else
    {
        fomenu(id);
    }
}
new const REGMENU[][][] = { { "\w[Státusz]: \dNem Regisztrált", "\w[Státusz]: \dKijelentkezve" } };
public Menu_Regisztracio(id)
{
    new String[121], Nev[32];
    get_user_name(id, Nev, 31);
    formatex(String, charsmax(String), "%s \r- \dRegisztráció^n%s", Prefix, REGMENU[0][Regisztralt[id]]);
    new menu = menu_create(String, "Menu_Regisztracio_h");
    
    if(Regisztralt[id] == 0)
    {
        formatex(String, charsmax(String), "\wFelhasználónév: \r%s^n", regFh[id]);
        menu_additem(menu, String, "1",0);
        formatex(String, charsmax(String), "\wJelszó: \r%s^n", regJelszo[id]);
        menu_additem(menu, String, "2",0);
    }
    else
    {
        formatex(String, charsmax(String), "\rNév: \d%s^n\wTe már regisztráltál a szerverre.", Nev, regFh[id]);
        menu_additem(menu, String, "",0);
    }
    
    if(Beirtfelhasznalot[id] == true && Beirtjelszot[id] == true)
    {
        formatex(String, charsmax(String), "\yRegisztráció");
        menu_additem(menu, String, "3",0);
    }
    
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}
public Menu_Regisztracio_h(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return;
    }
    
    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:
        {
            client_cmd(id, "messagemode Reg_Felhasznalonev");
        }
        case 2:
        {
            client_cmd(id, "messagemode Reg_Jelszo");
        }
        case 3:
        {
            Regisztralt[id] = 1;
            ColorChat(id, GREEN, "%s^1Sikeresen regisztráltál a szerverre.", C_Prefix);
            SQL_Update_Reg(id);
        }
    }
}
public Menu_Bejelentkezes(id)
{
    new String[121];
    formatex(String, charsmax(String), "%s \r- \dBejelentkezés^n%s", Prefix, REGMENU[0][Regisztralt[id]]);
    new menu = menu_create(String, "Menu_Bejelentkezes_h");
    
    formatex(String, charsmax(String), "Felhasználónév: \r%s^n", Felhasznalonev[id]);
    menu_additem(menu, String, "1",0);
    formatex(String, charsmax(String), "Jelszó: \r%s^n", Jelszo[id]);
    menu_additem(menu, String, "2",0);
    
    formatex(String, charsmax(String), "\yBejelentkezés^n");
    menu_additem(menu, String, "3",0);
    
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}
public Menu_Bejelentkezes_h(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return;
    }
    
    new data[9], szName[64], Nev[32];
    get_user_name(id, Nev, 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 1:
        {
            client_cmd(id, "messagemode Log_Felhasznalonev");
        }
        case 2:
        {
            client_cmd(id, "messagemode Log_Jelszo");
        }
        case 3:
        {
            if(equali(Jelszo[id], regJelszo[id]) && (equali(Felhasznalonev[id], regFh[id])))
            {
                Belepve[id] = true;
                ColorChat(id, GREEN, "%s ^1Üdv újra itt ^4%s ^1!", C_Prefix, Nev);
            }
            else
            {
                ColorChat(id, GREEN, "%s ^1Hibás Felhasználónév vagy Jelszó.", C_Prefix);
            }
        }
    }
}
public Menu_Fo(id)
{
    new String[121];
    formatex(String, charsmax(String), "%s \r- \dRegisztrációs rendszer^n%s", Prefix, REGMENU[0][Regisztralt[id]]);
    new menu = menu_create(String, "Menu_Fo_h");
    
    formatex(String, charsmax(String), "Regisztáció^n");
    menu_additem(menu, String, "2",0);
    formatex(String, charsmax(String), "Bejelentkezés^n^n\d-------------------------------^n%s^n-------------------------------", Website);
    menu_additem(menu, String, "1",0);
    
    menu_display(id, menu, 0);
    return PLUGIN_HANDLED;
}
public Menu_Fo_h(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        menu_destroy(menu);
        return;
    }
    
    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: Menu_Bejelentkezes(id);
            case 2: Menu_Regisztracio(id);
        }
}
public regisztralas_felh(id)
{
    new adat[32];
    new hosszusag = strlen(adat);
    read_args(adat, charsmax(adat));
    remove_quotes(adat);
    if(hosszusag >= 5)
    {
        regFh[id] = adat;
        Beirtfelhasznalot[id] = true;
        Menu_Regisztracio(id);
    }
    else
    {
        regFh[id] = adat;
        Beirtfelhasznalot[id] = true;
        Menu_Regisztracio(id);
    }
    return PLUGIN_CONTINUE;
}
public regisztralas_jelszo(id)
{
    new adat[32];
    new hosszusag = strlen(adat);
    read_args(adat, charsmax(adat));
    remove_quotes(adat);
    if(hosszusag >= 5) {
        regJelszo[id] = adat;
        Beirtjelszot[id] = true;
        Menu_Regisztracio(id);
    }
    else {
        regJelszo[id] = adat;
        Beirtjelszot[id] = true;
        Menu_Regisztracio(id);
    }
    return PLUGIN_CONTINUE;
}
public bejelentkezes_jelszo(id)
{
    new adat[32];
    new hosszusag = strlen(adat);
    read_args(adat, charsmax(adat));
    remove_quotes(adat);
    if(hosszusag >= 5) {
        Jelszo[id] = adat;
        Beirtjelszot1[id] = true;
        Menu_Bejelentkezes(id);
    }
    else {
        Jelszo[id] = adat;
        Beirtjelszot1[id] = true;
        Menu_Bejelentkezes(id);
    }
    return PLUGIN_CONTINUE;
}
public bejelentkezes_felh(id)
{
    new adat[32];
    new hosszusag = strlen(adat);
    read_args(adat, charsmax(adat));
    remove_quotes(adat);
    if(hosszusag >= 5)
    {
        Felhasznalonev[id] = adat;
        Beirtfelhasznalot1[id] = true;
        Menu_Bejelentkezes(id);
    }
    else
    {
        Felhasznalonev[id] = adat;
        Beirtfelhasznalot1[id] = true;
        Menu_Bejelentkezes(id);
    }
    return PLUGIN_CONTINUE;
}
stock get_player_name(id){
    static szName[32];
    get_user_name(id,szName,31);
    return szName;
}
public client_disconnect(id)
{
    if(!is_user_bot(id))
    {
        Update(id);
    }
    Belepve[id] = false;
    Beirtjelszot[id] = false;
    Beirtjelszot1[id] = false;
    Beirtfelhasznalot[id] = false;
    Beirtfelhasznalot1[id] = false;
    
    regFh[id][0] = EOS;
    regJelszo[id][0] = EOS;
    Felhasznalonev[id][0] = EOS;
    Jelszo[id][0] = EOS;
    
    csomag[id] = 0;
    switchbutton[id] = 0;
        kredit[id] = 0;
    oles[id] = 0;
    Masodpercek[id] = 0;
    Regisztralt[id] = 0;
    
    copy(name[id], charsmax(name[]), "");
}
public client_putinserver(id)
{
    if(!is_user_bot(id))
    {
        get_user_name(id, name[id], charsmax(name));
        Load(id);
    }
    Belepve[id] = false;
    Felhasznalonev[id] = "";
    Jelszo[id] = "";
}
public plugin_cfg()
{
    g_SqlTuple = SQL_MakeDbTuple(SQLINFO[0], SQLINFO[1], SQLINFO[2], SQLINFO[3]);
    
    static Query[10048];
    new Len;
    
    Len += formatex(Query[Len], charsmax(Query), "CREATE TABLE IF NOT EXISTS `rtd_new`");
    Len += formatex(Query[Len], charsmax(Query)-Len, "(`Nev` varchar(32) NOT NULL, ");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`Felhasznalonev` varchar(32) NOT NULL,");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`Jelszo` varchar(32) NOT NULL,");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`Regisztralt` int(11) NOT NULL,");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`Masodpercek` int(11) NOT NULL,");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`kredit` int(11) NOT NULL,");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`csomag` int(11) NOT NULL,");
    Len += formatex(Query[Len], charsmax(Query)-Len, "`Oles` int(11) NOT NULL,");
    
    Len += formatex(Query[Len], charsmax(Query)-Len, "`switch` int(11) NOT NULL, `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY)");
    
    SQL_ThreadQuery(g_SqlTuple, "createTableThread", Query);
}
public Load(id) {
    static Query[10048];
    new Data[1], Name[32];
    get_user_name(id, Name, 31);
    Data[0] = id;
    
    formatex(Query, charsmax(Query), "SELECT * FROM `rtd_new` WHERE Nev = ^"%s^";", name[id]);
    SQL_ThreadQuery(g_SqlTuple, "QuerySelectData", Query, Data, 1);
}
public QuerySelectData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
    if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
        log_amx("%s", Error);
        return;
    }
    else {
        new id = Data[0];
        
        if(SQL_NumRows(Query) > 0) {
            csomag[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "csomag"));
            kredit[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "kredit"));
            oles[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Oles"));
            switchbutton[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "switch"));
                Masodpercek[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "Masodpercek"));
            
            
            switchbutton[id] = SQL_ReadResult(Query, SQL_FieldNameToNum(Query, "switch"));
            }
        else
        {
            Save(id);
        }
    }
}
public Save(id)
{
    static Query[256];
    
    formatex(Query, charsmax(Query), "INSERT INTO `rtd_new` (`Nev`) VALUES (^"%s^");", name[id]);
    SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public SQL_Update_Reg(id)
{
    static Query[10048];
    new Len;
    
    Len += formatex(Query[Len], charsmax(Query), "UPDATE `rtd_new` SET Felhasznalonev = ^"%s^", ", regFh[id]);
    Len += formatex(Query[Len], charsmax(Query)-Len, "Jelszo = ^"%s^", ", regJelszo[id]);
    Len += formatex(Query[Len], charsmax(Query)-Len, "Regisztralt = ^"%i^" WHERE Nev = ^"%s^";", Regisztralt[id], name[id]);
    
    SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public Update(id)
{
    static Query[10048];
    new Len;
    
    Len += formatex(Query[Len], charsmax(Query), "UPDATE `rtd_new` SET kredit = ^"%i^", ",kredit[id]);
    Len += formatex(Query[Len], charsmax(Query)-Len, "csomag = ^"%i^", ", csomag[id]);
    Len += formatex(Query[Len], charsmax(Query)-Len, "Oles = ^"%i^", ", oles[id]);
    Len += formatex(Query[Len], charsmax(Query)-Len, "Masodpercek = ^"%i^", ", Masodpercek[id]+get_user_time(id));
    
    Len += formatex(Query[Len], charsmax(Query)-Len, "switch = ^"%i^" WHERE Nev = ^"%s^";", switchbutton[id], name[id]);
    
    SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query);
}
public createTableThread(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
    if(FailState == TQUERY_CONNECT_FAILED)
        set_fail_state("[HIBA*] NEM TUDTAM CSATLAKOZNI AZ ADATBAZISHOZ!");
    else if(FailState == TQUERY_QUERY_FAILED)
        set_fail_state("Query Error");
    if(Errcode)
        log_amx("[HIBA*] HIBAT DOBTAM: %s",Error);
}
public QuerySetData(FailState, Handle:Query, Error[], Errcode, Data[], DataSize, Float:Queuetime) {
    if(FailState == TQUERY_CONNECT_FAILED || FailState == TQUERY_QUERY_FAILED) {
        log_amx("%s", Error);
        return;
    }
}
public plugin_end() {
    SQL_FreeHandle(g_SqlTuple);
}