/* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
#include <colorchat>
#include <fvault>
 
#define PLUGIN "Weapon Skin System [Promotion]"
#define VERSION "1.0"
#define AUTHOR "6almasok"
 
#define IsValidPlayers(%1,%2) ((1 <= %1 <= 32) && (1 <= %2 <= 32))
 
new oles[33],csomag[33], kredit[33],switchbutton[33],knife[33],getfrag[3][33]
new ModelData[40][64], ModelNum, MaximumBtton
 
new const File[] = "addons/amxmodx/configs/wss_models.ini"
new const szVaultName[] = "wss_vault"
new const prefix[] = "Promotion"
 
/*Rust Kills | Silver Kills | Gold Kills | Veteran Kills | Knife Kredit*/
new const need_kills[] = { 500, 2000, 5000, 8000, 15000 }
 
/*Pack Names*/
new const csomagmsg[7][] = { "Nincs","Rozsdás Csomag","Ezüst Csomag","Arany Csomag","Veterán Csomag","Asiimov Csomag","Speed Knife" }
 
new const knifedisenable[2][] = { "Kikapcsolva", "Bekapcsolva" }
 
new const menuszoveg[][][] = {
    {"Rozsdás Csomag \r[MEGSZEREZVE]", "\dRozsdás Csomag \r[%i/%i Ölés]"}, //0
    {"Ezüst Csomag \r[MEGSZEREZVE]", "\dEzüst Csomag \r[%i/%i Ölés]"}, //1
    {"Arany Csomag \r[MEGSZEREZVE]", "\dArany Csomag \r[%i/%i Ölés]"}, //2
    {"Veterán Csomag \r[MEGSZEREZVE]", "\dVeterán Csomag \r[%i/%i Ölés]"}, //3
    {"Asiimov Csomag \r[MEGSZEREZVE]", "\dAsiimov Csomag \r[%i/%i Ölés]"}, //4	
    {"Speed Knife \r[MEGSZEREZVE]^n", "\dSpeed Knife \r[%i/%i Ölés]^n"}, //5
    {"\ySkin Csomagok \r[KIKAPCSOLVA]", "\ySkin Csomagok \r[BEKAPCSOLVA]"} //6
}
new const chatszoveg[10][] =
{
    "^4[%s]^1 FEJLÖVÉS!^3 %s ^1megöléséért kaptál ^3+%i^1 ölést!",
    "^4[%s]^3 %s ^1megöléséért kaptál ^3+%i^1 ölést!",
    "^4[%s]^3 %s ^1kapott ^3+1 ^1ölést ember lesebzésért!",
    "^4[%s]^1 Találtál^3 +%i^1 kreditet a csomagbol!",
    "^4[%s]^1 Kiválasztottad a(z)^3 %s^1-ot!",
    "^4[%s]^1 Sajnos nincs elég ölésed!",
    "^4[%s]^1 Kikapcsoltad a Skin Csomagokat!",
    "^4[%s]^1 Bekapcsoltad a Skin Csomagokat!",
    "^4[%s]^1 A Szerveren Jelenleg a(z) ^3Weapon Skin System^1 fut. Megnyitáshoz írd be ^3/menu^1.",
    "^4[%s]^1 Sajnos nincs elég kredited!"
}
public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
   
    /* Client Command */
    register_clcmd("say /menu" , "fomenu")
    register_clcmd("say", "handleSay")
    register_clcmd("say_team", "handleSay")
    register_clcmd("say /tulaj", "tulajmenu", ADMIN_IMMUNITY)
    register_clcmd("say_team /tulaj", "tulajmenu", ADMIN_IMMUNITY)
   
    /* 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_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", 0, _, _, "b")
    set_task(get_cvar_float("wss_advertmp"), "advertist", 0, "", 0, "b", 0)
 
    LoadModel();
}
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");
}
 
//===========addol⴯s parancsok=========================
public handleSay(id)
{
    new args[64]
   
    read_args(args, charsmax(args))
    remove_quotes(args)
   
    new arg1[16]
    new arg2[32]
   
    strbreak(args, arg1, charsmax(arg1), arg2, charsmax(arg2))
   
    if (equal(arg1,"/olesadd", 7))
    if (get_user_flags(id) & ADMIN_KICK)
        donate(id, arg2)
    else
    ColorChat(id, GREEN, "[Információ] ^1Nincs ^4jogod^1 ehhez a parancshoz!.");
   
    if (equal(arg1,"/kreditadd", 7))
    if (get_user_flags(id) & ADMIN_KICK)
        donate2(id, arg2)
    else
    ColorChat(id, GREEN, "[Információ] ^1Nincs ^4jogod^1 ehhez a parancshoz!.");
   
}
//=======================================================
//===========addol⴯s parancsok beolvasⴡ=========================
public donate(id, arg[])
{
    new to[32], count[10]
    strbreak(arg, to, 31, count, 9)
   
    if (!to[0] || !count[0])
    {
        ColorChat(id, GREEN, "[Információ] ^1Ölés adásához írd be ezt: ^4/olesadd <NÉV> <SZÁM>^1.");
        ColorChat(id, GREEN, "[Információ] ^3VIGYÁZZ, ^1a szám maximum^4 2000^1 lehet!");
        return
    }
    new ammo
    ammo = str_to_num(count)
    if (ammo <= 0)
    {
        ColorChat(id, GREEN, "[Információ] ^1Valamit elgépeltél!");
        return
    }
    else if (ammo >= 2001)
    {
        ColorChat(id, GREEN, "[Információ] ^1Maximum^4 2000^1Ölést adhatsz egyszerre!");
        return
    }
   
    new reciever = cmd_target(id, to, (CMDTARGET_OBEY_IMMUNITY|CMDTARGET_ALLOW_SELF))
    if (!reciever || reciever == id)
    {
        ColorChat(id, GREEN, "[Információ] ^1Valamit elgépeltél!");
        return
    }
   
    oles[reciever] += ammo
    new aName[32], vName[32]
   
    get_user_name(id, aName, 31)
    get_user_name(reciever, vName, 31)
   
 
    ColorChat(id, GREEN, "[Információ] ^3%s^1 Adott ^3%d^1 ölést neki: ^3%s", aName, ammo, vName);
}
 
public donate2(id, arg[])
{
    new to[32], count[10]
    strbreak(arg, to, 31, count, 9)
   
    if (!to[0] || !count[0])
    {
        ColorChat(id, GREEN, "[Információ] ^1Kredit adásához írd be ezt: ^4/kreditadd <NÉV> <SZÁM>^1.");
        ColorChat(id, GREEN, "[Információ] ^3VIGYÁZZ, ^1a szám maximum^4 2000^1 lehet!");
        return
    }
    new ammo
    ammo = str_to_num(count)
    if (ammo <= 0)
    {
        ColorChat(id, GREEN, "[Információ] ^1Valamit elgépeltél!");
        return
    }
    else if (ammo >= 2001)
    {
        ColorChat(id, GREEN, "[Információ] ^1Maximum^4 2000^1Kreditet adhatsz egyszerre!");
        return
    }
   
    new reciever = cmd_target(id, to, (CMDTARGET_OBEY_IMMUNITY|CMDTARGET_ALLOW_SELF))
    if (!reciever || reciever == id)
    {
        ColorChat(id, GREEN, "[Információ] ^1Valamit elgépeltél!");
        return
    }
   
    kredit[reciever] += ammo
    new aName[32], vName[32]
   
    get_user_name(id, aName, 31)
    get_user_name(reciever, vName, 31)
   
 
    ColorChat(id, GREEN, "[Információ] ^3%s^1 Adott ^3%d^1 Kreditet neki: ^3%s", aName, ammo, vName);
}
//==================================================================
 
//===================Tulajdonosmen𽽽==============================
public tulajmenu(id)
{
new cim[121];
format(cim, charsmax(cim), "Tulajdonos menü");
new menu = menu_create(cim, "tulajmenu_h");
 
if(get_user_flags(id) & ADMIN_IMMUNITY)
{
menu_additem(menu, "500׬곢, "1", 0);
menu_additem(menu, "1000׬곢, "2", 0);
menu_additem(menu, "2000׬괞n", "3", 0);
menu_additem(menu, "500Kredit", "4", 0);
menu_additem(menu, "1000Kredit", "5", 0);
menu_additem(menu, "2000Kredit", "6", 0);
}
 
menu_display(id, menu, 0);
}
 
public tulajmenu_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: oles[id] += 500
case 2: oles[id] += 1000
case 3: oles[id] += 2000
case 4: kredit[id] += 500
case 5: kredit[id] += 1000
case 6: kredit[id] += 2000
}
}
//==================================================================
 
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
        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
    }
    else if(csomag[id] == 2){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[5]) //ezust ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[6]) //ezust awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[7]) //ezust desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[8]) //ezust m4
    }
    else if(csomag[id] == 3){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[9]) //arany ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[10]) //arany awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[11]) //arany desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[12]) //arany m4
    }
    else if(csomag[id] == 4){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[13]) //veteran ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[14]) //veteran awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[15]) //veteran desi
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[16]) //veteran m4
    }
    if(knife[id] == 1 && fegyver == CSW_KNIFE){
       
        set_user_maxspeed(id, Float:320.0)
        set_pev(id, pev_viewmodel2, ModelData[17]) //knife
    }
    else if(csomag[id] == 5){
        if(fegyver == CSW_AK47)set_pev(id, pev_viewmodel2, ModelData[18]) //asiimov ak
        if(fegyver == CSW_AWP)set_pev(id, pev_viewmodel2, ModelData[19]) //asiimov awp
        if(fegyver == CSW_DEAGLE)set_pev(id, pev_viewmodel2, ModelData[20]) //asiimov deagle
        if(fegyver == CSW_M4A1)set_pev(id, pev_viewmodel2, ModelData[21]) //asimoov 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[Weapon Skin System] \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", "[Promotion] Infok")
    }
 
    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[Weapon Skin System] \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[Weapon Skin System] \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");
    formatex(String, charsmax(String), kredit[id] >= need_kills[4] ? (menuszoveg[4][0]):(menuszoveg[4][1]), kredit[id], need_kills[4]);
    menu_additem(menu, String, "4");
    menu_additem(menu, switchbutton[id] == 1 ? (menuszoveg[5][0]):(menuszoveg[5][1]), "5");
 
    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(kredit[id] >= need_kills[4]) {
            knife[id] = 1
            ColorChat(id, GREEN, chatszoveg[4],prefix, csomagmsg[5]);
            }
            else  {
            ColorChat(id, GREEN, chatszoveg[9],prefix);
            }
        }
        case 5: {
            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 6: {
            ColorChat(id, GREEN, chatszoveg[5],prefix);
        }
    }
 
    fegymenu(id)
    return PLUGIN_HANDLED;
}
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)){
            set_hudmessage(0, 127, 255, 0.01, 0.20, 0, 6.0, 1.0)
            show_hudmessage(id, "[Ölés: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[id],kredit[id],csomagmsg[csomag[id]], knifedisenable[knife[id]])
        }
        else{
            new target = entity_get_int(id, EV_INT_iuser2);
           
            if(!target)
            return PLUGIN_CONTINUE;
               
            set_hudmessage(255, 255, 255, 0.01, 0.20, 0, 6.0, 1.0)
            show_hudmessage(id, "[Ölés: %i]^n[Kredit: %i]^n[Kiválasztott Csomag: %s]^n[Speed Knife: %s]", oles[target],kredit[target],csomagmsg[csomag[target]], knifedisenable[knife[target]])
        }
    }
    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)) return;
   
    save(id);
}
public client_putinserver( id ) {
    if(is_user_bot(id)) return;
   
    oles[id] = 0;
    kredit[id] = 0;
    csomag[id] = 0;
    switchbutton[id] = 0;
    load(id);
}
load(id) {
    new szAuthid[32], szData[32];
    get_user_name( id, szAuthid, charsmax(szAuthid));
    new s1[16],s2[16],s3[16],s4[16]
    fvault_get_data( szVaultName, szAuthid, szData, 31 );
    parse( szData, s1, 15, s2, 15 , s3 , 15, s4 ,15);
    oles[id] = str_to_num(s1);
    kredit[id] = str_to_num(s2);
    csomag[id] = str_to_num(s3);
    switchbutton[id] = str_to_num(s4);
}
save(id) {
    new szAuthid[ 32 ], szData[ 32 ];
    get_user_name( id, szAuthid, charsmax(szAuthid));
   
    formatex( szData, 31, "%i %i %i %i", oles[id], kredit[id], csomag[id], switchbutton[id]);
    fvault_set_data( szVaultName, szAuthid, szData );
}
